From 37cd441738bc6681ca075c01b6dd06056a27abbf Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 19 Jun 2023 01:49:34 +0100 Subject: gentoo auto-resync : 19:06:2023 - 01:49:34 --- media-video/mplayer/Manifest | 6 +- media-video/mplayer/mplayer-1.5.ebuild | 628 ---------------------- media-video/mplayer/mplayer-1.5_p20230618.ebuild | 641 +++++++++++++++++++++++ media-video/mplayer/mplayer-9999.ebuild | 7 +- 4 files changed, 648 insertions(+), 634 deletions(-) delete mode 100644 media-video/mplayer/mplayer-1.5.ebuild create mode 100644 media-video/mplayer/mplayer-1.5_p20230618.ebuild (limited to 'media-video/mplayer') diff --git a/media-video/mplayer/Manifest b/media-video/mplayer/Manifest index e9428a89045a..345f32f7629f 100644 --- a/media-video/mplayer/Manifest +++ b/media-video/mplayer/Manifest @@ -1,11 +1,11 @@ AUX dump_ffmpeg.sh 2529 BLAKE2B 2c945fcf0b430d74c85557f82497dbc4a2a8308ecb34c86e42cc3c6a5eed20496691839355c068ccabf6d20d11d62035231aa208341a1ce9affc44b3e30acfde SHA512 12c15efa5cdb99eac92ff808fa56c6137343cca48b73d5875a7a6b08cf36ebeda5022eb3bae0ba567ff9031d2a0f3b5dbe69ee191ae8ecf48b98a779504df66c AUX prepare_mplayer.sh 1490 BLAKE2B f322b1165ea0036ce6e4935d0bc8eb35a1e8f31cff0c579743ba35283809ed725a36008b7e4f34f0a397d7083742ac722bf08100a8035d7e2e265c7bdf5cf9ea SHA512 45019f8d5802e8411e55a6cac41b388ccf1ac0d869a30b4d373925291c37f837c59d5b656813029175c6fba342e4145d9e20f2ef2040a8dc2459a33fb265191b -DIST MPlayer-1.5.tar.xz 15379972 BLAKE2B 33c09025a9c521e1bc09a50fabb04e89493cbc4117afb3d5769e17b7dd621e44441a8d9f5a3cce2316c781ed701131a966abb02d64976adee9e5f40b7b475e7f SHA512 05fe1edf23cec53be676333b6299df4b3f1ee746e5ccd96dc0bed550e7a1602ba7ba182c1cc23fcac67aacde849a46628b1dcab8ee3d3d4117415c11b6a6ad74 DIST font-arial-cp1250.tar.bz2 249705 BLAKE2B eb4366a110d917dc975b8add168ab43b1e8a0db7342647f69f5421fc1170719015c97ffa770e89892cbb4cee8e5b2fb74a4772c8f6cbef9606ee12c3746d78c9 SHA512 4f77ff5ceb8ec6e5d9f8f34d8950a6a6276d1fd5a947772fcbdb6554988b1ea665c12b82f45164f91fb7bd08000cb4afc26fa35beb4c760464160e22b9b8c340 DIST font-arial-iso-8859-1.tar.bz2 234242 BLAKE2B 0671854e1a257d27b502affb59de681942a93990d3ac2575bbf1a6dd9eef026969f2f9ce4e9c11a68ea3d8aed48063f826a1e153f7468437a39791672c92a5d0 SHA512 a1d03b6f09c48f48b7733f3bc0402ceab239a9abf88b860d852ea9fe69b4da690208a79d6f29d30204f5b37becf10672e8e8c0bfef201846d80ec54df617d029 DIST font-arial-iso-8859-2.tar.bz2 222208 BLAKE2B 94b1a04672bf9b4b20a0e6981591e761f751bd637deddcb801855296c525bf3b5e8feb1cb11cef282c0269f2c963ded22846089076e7e6763f258b8a932af454 SHA512 5671e628303fd816f64a51ad10e2f4dd9c3dc1b34c379a2ecf489b83931db7af668aaa4e00e96a00cacd63ed98daeae6b6a4d5925edfb06fc98d3a923f70257d DIST mplayer-1.5_p20230215.tar.xz 15454028 BLAKE2B 08012f9b955921d832ab268a6e52e22e018b669787ff5e1c1ac734bd85083138551ad1065d5e4f5f9c977b804f8135ee89d2fd0590fb7228d4916b458cc58efa SHA512 f93d222817ff59ac7708956d6e8d5e9ee2084b4e724f66ea9fe4ffd477b864c2d0546d8df97511d499495ee446239645216a1e027d70eed434a3c64331f5ac73 -EBUILD mplayer-1.5.ebuild 17073 BLAKE2B 2c0f9851af9f297da34cfc1ed9e8aac631d8c370c0a7645dcd856617fcea640b80781c1c1791a2676447f00fb45ba0acfde37628066a6e2dde4eecea120a6bcc SHA512 1c508343584789db2399c189bd74757739c2ad1c4b04ad3f630c7e8d69666a68e56ee4a7ce7d7204315a0e5945a61b5d53fca05e569019ed19fce6f43488d50e +DIST mplayer-1.5_p20230618.tar.xz 15101476 BLAKE2B 74f1d2d579c83330d8bf1e1ce2a89592f62142f361ff0e4107710c80de4351a5807e344869cb55ff5b5856efaedb6cfe242483f8e7f97521b805f84ca23e3818 SHA512 874e76b3edfccb7475349d954ed49860f92a5e99f0374084f5da53af35326365bb064c460fb6527d2fb6d8ae20d9e059ba197f45d4de42bc7a78992b5191a7cb EBUILD mplayer-1.5_p20230215.ebuild 17321 BLAKE2B 384cf25a0087368f9b8a479a9615560a123c8aceede713ba9390565a39b597132bdbfbfe0452b3afe632edd32317ffa029bd382e2132ed8484ac1c48f268b6d4 SHA512 2ab705e4c518ebc2babf5a829f6cd3708d247ed7f00f38f9e85519fa52e4ac1f00815a5659ea5b6bbdb1bf54d85f2fe490089fccbe4a2ad82ef6fdb0ef6091cd -EBUILD mplayer-9999.ebuild 17323 BLAKE2B 9167d9f1deea8ab2507a43567a9ba3b8eeff5ab8c75618d82122159266fa55b3554e00698fd631ac33978fbd466c4d69dfe53368e330d2f30a20397a665be2ee SHA512 ad2f1aaa9ef7c3ed6593e580aa2830c7323217c8dcf8616e4af1f1c0e42ed96787ac478cf11797e49ac7afd3c3472e66d41fb754c247e0f23e414939193b3783 +EBUILD mplayer-1.5_p20230618.ebuild 17673 BLAKE2B 5ddbd754fee6adee7eaf72992ad6ab8a608cefab055d45b87ec18cd0eee11bac5d5273d34ed93f9e9b1b777810e7b36f4cc4460898dfb8a1ac68df88a730c15a SHA512 9141ec71f2a262eaba1f8b0b7e8273d66b480bed919ca554a9686192f38f54e57d749b539f83343c6091aed49dfa873fa788eb753f9b9041997b12c8d028329b +EBUILD mplayer-9999.ebuild 17360 BLAKE2B 4e2e5d45380e632deaff878fb72f56ad631138722ca00967446eff78d32151d80f3a323ec2c2cfac5a82a976be611fee798da248882ce453d8aa82fc4cd1e304 SHA512 3472ddf6936583c4b81ff9afada01a112b89b71e82175f41761dd466084c79efcc14c88aa4185705babbb76db12764933e0102ddeae9bff981d21c6448112c26 MISC metadata.xml 2475 BLAKE2B 5a083ce5b8ed729245ec9eaf544be95f6cbdb9fcb5b80d3a21195557c3aede46d09bd93a0d1acd3830fc796f90dd5f15a17a3d3c69ba2a1a54a0676264dd02de SHA512 f04082ffd63adf9102dd82eb5b4c628fbf912701c7dae69f0b00bbad4e0957355e43369912e9422acc087200de982920c212efb60ba9c26675f74fd5f37fd739 diff --git a/media-video/mplayer/mplayer-1.5.ebuild b/media-video/mplayer/mplayer-1.5.ebuild deleted file mode 100644 index 4f171b4f094c..000000000000 --- a/media-video/mplayer/mplayer-1.5.ebuild +++ /dev/null @@ -1,628 +0,0 @@ -# Copyright 1999-2023 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}" ]]; 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 - -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 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_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/ -# - depends on ${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() { - local myconf=() - local uses i - - # Set LINGUAS - [[ -n ${LINGUAS} ]] && LINGUAS="${LINGUAS/da/dk}" - [[ -n ${LINGUAS} ]] && LINGUAS="${LINGUAS/zh/zh_CN}" #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 - --disable-xvmc - $(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 ) - - uses="3dnow 3dnowext avx avx2 fma3 fma4 mmx mmxext sse sse2 sse3 ssse3 xop" - for i in ${uses}; do - myconf+=( $(use_enable cpu_flags_x86_${i} ${i}) ) - done - myconf+=( $(use_enable cpu_flags_x86_sse4_1 sse4) ) - myconf+=( $(use_enable cpu_flags_x86_sse4_2 sse42) ) - - myconf+=( - $(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-1.5_p20230618.ebuild b/media-video/mplayer/mplayer-1.5_p20230618.ebuild new file mode 100644 index 000000000000..7f503efeaf49 --- /dev/null +++ b/media-video/mplayer/mplayer-1.5_p20230618.ebuild @@ -0,0 +1,641 @@ +# Copyright 1999-2023 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-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?] ) + 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? ( virtual/linuxtv-dvb-headers ) + X? ( x11-base/xorg-proto ) + xinerama? ( x11-base/xorg-proto ) + xscreensaver? ( x11-base/xorg-proto ) +" +ASM_DEP="dev-lang/yasm" +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 ~ia64 ~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 )" + +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() { + 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 + --disable-xvmc + $(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 b686cded65a2..8abf788096fd 100644 --- a/media-video/mplayer/mplayer-9999.ebuild +++ b/media-video/mplayer/mplayer-9999.ebuild @@ -121,7 +121,7 @@ RDEPEND=" opengl? ( virtual/opengl ) png? ( media-libs/libpng:= ) pnm? ( media-libs/netpbm ) - pulseaudio? ( media-libs/libpulse ) + pulseaudio? ( media-sound/pulseaudio ) rar? ( || ( app-arch/unrar @@ -268,7 +268,7 @@ src_configure() { # Set LINGUAS [[ -n ${LINGUAS} ]] && LINGUAS="${LINGUAS/da/dk}" - [[ -n ${LINGUAS} ]] && LINGUAS="${LINGUAS/zh/zh_CN}" #482968 + [[ -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 @@ -461,6 +461,7 @@ src_configure() { # Platform specific flags, hardcoded on amd64 (see below) use cpudetection && myconf+=( --enable-runtime-cpudetection ) + # TODO: refresh this list uses="3dnow 3dnowext avx avx2 fma3 fma4 mmx mmxext sse sse2 sse3 ssse3 xop" for i in ${uses}; do myconf+=( $(use_enable cpu_flags_x86_${i} ${i}) ) @@ -603,7 +604,7 @@ src_install() { _EOF_ fi - # bug 256203 + # bug #256203 if use rar; then cat >> "${ED}/etc/mplayer/mplayer.conf" <<- _EOF_ unrarexec=${EPREFIX}/usr/bin/unrar -- cgit v1.2.3