diff options
author | Samuli Suominen <ssuominen@gentoo.org> | 2010-04-30 08:21:51 +0000 |
---|---|---|
committer | Samuli Suominen <ssuominen@gentoo.org> | 2010-04-30 08:21:51 +0000 |
commit | 2a432ab3517c530b2a5df7cbfeaf9c307d04ddbd (patch) | |
tree | c6f7f37330bcf52b33095dd7721722e459542d5e /media-libs/libmad | |
parent | Version bump. (diff) | |
download | historical-2a432ab3517c530b2a5df7cbfeaf9c307d04ddbd.tar.gz historical-2a432ab3517c530b2a5df7cbfeaf9c307d04ddbd.tar.bz2 historical-2a432ab3517c530b2a5df7cbfeaf9c307d04ddbd.zip |
Fix building with GCC 4.4 on MIPS wrt #317871 by Manuel Lauss.
Package-Manager: portage-2.2_rc67/cvs/Linux x86_64
Diffstat (limited to 'media-libs/libmad')
-rw-r--r-- | media-libs/libmad/ChangeLog | 11 | ||||
-rw-r--r-- | media-libs/libmad/Manifest | 14 | ||||
-rw-r--r-- | media-libs/libmad/files/libmad-0.15.1b-gcc44-mips-h-constraint-removal.patch | 77 | ||||
-rw-r--r-- | media-libs/libmad/libmad-0.15.1b-r6.ebuild | 68 |
4 files changed, 157 insertions, 13 deletions
diff --git a/media-libs/libmad/ChangeLog b/media-libs/libmad/ChangeLog index 99be863263f7..bb959be40832 100644 --- a/media-libs/libmad/ChangeLog +++ b/media-libs/libmad/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for media-libs/libmad -# Copyright 2000-2008 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/media-libs/libmad/ChangeLog,v 1.54 2008/04/18 21:14:50 flameeyes Exp $ +# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/media-libs/libmad/ChangeLog,v 1.55 2010/04/30 08:21:51 ssuominen Exp $ + +*libmad-0.15.1b-r6 (30 Apr 2010) + + 30 Apr 2010; Samuli Suominen <ssuominen@gentoo.org> + +libmad-0.15.1b-r6.ebuild, + +files/libmad-0.15.1b-gcc44-mips-h-constraint-removal.patch: + Fix building with GCC 4.4 on MIPS wrt #317871 by Manuel Lauss. *libmad-0.15.1b-r5 (18 Apr 2008) diff --git a/media-libs/libmad/Manifest b/media-libs/libmad/Manifest index 02b5ee3d918f..1481e8e750da 100644 --- a/media-libs/libmad/Manifest +++ b/media-libs/libmad/Manifest @@ -1,21 +1,13 @@ ------BEGIN PGP SIGNED MESSAGE----- -Hash: SHA1 - AUX libmad-0.15.1b-cflags-O2.patch 347 RMD160 a2a0059dc8fb2c8f526a09fc250b5c16907e687a SHA1 334c2e88e180d8d4757934973f32f3ac270744bf SHA256 197bd69c064ba2957b23d83509c9fdc63c5315076fdf8c98dbc9eccd3ff236ca AUX libmad-0.15.1b-cflags.patch 4867 RMD160 9103cec98f6dc746fd05e385159484098c6347b3 SHA1 e6e8c0de26ed6ef6ccfb6d1ea6e8b682695e1144 SHA256 0d92977b30b599be8d423e9bec39c0f76b9dbc0f38dbc98a397394c30e28243e +AUX libmad-0.15.1b-gcc44-mips-h-constraint-removal.patch 2377 RMD160 602120e21d3010ba9c9f0bbbcb507920cf676ecf SHA1 2dde95528ef0d66166001f25e9896777e488c032 SHA256 328e42102e637273502831d5c45b29e765073d08328de1e8ed6280958877eae5 AUX mad.pc 211 RMD160 fd821f10ff5e1f43a4f166229bebebd9f78a2a4c SHA1 c119a0ac710c4a3255fc643ca60c9107a31e3e7c SHA256 821918a6be761d7b8a697af951e4a9a5d2e48920cd80c9b6b9fa19d78afcf3b3 DIST libmad-0.15.1b.tar.gz 502379 RMD160 0f3415ee10b188681e282ca69dec74c46ca73b0f SHA1 cac19cd00e1a907f3150cc040ccc077783496d76 SHA256 bbfac3ed6bfbc2823d3775ebb931087371e142bb0e9bb1bee51a76a6e0078690 EBUILD libmad-0.15.1b-r2.ebuild 1840 RMD160 c3038b885ad3aa7312c09f5a54fc1ef93bcceee6 SHA1 431d36a651a54e517564f6c31bebe9975056e06d SHA256 4ccecf883c860e1c3e152c14287980fe38d17085004d5d823465284e5e5c6a5e EBUILD libmad-0.15.1b-r3.ebuild 1897 RMD160 72fae917a838706796340c899443a373d4c98d9e SHA1 cc92ca73768b9740a467454a4bce414c85ed08f2 SHA256 57e2be41f5a63af4530b86a4a75601e18b08ded1930cd4bc1733504dd874d03a EBUILD libmad-0.15.1b-r4.ebuild 1927 RMD160 93def51ba2f09847752fe8913a94bb5872b8d750 SHA1 f4b3cb71dae276c024eb138e169ca8a155e580cb SHA256 8cc7631580d0ed32d2e6e79e04eb64c3b696ce005d69e8fb10db155e17663ff1 EBUILD libmad-0.15.1b-r5.ebuild 1962 RMD160 bbbd06f2cfee7745eb4ec98ff355fb73633fbd7c SHA1 4ccb20e8177eb48291a88ad559a22fd10b8e12c1 SHA256 c68ce33ee4b2c8388a1b5851a02c10bdd119d6b9206c109c560feecdde58947c +EBUILD libmad-0.15.1b-r6.ebuild 2037 RMD160 603049b090a08166c876ded527d7ef5785fdf2c3 SHA1 c87b4864d454b0c0cdb9a45cb541bbe15eae7ce1 SHA256 bcd10e9dea404270d9d403c1f40e1df4c8f7dfedbb8016ce0de0a8efe4407d59 EBUILD libmad-0.15.1b.ebuild 1525 RMD160 91cc057032f76dc8d3f9e2461d6b4cd1ae2bc8b6 SHA1 4414a6c6006e2f32c022c7406764d4a8cbe03209 SHA256 81b82fdf8dd7cd4aaf9cfebc6e6b468a2b0ba290e38ea162ae061ddd1d0d680d -MISC ChangeLog 7208 RMD160 70bd57537fbcf6df4681251d451a7caf8d9422d7 SHA1 6b28d1faf786be4b8eb7ac2d0e235126d10117c7 SHA256 cb2d44c49fb2b640f3195a7e4e5d986c40ab8856b2508030d5f2fdf807ad8d55 +MISC ChangeLog 7454 RMD160 1f1b5946ad9348dcf6dad650891ae405f5b0f853 SHA1 31d4ea3b5d7ba98e7046d1d2d2c14516f5be1ee1 SHA256 1b2cd27e3d9fd9bc827c1dbf7cefb083616a33b7a4d12d41ed102585261d2a74 MISC metadata.xml 252 RMD160 68406e733c1a9f26b7ab37e79ab53b3f59305b3a SHA1 6e5cc1551616801a2f257d688e6fc286044c3499 SHA256 5ab00710d822d203a1a38e1b6a9754137de4fe2cf5c4e79470419ed3f3927450 ------BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.9 (GNU/Linux) - -iEYEARECAAYFAkgJD1AACgkQAiZjviIA2XiZIQCg2B4DK7rB/rOjt7n3AkY88Uc2 -9iwAoKW1GsmtB+Y3rVYGRkvJVhoon8tY -=VHTc ------END PGP SIGNATURE----- diff --git a/media-libs/libmad/files/libmad-0.15.1b-gcc44-mips-h-constraint-removal.patch b/media-libs/libmad/files/libmad-0.15.1b-gcc44-mips-h-constraint-removal.patch new file mode 100644 index 000000000000..bff7afe6b6bc --- /dev/null +++ b/media-libs/libmad/files/libmad-0.15.1b-gcc44-mips-h-constraint-removal.patch @@ -0,0 +1,77 @@ +libmad: MIPS GCC-4.4 build fixes + +GCC-4.4 on MIPS removed the "h" asm constraint, fix this up. +Taken from OE. + +http://patchwork.openembedded.org/patch/921/ + +diff -ur libmad-0.15.1b-orig/fixed.h libmad-0.15.1b/fixed.h +--- libmad-0.15.1b-orig/fixed.h 2004-02-17 12:32:03.000000000 +1030 ++++ libmad-0.15.1b/fixed.h 2009-08-05 10:46:30.000000000 +0930 +@@ -299,6 +299,23 @@ + + # elif defined(FPM_MIPS) + ++/* Test for gcc >= maj.min, as per __GNUC_PREREQ in glibc */ ++#if defined (__GNUC__) && defined (__GNUC_MINOR__) ++#define __GNUC_PREREQ(maj, min) \ ++ ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min)) ++#else ++#define __GNUC_PREREQ(maj, min) 0 ++#endif ++ ++#if __GNUC_PREREQ(4,4) ++ typedef unsigned int u64_di_t __attribute__ ((mode (DI))); ++# define MAD_F_MLX(hi, lo, x, y) \ ++ do { \ ++ u64_di_t __ll = (u64_di_t) (x) * (y); \ ++ hi = __ll >> 32; \ ++ lo = __ll; \ ++ } while (0) ++#else + /* + * This MIPS version is fast and accurate; the disposition of the least + * significant bit depends on OPT_ACCURACY via mad_f_scale64(). +@@ -328,6 +345,7 @@ + : "%r" ((x) >> 12), "r" ((y) >> 16)) + # define MAD_F_MLZ(hi, lo) ((mad_fixed_t) (lo)) + # endif ++#endif /* __GNU_PREREQ(4,4) */ + + # if defined(OPT_SPEED) + # define mad_f_scale64(hi, lo) \ +diff -ur libmad-0.15.1b-orig/mad.h libmad-0.15.1b/mad.h +--- libmad-0.15.1b-orig/mad.h 2004-02-17 13:25:44.000000000 +1030 ++++ libmad-0.15.1b/mad.h 2009-08-05 10:42:40.000000000 +0930 +@@ -344,6 +344,23 @@ + + # elif defined(FPM_MIPS) + ++/* Test for gcc >= maj.min, as per __GNUC_PREREQ in glibc */ ++#if defined (__GNUC__) && defined (__GNUC_MINOR__) ++#define __GNUC_PREREQ(maj, min) \ ++ ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min)) ++#else ++#define __GNUC_PREREQ(maj, min) 0 ++#endif ++ ++#if __GNUC_PREREQ(4,4) ++ typedef unsigned int u64_di_t __attribute__ ((mode (DI))); ++# define MAD_F_MLX(hi, lo, x, y) \ ++ do { \ ++ u64_di_t __ll = (u64_di_t) (x) * (y); \ ++ hi = __ll >> 32; \ ++ lo = __ll; \ ++ } while (0) ++#else + /* + * This MIPS version is fast and accurate; the disposition of the least + * significant bit depends on OPT_ACCURACY via mad_f_scale64(). +@@ -373,6 +390,7 @@ + : "%r" ((x) >> 12), "r" ((y) >> 16)) + # define MAD_F_MLZ(hi, lo) ((mad_fixed_t) (lo)) + # endif ++#endif /* __GNU_PREREQ(4,4) */ + + # if defined(OPT_SPEED) + # define mad_f_scale64(hi, lo) \ diff --git a/media-libs/libmad/libmad-0.15.1b-r6.ebuild b/media-libs/libmad/libmad-0.15.1b-r6.ebuild new file mode 100644 index 000000000000..5ed5e6710f5b --- /dev/null +++ b/media-libs/libmad/libmad-0.15.1b-r6.ebuild @@ -0,0 +1,68 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-libs/libmad/libmad-0.15.1b-r6.ebuild,v 1.1 2010/04/30 08:21:51 ssuominen Exp $ + +inherit eutils autotools libtool flag-o-matic + +DESCRIPTION="\"M\"peg \"A\"udio \"D\"ecoder library" +HOMEPAGE="http://mad.sourceforge.net" +SRC_URI="mirror://sourceforge/mad/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd" +IUSE="debug" + +DEPEND="" + +src_unpack() { + unpack ${A} + cd "${S}" + + epatch "${FILESDIR}"/libmad-0.15.1b-cflags.patch + epatch "${FILESDIR}"/libmad-0.15.1b-cflags-O2.patch + epatch "${FILESDIR}"/libmad-0.15.1b-gcc44-mips-h-constraint-removal.patch + + eautoreconf + + elibtoolize + epunt_cxx #74490 +} + +src_compile() { + local myconf="--enable-accuracy" + # --enable-speed optimize for speed over accuracy + # --enable-accuracy optimize for accuracy over speed + # --enable-experimental enable code using the EXPERIMENTAL + # preprocessor define + + # Fix for b0rked sound on sparc64 (maybe also sparc32?) + # default/approx is also possible, uses less cpu but sounds worse + use sparc && myconf="${myconf} --enable-fpm=64bit" + + [[ $(tc-arch) == "amd64" ]] && myconf="${myconf} --enable-fpm=64bit" + [[ $(tc-arch) == "x86" ]] && myconf="${myconf} --enable-fpm=intel" + [[ $(tc-arch) == "ppc" ]] && myconf="${myconf} --enable-fpm=ppc" + [[ $(tc-arch) == "ppc64" ]] && myconf="${myconf} --enable-fpm=64bit" + + econf \ + $(use_enable debug debugging) \ + ${myconf} || die "configure failed" + emake || die "make failed" +} + +src_install() { + emake install DESTDIR="${D}" || die "make install failed" + + dodoc CHANGES CREDITS README TODO VERSION + + # This file must be updated with each version update + insinto /usr/$(get_libdir)/pkgconfig + doins "${FILESDIR}"/mad.pc + + # Use correct libdir in pkgconfig file + dosed "s:^libdir.*:libdir=/usr/$(get_libdir):" \ + /usr/$(get_libdir)/pkgconfig/mad.pc + + find "${D}" -name '*.la' -delete +} |