summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'media-libs')
-rw-r--r--media-libs/aften/ChangeLog8
-rw-r--r--media-libs/aften/aften-0.0.8.ebuild7
-rw-r--r--media-libs/aften/files/aften-0.0.8-ppc.patch97
3 files changed, 107 insertions, 5 deletions
diff --git a/media-libs/aften/ChangeLog b/media-libs/aften/ChangeLog
index f5068acb04f2..6adc976fc23b 100644
--- a/media-libs/aften/ChangeLog
+++ b/media-libs/aften/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for media-libs/aften
-# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-libs/aften/ChangeLog,v 1.1 2007/11/23 20:56:49 aballier Exp $
+# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/media-libs/aften/ChangeLog,v 1.2 2008/01/06 01:32:59 josejx Exp $
+
+ 06 Jan 2008; Joseph Jezak <josejx@gentoo.org>
+ +files/aften-0.0.8-ppc.patch, aften-0.0.8.ebuild:
+ Added patch to fix compilation on ppc, bug #200866.
*aften-0.0.8 (23 Nov 2007)
diff --git a/media-libs/aften/aften-0.0.8.ebuild b/media-libs/aften/aften-0.0.8.ebuild
index 09e94e146393..2762e069040f 100644
--- a/media-libs/aften/aften-0.0.8.ebuild
+++ b/media-libs/aften/aften-0.0.8.ebuild
@@ -1,6 +1,6 @@
-# Copyright 1999-2007 Gentoo Foundation
+# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/media-libs/aften/aften-0.0.8.ebuild,v 1.1 2007/11/23 20:56:49 aballier Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-libs/aften/aften-0.0.8.ebuild,v 1.2 2008/01/06 01:32:59 josejx Exp $
inherit eutils cmake-utils
@@ -10,7 +10,7 @@ SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
LICENSE="LGPL-2.1 BSD"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="~amd64 ~x86 ~ppc"
IUSE="cxx"
DEPEND=""
@@ -18,6 +18,7 @@ src_unpack() {
unpack ${A}
cd "${S}"
epatch "${FILESDIR}/${P}-multilib.patch"
+ epatch "${FILESDIR}/${P}-ppc.patch"
}
src_compile() {
diff --git a/media-libs/aften/files/aften-0.0.8-ppc.patch b/media-libs/aften/files/aften-0.0.8-ppc.patch
new file mode 100644
index 000000000000..a841acf8f568
--- /dev/null
+++ b/media-libs/aften/files/aften-0.0.8-ppc.patch
@@ -0,0 +1,97 @@
+Index: libaften/ppc/ppc_cpu_caps.h
+===================================================================
+--- libaften/ppc/ppc_cpu_caps.h
++++ libaften/ppc/ppc_cpu_caps.h
+@@ -20,6 +20,7 @@
+ #ifndef PPC_CPU_CAPS_H
+ #define PPC_CPU_CAPS_H
+
++#include "aften-types.h"
+ #include "common.h"
+ #include "cpu_caps.h"
+
+Index: libaften/ppc/mdct_altivec.c
+===================================================================
+--- libaften/ppc/mdct_altivec.c (revision 659)
++++ libaften/ppc/mdct_altivec.c (revision 660)
+@@ -47,11 +47,11 @@
+ #include "mem.h"
+
+ // sign change constants
+-static const vec_u32_t vPNNP = (vec_u32_t)
++static const vec_u32_t vPNNP = VEC_U32
+ (0x00000000, 0x80000000, 0x80000000, 0x00000000);
+-static const vec_u32_t vPNPN = (vec_u32_t)
++static const vec_u32_t vPNPN = VEC_U32
+ (0x00000000, 0x80000000, 0x00000000, 0x80000000);
+-static const vec_u32_t vNNNN = (vec_u32_t)
++static const vec_u32_t vNNNN = VEC_U32
+ (0x80000000, 0x80000000, 0x80000000, 0x80000000);
+
+
+@@ -92,7 +92,7 @@
+ vec_u8_t perm1036 = VPERMUTE4(1, 0, 3, 6);
+ vec_u8_t perm5472 = VPERMUTE4(5, 4, 7, 2);
+ vector float zero = (vector float) vec_splat_u32(0);
+- vector float pi2_8 = (vector float)(AFT_PI2_8, AFT_PI2_8, AFT_PI2_8, AFT_PI2_8);
++ vector float pi2_8 = VEC_FLOAT(AFT_PI2_8, AFT_PI2_8, AFT_PI2_8, AFT_PI2_8);
+ vector float x0to3, x4to7, x8to11, x12to15;
+ vector float v1, v2, v3, v4, v5;
+
+@@ -143,7 +143,7 @@
+ vec_u8_t perm0022 = VPERMUTE4(0, 0, 2, 2);
+ vec_u8_t perm1405 = VPERMUTE4(1, 4, 0, 5);
+ vector float zero = (vector float) vec_splat_u32(0);
+- vector float cpi = (vector float) (AFT_PI2_8, AFT_PI2_8, AFT_PI1_8, AFT_PI3_8);
++ vector float cpi = VEC_FLOAT(AFT_PI2_8, AFT_PI2_8, AFT_PI1_8, AFT_PI3_8);
+ vec_u32_t vNPNP = vec_sld(vPNPN, vPNPN, 4);
+ vector float x0to3, x4to7, x8to11, x12to15, x16to19, x20to23, x24to27, x28to31;
+ vector float pi3122, pi1322, pi1313, pi3131;
+@@ -395,7 +395,7 @@
+ vec_u8_t perm3636 = vec_add(perm1414, vec_splat_u8(8));
+ vec_u8_t perm2266, perm3377;
+
+- vector float point5 = (vector float) (0.5f, 0.5f, 0.5f, 0.5f);
++ vector float point5 = VEC_FLOAT(0.5f, 0.5f, 0.5f, 0.5f);
+ vector float zero = (vector float) vec_splat_u32(0);
+ vec_u32_t vNPNP = vec_sld(vPNPN, vPNPN, 4);
+
+Index: libaften/ppc/altivec_common.h
+===================================================================
+--- libaften/ppc/altivec_common.h (revision 659)
++++ libaften/ppc/altivec_common.h (revision 660)
+@@ -28,11 +28,23 @@
+ typedef vector unsigned int vec_u32_t;
+ typedef vector signed int vec_s32_t;
+
++#if defined( __APPLE_CC__ ) && defined( __APPLE_ALTIVEC__ ) /* apple */
++#define VEC_U32(a,b,c,d) (vec_u32_t) (a, b, c, d)
++#define VEC_FLOAT(a,b,c,d) (vector float) (a, b, c, d)
+ #define VPERMUTE4(a,b,c,d) (vec_u8_t) \
+ ( (a*4)+0, (a*4)+1, (a*4)+2, (a*4)+3, \
+ (b*4)+0, (b*4)+1, (b*4)+2, (b*4)+3, \
+ (c*4)+0, (c*4)+1, (c*4)+2, (c*4)+3, \
+ (d*4)+0, (d*4)+1, (d*4)+2, (d*4)+3 )
++#else /* gnu */
++#define VEC_U32(a,b,c,d) {a, b, c, d}
++#define VEC_FLOAT(a,b,c,d) {a, b, c, d}
++#define VPERMUTE4(a,b,c,d) \
++ { (a*4)+0, (a*4)+1, (a*4)+2, (a*4)+3, \
++ (b*4)+0, (b*4)+1, (b*4)+2, (b*4)+3, \
++ (c*4)+0, (c*4)+1, (c*4)+2, (c*4)+3, \
++ (d*4)+0, (d*4)+1, (d*4)+2, (d*4)+3 }
++#endif
+
+ static inline vector float vec_ld_float(const float *a)
+ {
+--- ppc_cpu_caps.bak 2007-12-23 17:13:33.000000000 +0000
++++ libaften/ppc/ppc_cpu_caps.c 2007-12-23 17:13:43.000000000 +0000
+@@ -81,7 +81,7 @@
+ //Attempt to use AltiVec
+ if(!sigsetjmp(g_env, 0))
+ {
+- asm volatile ( "vor v0, v0, v0" );
++ asm volatile ( "vor 0, 0, 0" );
+ }
+
+ //Restore the old signal handler