summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuca Barbato <lu_zero@gentoo.org>2006-01-30 06:07:35 +0000
committerLuca Barbato <lu_zero@gentoo.org>2006-01-30 06:07:35 +0000
commitb192fb4c671a1fb692b2eef5d5be5efc6bf93c56 (patch)
tree1dc1ae7f43589c8a86e5c96050e4b485046f76af /media-video
parentmodular X dependencies (diff)
downloadhistorical-b192fb4c671a1fb692b2eef5d5be5efc6bf93c56.tar.gz
historical-b192fb4c671a1fb692b2eef5d5be5efc6bf93c56.tar.bz2
historical-b192fb4c671a1fb692b2eef5d5be5efc6bf93c56.zip
x86 fix
Package-Manager: portage-2.1_pre3-r1
Diffstat (limited to 'media-video')
-rw-r--r--media-video/ffmpeg/ChangeLog7
-rw-r--r--media-video/ffmpeg/Manifest15
-rw-r--r--media-video/ffmpeg/ffmpeg-0.4.9_p20051216.ebuild21
-rw-r--r--media-video/ffmpeg/files/ffmpeg-shared-gcc4.patch40
4 files changed, 67 insertions, 16 deletions
diff --git a/media-video/ffmpeg/ChangeLog b/media-video/ffmpeg/ChangeLog
index 07f6978eeb6b..97a418e5eaa5 100644
--- a/media-video/ffmpeg/ChangeLog
+++ b/media-video/ffmpeg/ChangeLog
@@ -1,6 +1,11 @@
# ChangeLog for media-video/ffmpeg
# Copyright 2002-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-video/ffmpeg/ChangeLog,v 1.123 2006/01/09 22:47:11 kloeri Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-video/ffmpeg/ChangeLog,v 1.124 2006/01/30 06:07:35 lu_zero Exp $
+
+ 30 Jan 2006; Luca Barbato <lu_zero@gentoo.org>
+ +files/ffmpeg-shared-gcc4.patch, ffmpeg-0.4.9_p20051216.ebuild:
+ x86 workaround from Kevin F. Quinn <kevquinn@gentoo.org>, I'll share the
+ blame if breaks something
09 Jan 2006; Bryan Østergaard <kloeri@gentoo.org
ffmpeg-0.4.9_p20051216.ebuild:
diff --git a/media-video/ffmpeg/Manifest b/media-video/ffmpeg/Manifest
index 9db0b30fe9e1..b766eaf2e7ab 100644
--- a/media-video/ffmpeg/Manifest
+++ b/media-video/ffmpeg/Manifest
@@ -1,12 +1,9 @@
------BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA1
-
-MD5 a8e191353a6ad84cca1574cacb79bdf3 ChangeLog 18289
+MD5 6105512dde5052e731abd9dfe61a1433 ChangeLog 18509
MD5 af3a24b95f43ea461192736d7e9968c2 ffmpeg-0.4.9_p20050226-r3.ebuild 4384
MD5 ff615b7d4ca2c8355c1d0a358271e2d8 ffmpeg-0.4.9_p20050226-r5.ebuild 4543
MD5 e4e188b8783b45bbc9c454b9f4de3aad ffmpeg-0.4.9_p20050906.ebuild 4781
MD5 faab330a828982afbde572059cedc47f ffmpeg-0.4.9_p20051120.ebuild 4707
-MD5 8c15dfa166c4f44f80112007906cb673 ffmpeg-0.4.9_p20051216.ebuild 5149
+MD5 a0bb2c92819f677e9a54da4e25610aaf ffmpeg-0.4.9_p20051216.ebuild 5657
MD5 003b0062185efcb0ea5a6115fa8a646a files/0.4.8-gcc3.4-magicF2W.patch 994
MD5 99176b97ac8dd94ffc1d23961cc54906 files/digest-ffmpeg-0.4.9_p20050226-r3 73
MD5 99176b97ac8dd94ffc1d23961cc54906 files/digest-ffmpeg-0.4.9_p20050226-r5 73
@@ -20,14 +17,8 @@ MD5 96c7f1f67e0299ad71b9c0fad55c3960 files/ffmpeg-configure.patch 585
MD5 b1cd277309faaaa03e3dafb3b89b2a09 files/ffmpeg-libdir-pic.patch 6027
MD5 1a8c0be3a5a5ba1d929b7773265943b7 files/ffmpeg-missing_links.patch 1199
MD5 b4ecc62e882107f766cf621bfc6c7e20 files/ffmpeg-osx.patch 5940
+MD5 f486e0b9d41c3d417a3b918189f2be9e files/ffmpeg-shared-gcc4.patch 1575
MD5 1b97a7c3bc63b61423f8837f11aaa9cd files/ffmpeg-soname-symlink.patch 4937
MD5 02a1298f3a982efa3dc25f1746e3dccc files/ffmpeg-unknown-options.patch 414
MD5 f0c54c934c78216a2bd0b157028a6f84 files/gentoo-ffmpeg001.patch 752
MD5 7300a7b361fa9f48e37722c6952bd432 metadata.xml 158
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.2 (GNU/Linux)
-
-iD8DBQFDx5lU2+ySkm8kpY0RAhcdAKC05LxCeFo1imrPg6vpSh8yt0/yfwCgsltx
-Yz2o2zoaJKymR6sm2mJBieQ=
-=QHLc
------END PGP SIGNATURE-----
diff --git a/media-video/ffmpeg/ffmpeg-0.4.9_p20051216.ebuild b/media-video/ffmpeg/ffmpeg-0.4.9_p20051216.ebuild
index 62cba0ce4ada..3f32f690fffb 100644
--- a/media-video/ffmpeg/ffmpeg-0.4.9_p20051216.ebuild
+++ b/media-video/ffmpeg/ffmpeg-0.4.9_p20051216.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/media-video/ffmpeg/ffmpeg-0.4.9_p20051216.ebuild,v 1.18 2006/01/13 12:11:26 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-video/ffmpeg/ffmpeg-0.4.9_p20051216.ebuild,v 1.19 2006/01/30 06:07:35 lu_zero Exp $
inherit eutils flag-o-matic multilib toolchain-funcs
@@ -68,18 +68,21 @@ src_unpack() {
cd ${S}
cp -R ${S_BASE} ${S_STATIC}
mv ${S_BASE} ${S_SHARED}
+
+ # Patch for gcc-4 shared build only
+ cd ${S_SHARED}
+ epatch ${FILESDIR}/ffmpeg-shared-gcc4.patch
}
src_compile() {
#Note; library makefiles don't propogate flags from config.mak so
#use specified CFLAGS are only used in executables
- filter-flags -fforce-addr -momit-leaf-frame-pointer
replace-flags -O0 -O2
local myconf=""
#disable mmx accelerated code if not requirested, or if PIC is required
- # as the provided asm decidedly isn't PIC.
+ # as the provided asm decidedly is not PIC.
if ( ! has_pic && use mmx ) || use amd64; then
myconf="${myconf} --enable-mmx"
else
@@ -116,6 +119,18 @@ src_compile() {
econf --disable-shared-pp --disable-shared --enable-static ${myconf} || die "Configure failed"
emake CC="$(tc-getCC)" || die "static failed"
+ # Specific workarounds for too-few-registers arch...
+ if [[ $(tc-arch) == "x86" ]]; then
+ filter-flags -fforce-addr -momit-leaf-frame-pointer
+ append-flags -fomit-frame-pointer
+ is-flag -O? || append-flags -O2
+ ewarn ""
+ ewarn "Debug information will be almost useless as the frame pointer is omitted."
+ ewarn "This makes debugging harder, so crashes that has no fixed behavior are"
+ ewarn "difficult to fix. Please have that in mind."
+ ewarn ""
+ fi
+
cd ${S_SHARED}
econf --enable-shared-pp --enable-shared --disable-static ${myconf} || die "Configure failed"
emake CC="$(tc-getCC)" || die "shared failed"
diff --git a/media-video/ffmpeg/files/ffmpeg-shared-gcc4.patch b/media-video/ffmpeg/files/ffmpeg-shared-gcc4.patch
new file mode 100644
index 000000000000..d8ad85de367f
--- /dev/null
+++ b/media-video/ffmpeg/files/ffmpeg-shared-gcc4.patch
@@ -0,0 +1,40 @@
+--- ffmpeg-0.4.9-p20051216-shared/libavcodec/i386/dsputil_mmx.c.orig 2006-01-14 13:13:04.000000000 +0100
++++ ffmpeg-0.4.9-p20051216-shared/libavcodec/i386/dsputil_mmx.c 2006-01-14 13:06:59.000000000 +0100
+@@ -619,10 +619,22 @@
+
+ static inline void transpose4x4(uint8_t *dst, uint8_t *src, int dst_stride, int src_stride){
+ asm volatile( //FIXME could save 1 instruction if done as 8x4 ...
+- "movd %4, %%mm0 \n\t"
+- "movd %5, %%mm1 \n\t"
+- "movd %6, %%mm2 \n\t"
+- "movd %7, %%mm3 \n\t"
++ "movd %0, %%mm0 \n\t"
++ "movd %1, %%mm1 \n\t"
++ "movd %2, %%mm2 \n\t"
++
++ :
++ : "m" (*(uint32_t*)(src + 0*src_stride)),
++ "m" (*(uint32_t*)(src + 1*src_stride)),
++ "m" (*(uint32_t*)(src + 2*src_stride))
++ );
++ asm volatile( //FIXME could save 1 instruction if done as 8x4 ...
++ "movd %0, %%mm3 \n\t"
++
++ :
++ : "m" (*(uint32_t*)(src + 3*src_stride))
++ );
++ asm volatile( //FIXME could save 1 instruction if done as 8x4 ...
+ "punpcklbw %%mm1, %%mm0 \n\t"
+ "punpcklbw %%mm3, %%mm2 \n\t"
+ "movq %%mm0, %%mm1 \n\t"
+@@ -639,10 +651,6 @@
+ "=m" (*(uint32_t*)(dst + 1*dst_stride)),
+ "=m" (*(uint32_t*)(dst + 2*dst_stride)),
+ "=m" (*(uint32_t*)(dst + 3*dst_stride))
+- : "m" (*(uint32_t*)(src + 0*src_stride)),
+- "m" (*(uint32_t*)(src + 1*src_stride)),
+- "m" (*(uint32_t*)(src + 2*src_stride)),
+- "m" (*(uint32_t*)(src + 3*src_stride))
+ );
+ }
+