diff options
author | V3n3RiX <venerix@koprulu.sector> | 2024-11-26 02:00:48 +0000 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2024-11-26 02:00:48 +0000 |
commit | 403335d7014372971e9e9267493a808d08bab48e (patch) | |
tree | ffd28ddc69e6fe6543b018a00c9fad058bdda027 /media-video/mplayer | |
parent | 7f0b7329b3aa78ea82792fdf68ab48415fe4cc35 (diff) |
gentoo auto-resync : 26:11:2024 - 02:00:48
Diffstat (limited to 'media-video/mplayer')
-rw-r--r-- | media-video/mplayer/Manifest | 5 | ||||
-rw-r--r-- | media-video/mplayer/files/mplayer-1.5_p20241125-c99.patch | 35 | ||||
-rw-r--r-- | media-video/mplayer/mplayer-1.5_p20241125.ebuild | 650 | ||||
-rw-r--r-- | media-video/mplayer/mplayer-9999.ebuild | 14 |
4 files changed, 699 insertions, 5 deletions
diff --git a/media-video/mplayer/Manifest b/media-video/mplayer/Manifest index acabe4c56b35..0fd2ede7b23c 100644 --- a/media-video/mplayer/Manifest +++ b/media-video/mplayer/Manifest @@ -1,6 +1,7 @@ AUX dump_ffmpeg.sh 2529 BLAKE2B 2c945fcf0b430d74c85557f82497dbc4a2a8308ecb34c86e42cc3c6a5eed20496691839355c068ccabf6d20d11d62035231aa208341a1ce9affc44b3e30acfde SHA512 12c15efa5cdb99eac92ff808fa56c6137343cca48b73d5875a7a6b08cf36ebeda5022eb3bae0ba567ff9031d2a0f3b5dbe69ee191ae8ecf48b98a779504df66c AUX mplayer-1.5_p20230618-gcc13.patch 292 BLAKE2B aad7ac768588ffbaa8feae922d27fcc3d6616cc9945aa102fa8d39a6d1e307eb2d6c76701b95ee1bf5112adec43c8798d877d1c43d450a1ccb0f19620e233ab1 SHA512 7aab19376f93b147d53d48aba5ab0a5d1de1d6bae09ca320138cd12b17952c3ab805918ff994abc27d5e84db98265004c063590370ff009e772ed2344d96f97e AUX mplayer-1.5_p20231206-incompatible-pointers.patch 12710 BLAKE2B ffb645ea8adfb987ad4cba597184fbc13b11620376962422446172a37addc5f44f7d2e0bafeed26082704d7d16a499a70ded60696e425a287eb5f96cb8cf3342 SHA512 fccfadf4497e5ab6fc80f5b536fd5a1b2f9cf13c4ff58cfbdc1120af88f76c2dce1362878bbd09a37ef6d7c4d88ded271431fb0a9570a00a2b920f8fe2ba82e9 +AUX mplayer-1.5_p20241125-c99.patch 1896 BLAKE2B 7298b9ba47c95e99bf8e7974701c7b3dc7db2b64224c38eb6fe629b874b8b3fad1bc654177505714d7cd6cce879e2ac82549281598dc2348693b1b6a4da5a5bb SHA512 357802534aa5f1cdf233155683a6466dea5f97c9c1a31eda19c4f4a73f583b676a1dd4a18b7495f5c9bedc4ad464f691c6582c0497507d0ecc4d163841f81220 AUX prepare_mplayer.sh 1490 BLAKE2B f322b1165ea0036ce6e4935d0bc8eb35a1e8f31cff0c579743ba35283809ed725a36008b7e4f34f0a397d7083742ac722bf08100a8035d7e2e265c7bdf5cf9ea SHA512 45019f8d5802e8411e55a6cac41b388ccf1ac0d869a30b4d373925291c37f837c59d5b656813029175c6fba342e4145d9e20f2ef2040a8dc2459a33fb265191b DIST font-arial-cp1250.tar.bz2 249705 BLAKE2B eb4366a110d917dc975b8add168ab43b1e8a0db7342647f69f5421fc1170719015c97ffa770e89892cbb4cee8e5b2fb74a4772c8f6cbef9606ee12c3746d78c9 SHA512 4f77ff5ceb8ec6e5d9f8f34d8950a6a6276d1fd5a947772fcbdb6554988b1ea665c12b82f45164f91fb7bd08000cb4afc26fa35beb4c760464160e22b9b8c340 DIST font-arial-iso-8859-1.tar.bz2 234242 BLAKE2B 0671854e1a257d27b502affb59de681942a93990d3ac2575bbf1a6dd9eef026969f2f9ce4e9c11a68ea3d8aed48063f826a1e153f7468437a39791672c92a5d0 SHA512 a1d03b6f09c48f48b7733f3bc0402ceab239a9abf88b860d852ea9fe69b4da690208a79d6f29d30204f5b37becf10672e8e8c0bfef201846d80ec54df617d029 @@ -8,8 +9,10 @@ DIST font-arial-iso-8859-2.tar.bz2 222208 BLAKE2B 94b1a04672bf9b4b20a0e6981591e7 DIST mplayer-1.5_p20230215.tar.xz 15454028 BLAKE2B 08012f9b955921d832ab268a6e52e22e018b669787ff5e1c1ac734bd85083138551ad1065d5e4f5f9c977b804f8135ee89d2fd0590fb7228d4916b458cc58efa SHA512 f93d222817ff59ac7708956d6e8d5e9ee2084b4e724f66ea9fe4ffd477b864c2d0546d8df97511d499495ee446239645216a1e027d70eed434a3c64331f5ac73 DIST mplayer-1.5_p20230618.tar.xz 15101476 BLAKE2B 74f1d2d579c83330d8bf1e1ce2a89592f62142f361ff0e4107710c80de4351a5807e344869cb55ff5b5856efaedb6cfe242483f8e7f97521b805f84ca23e3818 SHA512 874e76b3edfccb7475349d954ed49860f92a5e99f0374084f5da53af35326365bb064c460fb6527d2fb6d8ae20d9e059ba197f45d4de42bc7a78992b5191a7cb DIST mplayer-1.5_p20231206.tar.xz 15212032 BLAKE2B c4658a0070296a9e24bb8388787a2ef322fefad4f4ea095bbf3f95b20f2e32b0423814ae311e43c9a6ef20afe0970540abd5d6d0ae0ebd59df74a8beb7abe3df SHA512 480502c735fb8d24ea1761a2b3f7daf1872df268f44791c7141f5b444b583beb0e4ecebe94e04129d27aae27656baddfb2da50406a431f1df39c589baac69432 +DIST mplayer-1.5_p20241125.tar.xz 15807772 BLAKE2B ce448b344f6ad9d5cb6216725f02c2560ff9282d46deeb40837fc1bfad02425ead86a9fbe717acd060b7428a2b84b75557b2f662ff95ece104b2302c926fc1db SHA512 7cefb4ba6b64eef42fd6192e7d84d38fd85580d7535f7630cc9e7de060cb0c08c85ffea121f6099410d6882a2265af169fb9424ee9ec81209319250a93ee81c1 EBUILD mplayer-1.5_p20230215.ebuild 17495 BLAKE2B 00fbaddadf64602f68a02c1fadf950081697f749003454165154792c78e0da4a4132e1c766c5fefece67ea98b947324a2e0f1ebc13a733b36368b416fe68850e SHA512 ea127eb56b1a6f5df61e9ed7fabea50ea56b53f9f3c3986acd8aa9fee638fc11495d80d62e8e990489f4488f87aa72d2e1977693dd48304fec50076d506091b2 EBUILD mplayer-1.5_p20230618.ebuild 17887 BLAKE2B 09ffce401d06826d180e5694469fc2014e97abfe7417f60b00c2469e16c59c3e2d2fb506d5b5573724bd6e391497e0dfb237166e6ef6eef1333a35f341c41bc7 SHA512 7a82ebee32e708ea5133a79f7b3e1d4f1102bbad8c874d3a3bc7def70361fd8703140455f4a35af3752a143b0ec4249208aaa76ff5e655c4639b3eb2bc4aa39a EBUILD mplayer-1.5_p20231206.ebuild 17903 BLAKE2B d85e274bb0f158d03c21cef6c2b75b28f941eb813cb6f7c1428272972b991fc1f01d96533412921c8cf81fcd19caf8826f8736263c7107693fcb44f45f2ac2a7 SHA512 38e17e1d1cf26520257b04c32aa9028b8effbb6a74453bdff4aa60ab9dde82d446ee0eef1cae319e24fc0c29e975d36ecd115eca3167d578840a7eb001c8d7f0 -EBUILD mplayer-9999.ebuild 17840 BLAKE2B 2fe583c53048f2fd66bbd3b63331fdc9906df313c704907127d32c1504a702b29a7db8618429ab6f979dfabc36ef8cad21d0cec7feed9861944176bbb2a210a5 SHA512 6a4dbb74ded57d6c472f9313c569cd67474b4dfb3e4a7fe64fca297a569bd367db7a6e49d9c352bbbbb72afccb39d4bc7f98f9c7ef9f498d70b2664c63087a6f +EBUILD mplayer-1.5_p20241125.ebuild 17883 BLAKE2B fab2b2f28921d7388125f4b329eaf725cef7a90def0e3eda13d47d8ef3df748568f3781db82f4a56b4ec935e6d6c1cdbf4330880219287dc3c49f74a27a6bc34 SHA512 436b6459a8794f7fd6bcfa60dda4af609253cb2568c58f332729096a1fe2c4a953dc00c9e5a9399f48d7a1efb1944ad6384af21a53d2176011eb33d1da415338 +EBUILD mplayer-9999.ebuild 17886 BLAKE2B 705f70ee98979be2177daa59d450f4137bb93bdc92c1f91c1b0ce4f38bdc25b3a2139439b2fd949e13a0c389d8f5a766dd8146d30d65a7757e908fb36e583c4c SHA512 ef744a611a35b0b8ee0422e94b9c84c6c7892d4eb901a758986f6b1957f25d56dd9f9f375638b452e22cc5d821ec923fd8987bef4956a633f27a3e001073d459 MISC metadata.xml 2475 BLAKE2B 5a083ce5b8ed729245ec9eaf544be95f6cbdb9fcb5b80d3a21195557c3aede46d09bd93a0d1acd3830fc796f90dd5f15a17a3d3c69ba2a1a54a0676264dd02de SHA512 f04082ffd63adf9102dd82eb5b4c628fbf912701c7dae69f0b00bbad4e0957355e43369912e9422acc087200de982920c212efb60ba9c26675f74fd5f37fd739 diff --git a/media-video/mplayer/files/mplayer-1.5_p20241125-c99.patch b/media-video/mplayer/files/mplayer-1.5_p20241125-c99.patch new file mode 100644 index 000000000000..a9ad8a9db1a1 --- /dev/null +++ b/media-video/mplayer/files/mplayer-1.5_p20241125-c99.patch @@ -0,0 +1,35 @@ +https://bugs.gentoo.org/936138 +``` +libmpdemux/muxer_lavf.c:395:90: error: passing argument 6 of 'avio_alloc_context' from incompatible pointer type [-Wincompatible-pointer-types] + 395 | priv->oc->pb = avio_alloc_context(priv->buffer, BIO_BUFFER_SIZE, 1, muxer, NULL, mp_write, mp_seek); + | ^~~~~~~~ + | | + | int (*)(void *, const uint8_t *, int) {aka int (*)(void *, const unsigned char *, int)} +In file included from /usr/include/libavformat/avformat.h:319: +/usr/include/libavformat/avio.h:420:25: note: expected 'int (*)(void *, uint8_t *, int)' {aka 'int (*)(void *, unsigned char *, int)'} but argument is of type 'int (*)(void *, const uint +8_t *, int)' {aka 'int (*)(void *, const unsigned char *, int)'} + 420 | int (*write_packet)(void *opaque, uint8_t *buf, int buf_size), + | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +``` +--- a/libmpcodecs/ad_spdif.c ++++ b/libmpcodecs/ad_spdif.c +@@ -54,7 +54,7 @@ static int read_packet(void *p, uint8_t *buf, int buf_size) + return 0; + } + +-static int write_packet(void *p, const uint8_t *buf, int buf_size) ++static int write_packet(void *p, unsigned char *buf, int buf_size) + { + int len; + struct spdifContext *ctx = p; +--- a/libmpdemux/muxer_lavf.c ++++ b/libmpdemux/muxer_lavf.c +@@ -77,7 +77,7 @@ const m_option_t lavfopts_conf[] = { + {NULL, NULL, 0, 0, 0, 0, NULL} + }; + +-static int mp_write(void *opaque, const uint8_t *buf, int size) ++static int mp_write(void *opaque, unsigned char *buf, int size) + { + muxer_t *muxer = opaque; + return stream_write_buffer(muxer->stream, buf, size); diff --git a/media-video/mplayer/mplayer-1.5_p20241125.ebuild b/media-video/mplayer/mplayer-1.5_p20241125.ebuild new file mode 100644 index 000000000000..2c83e4885333 --- /dev/null +++ b/media-video/mplayer/mplayer-1.5_p20241125.ebuild @@ -0,0 +1,650 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit edo toolchain-funcs flag-o-matic + +if [[ ${PV} == *9999* ]]; then + EGIT_REPO_URI="https://git.ffmpeg.org/ffmpeg.git" + ESVN_REPO_URI="svn://svn.mplayerhq.hu/mplayer/trunk" + RELEASE_URI="" + + inherit subversion git-r3 +elif [[ "${PV%_rc*}" == "${PV}" && "${PV%_pre*}" == "${PV}" && "${PV%_p*}" == "${PV}" ]]; then + MY_P="MPlayer-${PV}" + S="${WORKDIR}/${MY_P}" + RELEASE_URI="mirror://mplayer/releases/${MY_P}.tar.xz" +else + # If necessary, don't be afraid to make a snapshot. + # http://www.mplayerhq.hu/design7/dload.html says: + # "We recommend to always use the latest SVN to get the all the new + # features and bugfixes, especially if the release date above looks old." + RELEASE_URI="https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}.tar.xz" +fi + +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 +" + +DESCRIPTION="Media Player for Linux" +HOMEPAGE="http://www.mplayerhq.hu/" +SRC_URI=" + ${RELEASE_URI} + !truetype? ( ${FONT_URI} ) +" + +IUSE="cpu_flags_x86_avx cpu_flags_x86_avx2" +IUSE+=" cpu_flags_x86_fma3 cpu_flags_x86_fma4" +IUSE+=" cpu_flags_x86_mmx cpu_flags_x86_mmxext" +IUSE+=" cpu_flags_x86_sse cpu_flags_x86_sse2 cpu_flags_x86_sse3 cpu_flags_x86_ssse3 cpu_flags_x86_sse4_1" +IUSE+=" cpu_flags_x86_sse4_2 cpu_flags_x86_xop" +IUSE+=" cpu_flags_x86_3dnow cpu_flags_x86_3dnowext" + +IUSE+=" cpu_flags_arm_thumb cpu_flags_arm_neon cpu_flags_arm_vfp cpu_flags_arm_vfpv3" +IUSE+=" cpu_flags_arm_iwmmxt" +IUSE+=" cpu_flags_ppc_altivec" + +IUSE+=" a52 aalib +alsa aqua bidi bl bluray" +IUSE+=" bs2b cddb +cdio cdparanoia cpudetection debug dga doc dts dv dvb +dvd +dvdnav +enca +encode faac faad fbcon" +IUSE+=" ftp ggi gsm +iconv ipv6 jack joystick jpeg ladspa +libass libcaca libmpeg2 lirc live lzo mad md5sum" +IUSE+=" mng mp3 nas +network openal opengl +osdmenu oss png pnm pulseaudio pvr" +IUSE+=" radio rar rtc rtmp samba selinux +shm sdl speex" +IUSE+=" tga theora tremor +truetype toolame twolame +unicode v4l vcd vdpau vidix" +IUSE+=" vorbis +X x264 xinerama +xscreensaver +xv xvid yuv4mpeg zoran" + +VIDEO_CARDS="mga" +for x in ${VIDEO_CARDS}; do + IUSE+=" video_cards_${x}" +done + +FONT_RDEPS=" + media-libs/fontconfig + >=media-libs/freetype-2.2.1:2 + virtual/ttf-fonts +" +X_RDEPS=" + x11-libs/libXext + x11-libs/libXxf86vm +" +# - RAR: although -gpl version is nice, it can't do most functions normal rars can +# nemesi? ( net-libs/libnemesi ) +# - mplayer relies on private APIs in giflib that have been removed: +# https://sourceforge.net/p/giflib/bugs/132/ +RDEPEND=" + app-arch/bzip2 + >=media-video/ffmpeg-4.0:=[vdpau?] + sys-libs/ncurses:= + sys-libs/zlib + 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:= + dev-libs/libcdio-paranoia + ) + cdparanoia? ( !cdio? ( media-sound/cdparanoia ) ) + dga? ( x11-libs/libXxf86dga ) + dts? ( media-libs/libdca ) + dv? ( media-libs/libdv ) + 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 ) + gsm? ( media-sound/gsm ) + iconv? ( virtual/libiconv ) + jack? ( virtual/jack ) + jpeg? ( media-libs/libjpeg-turbo:= ) + ladspa? ( media-libs/ladspa-sdk ) + libass? ( >=media-libs/libass-0.9.10:= ) + 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 ) + openal? ( media-libs/openal ) + opengl? ( virtual/opengl ) + png? ( media-libs/libpng:= ) + pnm? ( media-libs/netpbm ) + pulseaudio? ( media-libs/libpulse ) + 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?] ) + tremor? ( media-libs/tremor ) + truetype? ( ${FONT_RDEPS} ) + vdpau? ( x11-libs/libvdpau ) + vorbis? ( !tremor? ( media-libs/libvorbis ) ) + X? ( ${X_RDEPS} ) + xinerama? ( x11-libs/libXinerama ) + xscreensaver? ( x11-libs/libXScrnSaver ) + xv? ( x11-libs/libXv ) +" +DEPEND=" + ${RDEPEND} + dga? ( x11-base/xorg-proto ) + dvb? ( sys-kernel/linux-headers ) + X? ( x11-base/xorg-proto ) + xinerama? ( x11-base/xorg-proto ) + xscreensaver? ( x11-base/xorg-proto ) +" +ASM_DEP="dev-lang/nasm" +BDEPEND=" + virtual/pkgconfig + amd64? ( ${ASM_DEP} ) + doc? ( + app-text/docbook-xml-dtd + app-text/docbook-xsl-stylesheets + dev-libs/libxslt + ) + x86? ( ${ASM_DEP} ) +" +RDEPEND+="selinux? ( sec-policy/selinux-mplayer )" + +LICENSE="GPL-2" +SLOT="0" +if [[ ${PV} != *9999* ]]; then + KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc x86" +fi + +# faac codecs 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 +# radio requires oss or alsa backend +REQUIRED_USE=" + dga? ( X ) + dvdnav? ( dvd ) + enca? ( iconv ) + ggi? ( X ) + libass? ( truetype ) + opengl? ( X ) + osdmenu? ( X ) + truetype? ( iconv ) + vdpau? ( X ) + vidix? ( X ) + xinerama? ( X ) + xscreensaver? ( X ) + xv? ( X ) +" +RESTRICT="faac? ( bindist )" + +PATCHES=( + "${FILESDIR}"/${PN}-1.5_p20241125-c99.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}" || die + rm -rf "${WORKDIR}/${P}/ffmpeg/" || die + ( EGIT_CHECKOUT_DIR="${WORKDIR}/${P}/ffmpeg/" git-r3_src_unpack ) + else + unpack ${A} + fi + + if [[ ${PV} == *9999* || "${PV%_rc*}" == "${PV}" ]]; then + cd "${S}" || die + cp "${FILESDIR}/dump_ffmpeg.sh" . || die + chmod +x dump_ffmpeg.sh || die + ./dump_ffmpeg.sh + 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() { + default + + local svf=snapshot_version + if [[ ${PV} == *9999* ]]; then + # Set SVN version manually + subversion_wc_info + printf "${ESVN_WC_REVISION}" > ${svf} || die + 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 || die + fi + + # Fix path to bash executable in configure scripts + sed -i -e "1c\#!${EPREFIX}/bin/bash" configure version.sh || die + + # Use sane default for >=virtual/udev-197 + sed -i -e '/default_dvd_device/s:/dev/dvd:/dev/cdrom:' configure || die +} + +src_configure() { + # undefined reference to `sse_int32_map_factor' etc + # https://bugs.gentoo.org/650458 + # https://trac.mplayerhq.hu/ticket/2408 + use libass && use cpu_flags_x86_sse4_1 && filter-lto + + local myconf=() + local uses i + + # Set LINGUAS + [[ -n ${LINGUAS} ]] && LINGUAS="${LINGUAS/da/dk}" + [[ -n ${LINGUAS} ]] && LINGUAS="${LINGUAS/zh/zh_CN}" # bug #482968 + + # 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 + # Disable opus and ilbc since it only controls support in internal + # ffmpeg which we do not use + myconf+=( + --disable-arts + --disable-ass-internal + --disable-directfb + --disable-kai + --disable-libilbc + --disable-libnut + --disable-libopus + --disable-svga --disable-svgalib_helper + $(use_enable network networking) + $(use_enable joystick) + ) + + uses="bl bluray enca ftp rtc vcd" # 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 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 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 ) + # 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 + myconf+=( --disable-gif ) # relies on to-be-removed giflib internals https://sourceforge.net/p/giflib/bugs/132/ + use dts || myconf+=( --disable-libdca ) + if ! use mp3; then + myconf+=( + --disable-mp3lame + --disable-mpg123 + ) + fi + uses="a52 bs2b dv gsm lzo rtmp vorbis" + for i in ${uses}; do + use ${i} || myconf+=( --disable-lib${i} ) + done + + uses="faad jpeg libmpeg2 live mad mng png pnm speex tga theora tremor" + for i in ${uses}; do + use ${i} || myconf+=( --disable-${i} ) + done + # Pulls an outdated libopenjpeg, ffmpeg provides better support for it + myconf+=( --disable-libopenjpeg ) + + # 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 # + ################# + myconf+=( --disable-qtx --disable-real --disable-win32dll ) + + ################ + # Video Output # + ################ + uses="md5sum sdl yuv4mpeg" + for i in ${uses}; do + use ${i} || myconf+=( --disable-${i} ) + done + use aalib || myconf+=( --disable-aa ) + use fbcon || myconf+=( --disable-fbdev ) + 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 + + myconf+=( + --disable-3dfx + --disable-tdfxvid + --disable-tdfxfb + ) + + # 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 ) + + local x86_uses="3dnow 3dnowext avx avx2 fma3 fma4 mmx mmxext sse sse2 sse3 ssse3 xop" + for i in ${x86_uses}; do + myconf+=( $(use_enable cpu_flags_x86_${i} ${i}) ) + done + myconf+=( + $(use_enable cpu_flags_x86_sse4_1 sse4) + $(use_enable cpu_flags_x86_sse4_2 sse42) + ) + + myconf+=( + $(use_enable cpu_flags_arm_iwmmxt iwmmxt) + $(use_enable cpu_flags_arm_thumb thumb) + $(use_enable cpu_flags_arm_neon neon) + $(use_enable cpu_flags_arm_vfp armvfp) + $(use_enable cpu_flags_arm_vfpv3 vfpv3) + $(use_enable cpu_flags_ppc_altivec altivec) + $(use_enable shm) + ) + + 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="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 ) + + ############################ + # OSX (aqua) configuration # + ############################ + if use aqua; then + myconf+=( + --enable-macosx-finder + --enable-macosx-bundle + ) + fi + + # Note: --enable-gnutls only makes sense with --enable-ffmpeg_a + edo ./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 \ + --disable-gnutls \ + "${myconf[@]}" +} + +src_compile() { + default + + # Build only user-requested docs if they're available. + if use doc ; then + # Select available languages from ${LINGUAS} + local ALLOWED_LINGUAS="cs de en es fr hu it pl ru zh_CN" + local BUILT_DOCS=() + local i + + 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/ + dodoc -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 ... + local i + 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 -r /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" && + ! -e "${EROOT}/usr/share/mplayer/font" ]] && \ + rm -f "${EROOT}/usr/share/mplayer/font" + + [[ -L "${EROOT}/usr/share/mplayer/subfont.ttf" && + ! -e "${EROOT}/usr/share/mplayer/subfont.ttf" ]] && \ + rm -f "${EROOT}/usr/share/mplayer/subfont.ttf" +} diff --git a/media-video/mplayer/mplayer-9999.ebuild b/media-video/mplayer/mplayer-9999.ebuild index 6b3151bed816..f633e0d6189c 100644 --- a/media-video/mplayer/mplayer-9999.ebuild +++ b/media-video/mplayer/mplayer-9999.ebuild @@ -125,10 +125,12 @@ RDEPEND=" png? ( media-libs/libpng:= ) pnm? ( media-libs/netpbm ) pulseaudio? ( media-libs/libpulse ) - rar? ( || ( + rar? ( + || ( app-arch/unrar app-arch/rar - ) ) + ) + ) rtmp? ( media-video/rtmpdump ) samba? ( net-fs/samba ) sdl? ( media-libs/libsdl ) @@ -189,9 +191,14 @@ REQUIRED_USE=" vidix? ( X ) xinerama? ( X ) xscreensaver? ( X ) - xv? ( X )" + xv? ( X ) +" RESTRICT="faac? ( bindist )" +PATCHES=( + "${FILESDIR}"/${PN}-1.5_p20241125-c99.patch +) + pkg_setup() { if [[ ${PV} == *9999* ]]; then elog @@ -298,7 +305,6 @@ src_configure() { --disable-libnut --disable-libopus --disable-svga --disable-svgalib_helper - --disable-xvmc $(use_enable network networking) $(use_enable joystick) ) |