diff options
author | nox <nox@FreeBSD.org> | 2013-09-05 00:45:13 +0800 |
---|---|---|
committer | nox <nox@FreeBSD.org> | 2013-09-05 00:45:13 +0800 |
commit | e125b712f04f79c94413bb261673b104d4f227cd (patch) | |
tree | 1071d364bb8a51429ba72533989fc096b1aded5c /multimedia/libxine | |
parent | cb974f281be8726b303403edce3c1c385ba6d14d (diff) | |
download | freebsd-ports-gnome-e125b712f04f79c94413bb261673b104d4f227cd.tar.gz freebsd-ports-gnome-e125b712f04f79c94413bb261673b104d4f227cd.tar.zst freebsd-ports-gnome-e125b712f04f79c94413bb261673b104d4f227cd.zip |
- Convert to USES=gmake perl5.
- Fix register allocation problems with clang on i386:
* Remove the q modifier from inline asm such that clang no longer
uses a 64 bit register. Instead cast the operand to register_t
which is 32 bit on i386 and 64 bit on amd64.
* Add -fomit-frame-pointer to CFLAGS to free up an extra register.
- Fix the issue with WITH_DEBUG by adding --disable-real-codecs
which apparently never really worked anyway.
- Patch configure so it no longer adds -mtune=i386 to CFLAGS.
- Bump PORTREVISION.
PR: ports/181786
Submitted by: tijl
Diffstat (limited to 'multimedia/libxine')
6 files changed, 43 insertions, 60 deletions
diff --git a/multimedia/libxine/Makefile b/multimedia/libxine/Makefile index b235b102db8c..6c2a100ff18d 100644 --- a/multimedia/libxine/Makefile +++ b/multimedia/libxine/Makefile @@ -3,7 +3,7 @@ PORTNAME= xine PORTVERSION= 1.2.2 -PORTREVISION= 3 +PORTREVISION= 4 CATEGORIES= multimedia ipv6 MASTER_SITES= SF/${PORTNAME}/${PORTNAME}-lib/${PORTVERSION} PKGNAMEPREFIX= lib @@ -37,14 +37,13 @@ BUILD_DEPENDS+= v4l_compat>=1.0.20100321:${PORTSDIR}/multimedia/v4l_compat LIB_DEPENDS+= dvdcss.${DVDCSS_LIBVERSION}:${PORTSDIR}/multimedia/libdvdcss .endif -USES= pathfix pkgconfig iconv +USES= gmake iconv pathfix perl5 pkgconfig USE_XZ= yes GNU_CONFIGURE= yes WANT_GNOME= yes -USE_GMAKE= yes USE_XORG= sm x11 xv xinerama USE_GL= gl glu -USE_PERL5_BUILD=yes +USE_PERL5= build USE_SDL= sdl USE_LDCONFIG= yes CONFIGURE_ENV= THREAD_CFLAGS="${PTHREAD_CFLAGS}" \ @@ -60,6 +59,7 @@ CONFIGURE_ARGS= --with-w32-path=${LOCALBASE}/lib/win32 \ --with-libflac \ --with-external-ffmpeg \ --with-external-libfaad \ + --disable-real-codecs \ --disable-v4l \ --without-alsa \ --disable-musepack \ @@ -82,29 +82,8 @@ PATCH_DIST_ARGS= -d ${WRKSRC} -p1 --forward --quiet .include <bsd.port.options.mk> -# clang/i386 doesn't like -# src/post/deinterlace/plugins/greedy2frame_template_sse2.c : -# [...] -# ./greedy2frame_template_sse2.c:175:38: error: register %rax is only available in 64-bit mode -# "movdqa (%3), %%xmm0 \n\t" /* xmm0 = T0 */ -# ^ -#<inline asm>:3:11: note: instantiated into assembly here -# movdqa (%rax,%esi), %xmm3 -# ^~~~ -# [...] .if ${ARCH} == "i386" -USE_GCC= any -.endif - -# Fix build WITH_DEBUG -.if defined(WITH_DEBUG) -DEBUG_FLAGS= -g -O1 -.endif - -# Check for forced -O0 (or no -O) -.if ${CFLAGS:M-O0} == "-O0" || (${CFLAGS:M-O} == "" && \ - ${CFLAGS:M-O[1-9a-z]*} == "") -IGNORE= only builds with -O1 or higher, check CFLAGS +CFLAGS+= -fomit-frame-pointer .endif .if ${PORT_OPTIONS:MNLS} diff --git a/multimedia/libxine/files/patch-configure b/multimedia/libxine/files/patch-configure index 75aef21bea66..db9a5b876cc6 100644 --- a/multimedia/libxine/files/patch-configure +++ b/multimedia/libxine/files/patch-configure @@ -9,7 +9,16 @@ arch_x86=64 $as_echo "#define ARCH_X86_64 /**/" >>confdefs.h -@@ -26197,7 +26197,7 @@ fi +@@ -20685,7 +20685,7 @@ fi + + if test "$sarchopt" != "no"; then + case "$host_or_hostalias" in +- i386-*) archopt_val="i386" ;; ++ i386-*) ;; + i486-*) archopt_val="i486" ;; + i586-*) archopt_val="pentium" ;; + pentium-mmx-*) archopt_val="pentium-mmx" ;; +@@ -26280,7 +26280,7 @@ fi if test x"$enable_dvb" != x"no"; then case "$host_os" in diff --git a/multimedia/libxine/files/patch-src-post-deinterlace-plugins-greedy2frame_template_sse2.c b/multimedia/libxine/files/patch-src-post-deinterlace-plugins-greedy2frame_template_sse2.c new file mode 100644 index 000000000000..c794b5771091 --- /dev/null +++ b/multimedia/libxine/files/patch-src-post-deinterlace-plugins-greedy2frame_template_sse2.c @@ -0,0 +1,28 @@ +--- src/post/deinterlace/plugins/greedy2frame_template_sse2.c.orig 2013-09-03 20:12:37.000000000 +0200 ++++ src/post/deinterlace/plugins/greedy2frame_template_sse2.c 2013-09-03 20:22:34.000000000 +0200 +@@ -173,8 +173,8 @@ + */ + "movdqa (%3), %%xmm1 \n\t" /* xmm1 = T1 */ + "movdqa (%4), %%xmm0 \n\t" /* xmm0 = T0 */ +- "movdqa (%q5,%3), %%xmm3 \n\t" /* xmm3 = B1 */ +- "movdqa (%q5,%4), %%xmm2 \n\t" /* xmm2 = B0 */ ++ "movdqa (%3,%5), %%xmm3 \n\t" /* xmm3 = B1 */ ++ "movdqa (%4,%5), %%xmm2 \n\t" /* xmm2 = B0 */ + + /* calculate |T1-T0| keep T1 put result in xmm5 */ + "movdqa %%xmm1, %%xmm5 \n\t" +@@ -192,11 +192,11 @@ + "pcmpgtb %1, %%xmm5 \n\t" + "pcmpeqd %%xmm7, %%xmm5 \n\t" + +- "prefetcht0 64(%q5,%3) \n\t" +- "prefetcht0 64(%q5,%4) \n\t" ++ "prefetcht0 64(%3,%5) \n\t" ++ "prefetcht0 64(%4,%5) \n\t" + : + : "r" (M1), "m" (GreedyTwoFrameThreshold128), +- "m" (*Destc), "r" (T1), "r" (T0), "r" (Pitch) ); ++ "m" (*Destc), "r" (T1), "r" (T0), "r" ((register_t)Pitch) ); + + asm volatile ( + /* calculate |B1-B0| keep B1 put result in xmm4 */ diff --git a/multimedia/libxine/files/patch-src_libreal_real_common.c b/multimedia/libxine/files/patch-src_libreal_real_common.c deleted file mode 100644 index 0cfd757c2e69..000000000000 --- a/multimedia/libxine/files/patch-src_libreal_real_common.c +++ /dev/null @@ -1,10 +0,0 @@ ---- src/libreal/real_common.c.orig 2008-01-01 22:30:08.000000000 +0900 -+++ src/libreal/real_common.c 2008-01-13 04:05:14.000000000 +0900 -@@ -97,6 +97,7 @@ - { O | UL, "codecs" }, - { O | UL | UL64, "real" }, - { O, "real/RealPlayer/codecs" }, -+ { OL | OL64 | UL | UL64, "RealPlayer/codecs" }, - { OL | OL64 | UL | UL64, "RealPlayer10GOLD/codecs" }, - { OL | OL64 | UL | UL64, "RealPlayer10/codecs" }, - { OL | OL64 | UL | UL64, "RealPlayer9/users/Real/Codecs" }, diff --git a/multimedia/libxine/files/patch-src_libreal_xine_real_audio_decoder.c b/multimedia/libxine/files/patch-src_libreal_xine_real_audio_decoder.c deleted file mode 100644 index 67de5aee5d1a..000000000000 --- a/multimedia/libxine/files/patch-src_libreal_xine_real_audio_decoder.c +++ /dev/null @@ -1,22 +0,0 @@ ---- src/libreal/xine_real_audio_decoder.c.orig 2008-01-01 22:30:08.000000000 +0900 -+++ src/libreal/xine_real_audio_decoder.c 2008-01-20 01:44:15.000000000 +0900 -@@ -45,6 +45,19 @@ - - #include "real_common.h" - -+#if defined(__FreeBSD__) -+void ___brk_addr(void) {exit(0);} -+void __ctype_b(void) {exit(0);} -+void __strtod_internal(void) {exit(0);} -+void __strtold_internal(void) {exit(0);} -+void __strtof_internal(void) {exit(0);} -+void __errno_location(void) {exit(0);} -+void dl_iterate_phdr(void) {exit(0);} -+char **__environ={NULL}; -+#undef stderr -+FILE *stderr=NULL; -+#endif -+ - typedef struct { - audio_decoder_class_t decoder_class; - diff --git a/multimedia/libxine/pkg-plist b/multimedia/libxine/pkg-plist index 338c470a5f86..6ecf40121f4f 100644 --- a/multimedia/libxine/pkg-plist +++ b/multimedia/libxine/pkg-plist @@ -108,7 +108,6 @@ share/xine-lib/fonts/serif-64.xinefont.gz %%PLUGINSDIR%%/xineplug_decode_mad.so %%PLUGINSDIR%%/xineplug_decode_mpeg2.so %%WITH_VIDIX%%%%PLUGINSDIR%%/xineplug_decode_qt.so -%%PLUGINSDIR%%/xineplug_decode_real.so %%PLUGINSDIR%%/xineplug_decode_rgb.so %%PLUGINSDIR%%/xineplug_decode_spu.so %%PLUGINSDIR%%/xineplug_decode_spucc.so |