diff options
author | David Heidelberger <david.heidelberger@ixit.cz> | 2013-04-24 21:33:39 +0200 |
---|---|---|
committer | David Heidelberger <david.heidelberger@ixit.cz> | 2013-04-24 21:33:39 +0200 |
commit | 7109d2f3bca49ab44c35888f2809d425c8236e50 (patch) | |
tree | 8039b2c0ec5ad78a78781ae303d1e7934860f12b | |
parent | x11-libs/libxkbcommon: set XORG_EAUTORECONF before inheriting the eclass (diff) | |
download | x11-7109d2f3bca49ab44c35888f2809d425c8236e50.tar.gz x11-7109d2f3bca49ab44c35888f2809d425c8236e50.tar.bz2 x11-7109d2f3bca49ab44c35888f2809d425c8236e50.zip |
media-video/mpv: player with wayland support
-rw-r--r-- | media-video/mpv/metadata.xml | 28 | ||||
-rw-r--r-- | media-video/mpv/mpv-9999.ebuild | 282 |
2 files changed, 310 insertions, 0 deletions
diff --git a/media-video/mpv/metadata.xml b/media-video/mpv/metadata.xml new file mode 100644 index 00000000..5c222337 --- /dev/null +++ b/media-video/mpv/metadata.xml @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>video</herd> +<herd>proxy-maintainers</herd> +<maintainer> + <email>david.heidelberger@ixit.cz</email> + <description>Maintainer. Assign bugs to him</description> +</maintainer> +<longdescription lang="en"> + This Mplayer2 fork has several usefull features. One of them is wayland support. +</longdescription> +<use> + <flag name="bluray">Enable playback of Blu-ray filesystems</flag> + <flag name="bs2b">Enable Bauer stereophonic-to-binaural headphone filter</flag> + <flag name="cdio">Use libcdio for CD support (instead of cdparanoia)</flag> + <flag name="enca">Enables support for charset discovery and conversion</flag> + <flag name="mng">MNG input support</flag> + <flag name="mp3">Enable support for mp3 decoding over <pkg>media-sound/mpg123</pkg> instead of relying on ffmpeg support.</flag> + <flag name="network">Enables network streaming support</flag> + <flag name="postproc">Enable image post-processing via libpostproc</flag> + <flag name="pvr">Enable Video4Linux2 MPEG PVR</flag> + <flag name="quvi">Enable support for streaming sites using <pkg>media-libs/libquvi</pkg></flag> + <flag name="radio">Enable V4L2 radio interface and support</flag> + <flag name="shm">Enable support for shm</flag> + <flag name="wayland">Enable support for wayland protocol</flag> +</use> +</pkgmetadata> diff --git a/media-video/mpv/mpv-9999.ebuild b/media-video/mpv/mpv-9999.ebuild new file mode 100644 index 00000000..da293d79 --- /dev/null +++ b/media-video/mpv/mpv-9999.ebuild @@ -0,0 +1,282 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=5 + +inherit toolchain-funcs flag-o-matic multilib base git-2 + +DESCRIPTION="Video player based on MPlayer/mplayer2" +HOMEPAGE="http://mpv.io" +EGIT_REPO_URI="git://github.com/mpv-player/mpv.git" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +IUSE="+alsa aqua bluray bs2b cddb +cdio debug +dts dvb dvd +enca encode fbcon ftp ++iconv ipv6 jack joystick jpeg kernel_linux ladspa lcms +libass libcaca lirc mng mp3 +network openal opengl oss portaudio +postproc pulseaudio pvr quvi radio samba +shm +v4l vcd vdpau +X xinerama xscreensaver xv wayland" + +REQUIRED_USE=" + cddb? ( cdio network ) + lcms? ( opengl ) + libass? ( iconv ) + opengl? ( || ( aqua X ) ) + radio? ( || ( dvb v4l ) ) + 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 ) + dvb? ( virtual/linuxtv-dvb-headers ) + dvd? ( + >=media-libs/libdvdread-4.1.3 + ) + enca? ( app-i18n/enca ) + 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 ) + openal? ( >=media-libs/openal-1.13 ) + portaudio? ( >=media-libs/portaudio-19_pre20111121 ) + postproc? ( || ( media-libs/libpostproc <media-video/libav-0.8.2-r1 media-video/ffmpeg ) ) + pulseaudio? ( media-sound/pulseaudio ) + quvi? ( >=media-libs/libquvi-0.4.1 ) + samba? ( net-fs/samba ) + wayland? ( >=dev-libs/wayland-1.1.0 ) + >=virtual/ffmpeg-0.10.2[encode?] +" +ASM_DEP="dev-lang/yasm" +DEPEND="${RDEPEND} + virtual/pkgconfig + >=dev-lang/perl-5.8 + dev-python/docutils + X? ( + x11-proto/videoproto + x11-proto/xf86vidmodeproto + xinerama? ( x11-proto/xineramaproto ) + xscreensaver? ( x11-proto/scrnsaverproto ) + ) + amd64? ( ${ASM_DEP} ) + x86? ( ${ASM_DEP} ) + x86-fbsd? ( ${ASM_DEP} ) +" +DOCS=( AUTHORS Copyright README.rst etc/example.conf etc/input.conf ) + +pkg_setup() { + elog + elog "This is a live ebuild which installs the latest from upstream's" + elog "${VCS_ECLASS} repository, and is unsupported by Gentoo." + elog "Everything but bugs in the ebuild itself will be ignored." + elog + + if use !libass; then + ewarn + ewarn "You've disabled the libass flag. No OSD or subtitles will be displayed." + fi + + if use openal; then + ewarn + ewarn "You've enabled the openal flag. OpenAL is disabled by default," + ewarn "because it supposedly inteferes with some other configure tests" + ewarn "and makes them fail silently." + fi + + einfo "For various format support you need to enable the support on your ffmpeg package:" + einfo " media-video/libav or media-video/ffmpeg" +} + +src_prepare() { + # fix path to bash executable in configure scripts + local bash_scripts="configure version.sh" + sed -i -e "1c\#!${EPREFIX}/bin/bash" \ + ${bash_scripts} || die + + 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# + ################### + # SDL output is fallback for platforms where nothing better is available + myconf+=" --disable-sdl --disable-sdl2" + use encode || myconf+=" --disable-encoding" + use network || myconf+=" --disable-networking" + myconf+=" $(use_enable joystick)" + uses="bluray enca ftp libass 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" + if ! use lirc; then + myconf+=" + --disable-lirc + --disable-lircc + " + fi + + ######## + # CDDA # + ######## + use cddb || myconf+=" --disable-cddb" + use cdio || myconf+=" --disable-libcdio" + + ################################ + # DVD read # + ################################ + # + # dvdread - accessing a DVD + # + use dvd || myconf+=" --disable-dvdread" + + ############# + # Subtitles # + ############# + # + use iconv || myconf+=" --disable-iconv" + + ##################################### + # DVB / Video4Linux / Radio support # + ##################################### + 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 + --disable-radio-capture + " + else + myconf+=" + --disable-radio-v4l2 + " + fi + else + myconf+=" + --disable-tv + --disable-tv-v4l2 + --disable-radio + --disable-radio-v4l2 + --disable-dvb + --disable-pvr" + fi + + ########## + # Codecs # + ########## + use mp3 || myconf+=" --disable-mpg123" + uses="bs2b" + for i in ${uses}; do + use ${i} || myconf+=" --disable-lib${i}" + done + uses="jpeg mng" + for i in ${uses}; do + use ${i} || myconf+=" --disable-${i}" + done + + ################ + # Video Output # + ################ + 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 openal && myconf+=" --enable-openal" + 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 shm || myconf+=" --disable-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 # + ########################### + use X || myconf+=" --disable-x11" + use wayland || myconf+=" --disable-wayland" + 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 # + ############################ + if use aqua; then + myconf+=" + --enable-macosx-finder + --enable-macosx-bundle + " + fi + + ./configure \ + --cc="$(tc-getCC)" \ + --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" +} |