summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKacper Kowalik <xarthisius@gentoo.org>2011-01-26 15:50:27 +0000
committerKacper Kowalik <xarthisius@gentoo.org>2011-01-26 15:50:27 +0000
commiteb768ec70a46cdc8580b5ee9bd0aa2ed6ed54537 (patch)
tree4c4a101cecd556cede01a6f8bf348c96bfbd77cb /media-libs/x264
parentrephrase more (diff)
downloadhistorical-eb768ec70a46cdc8580b5ee9bd0aa2ed6ed54537.tar.gz
historical-eb768ec70a46cdc8580b5ee9bd0aa2ed6ed54537.tar.bz2
historical-eb768ec70a46cdc8580b5ee9bd0aa2ed6ed54537.zip
Fix compilation on PPC with some recent GCCs wrt bug 343893. Thanks to Andrew John Hughes <gnu_andrew@member.fsf.org> for salvaging patch and Alex Buell <alex.buell@munted.org.uk> for testing.
Package-Manager: portage-2.1.9.25/cvs/Linux ppc64
Diffstat (limited to 'media-libs/x264')
-rw-r--r--media-libs/x264/ChangeLog10
-rw-r--r--media-libs/x264/Manifest15
-rw-r--r--media-libs/x264/files/x264-altivec.patch52
-rw-r--r--media-libs/x264/x264-0.0.20101029.ebuild7
4 files changed, 67 insertions, 17 deletions
diff --git a/media-libs/x264/ChangeLog b/media-libs/x264/ChangeLog
index 602c46541a65..1d23e4d98b48 100644
--- a/media-libs/x264/ChangeLog
+++ b/media-libs/x264/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for media-libs/x264
-# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-libs/x264/ChangeLog,v 1.45 2010/12/22 02:13:13 aballier Exp $
+# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/media-libs/x264/ChangeLog,v 1.46 2011/01/26 15:50:27 xarthisius Exp $
+
+ 26 Jan 2011; Kacper Kowalik <xarthisius@gentoo.org>
+ +files/x264-altivec.patch, x264-0.0.20101029.ebuild:
+ Fix compilation on PPC with some recent GCCs wrt bug 343893. Thanks to
+ Andrew John Hughes <gnu_andrew@member.fsf.org> for salvaging patch and
+ Alex Buell <alex.buell@munted.org.uk> for testing.
22 Dec 2010; Alexis Ballier <aballier@gentoo.org> -x264-0.0.20081006.ebuild,
-x264-0.0.20090502.ebuild, -x264-0.0.20090629.ebuild,
diff --git a/media-libs/x264/Manifest b/media-libs/x264/Manifest
index 505fec426139..d39b2d79842e 100644
--- a/media-libs/x264/Manifest
+++ b/media-libs/x264/Manifest
@@ -1,18 +1,9 @@
------BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA1
-
+AUX x264-altivec.patch 2529 RMD160 a898058a653d55a65ddd070285b649b8569b3215 SHA1 849970574883c079b8b63cdb0922018c32d43532 SHA256 e36a5fe0ff284e0cf7ee1ddeec06f2f083ff1d740e9317d82a3f83dc23a924e6
AUX x264-nostrip.patch 433 RMD160 81c3893b1a02839da38f34484c794996855fab5e SHA1 42c0807d6f2f13f848409d9545994c8b66338c8c SHA256 1210914cc52de908b840775ab8e4a107d95aeced690c2f115320d31e587a2ffa
AUX x264-onlylib-20100605.patch 1078 RMD160 a40e8e298cef462b2c1a393d56184c84a901eb28 SHA1 085e8c16226ad9bb1cfb7efe6065cd80a7c2f358 SHA256 557c818204143440b982bae758103898078d014d145176267329d368b2b44fa4
DIST x264-snapshot-20100605-2245.tar.bz2 422713 RMD160 379b728d53b642bb5ac6d82765325f4c2bbcec00 SHA1 d923e2168d9e4e3f339bfa1588b8d5d748a9a1ba SHA256 29d01cf362770658caea4aa7c9a62319053b113d25d0cbbd4e5b0a697284d692
DIST x264-snapshot-20101029-2245.tar.bz2 449078 RMD160 65691ea49254ac769a1dde5c03bbe190d7758390 SHA1 3153e901b69acbfcade2af9a59b52d357166ece0 SHA256 d6d1ac9450e2e345d6a4bf7e62a9b03256b10da8e4d62c829ba683a7566711f3
EBUILD x264-0.0.20100605.ebuild 1502 RMD160 70f9d093035eac1511eac5f3ef001f88e17f0fec SHA1 fdadbfcd76a3e60198ba6d1ed09bea59a5b8b2d3 SHA256 bd8e77d53bfe9cddea913da054704d046676fbc47e6c6826a8746ebbf3d951b1
-EBUILD x264-0.0.20101029.ebuild 1509 RMD160 bd5941b8e64005457f7a697371fe2d2013b4434e SHA1 6d918a5cb667de9a90cce5e21d69723c64d43716 SHA256 5c7749614bafa5e0f70fcebe0c043b5828c3d969795bdc07ffce2877b47969f3
-MISC ChangeLog 6482 RMD160 a5b92565699fc74326467463a36a4e15ae642922 SHA1 b1a18b5bac4579601b611e0489d74b04069c020f SHA256 56abc231b6588f9001440ca52a7330696d95aea5b8347cebfee5185761ab1c94
+EBUILD x264-0.0.20101029.ebuild 1552 RMD160 b73ba8ce32891414fa68a0460d6f7e1df49c55ee SHA1 39d41716ac4ea2c0af64cb30bbdbf586236dca0b SHA256 d559b7d3547cc6c07ddd35af522b7b5675646e5784b522f852e69c09fdacbaed
+MISC ChangeLog 6793 RMD160 d4aa60f00539e89597aa6ce0511e8c5abca823f2 SHA1 fb80aea4f601a091924d4ac0bd873699dd15c710 SHA256 10c4359da81ddd196afa8bcf77872ac7738a2853309cd875963e99059564c154
MISC metadata.xml 335 RMD160 782d171712950050c9e34479cedef18983e566e9 SHA1 68e8b7034a5abef5f25463e194936c8d4a837f72 SHA256 18b919bb52e6713ae3919ba49f66caa659304337339e6d317e95d04a6384d23c
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v2.0.16 (GNU/Linux)
-
-iEYEARECAAYFAk0RXsoACgkQvFcC4BYPU0o5qACfUgJT2zz76JwmeGgn9TEdJw4B
-ZZUAniTd2h0wHClUBlGwgctPJaum8PgP
-=P5Oj
------END PGP SIGNATURE-----
diff --git a/media-libs/x264/files/x264-altivec.patch b/media-libs/x264/files/x264-altivec.patch
new file mode 100644
index 000000000000..a185dcd5081d
--- /dev/null
+++ b/media-libs/x264/files/x264-altivec.patch
@@ -0,0 +1,52 @@
+http://git.videolan.org/?p=x264.git;a=commitdiff;h=7f5771a13aec5a8a724e0d0c9d761f5a82e74af0
+https://bugs.gentoo.org/343893
+
+--- a/common/ppc/dct.c
++++ b/common/ppc/dct.c
+@@ -91,14 +91,14 @@ void x264_sub8x8_dct_altivec( int16_t dct[4][16], uint8_t *pix1, uint8_t *pix2 )
+ VEC_DCT( dct0v, dct1v, dct2v, dct3v, tmp0v, tmp1v, tmp2v, tmp3v );
+ VEC_DCT( dct4v, dct5v, dct6v, dct7v, tmp4v, tmp5v, tmp6v, tmp7v );
+
+- vec_st(vec_perm(tmp0v, tmp1v, permHighv), 0, dct);
+- vec_st(vec_perm(tmp2v, tmp3v, permHighv), 16, dct);
+- vec_st(vec_perm(tmp4v, tmp5v, permHighv), 32, dct);
+- vec_st(vec_perm(tmp6v, tmp7v, permHighv), 48, dct);
+- vec_st(vec_perm(tmp0v, tmp1v, permLowv), 64, dct);
+- vec_st(vec_perm(tmp2v, tmp3v, permLowv), 80, dct);
+- vec_st(vec_perm(tmp4v, tmp5v, permLowv), 96, dct);
+- vec_st(vec_perm(tmp6v, tmp7v, permLowv), 112, dct);
++ vec_st(vec_perm(tmp0v, tmp1v, permHighv), 0, *dct);
++ vec_st(vec_perm(tmp2v, tmp3v, permHighv), 16, *dct);
++ vec_st(vec_perm(tmp4v, tmp5v, permHighv), 32, *dct);
++ vec_st(vec_perm(tmp6v, tmp7v, permHighv), 48, *dct);
++ vec_st(vec_perm(tmp0v, tmp1v, permLowv), 64, *dct);
++ vec_st(vec_perm(tmp2v, tmp3v, permLowv), 80, *dct);
++ vec_st(vec_perm(tmp4v, tmp5v, permLowv), 96, *dct);
++ vec_st(vec_perm(tmp6v, tmp7v, permLowv), 112, *dct);
+ }
+
+ void x264_sub16x16_dct_altivec( int16_t dct[16][16], uint8_t *pix1, uint8_t *pix2 )
+--- a/common/ppc/mc.c
++++ b/common/ppc/mc.c
+@@ -460,8 +460,8 @@ static void mc_chroma_altivec_8xh( uint8_t *dstu, uint8_t *dstv, int i_dst_strid
+ dstv_16h = vec_sr( dstv_16h, shiftv );
+ dstv_16l = vec_sr( dstv_16l, shiftv );
+
+- dstuv = vec_perm( dstv_16h, dstv_16l, perm0v );
+- dstvv = vec_perm( dstv_16h, dstv_16l, perm1v );
++ dstuv = (vec_u8_t)vec_perm( dstv_16h, dstv_16l, perm0v );
++ dstvv = (vec_u8_t)vec_perm( dstv_16h, dstv_16l, perm1v );
+
+ VEC_STORE8( dstuv, dstu );
+ VEC_STORE8( dstvv, dstv );
+@@ -498,8 +498,8 @@ static void mc_chroma_altivec_8xh( uint8_t *dstu, uint8_t *dstv, int i_dst_strid
+ dstv_16h = vec_sr( dstv_16h, shiftv );
+ dstv_16l = vec_sr( dstv_16l, shiftv );
+
+- dstuv = vec_perm( dstv_16h, dstv_16l, perm0v );
+- dstvv = vec_perm( dstv_16h, dstv_16l, perm1v );
++ dstuv = (vec_u8_t)vec_perm( dstv_16h, dstv_16l, perm0v );
++ dstvv = (vec_u8_t)vec_perm( dstv_16h, dstv_16l, perm1v );
+
+ VEC_STORE8( dstuv, dstu );
+ VEC_STORE8( dstvv, dstv );
diff --git a/media-libs/x264/x264-0.0.20101029.ebuild b/media-libs/x264/x264-0.0.20101029.ebuild
index 37f590ef985e..40c86ceb97af 100644
--- a/media-libs/x264/x264-0.0.20101029.ebuild
+++ b/media-libs/x264/x264-0.0.20101029.ebuild
@@ -1,6 +1,6 @@
-# Copyright 1999-2010 Gentoo Foundation
+# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/media-libs/x264/x264-0.0.20101029.ebuild,v 1.3 2010/12/09 16:03:49 rich0 Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-libs/x264/x264-0.0.20101029.ebuild,v 1.4 2011/01/26 15:50:27 xarthisius Exp $
EAPI=2
inherit eutils multilib toolchain-funcs versionator
@@ -25,7 +25,8 @@ S=${WORKDIR}/${MY_P}
src_prepare() {
epatch "${FILESDIR}"/${PN}-nostrip.patch \
- "${FILESDIR}"/${PN}-onlylib-20100605.patch
+ "${FILESDIR}"/${PN}-onlylib-20100605.patch \
+ "${FILESDIR}"/${PN}-altivec.patch
}
src_configure() {