diff options
author | 2013-06-14 00:06:47 +0000 | |
---|---|---|
committer | 2013-06-14 00:06:47 +0000 | |
commit | 5bba4a2b247948e1665b07af6616b36ee17415c5 (patch) | |
tree | c170cb1205ef4ad2ed7eb811610392907fd16ee3 /media-video/mplayer | |
parent | Document optional runtime deps, bug 473186 by Alexander Tsoy. (diff) | |
download | historical-5bba4a2b247948e1665b07af6616b36ee17415c5.tar.gz historical-5bba4a2b247948e1665b07af6616b36ee17415c5.tar.bz2 historical-5bba4a2b247948e1665b07af6616b36ee17415c5.zip |
Fix subtitles in mkv with recent ffmpeg, bug #463588. Also fix a wrong hunk in the libav-9 patch.
Package-Manager: portage-2.2.0_alpha179/cvs/Linux x86_64
Manifest-Sign-Key: 0x160F534A
Diffstat (limited to 'media-video/mplayer')
-rw-r--r-- | media-video/mplayer/ChangeLog | 10 | ||||
-rw-r--r-- | media-video/mplayer/Manifest | 20 | ||||
-rw-r--r-- | media-video/mplayer/files/mplayer-1.1-libav-9.patch | 2 | ||||
-rw-r--r-- | media-video/mplayer/files/mplayer-1.1.1-avcodecidsubrip.patch | 17 | ||||
-rw-r--r-- | media-video/mplayer/files/mplayer-1.1.1-codecidsubrip.patch | 17 | ||||
-rw-r--r-- | media-video/mplayer/mplayer-1.1.1-r1.ebuild | 653 |
6 files changed, 705 insertions, 14 deletions
diff --git a/media-video/mplayer/ChangeLog b/media-video/mplayer/ChangeLog index b0ce39480113..76aca1cd9b5e 100644 --- a/media-video/mplayer/ChangeLog +++ b/media-video/mplayer/ChangeLog @@ -1,6 +1,14 @@ # ChangeLog for media-video/mplayer # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/media-video/mplayer/ChangeLog,v 1.888 2013/06/13 18:12:40 ulm Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-video/mplayer/ChangeLog,v 1.889 2013/06/14 00:06:19 aballier Exp $ + +*mplayer-1.1.1-r1 (14 Jun 2013) + + 14 Jun 2013; Alexis Ballier <aballier@gentoo.org> +mplayer-1.1.1-r1.ebuild, + files/mplayer-1.1-libav-9.patch, +files/mplayer-1.1.1-avcodecidsubrip.patch, + +files/mplayer-1.1.1-codecidsubrip.patch: + Fix subtitles in mkv with recent ffmpeg, bug #463588. Also fix a wrong hunk + in the libav-9 patch. 13 Jun 2013; Ulrich Müller <ulm@gentoo.org> mplayer-1.1-r1.ebuild, mplayer-1.1.1.ebuild, metadata.xml: diff --git a/media-video/mplayer/Manifest b/media-video/mplayer/Manifest index d4296940eb2f..90e6cce54605 100644 --- a/media-video/mplayer/Manifest +++ b/media-video/mplayer/Manifest @@ -6,9 +6,11 @@ AUX mplayer-1.0_rc4-pkg-config.patch 2751 SHA256 9c0e5654ef05d64ae8bb91e32044335 AUX mplayer-1.1-codecid.patch 656 SHA256 3844fcbdb3113e805a4c1e9231e8ff9d93c1e8b5400778d29c1c3b485d0d0ddd SHA512 14c78953b9523badaeadb60a72e101fb4100802a312c2f30c1e4fdc2a6ff32cdd82193bbff8e9ee4b1448d6bb0f1d5662f12237a09d86f2993007793d5fc46b3 WHIRLPOOL 631a495288be4b48ef24a7960ba344628d522043831dcc5519d276880209b1422ad90cb9183a363d9c75ec14481a7ba5ea254bd446d639f5a41c194ef6cf73f1 AUX mplayer-1.1-ffmpeg.patch 1452 SHA256 9c04f0a14f625a41a7bda49c5fc8d2622a85da349799904ec56244e87dd38d26 SHA512 23aaf6fc85101b92e81e37f39c2929874891387d15e420d524dc7248bcf995273d763b98ecf496e06d89a99b567631c5978adfda1f3ad076fbf980347ccf7e49 WHIRLPOOL 0549d6765bc7f22f325bab4a6a70dfe9827a48fd486aa8acc912e717948f814be695441ca70d38a7d074d38cfd5ce04c14a1bcc37b77475cc059a925b19d0305 AUX mplayer-1.1-libav-0.8.patch 441 SHA256 15d00ab246c9c61e598efddbd506d7ad289e7302d5792c8e36471308acd90e58 SHA512 577e5fb8ae9aeeb05fb74b95a8d16392ba5fc9b44da77122b2cee830559281b2c52a31aff6c5a8802c6552545daa7df7a85d33d7b36f83dd8f1b61ee4e08bcd4 WHIRLPOOL c95a776dea42c6b6b7480cc8c49d164687e9c59a566c921cdf562315fc5eced8b299ab98d23b970ff62e60471aa3a18f9492d81552ef12d0a67f4614b80f061e -AUX mplayer-1.1-libav-9.patch 19580 SHA256 996fbaec53973faccd9e95acbf809c020fe215cd51dd64a28bc32a4b41590a96 SHA512 bf1ed7c936d7aff9ea734c578c2015614e2132cb51e8f6d6d50da52c61b2d0ba702482a894ae30e278ee2ee0fb344126d8fca0fc7adc49adc255f132c518f3cb WHIRLPOOL ce2e98b51ddf485c8dbe7a3de2f6d34cb210025d92c91404116149d5a491b9c9252de1efd18708fe05cf4c6855f98f19a8fd5431824dc9f13b94d67369bc57b2 +AUX mplayer-1.1-libav-9.patch 19609 SHA256 d81d9d848dcb0f3a045c3fca58ef2dfea694dd7b3d8ebc3aa65b52d9174b5b24 SHA512 9b16f9f05149c08decae0fcaa0b20d9b69e0d9a87863a1c1d0661f8cbe9629c5a2a493958ccbab7fda2898bbd74c9061994f5110132d674c9efa85ea23a97cf9 WHIRLPOOL 0e8dd58a5cf835d2d01bb78bbfae3656d9846b31a6336d40aa8719772c7a97b9bef44efbb02323c30c8f7d84b08a11ab7f296c0761c6c15537031fb22e2669d3 AUX mplayer-1.1-missingbreak.patch 767 SHA256 4c530ebf979827020d483cb765a4c78a5fdb35fd4aa838073943514669173d20 SHA512 15373d2e4efaee54f2d0c169958cbe6e3e23a697011f6a82e67aa205b64dca3924898a1b1c577c536a451b519b3667115f511caee2f3692779b76cee21c02fe9 WHIRLPOOL a2354f43e3c6fa4948e480149494bc41fd26e8a23cc308ef3f1976359210f1209e45c0941ed07bb632931f9b732058b05468f581e62c15c0a927dd28d07a683e AUX mplayer-1.1-planaraudio.patch 4832 SHA256 dea33823a30ca6bd8fc197254ceeb9902dae83a17b7d772986bd672fabe75662 SHA512 95311d7cf56162cb7414b72e081d0ae36d77045d233c43dccbbd1de1bf4a6943cb6a2de3663d374decc73366e5402b98ad7bff399e1a8c5f2ba104eaa766d40a WHIRLPOOL 2b3ed41e994301a7a75aa7c46cc93f102f7457af292b3418264d63098942bcd3fd027a22fd34cbf669a2e167ad5485ecdb000e9b415d67b5058bb9ec68782f73 +AUX mplayer-1.1.1-avcodecidsubrip.patch 678 SHA256 d19e3a37ebdeb34af160ef5e1f5fc67c36f79b373fb2dbacbd36c803da4bc5bd SHA512 881cda24e9d67cf56aefd570b79ef30293f7a85b025f290d622e8c1515f8066e440a61a9b49b34a92f0ae2bebbb7e7361a788c358d6e5575e09525dba88e5239 WHIRLPOOL 84239a770ce67dd339b4c46f4c354e1b1df392307da68509ba1abecdf1b754941bf5cc100e273945d9298dacaaae923b4154bd77d64d84009576741515778d81 +AUX mplayer-1.1.1-codecidsubrip.patch 686 SHA256 8246822d9570e70e3e50bb640636764b666215770d6a15b01ce7362765f042d9 SHA512 1fa0d0d376b23d350f8d693c0f9fd5ad2ad7876621c2c0d713eba56f742cbc72209458d879fcd73466ccce45b5cf53f8ba9ef7f536b8998fa90e141dae0ed9fd WHIRLPOOL a59606991b6f9adb84a654fd9ee5e98255aa1f3b203ce77d8b142805880585f76cc62636cc9fb4dec755cb2850aadddac1f14a8f1f4aa9e28fde1489bfa2bffe AUX prepare_mplayer.sh 758 SHA256 d8a92d83db920a3e47b864b24e78407c1ef5b2c523e91dceae2d96f5bcce435e SHA512 eea43b7816080b0ffbe48db56fffa4606c98ecf8ce8a44bd02b405b5744c024ef55705f53710b8d7b2750a1b7565905f5fa572c34982e1db66810c392584520c WHIRLPOOL 09b1c09fd5264887c5d59b8dbdb5cd08811f4d952bb254dcb4649e3a55d248b8f43c49c9da9d98caad6a5578f15e0e1b40f1d44826cf60cb338bf7b049c26ddb DIST MPlayer-1.1.1.tar.xz 11202492 SHA256 ce8fc7c3179e6a57eb3a58cb7d1604388756b8a61764cc93e095e7aff3798c76 SHA512 06371d47b02caec83c7662f6bb4a827eafb7f3309f6cda959a0f49b647df031166a6e7c5d530b57b580104289ee260aa96f3f43cbfffcef816cea776b0d5aed0 WHIRLPOOL 3cd0f3845cd45961b778c384a322bc628cc9cd6fef3801b62389bd616a443ba5270c378a889412a7dc72d37ff26704d5d989d2c995a2a4a6540f6313ccacbb63 DIST MPlayer-1.1.tar.xz 11208088 SHA256 76cb47eadb52b420ca028276ebd8112114ad0ab3b726af60f07fb2f39dae6c9c SHA512 8a9b96155e6794273b1496ff4987b65db14cd5ba4359b52604c2afccc574d0a2328e86f2edf98e65283c380780b9a8b3094da18a161cf7aee090986d5776178a WHIRLPOOL 4555281efc31bf74d6a4eaf63eaf9ff1555fcb65889167ffc889b34dd341bba9437c95a1a556dd4aa291f23aa5ec705a6d110ce38bee79f7198e00346793a58f @@ -16,22 +18,16 @@ DIST font-arial-cp1250.tar.bz2 249705 SHA256 423a07e780bb130cd8e4730715545c5d919 DIST font-arial-iso-8859-1.tar.bz2 234242 SHA256 9730f481764f367c9089d0166fb6ccf9148808ffbbfeca635cf0e6db75765d29 SHA512 a1d03b6f09c48f48b7733f3bc0402ceab239a9abf88b860d852ea9fe69b4da690208a79d6f29d30204f5b37becf10672e8e8c0bfef201846d80ec54df617d029 WHIRLPOOL 8050362b125d3ca98214526cee2fa685e31487d13a6483c765bfc844bdc5e07beeba2c1ba313458096d43a63edd6c5e80b8b388c2792fc0ec7421e4072d8ca25 DIST font-arial-iso-8859-2.tar.bz2 222208 SHA256 71debfc960007c2f6242dfc91e8b1c005b30a99e129aeb00ab8c03f4371b41c1 SHA512 5671e628303fd816f64a51ad10e2f4dd9c3dc1b34c379a2ecf489b83931db7af668aaa4e00e96a00cacd63ed98daeae6b6a4d5925edfb06fc98d3a923f70257d WHIRLPOOL 08178087b4ea1dfb2250f4673785e31dd876b06af51c51b2bddc172b23e6e33cbc1b2c6b710a317e42dc05486974b26ed0ad3ca50a185567aa77d49bd1e72aee EBUILD mplayer-1.1-r1.ebuild 18083 SHA256 6a0ac7c78e524d44967ff0c60bf53e6a61fa1df9a0bd4efc50dcda988567fe30 SHA512 172681edcf0b958766a8b80bd0643198d3a00a89035717da71e4da66660dbca779897691f98eceac3d4d070dda5a059236f50ceb1a96af06b8300d0654dd5e79 WHIRLPOOL 951ac075adb7be1415d06ddaf587ba456f8a7eeeb2747656aa0023b2bca131351eca4d45cc018e76c08f3052a2d50053fac74fd0347146361505cdb46e7ba587 +EBUILD mplayer-1.1.1-r1.ebuild 18286 SHA256 13121cb15995d7cba832c446eca9aa7dc5a7077875b2213d57d951f760ba2edc SHA512 522b0eb88090fa85f9e11bea26e116f4516718b6fc1eb13fa3a0037dbc7d3cc74237956fb4b18bc796c48ce2c96b8ebb966eedb0ae218ceee14105193cdef0be WHIRLPOOL 96af3db53941a21f9f14b5bbaa015e153a2ef7ef65a81757981de3deff9dacfc36437440d1fd2738e9417ca77dd83409c81e234fb235614fb1525c17ecd3ca54 EBUILD mplayer-1.1.1.ebuild 18120 SHA256 1431402f258c3e6a5444b70418cd73d3a2c54721762350e3bf18d465298738af SHA512 c24161f9ab6a77ad87b3b094ec3aad950de617de6bd6e63a90627fe3dd9b26e2ddb079dbb5aef02570895a71fd74f4e7935c5c591cb2d1fc7150af9853287938 WHIRLPOOL 244b9904d46496e8a770f46ce0e58b4646ac43fc77bcfcf86a7b8960333e02032518178f6f429b42d7f61401c814d307b59288e09851ff0581582e9b610c6620 EBUILD mplayer-9999.ebuild 16963 SHA256 cc21166af2ea77ddc3bd0cb218a0781faae858d105e7f9e253339b0f2eab1bf5 SHA512 5a55cb820ddbcc6a88cab4c00a082fac0eff746bb755f466067cd50ba5715b526b6c6d3092f5bb4ddc052b5e3dab0dfae0b4da90e094a798f9f134bbc54483c8 WHIRLPOOL 4b55fe25f9ac0c24a49d3719491ed9165e0a9d07370d228c2e2fc600c77ab6ba33a16f2999805ace69ace3cff98b48c246abf9f6426a927987bca1e430110097 -MISC ChangeLog 47882 SHA256 409a0daf09b3bf93cd215a2f6b78dcbb6b2bfb95a64302d6fbc5febf074eaca8 SHA512 4947cbdd1f2041513dd9b59889b01764028709e77d90e6264c0885b2c7f047f03d7034bebdd8503468947d74d9677db747722fdb60088af6d86e6b9fcbfb82f2 WHIRLPOOL 06d0a6cb94baa9c84409a7eb65423dfaecd62f2de27a69bd1f7de6097022c26dbc7d1325e01f4040f6dcf391342866a7ac1cac871e6bc405652b827f27c8f12c +MISC ChangeLog 48224 SHA256 b756190decd444cc4b23f1189cfba1212ecd2856d684a093d3a35cb5153c3127 SHA512 e798772eccd1b8a7ff7e2536214c5d2e02552a4f7c9f99e05a93ecf0a45482dc31678c9c85fbef158587aa0c42c74e8a782b80545e5bd5b7dd1cf15b9873b45b WHIRLPOOL 124e9633a4a74da8c77b462eaddf57b86d7cddaf22eb7b81dd2371353c411e0a7e5f847125fe228c3164040f38ecb19d279b1121880a9a783b0ee1926011ebf7 MISC ChangeLog-2008 107064 SHA256 d9949e0e21fd6fd00f1417201455ee399240ef1010dcf56611ac0fc1f6f9505b SHA512 622543b379b4c44f5845566b4e697bd92dd3e864e2f01a1b0f303c8ae5c7fb5de24839f6503765d51b4a3bfa777d175a7e410383e62ef2bbacf3e87cdc28c705 WHIRLPOOL e731af47505ffa646c92386dfb14acaffc2bb14ab4da74520c0b4dbc15ca5c20aacadbb53c4b91ba8d126a75bf7d2fb61877eeda354064e20c48cf4137bf6a74 MISC metadata.xml 2761 SHA256 0fe785443da73a55b99d98fe12c82e1f7507042aeb27d3eb70023dff1165d05c SHA512 fce5bb2777a78d6972b46db7f3d840b023b050c21ce76d77b276f4bf0cf7a48a9918e9bb8b9e9dab84ea2e5b4aa87913df7e0929daec08cda96c72400fef09a6 WHIRLPOOL bc277ac3a4996f5c73479bd08bbee9654b7cdadb8bc369d2ec545dab06414fa74724a08d1db8f3a7bcdd4bcc384034b8e9146da1344b240e1df3cea68efbd04f -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.20 (GNU/Linux) -iQGcBAEBCAAGBQJRuguiAAoJEJQzkH1pP7W4WNwL/RUKo3HfDF74wh3W6DIkKTJe -yOpKj+avREIf4yFhd5vVEBoz/GWchKG9U7DVGzlX++XcxbtYHbOBLx3UNpqzBR1U -vGEgp5pr9qZcAte71Q2k6zXrZHd4P89Z9sLKiTz1sdxo8YX52J9Aszc6+0+zfhAU -jXHasWyrxHs9rnU4NPh5UvWFhdBdWEIOkIfqsB8Zs2M4vx2tQzqnMir/Ja5gXLo/ -xUvx35TQo4GNsw4ZFCf6QJ8+6DIvEnfalw0md1d7+DcO0FeQRj5D5ISMsepIj2M6 -b7w2pMfX4mWgr4wPixZBH+AzvY6RP2h/qbQp1ULzzQXBerLcBzlmjEhZOkOawf+s -1E57FVsbmKv7TRv/xO2VRKY5pai7fT9Pzw3SqGC/fFvLP76TUrxbcueSB8xRaTma -193kyTno0XgxgeCYhSxpSxNDhCS85J4BAGUg4d4414Hcfl9We1SdM4U9i6NOMg1A -3tD3DS9AIosw/p0j+lysogYLY3Q+xyGbBItDXmaluw== -=EegS +iEYEAREIAAYFAlG6Xn0ACgkQvFcC4BYPU0oH7ACglrRUvPO2xPd3RcHd+s5uYAmc +fqkAoI/FxVDWXKpghJ0RJ3clE2gfQNcc +=RIsN -----END PGP SIGNATURE----- diff --git a/media-video/mplayer/files/mplayer-1.1-libav-9.patch b/media-video/mplayer/files/mplayer-1.1-libav-9.patch index 557a1e064613..a2630b61bbcf 100644 --- a/media-video/mplayer/files/mplayer-1.1-libav-9.patch +++ b/media-video/mplayer/files/mplayer-1.1-libav-9.patch @@ -430,7 +430,7 @@ diff -urN MPlayer-1.1.orig//libmpdemux/demux_lavf.c MPlayer-1.1/libmpdemux/demux type = 'p'; -#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(54, 14, 100) - else if(codec->codec_id == CODEC_ID_EIA_608) -+#if 0 && LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(54, 14, 100) ++#if LIBAVUTIL_VERSION_MICRO >= 100 && LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(54, 14, 100) + else if(codec->codec_id == AV_CODEC_ID_EIA_608) type = 'c'; #endif diff --git a/media-video/mplayer/files/mplayer-1.1.1-avcodecidsubrip.patch b/media-video/mplayer/files/mplayer-1.1.1-avcodecidsubrip.patch new file mode 100644 index 000000000000..2e357db34785 --- /dev/null +++ b/media-video/mplayer/files/mplayer-1.1.1-avcodecidsubrip.patch @@ -0,0 +1,17 @@ +Index: MPlayer-1.1.1/libmpdemux/demux_lavf.c +=================================================================== +--- MPlayer-1.1.1.orig/libmpdemux/demux_lavf.c ++++ MPlayer-1.1.1/libmpdemux/demux_lavf.c +@@ -423,7 +423,11 @@ static void handle_stream(demuxer_t *dem + case AVMEDIA_TYPE_SUBTITLE:{ + sh_sub_t* sh_sub; + char type; +- if(codec->codec_id == AV_CODEC_ID_TEXT) ++ if(codec->codec_id == AV_CODEC_ID_TEXT ++#if LIBAVUTIL_VERSION_MICRO >= 100 ++ || codec->codec_id == AV_CODEC_ID_SUBRIP ++#endif ++ ) + type = 't'; + else if(codec->codec_id == AV_CODEC_ID_MOV_TEXT) + type = 'm'; diff --git a/media-video/mplayer/files/mplayer-1.1.1-codecidsubrip.patch b/media-video/mplayer/files/mplayer-1.1.1-codecidsubrip.patch new file mode 100644 index 000000000000..27bd9db7943c --- /dev/null +++ b/media-video/mplayer/files/mplayer-1.1.1-codecidsubrip.patch @@ -0,0 +1,17 @@ +Index: MPlayer-1.1.1/libmpdemux/demux_lavf.c +=================================================================== +--- MPlayer-1.1.1.orig/libmpdemux/demux_lavf.c ++++ MPlayer-1.1.1/libmpdemux/demux_lavf.c +@@ -423,7 +423,11 @@ static void handle_stream(demuxer_t *dem + case AVMEDIA_TYPE_SUBTITLE:{ + sh_sub_t* sh_sub; + char type; +- if(codec->codec_id == CODEC_ID_TEXT) ++ if(codec->codec_id == CODEC_ID_TEXT ++#if LIBAVUTIL_VERSION_MICRO >= 100 ++ || codec->codec_id == AV_CODEC_ID_SUBRIP ++#endif ++ ) + type = 't'; + else if(codec->codec_id == CODEC_ID_MOV_TEXT) + type = 'm'; diff --git a/media-video/mplayer/mplayer-1.1.1-r1.ebuild b/media-video/mplayer/mplayer-1.1.1-r1.ebuild new file mode 100644 index 000000000000..4e946db1fa93 --- /dev/null +++ b/media-video/mplayer/mplayer-1.1.1-r1.ebuild @@ -0,0 +1,653 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-video/mplayer/mplayer-1.1.1-r1.ebuild,v 1.1 2013/06/14 00:06:19 aballier Exp $ + +EAPI=4 + +EGIT_REPO_URI="git://git.videolan.org/ffmpeg.git" +ESVN_REPO_URI="svn://svn.mplayerhq.hu/mplayer/trunk" +[[ ${PV} = *9999* ]] && SVN_ECLASS="subversion git-2" || SVN_ECLASS="" + +inherit toolchain-funcs eutils flag-o-matic multilib base ${SVN_ECLASS} + +IUSE="3dnow 3dnowext +a52 aalib +alsa altivec aqua bidi bindist bl bluray +bs2b cddb +cdio cdparanoia cpudetection debug dga +directfb doc +dts +dv dvb +dvd +dvdnav dxr3 +enca +encode faac +faad fbcon +ftp gif ggi gsm +iconv ipv6 jack joystick jpeg jpeg2k kernel_linux ladspa ++libass libcaca libmpeg2 lirc +live lzo mad md5sum +mmx mmxext mng +mp3 nas ++network nut openal +opengl +osdmenu oss png pnm pulseaudio pvr +quicktime +radio +rar +rtc rtmp samba +shm sdl +speex sse sse2 ssse3 +tga +theora +tremor +truetype +toolame +twolame +unicode v4l vdpau vidix ++vorbis +X +x264 xanim xinerama +xscreensaver +xv +xvid xvmc zoran" + +VIDEO_CARDS="s3virge mga tdfx" +for x in ${VIDEO_CARDS}; do + IUSE+=" video_cards_${x}" +done + +FONT_URI=" + mirror://mplayer/releases/fonts/font-arial-iso-8859-1.tar.bz2 + mirror://mplayer/releases/fonts/font-arial-iso-8859-2.tar.bz2 + mirror://mplayer/releases/fonts/font-arial-cp1250.tar.bz2 +" +if [[ ${PV} == *9999* ]]; then + RELEASE_URI="" +elif [ "${PV%_rc*}" = "${PV}" ]; then + MY_P="MPlayer-${PV}" + S="${WORKDIR}/${MY_P}" + RELEASE_URI="mirror://mplayer/releases/${MY_P}.tar.xz" +else + RELEASE_URI="mirror://gentoo/${P}.tar.xz" +fi +SRC_URI="${RELEASE_URI} + !truetype? ( ${FONT_URI} )" + +DESCRIPTION="Media Player for Linux" +HOMEPAGE="http://www.mplayerhq.hu/" + +FONT_RDEPS=" + virtual/ttf-fonts + media-libs/fontconfig + >=media-libs/freetype-2.2.1:2 +" +X_RDEPS=" + x11-libs/libXext + x11-libs/libXxf86vm +" +# Rar: althrought -gpl version is nice, it cant do most functions normal rars can +# nemesi? ( net-libs/libnemesi ) +RDEPEND+=" + sys-libs/ncurses + app-arch/bzip2 + sys-libs/zlib + >=virtual/ffmpeg-0.10.3 + a52? ( media-libs/a52dec ) + aalib? ( media-libs/aalib ) + alsa? ( media-libs/alsa-lib ) + bidi? ( dev-libs/fribidi ) + bluray? ( >=media-libs/libbluray-0.2.1 ) + bs2b? ( media-libs/libbs2b ) + cdio? ( || ( dev-libs/libcdio-paranoia <dev-libs/libcdio-0.90[-minimal] ) ) + cdparanoia? ( !cdio? ( media-sound/cdparanoia ) ) + dga? ( x11-libs/libXxf86dga ) + directfb? ( dev-libs/DirectFB ) + dts? ( media-libs/libdca ) + dv? ( media-libs/libdv ) + dvb? ( virtual/linuxtv-dvb-headers ) + dvd? ( >=media-libs/libdvdread-4.1.3 ) + dvdnav? ( >=media-libs/libdvdnav-4.1.3 ) + encode? ( + !twolame? ( toolame? ( media-sound/toolame ) ) + twolame? ( media-sound/twolame ) + faac? ( media-libs/faac ) + mp3? ( media-sound/lame ) + x264? ( >=media-libs/x264-0.0.20100423 ) + xvid? ( media-libs/xvid ) + ) + enca? ( app-i18n/enca ) + faad? ( media-libs/faad2 ) + ggi? ( media-libs/libggi media-libs/libggiwmh ) + gif? ( media-libs/giflib ) + gsm? ( media-sound/gsm ) + iconv? ( virtual/libiconv ) + jack? ( media-sound/jack-audio-connection-kit ) + jpeg? ( virtual/jpeg ) + jpeg2k? ( media-libs/openjpeg:0 ) + ladspa? ( media-libs/ladspa-sdk ) + libass? ( >=media-libs/libass-0.9.10[enca?] ) + libcaca? ( media-libs/libcaca ) + libmpeg2? ( media-libs/libmpeg2 ) + lirc? ( app-misc/lirc ) + live? ( media-plugins/live ) + lzo? ( >=dev-libs/lzo-2 ) + mad? ( media-libs/libmad ) + mng? ( media-libs/libmng ) + mp3? ( media-sound/mpg123 ) + nas? ( media-libs/nas ) + nut? ( >=media-libs/libnut-661 ) + openal? ( media-libs/openal ) + opengl? ( virtual/opengl ) + png? ( media-libs/libpng ) + pnm? ( media-libs/netpbm ) + pulseaudio? ( media-sound/pulseaudio ) + rar? ( + || ( + app-arch/unrar + app-arch/rar + ) + ) + rtmp? ( media-video/rtmpdump ) + samba? ( net-fs/samba ) + sdl? ( media-libs/libsdl ) + speex? ( media-libs/speex ) + theora? ( media-libs/libtheora[encode?] ) + truetype? ( ${FONT_RDEPS} ) + vdpau? ( x11-libs/libvdpau ) + vorbis? ( media-libs/libvorbis ) + X? ( ${X_RDEPS} ) + xanim? ( media-video/xanim ) + xinerama? ( x11-libs/libXinerama ) + xscreensaver? ( x11-libs/libXScrnSaver ) + xv? ( x11-libs/libXv ) + xvmc? ( x11-libs/libXvMC ) +" + +X_DEPS=" + x11-proto/videoproto + x11-proto/xf86vidmodeproto +" +ASM_DEP="dev-lang/yasm" +DEPEND="${RDEPEND} + virtual/pkgconfig + dga? ( x11-proto/xf86dgaproto ) + dxr3? ( media-video/em8300-libraries ) + X? ( ${X_DEPS} ) + xinerama? ( x11-proto/xineramaproto ) + xscreensaver? ( x11-proto/scrnsaverproto ) + amd64? ( ${ASM_DEP} ) + doc? ( + dev-libs/libxslt app-text/docbook-xml-dtd + app-text/docbook-xsl-stylesheets + ) + x86? ( ${ASM_DEP} ) + x86-fbsd? ( ${ASM_DEP} ) +" + +SLOT="0" +LICENSE="GPL-2" +if [[ ${PV} != *9999* ]]; then + KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris" +else + KEYWORDS="" +fi + +# faac codecs are nonfree, win32codecs are nonfree +# libcdio support: prefer libcdio over cdparanoia and don't check for cddb w/cdio +# dvd navigation requires dvd read support +# ass and freetype font require iconv and ass requires freetype fonts +# unicode transformations are usefull only with iconv +# libvorbis require external tremor to work +# radio requires oss or alsa backend +# xvmc requires xvideo support +REQUIRED_USE="bindist? ( !faac ) + dvdnav? ( dvd ) + libass? ( truetype ) + truetype? ( iconv ) + dxr3? ( X ) + ggi? ( X ) + xinerama? ( X ) + dga? ( X ) + opengl? ( || ( X aqua ) ) + osdmenu? ( || ( X aqua ) ) + vdpau? ( X ) + vidix? ( X ) + xscreensaver? ( X ) + xv? ( X ) + xvmc? ( xv )" + +PATCHES=( + "${FILESDIR}/${PN}-1.0_rc4-pkg-config.patch" + "${FILESDIR}/${PN}-1.1-ffmpeg.patch" + "${FILESDIR}/${PN}-1.1-libav-0.8.patch" + "${FILESDIR}/${PN}-1.1-codecid.patch" +) + +pkg_setup() { + if [[ ${PV} == *9999* ]]; then + elog + elog "This is a live ebuild which installs the latest from upstream's" + elog "subversion repository, and is unsupported by Gentoo." + elog "Everything but bugs in the ebuild itself will be ignored." + elog + fi + + if use cpudetection; then + ewarn + ewarn "You've enabled the cpudetection flag. This feature is" + ewarn "included mainly for people who want to use the same" + ewarn "binary on another system with a different CPU architecture." + ewarn "MPlayer will already detect your CPU settings by default at" + ewarn "buildtime; this flag is used for runtime detection." + ewarn "You won't need this turned on if you are only building" + ewarn "mplayer for this system. Also, if your compile fails, try" + ewarn "disabling this use flag." + fi +} + +src_unpack() { + if [[ ${PV} = *9999* ]]; then + subversion_src_unpack + cd "${WORKDIR}" + rm -rf "${WORKDIR}/${P}/ffmpeg/" + ( S="${WORKDIR}/${P}/ffmpeg/" git-2_src_unpack ) + else + unpack ${A} + fi + + if [[ ${PV} = *9999* ]] || [[ "${PV%_rc*}" = "${PV}" ]]; then + cd "${S}" + cp "${FILESDIR}/dump_ffmpeg.sh" . || die + chmod +x dump_ffmpeg.sh + ./dump_ffmpeg.sh || die + fi + + if ! use truetype; then + unpack font-arial-iso-8859-1.tar.bz2 \ + font-arial-iso-8859-2.tar.bz2 \ + font-arial-cp1250.tar.bz2 + fi +} + +src_prepare() { + local svf=snapshot_version + if [[ ${PV} = *9999* ]]; then + # Set SVN version manually + subversion_wc_info + printf "${ESVN_WC_REVISION}" > $svf + fi + if [ ! -f VERSION ] ; then + [ -f "$svf" ] || die "Missing ${svf}. Did you generate your snapshot with prepare_mplayer.sh?" + local sv=$(<$svf) + printf "SVN-r${sv} (Gentoo)" > VERSION + fi + + # fix path to bash executable in configure scripts + sed -i -e "1c\#!${EPREFIX}/bin/bash" configure version.sh || die + + if has_version dev-libs/libcdio-paranoia; then + sed -i \ + -e 's:cdio/cdda.h:cdio/paranoia/cdda.h:' \ + -e 's:cdio/paranoia.h:cdio/paranoia/paranoia.h:' \ + configure stream/stream_cdda.c || die + fi + + base_src_prepare + if has_version '>=media-video/libav-9_rc' || has_version '>=media-video/ffmpeg-1.1' ; then + epatch "${FILESDIR}/${PN}-1.1-libav-9.patch" \ + "${FILESDIR}/${PN}-1.1-planaraudio.patch" \ + "${FILESDIR}/${PN}-1.1-missingbreak.patch" \ + "${FILESDIR}/${PN}-1.1.1-avcodecidsubrip.patch" + elif has_version '>=media-video/ffmpeg-1' ; then + epatch "${FILESDIR}/${PN}-1.1.1-codecidsubrip.patch" + fi + + # Use sane default for >=virtual/udev-197 + sed -i -e '/default_dvd_device/s:/dev/dvd:/dev/cdrom:' configure || die +} + +src_configure() { + local myconf="" + local uses i + + # set LINGUAS + [[ -n $LINGUAS ]] && LINGUAS="${LINGUAS/da/dk}" + + # mplayer ebuild uses "use foo || --disable-foo" to forcibly disable + # compilation in almost every situation. The reason for this is + # because if --enable is used, it will force the build of that option, + # regardless of whether the dependency is available or not. + + ################### + #Optional features# + ################### + # disable svga since we don't want it + # disable arts since we don't have kde3 + # always disable internal ass + myconf+=" + --disable-svga --disable-svgalib_helper + --disable-ass-internal + --disable-arts + --disable-kai + $(use_enable network networking) + $(use_enable joystick) + " + uses="bl bluray enca ftp rtc" # nemesi <- not working with in-tree ebuild + myconf+=" --disable-nemesi" # nemesi automagic disable + for i in ${uses}; do + use ${i} || myconf+=" --disable-${i}" + done + use bidi || myconf+=" --disable-fribidi" + use ipv6 || myconf+=" --disable-inet6" + use libass || myconf+=" --disable-ass" + use nut || myconf+=" --disable-libnut" + use rar || myconf+=" --disable-unrarexec" + use samba || myconf+=" --disable-smb" + use lirc || myconf+=" --disable-lirc --disable-lircc --disable-apple-ir" + + # libcdio support: prefer libcdio over cdparanoia + # don't check for cddb w/cdio + if use cdio; then + myconf+=" --disable-cdparanoia" + else + myconf+=" --disable-libcdio" + use cdparanoia || myconf+=" --disable-cdparanoia" + use cddb || myconf+=" --disable-cddb" + fi + + ################################ + # DVD read, navigation support # + ################################ + # + # dvdread - accessing a DVD + # dvdnav - navigation of menus + # + # use external libdvdcss, dvdread and dvdnav + myconf+=" --disable-dvdread-internal --disable-libdvdcss-internal" + use dvd || myconf+=" --disable-dvdread" + use dvdnav || myconf+=" --disable-dvdnav" + + ############# + # Subtitles # + ############# + # + # SRT/ASS/SSA (subtitles) requires freetype support + # freetype support requires iconv + # iconv optionally can use unicode + use truetype || myconf+=" --disable-freetype" + use iconv || myconf+=" --disable-iconv --charset=noconv" + use iconv && use unicode && myconf+=" --charset=UTF-8" + + ##################################### + # DVB / Video4Linux / Radio support # + ##################################### + myconf+=" --disable-tv-bsdbt848" + # broken upstream, won't work with recent kernels + myconf+=" --disable-ivtv" + # gone since linux-headers-2.6.38 + myconf+=" --disable-tv-v4l1" + if { use dvb || use v4l || use pvr || use radio; }; then + use dvb || myconf+=" --disable-dvb" + use pvr || myconf+=" --disable-pvr" + use v4l || myconf+=" --disable-tv-v4l2" + if use radio && { use dvb || use v4l; }; then + myconf+=" + --enable-radio + $(use_enable encode radio-capture) + " + else + myconf+=" + --disable-radio-v4l2 + --disable-radio-bsdbt848 + " + fi + else + myconf+=" + --disable-tv + --disable-tv-v4l2 + --disable-radio + --disable-radio-v4l2 + --disable-radio-bsdbt848 + --disable-dvb + --disable-v4l2 + --disable-pvr" + fi + + ########## + # Codecs # + ########## + myconf+=" --disable-musepack" # Use internal musepack codecs for SV7 and SV8 support + myconf+=" --disable-libmpeg2-internal" # always use system media-libs/libmpeg2 + use dts || myconf+=" --disable-libdca" + # Disable internal mp3lib, bug #384849 + # Samuli Suominen: Looks like MPlayer in Portage is using internal mp3lib by + # default, where as mpg123 upstream has incorporated all the optimizations + # from mplayer's mp3lib in libmpg123 and more. + # It makes very little sense to use the internal copy as default anymore. + myconf+=" --disable-mp3lib" + if ! use mp3; then + myconf+=" + --disable-mp3lame + --disable-mpg123 + " + fi + uses="a52 bs2b dv gsm lzo rtmp" + for i in ${uses}; do + use ${i} || myconf+=" --disable-lib${i}" + done + + uses="faad gif jpeg libmpeg2 live mad mng png pnm speex tga theora xanim" + for i in ${uses}; do + use ${i} || myconf+=" --disable-${i}" + done + use jpeg2k || myconf+=" --disable-libopenjpeg" + if use vorbis || use tremor; then + use tremor || myconf+=" --disable-tremor-internal" + use vorbis || myconf+=" --disable-libvorbis" + else + myconf+=" + --disable-tremor-internal + --disable-tremor + --disable-libvorbis + " + fi + # Encoding + uses="faac x264 xvid toolame twolame" + if use encode; then + for i in ${uses}; do + use ${i} || myconf+=" --disable-${i}" + done + else + myconf+=" --disable-mencoder" + for i in ${uses}; do + myconf+=" --disable-${i}" + use ${i} && elog "Useflag \"${i}\" will only be useful for encoding, i.e., with \"encode\" useflag enabled." + done + fi + + ################# + # Binary codecs # + ################# + # bug 213836 + use quicktime || myconf+=" --disable-qtx" + myconf+=" --disable-real --disable-win32dll" + + ################ + # Video Output # + ################ + uses="directfb md5sum sdl" + for i in ${uses}; do + use ${i} || myconf+=" --disable-${i}" + done + use aalib || myconf+=" --disable-aa" + use fbcon || myconf+=" --disable-fbdev" + use fbcon && use video_cards_s3virge && myconf+=" --enable-s3fb" + use libcaca || myconf+=" --disable-caca" + use zoran || myconf+=" --disable-zr" + + if ! use kernel_linux || ! use video_cards_mga; then + myconf+=" --disable-mga --disable-xmga" + fi + + if use video_cards_tdfx; then + myconf+=" + $(use_enable video_cards_tdfx tdfxvid) + $(use_enable fbcon tdfxfb) + " + else + myconf+=" + --disable-3dfx + --disable-tdfxvid + --disable-tdfxfb + " + fi + + # sun card, disable by default, see bug #258729 + myconf+=" --disable-xvr100" + + ################ + # Audio Output # + ################ + myconf+=" --disable-esd" + uses="alsa jack ladspa nas openal" + for i in ${uses}; do + use ${i} || myconf+=" --disable-${i}" + done + use pulseaudio || myconf+=" --disable-pulse" + if ! use radio; then + use oss || myconf+=" --disable-ossaudio" + fi + + #################### + # Advanced Options # + #################### + # Platform specific flags, hardcoded on amd64 (see below) + use cpudetection && myconf+=" --enable-runtime-cpudetection" + + uses="3dnow 3dnowext altivec mmx mmxext shm sse sse2 ssse3" + for i in ${uses}; do + myconf+=" $(use_enable ${i})" + done + + use debug && myconf+=" --enable-debug=3" + + if use x86 && gcc-specs-pie; then + filter-flags -fPIC -fPIE + append-ldflags -nopie + fi + + ########################### + # X enabled configuration # + ########################### + myconf+=" --disable-gui" + myconf+=" --disable-vesa" + uses="dxr3 ggi vdpau xinerama xv" + for i in ${uses}; do + use ${i} || myconf+=" --disable-${i}" + done + use dga || myconf+=" --disable-dga1 --disable-dga2" + use opengl || myconf+=" --disable-gl" + use osdmenu && myconf+=" --enable-menu" + use vidix || myconf+=" --disable-vidix --disable-vidix-pcidb" + use xscreensaver || myconf+=" --disable-xss" + use X || myconf+=" --disable-x11" + if use xvmc; then + myconf+=" --enable-xvmc --with-xvmclib=XvMCW" + else + myconf+=" --disable-xvmc" + fi + + ############################ + # OSX (aqua) configuration # + ############################ + if use aqua; then + myconf+=" + --enable-macosx-finder + --enable-macosx-bundle + " + fi + + tc-export PKG_CONFIG + ./configure \ + --cc="$(tc-getCC)" \ + --host-cc="$(tc-getBUILD_CC)" \ + --prefix="${EPREFIX}/usr" \ + --bindir="${EPREFIX}/usr/bin" \ + --libdir="${EPREFIX}/usr/$(get_libdir)" \ + --confdir="${EPREFIX}/etc/mplayer" \ + --datadir="${EPREFIX}/usr/share/mplayer${namesuf}" \ + --mandir="${EPREFIX}/usr/share/man" \ + --disable-ffmpeg_a \ + ${myconf} || die +} + +src_compile() { + base_src_compile + # Build only user-requested docs if they're available. + if use doc ; then + # select available languages from $LINGUAS + LINGUAS=${LINGUAS/zh/zh_CN} + local ALLOWED_LINGUAS="cs de en es fr hu it pl ru zh_CN" + local BUILT_DOCS="" + for i in ${LINGUAS} ; do + has ${i} ${ALLOWED_LINGUAS} && BUILT_DOCS+=" ${i}" + done + if [[ -z $BUILT_DOCS ]]; then + emake -j1 html-chunked + else + for i in ${BUILT_DOCS}; do + emake -j1 html-chunked-${i} + done + fi + fi +} + +src_install() { + local i + + emake \ + DESTDIR="${D}" \ + INSTALLSTRIP="" \ + install + + dodoc AUTHORS Changelog Copyright README etc/codecs.conf + + docinto tech/ + dodoc DOCS/tech/{*.txt,MAINTAINERS,mpsub.sub,playtree,TODO,wishlist} + docinto TOOLS/ + dodoc -r TOOLS + docinto tech/mirrors/ + dodoc DOCS/tech/mirrors/* + + if use doc; then + docinto html/ + dohtml -r "${S}"/DOCS/HTML/* + fi + + if ! use truetype; then + dodir /usr/share/mplayer/fonts + # Do this generic, as the mplayer people like to change the structure + # of their zips ... + for i in $(find "${WORKDIR}/" -type d -name 'font-arial-*'); do + cp -pPR "${i}" "${ED}/usr/share/mplayer/fonts" + done + # Fix the font symlink ... + rm -rf "${ED}/usr/share/mplayer/font" + dosym fonts/font-arial-14-iso-8859-1 /usr/share/mplayer/font + fi + + insinto /etc/mplayer + newins "${S}/etc/example.conf" mplayer.conf + cat >> "${ED}/etc/mplayer/mplayer.conf" << _EOF_ +# Config options can be section specific, global +# options should go in the default section +[default] +_EOF_ + doins "${S}/etc/input.conf" + if use osdmenu; then + doins "${S}/etc/menu.conf" + fi + + if use truetype; then + cat >> "${ED}/etc/mplayer/mplayer.conf" << _EOF_ +fontconfig=1 +subfont-osd-scale=4 +subfont-text-scale=3 +_EOF_ + fi + + # bug 256203 + if use rar; then + cat >> "${ED}/etc/mplayer/mplayer.conf" << _EOF_ +unrarexec=${EPREFIX}/usr/bin/unrar +_EOF_ + fi + + dosym ../../../etc/mplayer/mplayer.conf /usr/share/mplayer/mplayer.conf + newbin "${S}/TOOLS/midentify.sh" midentify +} + +pkg_preinst() { + [[ -d ${EROOT}/usr/share/mplayer/Skin/default ]] && \ + rm -rf "${EROOT}/usr/share/mplayer/Skin/default" +} + +pkg_postrm() { + # Cleanup stale symlinks + [ -L "${EROOT}/usr/share/mplayer/font" -a \ + ! -e "${EROOT}/usr/share/mplayer/font" ] && \ + rm -f "${EROOT}/usr/share/mplayer/font" + + [ -L "${EROOT}/usr/share/mplayer/subfont.ttf" -a \ + ! -e "${EROOT}/usr/share/mplayer/subfont.ttf" ] && \ + rm -f "${EROOT}/usr/share/mplayer/subfont.ttf" +} |