summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'media-video/mplayer2/mplayer2-2.0_p20130428-r1.ebuild')
-rw-r--r--media-video/mplayer2/mplayer2-2.0_p20130428-r1.ebuild379
1 files changed, 379 insertions, 0 deletions
diff --git a/media-video/mplayer2/mplayer2-2.0_p20130428-r1.ebuild b/media-video/mplayer2/mplayer2-2.0_p20130428-r1.ebuild
new file mode 100644
index 000000000000..dd301df53ee7
--- /dev/null
+++ b/media-video/mplayer2/mplayer2-2.0_p20130428-r1.ebuild
@@ -0,0 +1,379 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-video/mplayer2/mplayer2-2.0_p20130428-r1.ebuild,v 1.1 2013/07/09 16:06:35 scarabeus Exp $
+
+EAPI=5
+
+# https://bugs.gentoo.org/show_bug.cgi?id=434356#c4
+PYTHON_COMPAT=( python{2_7,3_1,3_2,3_3} )
+
+EGIT_REPO_URI="git://git.mplayer2.org/mplayer2.git"
+
+inherit toolchain-funcs flag-o-matic multilib base python-any-r1
+[[ ${PV} == *9999* ]] && inherit git-2
+
+NAMESUF="${PN/mplayer/}"
+DESCRIPTION="Media Player for Linux"
+HOMEPAGE="http://www.mplayer2.org/"
+[[ ${PV} == *9999* ]] || \
+SRC_URI="http://rion-overlay.googlecode.com/files/${P}.tar.xz"
+
+LICENSE="GPL-3"
+SLOT="0"
+[[ ${PV} == *9999* ]] || \
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux"
+IUSE="+alsa aqua bluray bs2b cddb +cdio cpudetection debug directfb doc dvb +dvd
++dvdnav +enca ftp gif +iconv ipv6 jack joystick jpeg ladspa lcms +libass libcaca
+lirc md5sum mng +mp3 +network +opengl oss png pnm portaudio +postproc pulseaudio
+pvr +quvi radio samba +shm tga +threads +unicode v4l vcd vdpau +X xinerama
++xscreensaver +xv yuv4mpeg"
+IUSE+=" symlink"
+
+CPU_FEATURES="3dnow 3dnowext altivec +mmx mmxext sse sse2 ssse3"
+for x in ${CPU_FEATURES}; do
+ IUSE+=" ${x}"
+done
+
+REQUIRED_USE="
+ cddb? ( cdio network )
+ dvdnav? ( dvd )
+ enca? ( iconv )
+ lcms? ( opengl )
+ opengl? ( || ( aqua X ) )
+ portaudio? ( threads )
+ pvr? ( v4l )
+ radio? ( v4l || ( alsa oss ) )
+ v4l? ( threads )
+ vdpau? ( X )
+ xinerama? ( X )
+ xscreensaver? ( X )
+ xv? ( X )
+"
+
+RDEPEND+="
+ sys-libs/ncurses
+ sys-libs/zlib
+ X? (
+ x11-libs/libXext
+ x11-libs/libXxf86vm
+ opengl? ( virtual/opengl )
+ lcms? ( media-libs/lcms:2 )
+ vdpau? ( x11-libs/libvdpau )
+ xinerama? ( x11-libs/libXinerama )
+ xscreensaver? ( x11-libs/libXScrnSaver )
+ xv? ( x11-libs/libXv )
+ )
+ alsa? ( media-libs/alsa-lib )
+ bluray? ( media-libs/libbluray )
+ bs2b? ( media-libs/libbs2b )
+ cdio? (
+ || (
+ dev-libs/libcdio-paranoia
+ <dev-libs/libcdio-0.90[-minimal]
+ )
+ )
+ directfb? ( dev-libs/DirectFB )
+ dvb? ( virtual/linuxtv-dvb-headers )
+ dvd? (
+ >=media-libs/libdvdread-4.1.3
+ dvdnav? ( >=media-libs/libdvdnav-4.1.3 )
+ )
+ enca? ( app-i18n/enca )
+ gif? ( media-libs/giflib )
+ iconv? ( virtual/libiconv )
+ jack? ( media-sound/jack-audio-connection-kit )
+ jpeg? ( virtual/jpeg )
+ ladspa? ( media-libs/ladspa-sdk )
+ libass? (
+ >=media-libs/libass-0.9.10[enca?,fontconfig]
+ virtual/ttf-fonts
+ )
+ libcaca? ( media-libs/libcaca )
+ lirc? ( app-misc/lirc )
+ mng? ( media-libs/libmng )
+ mp3? ( media-sound/mpg123 )
+ png? ( media-libs/libpng )
+ pnm? ( media-libs/netpbm )
+ portaudio? ( >=media-libs/portaudio-19_pre20111121 )
+ postproc? (
+ || (
+ media-libs/libpostproc
+ media-video/ffmpeg
+ )
+ )
+ pulseaudio? ( media-sound/pulseaudio )
+ quvi? ( >=media-libs/libquvi-0.4.1 )
+ samba? ( net-fs/samba )
+ >=virtual/ffmpeg-9[threads?,vdpau?]
+ symlink? ( !media-video/mplayer )
+"
+ASM_DEP="dev-lang/yasm"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ ${PYTHON_DEPS}
+ dev-python/docutils
+ X? (
+ x11-proto/videoproto
+ x11-proto/xf86vidmodeproto
+ xinerama? ( x11-proto/xineramaproto )
+ xscreensaver? ( x11-proto/scrnsaverproto )
+ )
+ amd64? ( ${ASM_DEP} )
+ doc? (
+ dev-libs/libxslt
+ app-text/docbook-xml-dtd
+ app-text/docbook-xsl-stylesheets
+ )
+ x86? ( ${ASM_DEP} )
+ x86-fbsd? ( ${ASM_DEP} )
+"
+DOCS=( AUTHORS Copyright README etc/example.conf etc/input.conf etc/codecs.conf )
+
+PATCHES=(
+ "${FILESDIR}/${PN}-py2compat.patch"
+)
+
+pkg_setup() {
+ if [[ ${PV} == *9999* ]]; then
+ elog
+ elog "This is a live ebuild which installs the latest from upstream's"
+ elog "git repository, and is unsupported by Gentoo."
+ elog "Everything but bugs in the ebuild itself will be ignored."
+ elog
+ fi
+
+ if use !libass; then
+ ewarn
+ ewarn "You've disabled the libass flag. No OSD or subtitles will be displayed."
+ 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
+
+ einfo "For various format support you need to enable the support on your ffmpeg package:"
+ einfo " media-video/libav or media-video/ffmpeg"
+
+ python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ # fix path to bash executable in configure scripts
+ sed -i -e "1c\#!${EPREFIX}/bin/bash" \
+ configure version.sh || die
+
+ sed -e 's/ $(INSTALLSTRIP)//' \
+ -e '/$(INSTALL) -d $(LIBDIR)/d' \
+ -i Makefile || die
+
+ if [[ -n ${NAMESUF} ]]; then
+ sed -e "/^EXESUF/s,= \$_exesuf$,= ${NAMESUF}\$_exesuf," \
+ -i configure || die
+ sed -e "s/mplayer/${PN}/" \
+ -i TOOLS/midentify.sh || die
+ fi
+
+ base_src_prepare
+}
+
+src_configure() {
+ local myconf=""
+ local uses i
+
+ # 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 #
+ #####################
+ # rtc is useless and /dev/rtc0 is only readable for root
+ myconf+=" --disable-rtc"
+ # SDL output is fallback for platforms where nothing better is available
+ myconf+=" --disable-sdl"
+ myconf+="
+ $(use_enable network networking)
+ $(use_enable joystick)
+ "
+ uses="bluray ftp vcd"
+ for i in ${uses}; do
+ use ${i} || myconf+=" --disable-${i}"
+ done
+ use ipv6 || myconf+=" --disable-inet6"
+ use quvi || myconf+=" --disable-libquvi"
+ use samba || myconf+=" --disable-smb"
+ use lirc || myconf+=" --disable-lirc --disable-lircc --disable-apple-ir"
+
+ ########
+ # CDDA #
+ ########
+ use cddb || myconf+=" --disable-cddb"
+ use cdio || myconf+=" --disable-libcdio"
+
+ ################################
+ # DVD read, navigation support #
+ ################################
+ #
+ # dvdread - accessing a DVD
+ # dvdnav - navigation of menus
+ #
+ # use external libdvdcss, dvdread and dvdnav
+ myconf+=" --disable-dvdread-internal --disable-libdvdcss-internal"
+ use dvd || myconf+=" --disable-dvdread"
+ use dvdnav || myconf+=" --disable-dvdnav"
+
+ #############
+ # Subtitles #
+ #############
+ uses="enca libass"
+ for i in ${uses}; do
+ use ${i} || myconf+=" --disable-${i}"
+ done
+ # iconv optionally can use unicode
+ use iconv || myconf+=" --disable-iconv --charset=noconv"
+ use iconv && use unicode && myconf+=" --charset=UTF-8"
+ # obscure and not maintained feature
+ myconf+=" --disable-unrarexec"
+
+ #####################################
+ # DVB / Video4Linux / Radio support #
+ #####################################
+ # BSD legacy TV/radio support, FreeBSD actually supports V4L2, and V4L2 supports this chip.
+ myconf+=" --disable-tv-bsdbt848 --disable-radio-bsdbt848"
+ use dvb || myconf+=" --disable-dvb"
+ use pvr || myconf+=" --disable-pvr"
+ use v4l || myconf+=" --disable-tv --disable-tv-v4l2 --disable-v4l2"
+ if use radio; then
+ myconf+=" --enable-radio --enable-radio-capture"
+ else
+ myconf+=" --disable-radio-v4l2"
+ fi
+
+ ##########
+ # Codecs #
+ ##########
+ # better demuxers and decoders are provided by libav and ffmpeg
+ uses="faad liba52 libdca libdv libnut libvorbis mad musepack speex theora tremor xanim xvid"
+ for i in ${uses}; do
+ myconf+=" --disable-${i}"
+ done
+ use mp3 || myconf+=" --disable-mpg123"
+ uses="gif jpeg mng png pnm tga"
+ for i in ${uses}; do
+ use ${i} || myconf+=" --disable-${i}"
+ done
+
+ #################
+ # Binary codecs #
+ #################
+ myconf+=" --disable-qtx --disable-real --disable-win32dll"
+
+ ################
+ # Video Output #
+ ################
+ uses="directfb md5sum yuv4mpeg"
+ for i in ${uses}; do
+ use ${i} || myconf+=" --disable-${i}"
+ done
+ use libcaca || myconf+=" --disable-caca"
+ use postproc || myconf+=" --disable-libpostproc"
+
+ ################
+ # Audio Output #
+ ################
+ myconf+=" --disable-rsound" # media-sound/rsound is in pro-audio overlay only
+ uses="alsa jack ladspa portaudio"
+ for i in ${uses}; do
+ use ${i} || myconf+=" --disable-${i}"
+ done
+ use bs2b || myconf+=" --disable-libbs2b"
+ #use openal && myconf+=" --enable-openal" # build fails
+ use oss || myconf+=" --disable-ossaudio"
+ use pulseaudio || myconf+=" --disable-pulse"
+
+ ####################
+ # Advanced Options #
+ ####################
+ use threads || myconf+=" --disable-pthreads"
+
+ # Platform specific flags, hardcoded on amd64 (see below)
+ use cpudetection && myconf+=" --enable-runtime-cpudetection"
+ use shm || myconf+=" --disable-shm"
+
+ for i in ${CPU_FEATURES//+/}; do
+ myconf+=" $(use_enable ${i})"
+ done
+
+ use debug && myconf+=" --enable-debug=3"
+
+ if use x86 && gcc-specs-pie; then
+ filter-flags -fPIC -fPIE
+ append-ldflags -nopie
+ fi
+
+ ###########################
+ # X enabled configuration #
+ ###########################
+ use X || myconf+=" --disable-x11"
+ uses="vdpau xinerama xv"
+ for i in ${uses}; do
+ use ${i} || myconf+=" --disable-${i}"
+ done
+ use opengl || myconf+=" --disable-gl"
+ use lcms || myconf+=" --disable-lcms2"
+ use xscreensaver || myconf+=" --disable-xss"
+
+ ############################
+ # OSX (aqua) configuration #
+ ############################
+ use aqua && myconf+=" --enable-macosx-bundle --enable-macosx-finder"
+
+ CFLAGS= LDFLAGS= ./configure \
+ --cc="$(tc-getCC)" \
+ --extra-cflags="${CFLAGS}" \
+ --extra-ldflags="${LDFLAGS}" \
+ --pkg-config="$(tc-getPKG_CONFIG)" \
+ --prefix="${EPREFIX}"/usr \
+ --bindir="${EPREFIX}"/usr/bin \
+ --confdir="${EPREFIX}"/etc/${PN} \
+ --mandir="${EPREFIX}"/usr/share/man \
+ --localedir="${EPREFIX}"/usr/share/locale \
+ ${myconf} || die
+
+ MAKEOPTS+=" V=1"
+}
+
+src_compile() {
+ base_src_compile
+ use doc && emake -C DOCS/xml html-chunked
+}
+
+src_install() {
+ base_src_install
+
+ if use doc; then
+ rm -r TOOLS/osxbundle* DOCS/tech/{Doxyfile,realcodecs} || die
+ dodoc -r TOOLS DOCS/tech
+ dohtml -r DOCS/HTML/*
+ fi
+
+ newbin TOOLS/midentify.sh midentify${NAMESUF}
+
+ if [[ -n ${NAMESUF} ]]; then
+ mv "${ED}/usr/share/man/man1/mplayer.1" "${ED}/usr/share/man/man1/mplayer${NAMESUF}.1" || die
+
+ if use symlink; then
+ dosym ${PN} /usr/bin/mplayer
+ dosym midentify${NAMESUF} /usr/bin/midentify
+ fi
+ fi
+}