summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Schlemmer <azarah@gentoo.org>2005-04-25 08:44:58 +0000
committerMartin Schlemmer <azarah@gentoo.org>2005-04-25 08:44:58 +0000
commitc79c13c34c1f68d60b58e78fc16e72aefff6b262 (patch)
treee15989e85378419217b5a3732cedca5051704187 /media-video/mplayer
parentnot built with (diff)
downloadgentoo-2-c79c13c34c1f68d60b58e78fc16e72aefff6b262.tar.gz
gentoo-2-c79c13c34c1f68d60b58e78fc16e72aefff6b262.tar.bz2
gentoo-2-c79c13c34c1f68d60b58e78fc16e72aefff6b262.zip
Fix building with gcc4. Patch from Genady Okrain (Mafteah) 's overlay (plus
some added fixes to libvo/aclib_template.c that whoever seemed to have missed). (Portage version: 2.0.51.20-r4)
Diffstat (limited to 'media-video/mplayer')
-rw-r--r--media-video/mplayer/ChangeLog9
-rw-r--r--media-video/mplayer/files/mplayer-1.0_pre7-gcc4.patch187
-rw-r--r--media-video/mplayer/files/mplayer-1.0_pre7-gcc_detection.patch20
-rw-r--r--media-video/mplayer/mplayer-1.0_pre7.ebuild7
4 files changed, 220 insertions, 3 deletions
diff --git a/media-video/mplayer/ChangeLog b/media-video/mplayer/ChangeLog
index d65e2a20632a..13b72a3d1957 100644
--- a/media-video/mplayer/ChangeLog
+++ b/media-video/mplayer/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for media-video/mplayer
# Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-video/mplayer/ChangeLog,v 1.304 2005/04/21 11:34:00 herbs Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-video/mplayer/ChangeLog,v 1.305 2005/04/25 08:44:58 azarah Exp $
+
+ 25 Apr 2005; Martin Schlemmer <azarah@gentoo.org>
+ +files/mplayer-1.0_pre7-gcc4.patch,
+ +files/mplayer-1.0_pre7-gcc_detection.patch, mplayer-1.0_pre7.ebuild:
+ Fix building with gcc4. Patch from Genady Okrain (Mafteah) 's overlay (plus
+ some added fixes to libvo/aclib_template.c that whoever seemed to have
+ missed).
21 Apr 2005; Herbie Hopkins <herbs@gentoo.org> mplayer-1.0_pre7.ebuild:
Same amd64 cleanup, new version.
diff --git a/media-video/mplayer/files/mplayer-1.0_pre7-gcc4.patch b/media-video/mplayer/files/mplayer-1.0_pre7-gcc4.patch
new file mode 100644
index 000000000000..147df8580431
--- /dev/null
+++ b/media-video/mplayer/files/mplayer-1.0_pre7-gcc4.patch
@@ -0,0 +1,187 @@
+diff -bBur MPlayer-20050413-orig/configure MPlayer-20050413/configure
+--- MPlayer-20050413-orig/configure 2005-04-06 14:57:08.000000000 +0300
++++ MPlayer-20050413/configure 2005-04-14 16:20:41.000000000 +0300
+@@ -604,7 +604,7 @@
+ cc_version="v. ?.??, bad"
+ cc_verc_fail=yes
+ ;;
+- 2.95.[2-9]|2.95.[2-9][-.]*|3.[0-9]|3.[0-9].[0-9])
++ 2.95.[2-9]|2.95.[2-9][-.]*|3.[0-9]|3.[0-9].[0-9]|4.*)
+ _cc_major=`echo $cc_version | cut -d '.' -f 1`
+ _cc_minor=`echo $cc_version | cut -d '.' -f 2`
+ _cc_mini=`echo $cc_version | cut -d '.' -f 3`
+diff -bBur MPlayer-20050413-orig/liba52/imdct.c MPlayer-20050413/liba52/imdct.c
+--- MPlayer-20050413-orig/liba52/imdct.c 2005-03-23 01:27:18.000000000 +0200
++++ MPlayer-20050413/liba52/imdct.c 2005-04-14 16:48:54.000000000 +0300
+@@ -937,7 +937,8 @@
+ /* 4-7. iterations */
+ for (m=3; m < 7; m++) {
+ two_m = (1 << m);
+- two_m_plus_one = two_m<<1;
++ int two_m_plus_four=two_m<<4;
++ complex_t* buf_plus_128=buf+128;
+ asm volatile(
+ "movl %0, %%esi \n\t"
+ ".balign 16 \n\t"
+@@ -963,7 +964,7 @@
+ "addl %2, %%esi \n\t"
+ "cmpl %1, %%esi \n\t"
+ " jb 1b \n\t"
+- :: "g" (buf), "m" (buf+128), "m" (two_m_plus_one<<3), "r" (two_m<<3),
++ :: "g" (buf), "m" (buf_plus_128), "m" (two_m_plus_four), "r" (two_m<<3),
+ "r" (sseW[m])
+ : "%esi", "%edi", "%edx"
+ );
+diff -bBur MPlayer-20050413-orig/libavcodec/libpostproc/postprocess_template.c MPlayer-20050413/libavcodec/libpostproc/postprocess_template.c
+--- MPlayer-20050413-orig/libavcodec/libpostproc/postprocess_template.c 2005-02-27 10:56:26.000000000 +0200
++++ MPlayer-20050413/libavcodec/libpostproc/postprocess_template.c 2005-04-14 16:35:07.000000000 +0300
+@@ -2648,6 +2648,8 @@
+ static always_inline void RENAME(do_a_deblock)(uint8_t *src, int step, int stride, PPContext *c){
+ int64_t dc_mask, eq_mask;
+ int64_t sums[10*8*2];
++ int64_t dc_and_eq_mask;
++
+ src+= step*3; // src points to begin of the 8x8 Block
+ //START_TIMER
+ asm volatile(
+@@ -2754,8 +2756,9 @@
+ : "r" (src), "r" ((long)step), "m" (c->pQPb), "m"(c->ppMode.flatnessThreshold)
+ : "%"REG_a
+ );
++ dc_and_eq_mask=dc_mask & eq_mask;
+
+- if(dc_mask & eq_mask){
++ if(dc_and_eq_mask){
+ long offset= -8*step;
+ int64_t *temp_sums= sums;
+
+@@ -2930,7 +2933,7 @@
+ " js 1b \n\t"
+
+ : "+r"(offset), "+r"(temp_sums)
+- : "r" ((long)step), "r"(src - offset), "m"(dc_mask & eq_mask)
++ : "r" ((long)step), "r"(src - offset), "m"(dc_and_eq_mask)
+ );
+ }else
+ src+= step; // src points to begin of the 8x8 Block
+diff -bBur MPlayer-20050413-orig/libmpdemux/frequencies.h MPlayer-20050413/libmpdemux/frequencies.h
+--- MPlayer-20050413-orig/libmpdemux/frequencies.h 2001-11-17 00:06:48.000000000 +0200
++++ MPlayer-20050413/libmpdemux/frequencies.h 2005-04-14 16:36:51.000000000 +0300
+@@ -104,7 +104,7 @@
+ /* --------------------------------------------------------------------- */
+
+ extern struct CHANLISTS chanlists[];
+-extern struct STRTAB chanlist_names[];
++/* extern struct STRTAB chanlist_names[]; */
+
+ extern int chantab;
+ extern struct CHANLIST *chanlist;
+diff -bBur MPlayer-20050413-orig/mmx.h MPlayer-20050413/mmx.h
+--- MPlayer-20050413-orig/mmx.h 2001-10-28 13:47:21.000000000 +0200
++++ MPlayer-20050413/mmx.h 2005-04-14 16:22:54.000000000 +0300
+@@ -353,11 +353,11 @@
+ #define mmx_m2r(op, mem, reg) \
+ __asm__ __volatile__ (#op " %0, %%" #reg \
+ : /* nothing */ \
+- : "X" (mem))
++ : "m" (mem))
+
+ #define mmx_r2m(op, reg, mem) \
+ __asm__ __volatile__ (#op " %%" #reg ", %0" \
+- : "=X" (mem) \
++ : "=m" (mem) \
+ : /* nothing */ )
+
+ #define mmx_r2r(op, regs, regd) \
+@@ -367,8 +367,8 @@
+ __asm__ __volatile__ ("movq %0, %%mm0\n\t" \
+ #op " %1, %%mm0\n\t" \
+ "movq %%mm0, %0" \
+- : "=X" (memd) \
+- : "X" (mems))
++ : "=m" (memd) \
++ : "m" (mems))
+
+ #endif
+
+diff -bBur MPlayer-20050413-orig/postproc/swscale_template.c MPlayer-20050413/postproc/swscale_template.c
+--- MPlayer-20050413-orig/postproc/swscale_template.c 2005-02-17 01:47:00.000000000 +0200
++++ MPlayer-20050413/postproc/swscale_template.c 2005-04-14 16:46:12.000000000 +0300
+@@ -2136,6 +2136,7 @@
+ else
+ {
+ long counter= -2*dstW;
++ uint8_t* ptr=src+filterSize;
+ // filter-= counter*filterSize/2;
+ filterPos-= counter/2;
+ dst-= counter/2;
+@@ -2177,7 +2178,7 @@
+ " jnc 1b \n\t"
+
+ : "+r" (counter), "+r" (filter)
+- : "m" (filterPos), "m" (dst), "m"(src+filterSize),
++ : "m" (filterPos), "m" (dst), "m"(ptr),
+ "m" (src), "r" ((long)filterSize*2)
+ : "%"REG_b, "%"REG_a, "%"REG_c
+ );
+@@ -2320,6 +2321,8 @@
+ {
+ #endif
+ //NO MMX just normal asm ...
++ int xInc_hi=xInc>>16;
++ int xInc_lo=xInc&0xffff;
+ asm volatile(
+ "xor %%"REG_a", %%"REG_a" \n\t" // i
+ "xor %%"REG_b", %%"REG_b" \n\t" // xx
+@@ -2356,7 +2359,7 @@
+ " jb 1b \n\t"
+
+
+- :: "r" (src), "m" (dst), "m" (dstWidth), "m" (xInc>>16), "m" (xInc&0xFFFF)
++ :: "r" (src), "m" (dst), "m" (dstWidth), "m" (xInc_hi), "m" (xInc_lo)
+ : "%"REG_a, "%"REG_b, "%ecx", "%"REG_D, "%esi"
+ );
+ #ifdef HAVE_MMX2
+@@ -2515,6 +2518,8 @@
+ else
+ {
+ #endif
++ int xInc_hi=xInc>>16;
++ int xInc_lo=xInc&0xffff;
+ asm volatile(
+ "xor %%"REG_a", %%"REG_a" \n\t" // i
+ "xor %%"REG_b", %%"REG_b" \n\t" // xx
+@@ -2548,7 +2553,7 @@
+ "cmp %2, %%"REG_a" \n\t"
+ " jb 1b \n\t"
+
+- :: "m" (src1), "m" (dst), "m" ((long)dstWidth), "m" ((long)(xInc>>16)), "m" ((xInc&0xFFFF)),
++ :: "m" (src1), "m" (dst), "m" ((long)dstWidth), "m" ((long)(xInc_hi)), "m" ((xInc_lo)),
+ "r" (src2)
+ : "%"REG_a, "%"REG_b, "%ecx", "%"REG_D, "%esi"
+ );
+
+--- MPlayer-1.0pre7/libvo/aclib_template.c 2005-04-25 08:26:11.000000000 +0000
++++ MPlayer-1.0pre7.az/libvo/aclib_template.c 2005-04-25 08:26:17.000000000 +0000
+@@ -249,8 +249,8 @@
+ MOVNTQ" %%mm6, 48(%1)\n"
+ MOVNTQ" %%mm7, 56(%1)\n"
+ :: "r" (from), "r" (to) : "memory");
+- ((const unsigned char *)from)+=64;
+- ((unsigned char *)to)+=64;
++ from+=64;
++ to+=64;
+ }
+
+ // printf(" %d %d\n", (int)from&1023, (int)to&1023);
+@@ -338,8 +338,8 @@
+ MOVNTQ" %%mm6, 48(%1)\n"
+ MOVNTQ" %%mm7, 56(%1)\n"
+ :: "r" (from), "r" (to) : "memory");
+- ((const unsigned char *)from)+=64;
+- ((unsigned char *)to)+=64;
++ from+=64;
++ to+=64;
+ }
+
+ #endif /* Have SSE */
diff --git a/media-video/mplayer/files/mplayer-1.0_pre7-gcc_detection.patch b/media-video/mplayer/files/mplayer-1.0_pre7-gcc_detection.patch
new file mode 100644
index 000000000000..c58734081cde
--- /dev/null
+++ b/media-video/mplayer/files/mplayer-1.0_pre7-gcc_detection.patch
@@ -0,0 +1,20 @@
+--- configure.old 2005-02-19 13:11:58.000000000 +0900
++++ configure 2005-02-19 13:20:22.538154224 +0900
+@@ -586,7 +586,7 @@
+ echocheck "$_cc version"
+ cc_vendor=gnu
+ cc_name=`( $_cc -v ) 2>&1 | _tail 1 | cut -d ' ' -f 1`
+- cc_version=`( $_cc -dumpversion ) 2>&1`
++ cc_version=`( $_cc -dumpversion | cut -f1,2 -d.) 2>&1`
+ if test "$?" -gt 0; then
+ cc_version="not found"
+ fi
+@@ -595,7 +595,7 @@
+ cc_version="v. ?.??, bad"
+ cc_verc_fail=yes
+ ;;
+- 2.95.[2-9]|2.95.[2-9][-.]*|3.[0-9]|3.[0-9].[0-9]|4.*)
++ 2.95.[2-9]|2.95.[2-9][-.]*|3.[0-9]|3.[0-9].[0-9]|3.[0-9][-.]*|3.[0-9].[0-9][-.]*|4.*)
+ _cc_major=`echo $cc_version | cut -d '.' -f 1`
+ _cc_minor=`echo $cc_version | cut -d '.' -f 2`
+ _cc_mini=`echo $cc_version | cut -d '.' -f 3`
diff --git a/media-video/mplayer/mplayer-1.0_pre7.ebuild b/media-video/mplayer/mplayer-1.0_pre7.ebuild
index b15ad5dea3ea..8555b8312e4f 100644
--- a/media-video/mplayer/mplayer-1.0_pre7.ebuild
+++ b/media-video/mplayer/mplayer-1.0_pre7.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/media-video/mplayer/mplayer-1.0_pre7.ebuild,v 1.4 2005/04/21 11:34:00 herbs Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-video/mplayer/mplayer-1.0_pre7.ebuild,v 1.5 2005/04/25 08:44:58 azarah Exp $
inherit eutils flag-o-matic kernel-mod
@@ -169,9 +169,12 @@ src_unpack() {
use sparc && sed -i 's:#define __KERNEL__::' osdep/kerneltwosix.h
epatch ${FILESDIR}/${PN}-1.0_pre6-ppc64.patch
+ # Fix building with gcc4
+ epatch ${FILESDIR}/${P}-gcc4.patch
+
# fixes mplayer not seeing gcc 3.4-blahetc type
# gcc versions. Half stolen from toolchain-funcs
- epatch ${FILESDIR}/${PN}-gcc_detection.patch
+ epatch ${FILESDIR}/${P}-gcc_detection.patch
}
linguas_warn() {