summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2022-12-24 10:16:46 +0000
committerSam James <sam@gentoo.org>2022-12-24 10:19:57 +0000
commit8cdb49a98ff943afe53695735fb3eed4b77c3b28 (patch)
tree82573361a953f4f681eb59e980c8ead58b3d9a7e /media-video/mplayer
parentnet-analyzer/munin: Stabilize 2.0.69-r1 x86, #887799 (diff)
downloadgentoo-8cdb49a98ff943afe53695735fb3eed4b77c3b28.tar.gz
gentoo-8cdb49a98ff943afe53695735fb3eed4b77c3b28.tar.bz2
gentoo-8cdb49a98ff943afe53695735fb3eed4b77c3b28.zip
media-video/mplayer: add 1.5
Unclear if anything happened with security bug #858107 though. Bug: https://bugs.gentoo.org/858107 Bug: https://bugs.gentoo.org/870406 Closes: https://bugs.gentoo.org/728640 Closes: https://bugs.gentoo.org/836428 Closes: https://bugs.gentoo.org/870649 Closes: https://bugs.gentoo.org/888073 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'media-video/mplayer')
-rw-r--r--media-video/mplayer/Manifest1
-rw-r--r--media-video/mplayer/mplayer-1.5.ebuild627
-rw-r--r--media-video/mplayer/mplayer-9999.ebuild378
3 files changed, 829 insertions, 177 deletions
diff --git a/media-video/mplayer/Manifest b/media-video/mplayer/Manifest
index bd9910e5e79e..765a041aebe3 100644
--- a/media-video/mplayer/Manifest
+++ b/media-video/mplayer/Manifest
@@ -1,4 +1,5 @@
DIST MPlayer-1.4.tar.xz 15054920 BLAKE2B 4777cb31a32d62c393778c581c1913fbf355a36cbe6bcf6f426c90c2c8c70123e8aed4d01faf52ee6b1fba3c49e11fa13185f81ae8582f90c901b90955a1f42b SHA512 8ef71cad187d8c8f81c837279bd3a421b440c892d3347a667670b21c954007e35cf0d15828f0901f347b9c1b053e8da4bc7f0fb6de34382d1e463074923d7b34
+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
diff --git a/media-video/mplayer/mplayer-1.5.ebuild b/media-video/mplayer/mplayer-1.5.ebuild
new file mode 100644
index 000000000000..c938cefbf668
--- /dev/null
+++ b/media-video/mplayer/mplayer-1.5.ebuild
@@ -0,0 +1,627 @@
+# Copyright 1999-2022 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/
+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}" #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-9999.ebuild b/media-video/mplayer/mplayer-9999.ebuild
index e07e9e46bd59..c938cefbf668 100644
--- a/media-video/mplayer/mplayer-9999.ebuild
+++ b/media-video/mplayer/mplayer-9999.ebuild
@@ -1,80 +1,92 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
-EGIT_REPO_URI="https://git.ffmpeg.org/ffmpeg.git"
-ESVN_REPO_URI="svn://svn.mplayerhq.hu/mplayer/trunk"
-[[ ${PV} = *9999* ]] && SVN_ECLASS="subversion git-r3"
+inherit edo toolchain-funcs flag-o-matic
-inherit toolchain-funcs flag-o-matic ${SVN_ECLASS}
-
-IUSE="cpu_flags_ppc_altivec cpu_flags_x86_3dnow cpu_flags_x86_3dnowext a52 aalib +alsa aqua bidi bl bluray
-bs2b cddb +cdio cdparanoia cpudetection debug dga
-doc dts dv dvb +dvd +dvdnav +enca +encode faac faad fbcon
-ftp ggi gsm +iconv ipv6 jack joystick jpeg ladspa
-+libass libcaca libmpeg2 lirc live lzo mad md5sum cpu_flags_x86_mmx cpu_flags_x86_mmxext mng mp3 nas
-+network openal opengl +osdmenu oss png pnm pulseaudio pvr
-radio rar rtc rtmp samba selinux +shm sdl speex cpu_flags_x86_sse cpu_flags_x86_sse2 cpu_flags_x86_ssse3
-tga theora tremor +truetype toolame twolame +unicode v4l vcd vdpau vidix
-vorbis +X x264 xinerama +xscreensaver +xv xvid yuv4mpeg zoran"
-
-VIDEO_CARDS="mga"
-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
+ EGIT_REPO_URI="https://git.ffmpeg.org/ffmpeg.git"
+ ESVN_REPO_URI="svn://svn.mplayerhq.hu/mplayer/trunk"
RELEASE_URI=""
-elif [ "${PV%_rc*}" = "${PV}" -a "${PV%_pre*}" = "${PV}" ]; then
+
+ 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
-SRC_URI="${RELEASE_URI}
- !truetype? ( ${FONT_URI} )"
+
+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="
- virtual/ttf-fonts
media-libs/fontconfig
>=media-libs/freetype-2.2.1:2
+ virtual/ttf-fonts
"
X_RDEPS="
x11-libs/libXext
x11-libs/libXxf86vm
"
-# Rar: althrought -gpl version is nice, it cant do most functions normal rars can
+# - 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:
+# - mplayer relies on private APIs in giflib that have been removed:
# https://sourceforge.net/p/giflib/bugs/132/
-RDEPEND+="
- sys-libs/ncurses:0=
+RDEPEND="
app-arch/bzip2
+ >=media-video/ffmpeg-4.0:=[vdpau?]
+ sys-libs/ncurses:=
sys-libs/zlib
- >=media-video/ffmpeg-4.0:0=[vdpau?]
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:0= dev-libs/libcdio-paranoia )
+ 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:0= )
- dvdnav? ( >=media-libs/libdvdnav-4.1.3:0= )
+ dvd? ( >=media-libs/libdvdread-4.1.3:= )
+ dvdnav? ( >=media-libs/libdvdnav-4.1.3:= )
encode? (
!twolame? ( toolame? ( media-sound/toolame ) )
twolame? ( media-sound/twolame )
@@ -103,7 +115,7 @@ RDEPEND+="
nas? ( media-libs/nas )
openal? ( media-libs/openal )
opengl? ( virtual/opengl )
- png? ( media-libs/libpng:0= )
+ png? ( media-libs/libpng:= )
pnm? ( media-libs/netpbm )
pulseaudio? ( media-sound/pulseaudio )
rar? (
@@ -126,30 +138,31 @@ RDEPEND+="
xscreensaver? ( x11-libs/libXScrnSaver )
xv? ( x11-libs/libXv )
"
-
-ASM_DEP="dev-lang/yasm"
-DEPEND="${RDEPEND}
- virtual/pkgconfig
+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? (
- dev-libs/libxslt app-text/docbook-xml-dtd
+ app-text/docbook-xml-dtd
app-text/docbook-xsl-stylesheets
+ dev-libs/libxslt
)
x86? ( ${ASM_DEP} )
"
-RDEPEND+="
- selinux? ( sec-policy/selinux-mplayer )
-"
+RDEPEND+="selinux? ( sec-policy/selinux-mplayer )"
-SLOT="0"
LICENSE="GPL-2"
+SLOT="0"
if [[ ${PV} != *9999* ]]; then
- KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
fi
# faac codecs are nonfree
@@ -197,20 +210,21 @@ pkg_setup() {
}
src_unpack() {
- if [[ ${PV} = *9999* ]]; then
+ if [[ ${PV} == *9999* ]]; then
subversion_src_unpack
- cd "${WORKDIR}"
- rm -rf "${WORKDIR}/${P}/ffmpeg/"
+
+ 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}"
+ if [[ ${PV} == *9999* || "${PV%_rc*}" == "${PV}" ]]; then
+ cd "${S}" || die
cp "${FILESDIR}/dump_ffmpeg.sh" . || die
- chmod +x dump_ffmpeg.sh
- ./dump_ffmpeg.sh || die
+ chmod +x dump_ffmpeg.sh || die
+ ./dump_ffmpeg.sh
fi
if ! use truetype; then
@@ -224,20 +238,20 @@ src_prepare() {
default
local svf=snapshot_version
- if [[ ${PV} = *9999* ]]; then
+ if [[ ${PV} == *9999* ]]; then
# Set SVN version manually
subversion_wc_info
- printf "${ESVN_WC_REVISION}" > $svf
- else
- eapply "${FILESDIR}"/${PN}-1.3-CVE-2016-4352.patch
+ 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
+
+ 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
+ # 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
@@ -245,27 +259,27 @@ src_prepare() {
}
src_configure() {
- local myconf=""
+ local myconf=()
local uses i
- # set LINGUAS
- [[ -n $LINGUAS ]] && LINGUAS="${LINGUAS/da/dk}"
- [[ -n $LINGUAS ]] && LINGUAS="${LINGUAS/zh/zh_CN}" #482968
+ # 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+="
+ #####################
+ # 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
@@ -277,27 +291,28 @@ src_configure() {
--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
+ myconf+=( --disable-nemesi ) # nemesi automagic disable
for i in ${uses}; do
- use ${i} || myconf+=" --disable-${i}"
+ 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"
+ 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"
+ myconf+=( --disable-cdparanoia )
else
- myconf+=" --disable-libcdio"
- use cdparanoia || myconf+=" --disable-cdparanoia"
- use cddb || myconf+=" --disable-cddb"
+ myconf+=( --disable-libcdio )
+ use cdparanoia || myconf+=( --disable-cdparanoia )
+ use cddb || myconf+=( --disable-cddb )
fi
################################
@@ -306,8 +321,8 @@ src_configure() {
#
# dvdread - accessing a DVD
# dvdnav - navigation of menus
- use dvd || myconf+=" --disable-dvdread"
- use dvdnav || myconf+=" --disable-dvdnav"
+ use dvd || myconf+=( --disable-dvdread )
+ use dvdnav || myconf+=( --disable-dvdnav )
#############
# Subtitles #
@@ -316,35 +331,33 @@ src_configure() {
# 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"
+ 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"
+ myconf+=( --disable-tv-bsdbt848 )
# gone since linux-headers-2.6.38
- myconf+=" --disable-tv-v4l1"
+ 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"
+ 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+="
+ myconf+=(
--enable-radio
$(use_enable encode radio-capture)
- "
+ )
else
- myconf+="
+ myconf+=(
--disable-radio-v4l2
--disable-radio-bsdbt848
- "
+ )
fi
else
- myconf+="
+ myconf+=(
--disable-tv
--disable-tv-v4l2
--disable-radio
@@ -352,44 +365,45 @@ src_configure() {
--disable-radio-bsdbt848
--disable-dvb
--disable-v4l2
- --disable-pvr"
+ --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"
+ 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+="
+ 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}"
+ 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}"
+ use ${i} || myconf+=( --disable-${i} )
done
# Pulls an outdated libopenjpeg, ffmpeg provides better support for it
- myconf+=" --disable-libopenjpeg"
+ myconf+=( --disable-libopenjpeg )
# Encoding
uses="faac x264 xvid toolame twolame"
if use encode; then
for i in ${uses}; do
- use ${i} || myconf+=" --disable-${i}"
+ use ${i} || myconf+=( --disable-${i} )
done
else
- myconf+=" --disable-mencoder"
+ myconf+=( --disable-mencoder )
for i in ${uses}; do
- myconf+=" --disable-${i}"
+ myconf+=( --disable-${i} )
use ${i} && elog "Useflag \"${i}\" will only be useful for encoding, i.e., with \"encode\" useflag enabled."
done
fi
@@ -397,62 +411,65 @@ src_configure() {
#################
# Binary codecs #
#################
- myconf+=" --disable-qtx --disable-real --disable-win32dll"
+ myconf+=( --disable-qtx --disable-real --disable-win32dll )
################
# Video Output #
################
uses="md5sum sdl yuv4mpeg"
for i in ${uses}; do
- use ${i} || myconf+=" --disable-${i}"
+ 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"
+ 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"
+ myconf+=( --disable-mga --disable-xmga )
fi
- myconf+="
+ myconf+=(
--disable-3dfx
--disable-tdfxvid
--disable-tdfxfb
- "
+ )
# sun card, disable by default, see bug #258729
- myconf+=" --disable-xvr100"
+ myconf+=( --disable-xvr100 )
################
# Audio Output #
################
- myconf+=" --disable-esd"
+ myconf+=( --disable-esd )
uses="alsa jack ladspa nas openal"
for i in ${uses}; do
- use ${i} || myconf+=" --disable-${i}"
+ use ${i} || myconf+=( --disable-${i} )
done
- use pulseaudio || myconf+=" --disable-pulse"
+ use pulseaudio || myconf+=( --disable-pulse )
if ! use radio; then
- use oss || myconf+=" --disable-ossaudio"
+ use oss || myconf+=( --disable-ossaudio )
fi
####################
# Advanced Options #
####################
# Platform specific flags, hardcoded on amd64 (see below)
- use cpudetection && myconf+=" --enable-runtime-cpudetection"
+ use cpudetection && myconf+=( --enable-runtime-cpudetection )
- uses="3dnow 3dnowext mmx mmxext sse sse2 ssse3"
+ 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})"
+ 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+="
+ myconf+=(
$(use_enable cpu_flags_ppc_altivec altivec)
- $(use_enable shm)"
+ $(use_enable shm)
+ )
- use debug && myconf+=" --enable-debug=3"
+ use debug && myconf+=( --enable-debug=3 )
if use x86 && gcc-specs-pie; then
filter-flags -fPIC -fPIE
@@ -462,31 +479,31 @@ src_configure() {
###########################
# X enabled configuration #
###########################
- myconf+=" --disable-gui"
- myconf+=" --disable-vesa"
+ myconf+=( --disable-gui )
+ myconf+=( --disable-vesa )
uses="ggi vdpau xinerama xv"
for i in ${uses}; do
- use ${i} || myconf+=" --disable-${i}"
+ 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"
+ 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+="
+ myconf+=(
--enable-macosx-finder
--enable-macosx-bundle
- "
+ )
fi
# Note: --enable-gnutls only makes sense with --enable-ffmpeg_a
- ./configure \
+ edo ./configure \
--cc="$(tc-getCC)" \
--host-cc="$(tc-getBUILD_CC)" \
--prefix="${EPREFIX}/usr" \
@@ -497,7 +514,7 @@ src_configure() {
--mandir="${EPREFIX}/usr/share/man" \
--disable-ffmpeg_a \
--disable-gnutls \
- ${myconf} || die
+ "${myconf[@]}"
}
src_compile() {
@@ -505,16 +522,19 @@ src_compile() {
# Build only user-requested docs if they're available.
if use doc ; then
- # select available languages from $LINGUAS
+ # Select available languages from ${LINGUAS}
local ALLOWED_LINGUAS="cs de en es fr hu it pl ru zh_CN"
- local BUILT_DOCS=""
+ local BUILT_DOCS=()
+ local i
+
for i in ${LINGUAS} ; do
- has ${i} ${ALLOWED_LINGUAS} && BUILT_DOCS+=" ${i}"
+ has ${i} ${ALLOWED_LINGUAS} && BUILT_DOCS+=( ${i} )
done
- if [[ -z $BUILT_DOCS ]]; then
+
+ if [[ -z ${BUILT_DOCS[@]} ]]; then
emake -j1 html-chunked
else
- for i in ${BUILT_DOCS}; do
+ for i in ${BUILT_DOCS[@]}; do
emake -j1 html-chunked-${i}
done
fi
@@ -545,11 +565,14 @@ src_install() {
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
@@ -557,32 +580,33 @@ src_install() {
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_
+ 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_
+ 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_
+ cat >> "${ED}/etc/mplayer/mplayer.conf" <<- _EOF_
+ unrarexec=${EPREFIX}/usr/bin/unrar
+ _EOF_
fi
- dosym ../../../etc/mplayer/mplayer.conf /usr/share/mplayer/mplayer.conf
+ dosym -r /etc/mplayer/mplayer.conf /usr/share/mplayer/mplayer.conf
newbin "${S}/TOOLS/midentify.sh" midentify
}
@@ -593,11 +617,11 @@ pkg_preinst() {
pkg_postrm() {
# Cleanup stale symlinks
- [ -L "${EROOT}/usr/share/mplayer/font" -a \
- ! -e "${EROOT}/usr/share/mplayer/font" ] && \
+ [[ -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" -a \
- ! -e "${EROOT}/usr/share/mplayer/subfont.ttf" ] && \
+ [[ -L "${EROOT}/usr/share/mplayer/subfont.ttf" &&
+ ! -e "${EROOT}/usr/share/mplayer/subfont.ttf" ]] && \
rm -f "${EROOT}/usr/share/mplayer/subfont.ttf"
}