diff options
author | Mike Frysinger <vapier@gentoo.org> | 2010-09-18 16:06:07 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2010-09-18 16:06:07 +0000 |
commit | 32514c34dbd08b3a7f15ddaef5146cbe4a8f2d69 (patch) | |
tree | f5cc541ffc240a342f7b38a3dd34c8eb368c6ec5 /media-tv | |
parent | Respecting LDFLAGS, 337856 (diff) | |
download | historical-32514c34dbd08b3a7f15ddaef5146cbe4a8f2d69.tar.gz historical-32514c34dbd08b3a7f15ddaef5146cbe4a8f2d69.tar.bz2 historical-32514c34dbd08b3a7f15ddaef5146cbe4a8f2d69.zip |
Force internal python usage #304521 by Domen Kožar. Build against libdca rather than libdts #330201 by Füves Zoltán.
Package-Manager: portage-2.2_rc83/cvs/Linux x86_64
Diffstat (limited to 'media-tv')
-rw-r--r-- | media-tv/xbmc/ChangeLog | 9 | ||||
-rw-r--r-- | media-tv/xbmc/Manifest | 11 | ||||
-rw-r--r-- | media-tv/xbmc/files/xbmc-9.11-external-python.patch | 22 | ||||
-rw-r--r-- | media-tv/xbmc/files/xbmc-9.11-libdca.patch | 746 | ||||
-rw-r--r-- | media-tv/xbmc/xbmc-9.11-r5.ebuild | 217 |
5 files changed, 1000 insertions, 5 deletions
diff --git a/media-tv/xbmc/ChangeLog b/media-tv/xbmc/ChangeLog index 4304895d4f70..2d65da4f74e5 100644 --- a/media-tv/xbmc/ChangeLog +++ b/media-tv/xbmc/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for media-tv/xbmc # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/media-tv/xbmc/ChangeLog,v 1.67 2010/09/18 09:13:45 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-tv/xbmc/ChangeLog,v 1.68 2010/09/18 16:06:07 vapier Exp $ + +*xbmc-9.11-r5 (18 Sep 2010) + + 18 Sep 2010; Mike Frysinger <vapier@gentoo.org> +xbmc-9.11-r5.ebuild, + +files/xbmc-9.11-external-python.patch, +files/xbmc-9.11-libdca.patch: + Force internal python usage #304521 by Domen Kožar. Build against libdca + rather than libdts #330201 by Füves Zoltán. 18 Sep 2010; Mike Frysinger <vapier@gentoo.org> xbmc-9.11-r4.ebuild, xbmc-9999.ebuild: diff --git a/media-tv/xbmc/Manifest b/media-tv/xbmc/Manifest index 9fb4df290790..17f5e55a7663 100644 --- a/media-tv/xbmc/Manifest +++ b/media-tv/xbmc/Manifest @@ -2,20 +2,23 @@ Hash: SHA256 AUX xbmc-9.11-TexturePacker-parallel-build.patch 357 RMD160 37802ec3ce31d10d58802acf267aaf568d3ef8d0 SHA1 5909a4a61e1dbac3f51c6a8c393f1d4cfd7a38ca SHA256 a9b990cdd5473e72cc83cda36cc9faaf67e97649cec45af9c529455464b12d43 +AUX xbmc-9.11-external-python.patch 751 RMD160 b7774014df1addd0c4479acefccacc8596759763 SHA1 93dd96b787c4b88a9bbb7e10f44deb2bdec96b4d SHA256 a0c8325ebc742c7e1164a50ea380460b38eff58dd59c60e56b3eee78bb6aacc9 AUX xbmc-9.11-jpeg-speedup.patch 804 RMD160 2aff1749ee8f4b85ce9199a78fcfb779c373d086 SHA1 ecef76650156b7fcba60f909496e43ae83bafd20 SHA256 3115b8668b60e307536a9314fc02c837d4f94f89571d403761b614a22447e2d8 +AUX xbmc-9.11-libdca.patch 27195 RMD160 7adf760d9fbe1063382ae9cc44a82544c0769cf4 SHA1 128e871bdfee27e4b3b3a5fbd20b2782c6e02aff SHA256 009db793459cea013eec9064dc6e8ba3a1bad29e1a52cf9164a4fdab2c7fdd4f AUX xbmc-9.11-libpng14.patch 4263 RMD160 90a82d1783f2237416c0932c968347394f303bf9 SHA1 69407df931476df7fd20b30ddc42142d11602d8f SHA256 0516a466f2646867478781251d665e87f6f0697fcd9ce29b91c87194fafc7da6 AUX xbmc-9.11-shader-upscalers.patch 29024 RMD160 d100a35684cad2a6dea0c6eeb9bfbc00e4151bbb SHA1 130fa8bccb6dfab723daf2ebafd88b6e22c109b3 SHA256 965099c217920d5db259944adc4250ed73e4b08ddcd7b0d88d843c9a9a41d396 AUX xbmc-9.11-use-cdio-system-headers-on-non-win32.patch 3623 RMD160 d8b6d48a07265238bc1bd6425c53e7a52a679751 SHA1 1d4d41d00973c4199f866a7988a709a188683403 SHA256 ceb6952025c8baf5bb4eed18380c9bf6022893407f22a3e587eebd657863ab83 AUX xbmc-9.11-wavpack.patch 2637 RMD160 35a7f5446aaef27ff563da4a8200616fffb66e00 SHA1 0f9a2845a5b9d0b554569f1379af0557b071ef69 SHA256 b09e9072f0a2d4451588c40b0b300611944ba7d4cefbae0c400389ed9f8485dc DIST xbmc-9.11.tar.gz 141420517 RMD160 0d0890ba373e05af95a66360aed8871b384849f2 SHA1 71956ed8630d46662e49de9d96304308078f10b5 SHA256 e810aaaf1c380bbe923d9e30e2e472577081b7b893e12a7ef4bb70a911c3db87 EBUILD xbmc-9.11-r4.ebuild 5704 RMD160 9f0d0dcac650102a736c83e9ed75cc25e0e00314 SHA1 b1520e0996a09a26dc9c28fff3ab0fa142eddcbd SHA256 f887da91e775c6e108cdb72b5ad058b3485947bb93a144f4a67202592cc2932e +EBUILD xbmc-9.11-r5.ebuild 5783 RMD160 a9799026ec29b74cb9cf002c89958274f546f202 SHA1 10ef102e761d16f931731088f27be73e7ff667fe SHA256 eb959e3ab1cbae5f9ed5eeba5a3235b2dab53381d77d0a5d0901b78b7e8be4b0 EBUILD xbmc-9999.ebuild 5109 RMD160 8e13b1ae2102cae020b6171b57fd5457b1b8d721 SHA1 0cd7f547448fbeb9e4a2de504be4430cb11faf3b SHA256 51a3bf44429232375edae8162d830fe12869319caac82f74eac4f61a31993f62 -MISC ChangeLog 11048 RMD160 284160fea45cc71b07a342d3be82467f3dbde132 SHA1 6bc3345bb4c6b43ec9ca6e846e9b66eedee3ebd7 SHA256 f3c8f811d205fc509d0c8ac6b48eb3ac6952622e1cf1eda0e4638238e0b136a1 +MISC ChangeLog 11347 RMD160 0c1bec69af27f5472e6e30283793a7e921f66983 SHA1 5bd0705a7e69b466eceda988e78adc54ab3515be SHA256 a88fe551125a6046c82b3423dd9cb8125eba7da3a584ca5ff3905210dc6d1671 MISC metadata.xml 579 RMD160 cf1a05346b2c33147e752be840dfb562726b42dd SHA1 0fabb20c84367962605b88b9030fabf6acf3045d SHA256 f61dd5617b99b9fa5505269e6633d317f90a2c6903108bdcc84370cfb8858afb -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.16 (GNU/Linux) -iF4EAREIAAYFAkyUg4gACgkQTwhj9JtAlp7a5gD+N1HY/BjdNP6rQRfsnua/uSCm -63uUA+XmcdRqrX+SitYA/3+YXSmBntBaKlFpkIPd3QeM+Rjn5NEst5DTpdCQI6+l -=51U2 +iF4EAREIAAYFAkyU5DMACgkQTwhj9JtAlp7ZNgD9GCNZO2Iv9l9/tPTGMG4clHiw +z2LdBhbNVNJpLjWyGC0BAKYBBIxXzFvrj0D4XdTnfxbzxhKt4P0vGcqj667ZihA8 +=7E7u -----END PGP SIGNATURE----- diff --git a/media-tv/xbmc/files/xbmc-9.11-external-python.patch b/media-tv/xbmc/files/xbmc-9.11-external-python.patch new file mode 100644 index 000000000000..4691dc2c1d11 --- /dev/null +++ b/media-tv/xbmc/files/xbmc-9.11-external-python.patch @@ -0,0 +1,22 @@ +let --disable-external-python work with --enable-external-libraries + +--- a/configure.in ++++ b/configure.in +@@ -235,7 +235,7 @@ + [AS_HELP_STRING([--enable-external-python], + [enable use of external python library (default is no) 'Linux only'])], + [use_external_python=$enableval], +- [use_external_python=no]) ++ [use_external_python=$use_external_libraries]) + + ### End of external library options + +@@ -620,7 +620,7 @@ + fi + + # External Python +-if test "$use_external_libraries" = "yes" || test "$use_external_python" = "yes"; then ++if test "$use_external_python" = "yes"; then + AC_CHECK_LIB([python2.6], [main],, + [AC_CHECK_LIB([python2.5], [main],, + [AC_CHECK_LIB([python2.4], [main],, diff --git a/media-tv/xbmc/files/xbmc-9.11-libdca.patch b/media-tv/xbmc/files/xbmc-9.11-libdca.patch new file mode 100644 index 000000000000..59b3a64347c9 --- /dev/null +++ b/media-tv/xbmc/files/xbmc-9.11-libdca.patch @@ -0,0 +1,746 @@ +http://bugs.gentoo.org/330201 + +link against libdca and not libdts + +--- a/configure.in ++++ b/configure.in +@@ -51,8 +51,8 @@ + external_ffmpeg_disabled="== Use of external ffmpeg disabled. ==" + external_liba52_enabled="== Use of external liba52 enabled. ==" + external_liba52_disabled="== Use of external liba52 disabled. ==" +-external_libdts_enabled="== Use of external libdts enabled. ==" +-external_libdts_disabled="== Use of external libdts disabled. ==" ++external_libdca_enabled="== Use of external libdca enabled. ==" ++external_libdca_disabled="== Use of external libdca disabled. ==" + external_libmpeg2_enabled="== Use of external libmpeg2 enabled. ==" + external_libmpeg2_disabled="== Use of external libmpeg2 disabled. ==" + external_libass_enabled="== Use of external libass enabled. ==" +@@ -201,11 +201,11 @@ + [use_external_liba52=$enableval], + [use_external_liba52=no]) + +-AC_ARG_ENABLE([external-libdts], +- [AS_HELP_STRING([--enable-external-libdts], +- [enable use of external libdts library (default is no) 'Linux only'])], +- [use_external_libdts=$enableval], +- [use_external_libdts=no]) ++AC_ARG_ENABLE([external-libdca], ++ [AS_HELP_STRING([--enable-external-libdca], ++ [enable use of external libdca library (default is no) 'Linux only'])], ++ [use_external_libdca=$enableval], ++ [use_external_libdca=no]) + + AC_ARG_ENABLE([external-libmpeg2], + [AS_HELP_STRING([--enable-external-libmpeg2], +@@ -557,16 +557,16 @@ + USE_EXTERNAL_LIBA52=0 + fi + +-# External libdts +-if test "$use_external_libraries" = "yes" || test "$use_external_libdts" = "yes"; then +- AC_CHECK_LIB([dts], [main],, AC_MSG_ERROR($missing_library)) ++# External libdca ++if test "$use_external_libraries" = "yes" || test "$use_external_libdca" = "yes"; then ++ AC_CHECK_LIB([dca], [main],, AC_MSG_ERROR($missing_library)) + +- AC_MSG_NOTICE($external_libdts_enabled) +- USE_EXTERNAL_LIBDTS=1 +- AC_DEFINE([USE_EXTERNAL_LIBDTS], [1], [Whether to use external libdts library.]) ++ AC_MSG_NOTICE($external_libdca_enabled) ++ USE_EXTERNAL_LIBDCA=1 ++ AC_DEFINE([USE_EXTERNAL_LIBDCA], [1], [Whether to use external libdca library.]) + else +- AC_MSG_NOTICE($external_libdts_disabled) +- USE_EXTERNAL_LIBDTS=0 ++ AC_MSG_NOTICE($external_libdca_disabled) ++ USE_EXTERNAL_LIBDCA=0 + fi + + # External libmpeg2 +@@ -933,10 +933,10 @@ + else + final_message="$final_message\n External liba52:\tNo" + fi +- if test "$use_external_libdts" = "yes"; then +- final_message="$final_message\n External libdts:\tYes" ++ if test "$use_external_libdca" = "yes"; then ++ final_message="$final_message\n External libdca:\tYes" + else +- final_message="$final_message\n External libdts:\tNo" ++ final_message="$final_message\n External libdca:\tNo" + fi + if test "$use_external_libmpeg2" = "yes"; then + final_message="$final_message\n External libmpeg2:\tYes" +@@ -1027,7 +1027,7 @@ + AC_SUBST(USE_EXTERNAL_LIBRARIES) + AC_SUBST(USE_EXTERNAL_FFMPEG) + AC_SUBST(USE_EXTERNAL_LIBA52) +-AC_SUBST(USE_EXTERNAL_LIBDTS) ++AC_SUBST(USE_EXTERNAL_LIBDCA) + AC_SUBST(USE_EXTERNAL_LIBMPEG2) + AC_SUBST(USE_EXTERNAL_LIBASS) + AC_SUBST(USE_EXTERNAL_LIBVORBIS) +@@ -1188,7 +1188,7 @@ + fi + ], [$USE_EXTERNAL_FFMPEG]) + +-XB_CONFIG_MODULE([xbmc/cores/dvdplayer/Codecs/libdts], [ ++XB_CONFIG_MODULE([xbmc/cores/dvdplayer/Codecs/libdca], [ + if test "$host_vendor" = "apple" ; then + CFLAGS="-fPIC -fno-common -isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4" \ + LDFLAGS="-isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4" \ +@@ -1205,7 +1205,7 @@ + --disable-win \ + CFLAGS="-fPIC" + fi +-], [$USE_EXTERNAL_LIBDTS]) ++], [$USE_EXTERNAL_LIBDCA]) + + XB_CONFIG_MODULE([xbmc/cores/dvdplayer/Codecs/libdvd/libdvdcss], [ + if test "$host_vendor" = "apple" ; then +--- a/xbmc/cores/dvdplayer/Codecs/Makefile.in ++++ b/xbmc/cores/dvdplayer/Codecs/Makefile.in +@@ -13,5 +13,5 @@ + DIRS+=liba52 + endif +-ifneq (@USE_EXTERNAL_LIBDTS@,1) ++ifneq (@USE_EXTERNAL_LIBDCA@,1) + DIRS+=libdts + endif +@@ -32,5 +32,5 @@ + libao-$(ARCH).so + endif +-ifneq (@USE_EXTERNAL_LIBDTS@,1) ++ifneq (@USE_EXTERNAL_LIBDCA@,1) + LIBS+=libdts-$(ARCH).so + endif +--- a/xbmc/cores/dvdplayer/DVDCodecs/Audio/DllLibDts.h ++++ b/xbmc/cores/dvdplayer/DVDCodecs/Audio/DllLibDts.h +@@ -25,6 +25,6 @@ + #endif + extern "C" { +-#if (defined USE_EXTERNAL_LIBDTS) +- #include <dts.h> ++#if (defined USE_EXTERNAL_LIBDCA) ++ #include <dca.h> + #else + #include "libdts/dts.h" +@@ -40,5 +40,5 @@ + typedef __int16 int16_t; + #endif +-#ifdef LIBDTS_DOUBLE ++#ifdef LIBDCA_DOUBLE + typedef float convert_t; + #else +@@ -51,36 +51,36 @@ + public: + virtual ~DllLibDtsInterface() {} +- virtual dts_state_t * dts_init (uint32_t mm_accel)=0; +- virtual int dts_syncinfo (dts_state_t *state, uint8_t * buf, int * flags, int * sample_rate, int * bit_rate, int *frame_length)=0; +- virtual int dts_frame (dts_state_t * state, uint8_t * buf, int * flags, level_t * level, sample_t bias)=0; +- virtual void dts_dynrng (dts_state_t * state, level_t (* call) (level_t, void *), void * data)=0; +- virtual int dts_blocks_num (dts_state_t * state)=0; +- virtual int dts_block (dts_state_t * state)=0; +- virtual sample_t * dts_samples (dts_state_t * state)=0; +- virtual void dts_free (dts_state_t * state)=0; ++ virtual dca_state_t * dca_init (uint32_t mm_accel)=0; ++ virtual int dca_syncinfo (dca_state_t *state, uint8_t * buf, int * flags, int * sample_rate, int * bit_rate, int *frame_length)=0; ++ virtual int dca_frame (dca_state_t * state, uint8_t * buf, int * flags, level_t * level, sample_t bias)=0; ++ virtual void dca_dynrng (dca_state_t * state, level_t (* call) (level_t, void *), void * data)=0; ++ virtual int dca_blocks_num (dca_state_t * state)=0; ++ virtual int dca_block (dca_state_t * state)=0; ++ virtual sample_t * dca_samples (dca_state_t * state)=0; ++ virtual void dca_free (dca_state_t * state)=0; + }; + +-#if (defined USE_EXTERNAL_LIBDTS) ++#if (defined USE_EXTERNAL_LIBDCA) + + class DllLibDts : public DllDynamic, DllLibDtsInterface + { + public: + virtual ~DllLibDts() {} +- virtual dts_state_t * dts_init (uint32_t mm_accel) +- { return ::dts_init (mm_accel); } +- virtual int dts_syncinfo (dts_state_t *state, uint8_t * buf, int * flags, int * sample_rate, int * bit_rate, int *frame_length) +- { return ::dts_syncinfo (state, buf, flags, sample_rate, bit_rate, frame_length); } +- virtual int dts_frame (dts_state_t * state, uint8_t * buf, int * flags, level_t * level, sample_t bias) +- { return ::dts_frame (state, buf, flags, level, bias); } +- virtual void dts_dynrng (dts_state_t * state, level_t (* call) (level_t, void *), void * data) +- { return ::dts_dynrng (state, call, data); } +- virtual int dts_blocks_num (dts_state_t * state) +- { return ::dts_blocks_num (state); } +- virtual int dts_block (dts_state_t * state) +- { return ::dts_block (state); } +- virtual sample_t * dts_samples (dts_state_t * state) +- { return ::dts_samples (state); } +- virtual void dts_free (dts_state_t * state) +- { return ::dts_free (state); } ++ virtual dca_state_t * dca_init (uint32_t mm_accel) ++ { return ::dca_init (mm_accel); } ++ virtual int dca_syncinfo (dca_state_t *state, uint8_t * buf, int * flags, int * sample_rate, int * bit_rate, int *frame_length) ++ { return ::dca_syncinfo (state, buf, flags, sample_rate, bit_rate, frame_length); } ++ virtual int dca_frame (dca_state_t * state, uint8_t * buf, int * flags, level_t * level, sample_t bias) ++ { return ::dca_frame (state, buf, flags, level, bias); } ++ virtual void dca_dynrng (dca_state_t * state, level_t (* call) (level_t, void *), void * data) ++ { return ::dca_dynrng (state, call, data); } ++ virtual int dca_blocks_num (dca_state_t * state) ++ { return ::dca_blocks_num (state); } ++ virtual int dca_block (dca_state_t * state) ++ { return ::dca_block (state); } ++ virtual sample_t * dca_samples (dca_state_t * state) ++ { return ::dca_samples (state); } ++ virtual void dca_free (dca_state_t * state) ++ { return ::dca_free (state); } + + // DLL faking. +--- a/xbmc/cores/paplayer/DllDCACodec.h ++++ b/xbmc/cores/paplayer/DllDCACodec.h +@@ -25,6 +25,6 @@ + #endif + extern "C" { +-#if (defined USE_EXTERNAL_LIBDTS) +- #include <dts.h> ++#if (defined USE_EXTERNAL_LIBDCA) ++ #include <dca.h> + #else + #include "../dvdplayer/DVDCodecs/Audio/libdts/dts.h" +@@ -43,52 +43,52 @@ + #endif + +-#ifdef LIBDTS_DOUBLE ++#ifdef LIBDCA_DOUBLE + typedef float convert_t; + #else + typedef sample_t convert_t; + #endif + + + class DllDCACodecInterface + { + public: + virtual ~DllDCACodecInterface() {} +- virtual dts_state_t * dts_init (uint32_t mm_accel)=0; +- virtual int dts_syncinfo (dts_state_t *state, uint8_t * buf, int * flags, int * sample_rate, int * bit_rate, int *frame_length)=0; +- virtual int dts_frame (dts_state_t * state, uint8_t * buf, int * flags, level_t * level, sample_t bias)=0; +- virtual void dts_dynrng (dts_state_t * state, level_t (* call) (level_t, void *), void * data)=0; +- virtual int dts_blocks_num (dts_state_t * state)=0; +- virtual int dts_block (dts_state_t * state)=0; +- virtual sample_t * dts_samples (dts_state_t * state)=0; +- virtual void dts_free (dts_state_t * state)=0; ++ virtual dca_state_t * dca_init (uint32_t mm_accel)=0; ++ virtual int dca_syncinfo (dca_state_t *state, uint8_t * buf, int * flags, int * sample_rate, int * bit_rate, int *frame_length)=0; ++ virtual int dca_frame (dca_state_t * state, uint8_t * buf, int * flags, level_t * level, sample_t bias)=0; ++ virtual void dca_dynrng (dca_state_t * state, level_t (* call) (level_t, void *), void * data)=0; ++ virtual int dca_blocks_num (dca_state_t * state)=0; ++ virtual int dca_block (dca_state_t * state)=0; ++ virtual sample_t * dca_samples (dca_state_t * state)=0; ++ virtual void dca_free (dca_state_t * state)=0; + }; + +-#if (defined USE_EXTERNAL_LIBDTS) ++#if (defined USE_EXTERNAL_LIBDCA) + + class DllDCACodec : public DllDynamic, DllDCACodecInterface + { + public: + virtual ~DllDCACodec() {} +- virtual dts_state_t * dts_init (uint32_t mm_accel) +- { return ::dts_init (mm_accel); } +- virtual int dts_syncinfo (dts_state_t *state, uint8_t * buf, int * flags, int * sample_rate, int * bit_rate, int *frame_length) +- { return ::dts_syncinfo (state, buf, flags, sample_rate, bit_rate, frame_length); } +- virtual int dts_frame (dts_state_t * state, uint8_t * buf, int * flags, level_t * level, sample_t bias) +- { return ::dts_frame (state, buf, flags, level, bias); } +- virtual void dts_dynrng (dts_state_t * state, level_t (* call) (level_t, void *), void * data) +- { return ::dts_dynrng (state, call, data); } +- virtual int dts_blocks_num (dts_state_t * state) +- { return ::dts_blocks_num (state); } +- virtual int dts_block (dts_state_t * state) +- { return ::dts_block (state); } +- virtual sample_t * dts_samples (dts_state_t * state) +- { return ::dts_samples (state); } +- virtual void dts_free (dts_state_t * state) +- { return ::dts_free (state); } ++ virtual dca_state_t * dca_init (uint32_t mm_accel) ++ { return ::dca_init (mm_accel); } ++ virtual int dca_syncinfo (dca_state_t *state, uint8_t * buf, int * flags, int * sample_rate, int * bit_rate, int *frame_length) ++ { return ::dca_syncinfo (state, buf, flags, sample_rate, bit_rate, frame_length); } ++ virtual int dca_frame (dca_state_t * state, uint8_t * buf, int * flags, level_t * level, sample_t bias) ++ { return ::dca_frame (state, buf, flags, level, bias); } ++ virtual void dca_dynrng (dca_state_t * state, level_t (* call) (level_t, void *), void * data) ++ { return ::dca_dynrng (state, call, data); } ++ virtual int dca_blocks_num (dca_state_t * state) ++ { return ::dca_blocks_num (state); } ++ virtual int dca_block (dca_state_t * state) ++ { return ::dca_block (state); } ++ virtual sample_t * dca_samples (dca_state_t * state) ++ { return ::dca_samples (state); } ++ virtual void dca_free (dca_state_t * state) ++ { return ::dca_free (state); } + + // DLL faking. + virtual bool ResolveExports() { return true; } + virtual bool Load() { +- CLog::Log(LOGDEBUG, "DllDCACodec: Using libdts system library"); ++ CLog::Log(LOGDEBUG, "DllDCACodec: Using libdca system library"); + return true; + } +--- a/xbmc/cores/paplayer/DTSCodec.h ++++ a/xbmc/cores/paplayer/DTSCodec.h +@@ -57,5 +57,5 @@ + static void convert2s16_multi(convert_t * _f, int16_t * s16, int flags);
+
+- dts_state_t* m_pState;
++ dca_state_t* m_pState;
+
+ BYTE m_inputBuffer[12288];
+--- a/xbmc/cores/paplayer/DTSCodec.cpp ++++ a/xbmc/cores/paplayer/DTSCodec.cpp +@@ -82,23 +82,23 @@ + switch (flags)
+ {
+- case DTS_MONO: //MON 2
++ case DCA_MONO: //MON 2
+ for (i = 0; i < 256; i++)
+ {
+ s16[2*i] = s16[2*i+1] = convert (f[i]);
+ }
+ break;
+- case DTS_CHANNEL: //L R 2
+- case DTS_STEREO:
+- case DTS_STEREO_TOTAL:
++ case DCA_CHANNEL: //L R 2
++ case DCA_STEREO:
++ case DCA_STEREO_TOTAL:
+ convert2s16_2 (_f, s16);
+ break;
+- case DTS_STEREO_SUMDIFF: //L+R L-R 2
++ case DCA_STEREO_SUMDIFF: //L+R L-R 2
+ for (i = 0; i < 256; i++)
+ {
+ s16[2*i] = convert (f[i])/2 + convert (f[i+256])/2;
+ s16[2*i+1] = convert (f[i])/2 - convert (f[i+256])/2;
+ }
+ break;
+- case DTS_3F: //C L R 5
++ case DCA_3F: //C L R 5
+ for (i = 0; i < 256; i++)
+ {
+@@ -109,5 +109,5 @@ + }
+ break;
+- case DTS_2F1R: //L R S 4
++ case DCA_2F1R: //L R S 4
+ for (i = 0; i < 256; i++)
+ {
+@@ -117,5 +117,5 @@ + }
+ break;
+- case DTS_3F1R: //C L R S 5
++ case DCA_3F1R: //C L R S 5
+ for (i = 0; i < 256; i++)
+ {
+@@ -126,11 +126,11 @@ + }
+ break;
+- case DTS_2F2R: //L R SL SR 4
++ case DCA_2F2R: //L R SL SR 4
+ convert2s16_4 (_f, s16);
+ break;
+- case DTS_3F2R: //C L R SL SR 5
++ case DCA_3F2R: //C L R SL SR 5
+ convert2s16_5 (_f, s16);
+ break;
+- case DTS_MONO | DTS_LFE: //MON LFE 6
++ case DCA_MONO | DCA_LFE: //MON LFE 6
+ for (i = 0; i < 256; i++)
+ {
+@@ -140,7 +140,7 @@ + }
+ break;
+- case DTS_CHANNEL | DTS_LFE:
+- case DTS_STEREO | DTS_LFE:
+- case DTS_STEREO_TOTAL | DTS_LFE: //L R LFE 6
++ case DCA_CHANNEL | DCA_LFE:
++ case DCA_STEREO | DCA_LFE:
++ case DCA_STEREO_TOTAL | DCA_LFE: //L R LFE 6
+ for (i = 0; i < 256; i++)
+ {
+@@ -151,5 +151,5 @@ + }
+ break;
+- case DTS_STEREO_SUMDIFF | DTS_LFE: //L+R L-R LFE 6
++ case DCA_STEREO_SUMDIFF | DCA_LFE: //L+R L-R LFE 6
+ for (i = 0; i < 256; i++)
+ {
+@@ -160,5 +160,5 @@ + }
+ break;
+- case DTS_3F | DTS_LFE: //C L R LFE 6
++ case DCA_3F | DCA_LFE: //C L R LFE 6
+ for (i = 0; i < 256; i++)
+ {
+@@ -170,5 +170,5 @@ + }
+ break;
+- case DTS_2F1R | DTS_LFE: //L R S LFE 6
++ case DCA_2F1R | DCA_LFE: //L R S LFE 6
+ for (i = 0; i < 256; i++)
+ {
+@@ -180,5 +180,5 @@ + }
+ break;
+- case DTS_3F1R | DTS_LFE: //C L R S LFE 6
++ case DCA_3F1R | DCA_LFE: //C L R S LFE 6
+ for (i = 0; i < 256; i++)
+ {
+@@ -190,5 +190,5 @@ + }
+ break;
+- case DTS_2F2R | DTS_LFE: //L R SL SR LFE 6
++ case DCA_2F2R | DCA_LFE: //L R SL SR LFE 6
+ for (i = 0; i < 256; i++)
+ {
+@@ -201,5 +201,5 @@ + }
+ break;
+- case DTS_3F2R | DTS_LFE: //C L R SL SR LFE 6
++ case DCA_3F2R | DCA_LFE: //C L R SL SR LFE 6
+ for (i = 0; i < 256; i++)
+ {
+@@ -241,5 +241,5 @@ + {
+ m_IsInitialized = false;
+- if (m_pState) m_dll.dts_free(m_pState);
++ if (m_pState) m_dll.dca_free(m_pState);
+ m_pState = NULL;
+
+@@ -306,5 +306,5 @@ + SetDefault();
+
+- m_pState = m_dll.dts_init(0);
++ m_pState = m_dll.dca_init(0);
+ if (!m_pState)
+ return false;
+@@ -351,20 +351,20 @@ + int iChannels = 0;
+
+- switch (iFlags & DTS_CHANNEL_MASK)
++ switch (iFlags & DCA_CHANNEL_MASK)
+ {
+- case DTS_MONO: iChannels = 1; break;
+- case DTS_CHANNEL: iChannels = 1; break; // ???
+- case DTS_STEREO: iChannels = 2; break;
+- case DTS_STEREO_SUMDIFF: iChannels = 2; break;
+- case DTS_STEREO_TOTAL: iChannels = 2; break;
+- case DTS_3F: iChannels = 3; break;
+- case DTS_2F1R: iChannels = 3; break;
+- case DTS_3F1R: iChannels = 4; break;
+- case DTS_2F2R: iChannels = 4; break;
+- case DTS_3F2R: iChannels = 5; break;
+- case DTS_4F2R: iChannels = 6; break;
++ case DCA_MONO: iChannels = 1; break;
++ case DCA_CHANNEL: iChannels = 1; break; // ???
++ case DCA_STEREO: iChannels = 2; break;
++ case DCA_STEREO_SUMDIFF: iChannels = 2; break;
++ case DCA_STEREO_TOTAL: iChannels = 2; break;
++ case DCA_3F: iChannels = 3; break;
++ case DCA_2F1R: iChannels = 3; break;
++ case DCA_3F1R: iChannels = 4; break;
++ case DCA_2F2R: iChannels = 4; break;
++ case DCA_3F2R: iChannels = 5; break;
++ case DCA_4F2R: iChannels = 6; break;
+ default: iChannels = 0; break;
+ }
+- if (iFlags & DTS_LFE) iChannels++;
++ if (iFlags & DCA_LFE) iChannels++;
+
+ return iChannels;
+@@ -447,8 +447,8 @@ + {
+ // it's possible that m_inputBuffer already contains 6 bits from our previous run
+- // so use m_pInputBuffer to copy the rest of the data. We must rest it after dts_syncinfo though!!
++ // so use m_pInputBuffer to copy the rest of the data. We must rest it after dca_syncinfo though!!
+ for (int u = 0; u < HEADER_SIZE; u++) m_pInputBuffer[u] = pData[u];
+
+- iLen = m_dll.dts_syncinfo(m_pState, m_inputBuffer, &m_iFlags, &m_iSourceSampleRate, &m_iSourceBitrate, &m_iFrameSize);
++ iLen = m_dll.dca_syncinfo(m_pState, m_inputBuffer, &m_iFlags, &m_iSourceSampleRate, &m_iSourceBitrate, &m_iFrameSize);
+ if (iLen > 0)
+ {
+@@ -505,19 +505,19 @@ + //m_iOutputChannels = 2;
+ int iFlags = m_iFlags;
+- if (m_iOutputChannels == 1) iFlags = DTS_MONO;
+- else if (m_iOutputChannels == 2) iFlags = DTS_STEREO;
++ if (m_iOutputChannels == 1) iFlags = DCA_MONO;
++ else if (m_iOutputChannels == 2) iFlags = DCA_STEREO;
+ else
+ {
+ m_iOutputChannels = m_iSourceChannels;
+- iFlags |= DTS_ADJUST_LEVEL;
++ iFlags |= DCA_ADJUST_LEVEL;
+ }
+
+- m_dll.dts_frame(m_pState, m_inputBuffer, &iFlags, &level, bias);
++ m_dll.dca_frame(m_pState, m_inputBuffer, &iFlags, &level, bias);
+
+- // [dts_dynrng (state, ...); this is only optional]
+- int iNrOfBlocks = m_dll.dts_blocks_num(m_pState);
++ // [dca_dynrng (state, ...); this is only optional]
++ int iNrOfBlocks = m_dll.dca_blocks_num(m_pState);
+ for (int i = 0; i < iNrOfBlocks; i++)
+ {
+- if (m_dll.dts_block(m_pState) != 0)
++ if (m_dll.dca_block(m_pState) != 0)
+ {
+ CLog::Log(LOGDEBUG, "Not a valid DTS frame");
+@@ -527,6 +527,6 @@ + return (pData - pOldDataPointer);
+ }
+- m_fSamples = m_dll.dts_samples(m_pState);
+- convert2s16_multi(m_fSamples, (short*)(m_decodedData + m_decodedDataSize), iFlags & (DTS_CHANNEL_MASK | DTS_LFE));
++ m_fSamples = m_dll.dca_samples(m_pState);
++ convert2s16_multi(m_fSamples, (short*)(m_decodedData + m_decodedDataSize), iFlags & (DCA_CHANNEL_MASK | DCA_LFE));
+ m_decodedDataSize += 256 * sizeof(short) * m_iOutputChannels;
+ }
+--- a/xbmc/cores/dvdplayer/DVDCodecs/Audio/DVDAudioCodecLibDts.h ++++ b/xbmc/cores/dvdplayer/DVDCodecs/Audio/DVDAudioCodecLibDts.h +@@ -49,5 +49,5 @@ + static void convert2s16_multi(convert_t * _f, int16_t * s16, int flags); + +- dts_state_t* m_pState; ++ dca_state_t* m_pState; + + int m_iFrameSize; +--- a/xbmc/cores/dvdplayer/DVDCodecs/Audio/DVDAudioCodecPassthrough.h ++++ b/xbmc/cores/dvdplayer/DVDCodecs/Audio/DVDAudioCodecPassthrough.h +@@ -69,5 +69,5 @@ + DllLiba52 m_dllA52; + +- dts_state_t* m_pStateDTS; ++ dca_state_t* m_pStateDTS; + a52_state_t* m_pStateA52; + }; +--- a/xbmc/cores/dvdplayer/DVDCodecs/Audio/DVDAudioCodecLibDts.cpp ++++ b/xbmc/cores/dvdplayer/DVDCodecs/Audio/DVDAudioCodecLibDts.cpp +@@ -29,5 +29,5 @@ + static inline int16_t convert(int32_t i) + { +-#ifdef LIBDTS_FIXED ++#ifdef LIBDCA_FIXED + i >>= 15; + #else +@@ -44,21 +44,21 @@ + switch (flags) + { +- case DTS_MONO: ++ case DCA_MONO: + for (i = 0; i < 256; i++) + { + s16[2*i ] = convert (f[i]); + s16[2*i+1] = convert (f[i]); + } + break; +- case DTS_CHANNEL: +- case DTS_STEREO: +- case DTS_DOLBY: ++ case DCA_CHANNEL: ++ case DCA_STEREO: ++ case DCA_DOLBY: + for (i = 0; i < 256; i++) + { + s16[2*i ] = convert (f[i]); + s16[2*i+1] = convert (f[i+256]); + } + break; +- case DTS_3F: ++ case DCA_3F: + for (i = 0; i < 256; i++) + { +@@ -71,5 +71,5 @@ + } + break; +- case DTS_2F2R: ++ case DCA_2F2R: + for (i = 0; i < 256; i++) + { +@@ -80,5 +80,5 @@ + } + break; +- case DTS_3F2R: ++ case DCA_3F2R: + for (i = 0; i < 256; i++) + { +@@ -91,5 +91,5 @@ + } + break; +- case DTS_MONO | DTS_LFE: ++ case DCA_MONO | DCA_LFE: + for (i = 0; i < 256; i++) + { +@@ -99,7 +99,7 @@ + } + break; +- case DTS_CHANNEL | DTS_LFE: +- case DTS_STEREO | DTS_LFE: +- case DTS_DOLBY | DTS_LFE: ++ case DCA_CHANNEL | DCA_LFE: ++ case DCA_STEREO | DCA_LFE: ++ case DCA_DOLBY | DCA_LFE: + for (i = 0; i < 256; i++) + { +@@ -110,5 +110,5 @@ + } + break; +- case DTS_3F | DTS_LFE: ++ case DCA_3F | DCA_LFE: + for (i = 0; i < 256; i++) + { +@@ -120,5 +120,5 @@ + } + break; +- case DTS_2F2R | DTS_LFE: ++ case DCA_2F2R | DCA_LFE: + for (i = 0; i < 256; i++) + { +@@ -131,5 +131,5 @@ + } + break; +- case DTS_3F2R | DTS_LFE: ++ case DCA_3F2R | DCA_LFE: + for (i = 0; i < 256; i++) + { +@@ -163,12 +163,12 @@ + SetDefault(); + +- m_pState = m_dll.dts_init(0); ++ m_pState = m_dll.dca_init(0); + if (!m_pState) + { + Dispose(); + return false; + } + +- m_fSamples = m_dll.dts_samples(m_pState); ++ m_fSamples = m_dll.dca_samples(m_pState); + + // Output will be decided once we query the stream. +@@ -180,15 +180,15 @@ + void CDVDAudioCodecLibDts::Dispose() + { +- if (m_pState) m_dll.dts_free(m_pState); ++ if (m_pState) m_dll.dca_free(m_pState); + m_pState = NULL; + } + + int CDVDAudioCodecLibDts::GetNrOfChannels(int iFlags) + { +- if(iFlags & DTS_LFE) ++ if(iFlags & DCA_LFE) + return 6; +- if(iFlags & DTS_CHANNEL) ++ if(iFlags & DCA_CHANNEL) + return 6; +- else if ((iFlags & DTS_CHANNEL_MASK) == DTS_2F2R) ++ else if ((iFlags & DCA_CHANNEL_MASK) == DCA_2F2R) + return 4; + else +@@ -206,11 +206,11 @@ + + if (m_iOutputChannels == 1) +- m_iOutputFlags = DTS_MONO; ++ m_iOutputFlags = DCA_MONO; + else if (m_iOutputChannels == 2) +- m_iOutputFlags = DTS_STEREO; ++ m_iOutputFlags = DCA_STEREO; + else + m_iOutputFlags = m_iSourceFlags; + +- m_iOutputFlags |= DTS_ADJUST_LEVEL; ++ m_iOutputFlags |= DCA_ADJUST_LEVEL; + } + +@@ -226,5 +226,5 @@ + { + // try to sync directly in packet +- m_iFrameSize = m_dll.dts_syncinfo(m_pState, data, &flags, &m_iSourceSampleRate, &m_iSourceBitrate, &framelen); ++ m_iFrameSize = m_dll.dca_syncinfo(m_pState, data, &flags, &m_iSourceSampleRate, &m_iSourceBitrate, &framelen); + + if(m_iFrameSize > 0) +@@ -267,5 +267,5 @@ + while(true) + { +- m_iFrameSize = m_dll.dts_syncinfo(m_pState, m_inputBuffer, &flags, &m_iSourceSampleRate, &m_iSourceBitrate, &framelen); ++ m_iFrameSize = m_dll.dca_syncinfo(m_pState, m_inputBuffer, &flags, &m_iSourceSampleRate, &m_iSourceBitrate, &framelen); + if(m_iFrameSize > 0) + break; +@@ -317,18 +317,18 @@ + int flags = m_iOutputFlags; + +- m_dll.dts_frame(m_pState, frame, &flags, &level, bias); ++ m_dll.dca_frame(m_pState, frame, &flags, &level, bias); + + if (!g_advancedSettings.m_audioApplyDrc) +- m_dll.dts_dynrng(m_pState, NULL, NULL); ++ m_dll.dca_dynrng(m_pState, NULL, NULL); + +- int blocks = m_dll.dts_blocks_num(m_pState); ++ int blocks = m_dll.dca_blocks_num(m_pState); + for (int i = 0; i < blocks; i++) + { +- if (m_dll.dts_block(m_pState) != 0) ++ if (m_dll.dca_block(m_pState) != 0) + { +- CLog::Log(LOGERROR, "CDVDAudioCodecLibDts::Decode : dts_block != 0"); ++ CLog::Log(LOGERROR, "CDVDAudioCodecLibDts::Decode : dca_block != 0"); + break; + } +- convert2s16_multi(m_fSamples, (int16_t*)(m_decodedData + m_decodedSize), flags & (DTS_CHANNEL_MASK | DTS_LFE)); ++ convert2s16_multi(m_fSamples, (int16_t*)(m_decodedData + m_decodedSize), flags & (DCA_CHANNEL_MASK | DCA_LFE)); + m_decodedSize += 2 * 256 * m_iOutputChannels; + } +@@ -358,10 +358,10 @@ + void CDVDAudioCodecLibDts::Reset() + { +- if (m_pState) m_dll.dts_free(m_pState); ++ if (m_pState) m_dll.dca_free(m_pState); + + SetDefault(); + +- m_pState = m_dll.dts_init(0); +- m_fSamples = m_dll.dts_samples(m_pState); ++ m_pState = m_dll.dca_init(0); ++ m_fSamples = m_dll.dca_samples(m_pState); + } + +--- a/xbmc/cores/dvdplayer/DVDCodecs/Audio/DVDAudioCodecPassthrough.cpp ++++ b/xbmc/cores/dvdplayer/DVDCodecs/Audio/DVDAudioCodecPassthrough.cpp +@@ -204,5 +204,5 @@ + if (!m_dllDTS.Load()) + return false; +- m_pStateDTS = m_dllDTS.dts_init(0); ++ m_pStateDTS = m_dllDTS.dca_init(0); + if(m_pStateDTS == NULL) + return false; +@@ -224,5 +224,5 @@ + if( m_pStateDTS ) + { +- m_dllDTS.dts_free(m_pStateDTS); ++ m_dllDTS.dca_free(m_pStateDTS); + m_pStateDTS = NULL; + } +@@ -243,5 +243,5 @@ + m_iFrameSize = m_dllA52.a52_syncinfo(data, &flags, &m_iSourceSampleRate, &m_iSourceBitrate); + else if(m_Codec == CODEC_ID_DTS) +- m_iFrameSize = m_dllDTS.dts_syncinfo(m_pStateDTS, data, &flags, &m_iSourceSampleRate, &m_iSourceBitrate, &m_iSamplesPerFrame); ++ m_iFrameSize = m_dllDTS.dca_syncinfo(m_pStateDTS, data, &flags, &m_iSourceSampleRate, &m_iSourceBitrate, &m_iSamplesPerFrame); + + if(m_iFrameSize > 0) +@@ -290,6 +290,6 @@ + m_iFrameSize = m_dllA52.a52_syncinfo(m_InputBuffer, &flags, &m_iSourceSampleRate, &m_iSourceBitrate); + else if(m_Codec == CODEC_ID_DTS) +- m_iFrameSize = m_dllDTS.dts_syncinfo(m_pStateDTS, m_InputBuffer, &flags, &m_iSourceSampleRate, &m_iSourceBitrate, &m_iSamplesPerFrame); ++ m_iFrameSize = m_dllDTS.dca_syncinfo(m_pStateDTS, m_InputBuffer, &flags, &m_iSourceSampleRate, &m_iSourceBitrate, &m_iSamplesPerFrame); + if(m_iFrameSize > 0) + break; + diff --git a/media-tv/xbmc/xbmc-9.11-r5.ebuild b/media-tv/xbmc/xbmc-9.11-r5.ebuild new file mode 100644 index 000000000000..276a5a2c6776 --- /dev/null +++ b/media-tv/xbmc/xbmc-9.11-r5.ebuild @@ -0,0 +1,217 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-tv/xbmc/xbmc-9.11-r5.ebuild,v 1.1 2010/09/18 16:06:07 vapier Exp $ + +EAPI="2" + +inherit eutils python flag-o-matic + +# Use XBMC_ESVN_REPO_URI to track a different branch +ESVN_REPO_URI=${XBMC_ESVN_REPO_URI:-http://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk} +ESVN_PROJECT=${ESVN_REPO_URI##*/svnroot/} +ESVN_PROJECT=${ESVN_PROJECT%/*} +if [[ ${PV} == "9999" ]] ; then + inherit subversion autotools + KEYWORDS="" +else + inherit autotools + MY_P=${P/_/-} + SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz" + KEYWORDS="~amd64 ~x86" + S=${WORKDIR}/${MY_P} +fi + +DESCRIPTION="XBMC is a free and open source media-player and entertainment hub" +HOMEPAGE="http://xbmc.org/" + +LICENSE="GPL-2" +SLOT="0" +IUSE="aac alsa altivec avahi css debug joystick midi profile pulseaudio sse sse2 vdpau xrandr" + +RDEPEND="virtual/opengl + app-arch/bzip2 + app-arch/unrar + app-arch/unzip + app-arch/zip + app-i18n/enca + dev-libs/boost + dev-libs/fribidi + dev-libs/libcdio[-minimal] + dev-libs/libpcre + dev-libs/lzo + >=dev-python/pysqlite-2 + media-libs/a52dec + media-libs/alsa-lib + aac? ( media-libs/faac ) + media-libs/faad2 + media-libs/flac + media-libs/fontconfig + media-libs/freetype + media-libs/glew + media-libs/jasper + media-libs/jbigkit + media-libs/jpeg:0 + >=media-libs/libass-0.9.7 + media-libs/libdca + css? ( media-libs/libdvdcss ) + media-libs/libmad + media-libs/libmms + media-libs/libmpeg2 + media-libs/libogg + media-libs/libsamplerate + media-libs/libsdl[audio,opengl,video,X] + alsa? ( media-libs/libsdl[alsa] ) + media-libs/libvorbis + media-libs/sdl-gfx + media-libs/sdl-image[gif,jpeg,png] + media-libs/sdl-mixer + media-libs/sdl-sound + media-libs/tiff + pulseaudio? ( media-sound/pulseaudio ) + media-sound/wavpack + media-video/ffmpeg + avahi? ( net-dns/avahi ) + net-misc/curl + || ( >=net-fs/samba-3.4.6[smbclient] <net-fs/samba-3.3 ) + sys-apps/dbus + sys-apps/hal + sys-libs/zlib + virtual/mysql + x11-apps/xdpyinfo + x11-apps/mesa-progs + vdpau? ( + || ( x11-libs/libvdpau >=x11-drivers/nvidia-drivers-180.51 ) + media-video/ffmpeg[vdpau] + ) + x11-libs/libXinerama + xrandr? ( x11-libs/libXrandr ) + x11-libs/libXrender" +DEPEND="${RDEPEND} + x11-proto/xineramaproto + dev-util/cmake + x86? ( dev-lang/nasm )" + +src_unpack() { + if [[ ${PV} == "9999" ]] ; then + subversion_src_unpack + cd "${S}" + rm -f configure + else + unpack ${A} + cd "${S}" + fi + + # Fix case sensitivity + mv media/Fonts/{a,A}rial.ttf || die + mv media/{S,s}plash.png || die +} + +src_prepare() { + has_version ">=media-libs/libpng-1.4" && \ + epatch "${FILESDIR}"/${P}-libpng14.patch #319113 + + epatch "${FILESDIR}"/${P}-TexturePacker-parallel-build.patch + epatch "${FILESDIR}"/${P}-shader-upscalers.patch #306661 + epatch "${FILESDIR}"/${P}-wavpack.patch + epatch "${FILESDIR}"/${P}-jpeg-speedup.patch #300909 + epatch "${FILESDIR}"/${P}-use-cdio-system-headers-on-non-win32.patch #303030, upstream: #8026 + epatch "${FILESDIR}"/${P}-external-python.patch #304521 + epatch "${FILESDIR}"/${P}-libdca.patch #330201 + # http://xbmc.org/trac/ticket/8218 + sed -i \ + -e 's: ftell64: dll_ftell64:' \ + xbmc/cores/DllLoader/exports/wrapper.c || die + sed -i \ + -e '1i#include <stdlib.h>\n#include <string.h>\n' \ + xbmc/lib/libid3tag/libid3tag/metadata.c || die + + # some dirs ship generated autotools, some dont + local d + for d in . xbmc/cores/dvdplayer/Codecs/libbdnav ; do + [[ -d ${d} ]] || continue + [[ -e ${d}/configure ]] && continue + pushd ${d} >/dev/null + einfo "Generating autotools in ${d}" + eautoreconf + popd >/dev/null + done + + # fix building with ffmpeg-0.6+ #324293 + # latest svn solves this in a more specific way, but we'll just + # kludge the whole system for the last release + append-cxxflags -D__STDC_CONSTANT_MACROS + + local squish #290564 + use altivec && squish="-DSQUISH_USE_ALTIVEC=1 -maltivec" + use sse && squish="-DSQUISH_USE_SSE=1 -msse" + use sse2 && squish="-DSQUISH_USE_SSE=2 -msse2" + sed -i \ + -e '/^CXXFLAGS/{s:-D[^=]*=.::;s:-m[[:alnum:]]*::}' \ + -e "1iCXXFLAGS += ${squish}" \ + xbmc/lib/libsquish/Makefile.in || die + + # Fix XBMC's final version string showing as "exported" + # instead of the SVN revision number. + export SVN_REV=${ESVN_WC_REVISION:-exported} + + # Avoid lsb-release dependency + sed -i \ + -e 's:/usr/bin/lsb_release -d:cat /etc/gentoo-release:' \ + xbmc/utils/SystemInfo.cpp + + # Do not use termcap #262822 + sed -i 's:-ltermcap::' xbmc/lib/libPython/Python/configure + + epatch_user #293109 + + # Tweak autotool timestamps to avoid regeneration + find . -type f -print0 | xargs -0 touch -r configure +} + +src_configure() { + # Disable documentation generation + export ac_cv_path_LATEX=no + # Avoid help2man + export HELP2MAN=$(type -P help2man || echo true) + + # Force internal python for now #304521 + econf \ + --disable-ccache \ + --disable-optimizations \ + --enable-external-libraries \ + --disable-external-python \ + --enable-goom \ + --enable-gl \ + $(use_enable avahi) \ + $(use_enable css dvdcss) \ + $(use_enable debug) \ + $(use_enable aac faac) \ + $(use_enable joystick) \ + $(use_enable midi mid) \ + $(use_enable profile profiling) \ + $(use_enable pulseaudio pulse) \ + $(use_enable vdpau) \ + $(use_enable xrandr) +} + +src_install() { + einstall || die "Install failed!" + + insinto /usr/share/xbmc/web/styles/ + doins -r "${S}"/web/*/styles/*/ || die + + insinto /usr/share/applications + doins tools/Linux/xbmc.desktop + doicon tools/Linux/xbmc.png + + dodoc README.linux + rm "${D}"/usr/share/xbmc/{README.linux,LICENSE.GPL,*.txt} + + insinto "$(python_get_sitedir)" #309885 + doins tools/EventClients/lib/python/xbmcclient.py || die + newbin "tools/EventClients/Clients/XBMC Send/xbmc-send.py" xbmc-send || die +} + +pkg_postinst() { + elog "Visit http://wiki.xbmc.org/?title=XBMC_Online_Manual" +} |