Add win4lin

This commit is contained in:
Mario Fetka
2022-11-19 21:49:12 +01:00
parent 1bf994041f
commit dcd0ea6843
77 changed files with 3687 additions and 50 deletions

View File

@@ -1,8 +1,12 @@
AUX makeresolvedeb_gentoo_1.6.0.patch 3462 BLAKE2B 8072b571bc370b9f0c7b3b62504c9b48f1dbda6e661e60082178244afd9c91e8e969f7d667e70a690066e4cb76c1d7c2425dbd781c5d3815e02663274be1eb07 SHA512 3cb9f7ba8b9a68dced129511e51f1842d81df77cbc98b4ad9b9f4e830d451ad0e8ece2d1dbadf1af636e5202f960b62331478de71466f19706c297ba847be9b8
AUX makeresolvedeb_gentoo_1.6.2.patch 3512 BLAKE2B f68296bc9ef210cdd9122f63e2825eb4b03bb992466614792b10409dab33a5bdf264059418776139260e0c9ef525da3c43d374cfa9d652695df0fe18d94f8126 SHA512 077bf903d2d5f7da51399eaedeb04fae20759793c6bf658c92e3a955f2294a90e247b7b64db5f93c45761de88287eef1c525174685b0f45d0c1cefc5d4ef0646
DIST DaVinci_Resolve_17.4.6_Linux.zip 2340066824 BLAKE2B 6e87a65f6657a8e9bd5cbcecb62b6dd74b45e4a8d6ae0d6e2aca6643d669a8aa49736e21e9826518897adbbf2d7f36d26bec402424158e4cb232560ab0c7ecdf SHA512 5067737e66d355d28aed34a5ff810ce552c6e8f07b9fcf1935cc7b2bfc65054de67e1a53c68560f58a60e3d63078bc47cba2c4257d0afaa3d76bfc50840a1409
DIST DaVinci_Resolve_18.0.3_Linux.zip 3128059839 BLAKE2B 2f7a3bc9fdcd2ae903e9898d884dbda10864a79ddeb25c7b1d6776d8e803085d35efb12024dcc4252891f917d55e37f09065c23be2b0b8738b7e36b9660daf95 SHA512 72feaf28feb48dfb54f6af07f46bd185d1b5ef074f957a21022908c1919dbca8fbcce3ff0046142ddab48b5a5c4f8d51530f10c88e64878557a65a28de30c830
DIST DaVinci_Resolve_18.0.4_Linux.zip 3128059055 BLAKE2B 707d55ff21c3d5fa95096c3bc3c4f2d90adc9f561b0e1445c12965c2a42fee8846f4536782640442730d226bfe3b9b819490f17f56ff77c3ea55e848a1c51c26 SHA512 ac31ae6f164c0e38c5a942c9ee222a33369fb56bdc9f8295b6e5727f7c441255cea88403c0537d3e4b3baefe366583ca5cb47c27f36afa3b70450d0c87517083
DIST DaVinci_Resolve_18.1_Linux.zip 3182942106 BLAKE2B 0ff2cbee1b781c6dcda7ee28ae823585beac7ee8269ee5e80bdaed2b75698f712a78f426ec5c744729cf9f96520f412762e367cd879de3cd6499d2578f3dec39 SHA512 ae11f469cdb84c611558364e46fef1dbb1aaf2508728a9b642127e7aec7edb62e8800896df94b20bcc82c7707800b3a2eb9cba8a7f920765531b847f6ab60463
DIST makeresolvedeb_1.6.0_multi.sh.tar.gz 4191 BLAKE2B ab2f09f339700ee31e011811152c6b97cc7e172698236efba0c0254cf69966c776dd222302e1da0266423f0af9c54ae426de4f5354d0d4550ae89b354f0a3d7a SHA512 02baae42c1e9d2163660b765ee6556660b337a3dfe25a60ee4bad9331d84700538ff9b339d045dd91cc0d89d1cd805e56437ae3a8d6ddf6502d0be0f0e5bc114
DIST makeresolvedeb_1.6.2_multi.sh.tar.gz 4258 BLAKE2B bcc2f602e9023f296b3dc69cb6cc04ea87001d51981a80eb3ffd2d4d5944e163a773a3a556b19fcb6e9a5b89f59c2e3535ae5f9f546068379888f982bf07d65d SHA512 b7afae27c4f2e9ab970ebbcc0f85427e36d6442883f9b6d616f85e78e256c91cc444ee714e0cb92167afed9340448464ab00118400bae9d929eaadc3110471f2
EBUILD davinci-resolve-17.4.6.ebuild 2467 BLAKE2B fb9de7cd7a13482dcfe42f8e6823179daf144c72d4b8a8024b5aa5f502288862848dacc52bbe40f565f91c04dc991aaf02d5a0ef95e9ac626847f95ffbb16780 SHA512 dbc71120a6131aac4eeb7ab48a67ec153fb9a38316ce38a581fd99cae7f7479daa08b1afc3a88a208fc7c034b13df87fab0c7b104219f391e74fec2ab39781c7
EBUILD davinci-resolve-18.0.3.ebuild 2467 BLAKE2B fb9de7cd7a13482dcfe42f8e6823179daf144c72d4b8a8024b5aa5f502288862848dacc52bbe40f565f91c04dc991aaf02d5a0ef95e9ac626847f95ffbb16780 SHA512 dbc71120a6131aac4eeb7ab48a67ec153fb9a38316ce38a581fd99cae7f7479daa08b1afc3a88a208fc7c034b13df87fab0c7b104219f391e74fec2ab39781c7
EBUILD davinci-resolve-18.0.4.ebuild 2467 BLAKE2B fb9de7cd7a13482dcfe42f8e6823179daf144c72d4b8a8024b5aa5f502288862848dacc52bbe40f565f91c04dc991aaf02d5a0ef95e9ac626847f95ffbb16780 SHA512 dbc71120a6131aac4eeb7ab48a67ec153fb9a38316ce38a581fd99cae7f7479daa08b1afc3a88a208fc7c034b13df87fab0c7b104219f391e74fec2ab39781c7
EBUILD davinci-resolve-18.1.ebuild 2467 BLAKE2B 314be23153ef0e50daf3e6c41b80f542fc14173c8c8867a7e44dc79d67c7cca97ddf7826c137d0cf6e73729ad98e866a08a1f7722b0f2804e081b0925079790b SHA512 bbe23d5ca42f0552e12f5ca71012c12fd6739fff1c59ec65066d560caf670133f5467a792c3393f2a75313af2e27f30bd2e51d51de5c4108e3fec237de24c16f
MISC ChangeLog 984 BLAKE2B 6b5afde0d34caa62f7a6e336c651652380e9144d8c3382dcca2ee680b85724d93deca09c903565ccd79987d39ed61c517f1a5e717f37d3b00d24ac95c038edf3 SHA512 8110c143fd18310b7f12b9eb575f5179a574f0941bf1d6978c96ff4887289ecabfc4c3ab5fb4a9125d9b9d5e65d9d430ebc349965b925ba0bd35cf86466badba
MISC metadata.xml 408 BLAKE2B 66a3e2838d5c5f95c7463733cd13b1230ef3ca005ec0c5dac797561be30f950da98dfa41eeb4d43cf97500c9a2e0d04c57b0b084d60107072a988dd7c4d16ded SHA512 9cac3e4a07c425e87274de776e03d243e462341168235cd3991ef4706aa1a902cf6591ae8e965b9c4ed370fc2ebef3ca805a9c761d05c4b994ae8667198b267c

View File

@@ -0,0 +1,108 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
MAJOR_VER="$(ver_cut 1-3)"
#MAJOR_VER="18.0b1"
if [[ "${PN}" == "davinci-resolve-studio" ]] ; then
BASE_NAME="DaVinci_Resolve_Studio_${MAJOR_VER}_Linux"
CONFLICT_PKG="!!media-video/davinci-resolve"
else
BASE_NAME="DaVinci_Resolve_${MAJOR_VER}_Linux"
CONFLICT_PKG="!!media-video/davinci-resolve-studio"
fi
ARC_NAME="${BASE_NAME}.zip"
MRD_VER=1.6.2
inherit udev xdg
DESCRIPTION="Professional A/V post-production software suite"
HOMEPAGE="
https://www.blackmagicdesign.com/support/family/davinci-resolve-and-fusion
"
SRC_URI="${ARC_NAME}
https://www.danieltufvesson.com/download/?file=makeresolvedeb/makeresolvedeb_${MRD_VER}_multi.sh.tar.gz"
LICENSE="all-rights-reserved"
KEYWORDS="-* ~amd64"
SLOT="0"
IUSE="doc udev"
RESTRICT="strip mirror bindist fetch userpriv"
RDEPEND="
virtual/glu
x11-libs/gtk+:=
${CONFLICT_PKG}
"
DEPEND="
app-arch/libarchive
dev-libs/openssl-compat
dev-qt/qtcore:5
dev-qt/qtsvg:5
dev-qt/qtwebengine:5
dev-qt/qtwebsockets:5
media-libs/gstreamer
media-libs/libpng
sys-fs/fuse[suid]
udev? ( virtual/udev )
virtual/opencl
x11-misc/xdg-user-dirs
${RDEPEND}
"
BDEPEND="dev-util/patchelf"
S="${WORKDIR}"
DR="${WORKDIR}/davinci-resolve_${MAJOR_VER}-mrd${MRD_VER}_amd64"
QA_PREBUILT="*"
pkg_nofetch() {
einfo "Please download installation file"
einfo " - ${ARC_NAME}"
einfo "from ${HOMEPAGE} and place it in \$\{DISTDIR\}."
einfo "===="
einfo "Please download installation file"
einfo " - makeresolvedeb_${MRD_VER}_multi.sh.tar.gz"
einfo "from https://www.danieltufvesson.com/makeresolvedeb and place it in \$\{DISTDIR\}."
}
src_prepare() {
mv "${WORKDIR}"/makeresolvedeb*.sh "${WORKDIR}"/makeresolvedeb.sh
eapply -p0 "${FILESDIR}/makeresolvedeb_gentoo_${MRD_VER}.patch"
eapply_user
sed -i -e "s!#LIBDIR#!$(get_libdir)!" "${WORKDIR}"/makeresolvedeb.sh || die "Sed failed!"
}
_adjust_sandbox() {
addwrite /dev
addread /dev
addpredict /root
addpredict /etc
addpredict /lib
addpredict /usr
addpredict /sys
addpredict "/var/BlackmagicDesign/DaVinci Resolve"
}
src_compile() {
_adjust_sandbox
cd "${WORKDIR}"
chmod u+x ${BASE_NAME}.run
CI_TEST="1" "${WORKDIR}"/makeresolvedeb.sh ${BASE_NAME}.run
}
src_install() {
cp -a ${DR}/lib "${ED}" || die
cp -a ${DR}/opt "${ED}" || die
cp -a ${DR}/usr "${ED}" || die
cp -a ${DR}/var "${ED}" || die
if use doc ; then
dodoc *.pdf
fi
}

View File

@@ -0,0 +1,70 @@
--- makeresolvedeb_1.6.2_multi.sh 2022-11-12 08:58:22.000000000 +0100
+++ makeresolvedeb.sh 2022-11-17 14:16:54.399577310 +0100
@@ -151,8 +151,8 @@
copy_object ${UNPACK_DIR}/libs/libBlackmagicRawAPI.so ${RESOLVE_BASE_DIR}/bin/
# Install panel API library
- create_directory ${DEB_DIR}/usr/lib/
- extract_tgz ${UNPACK_DIR}/share/panels/dvpanel-framework-linux-x86_64.tgz ${DEB_DIR}/usr/lib/ libDaVinciPanelAPI.so
+ create_directory ${DEB_DIR}/usr/#LIBDIR#/
+ extract_tgz ${UNPACK_DIR}/share/panels/dvpanel-framework-linux-x86_64.tgz ${DEB_DIR}/usr/#LIBDIR#/ libDaVinciPanelAPI.so
# Add postinst commands
cat >> ${DEB_DIR}/DEBIAN/postinst <<EOF
@@ -208,8 +208,8 @@
copy_object ${UNPACK_DIR}/share/default_cm_config.bin ${RESOLVE_BASE_DIR}/share/
# Extract panel API library
- create_directory ${DEB_DIR}/usr/lib
- extract_tgz ${UNPACK_DIR}/share/panels/dvpanel-framework-linux-x86_64.tgz ${DEB_DIR}/usr/lib libDaVinciPanelAPI.so
+ create_directory ${DEB_DIR}/usr/#LIBDIR#/
+ extract_tgz ${UNPACK_DIR}/share/panels/dvpanel-framework-linux-x86_64.tgz ${DEB_DIR}/usr/#LIBDIR#/ libDaVinciPanelAPI.so
# BlackmagicRawAPI fixes
create_directory ${RESOLVE_BASE_DIR}/bin/BlackmagicRawAPI/
@@ -271,9 +271,9 @@
copy_object ${UNPACK_DIR}/share/default_cm_config.bin ${RESOLVE_BASE_DIR}/share/
# Extract panel API library
- create_directory ${DEB_DIR}/usr/lib
- extract_tgz ${UNPACK_DIR}/share/panels/dvpanel-framework-linux-x86_64.tgz ${DEB_DIR}/usr/lib libDaVinciPanelAPI.so
- extract_tgz ${UNPACK_DIR}/share/panels/dvpanel-framework-linux-x86_64.tgz ${DEB_DIR}/usr/lib libFairlightPanelAPI.so
+ create_directory ${DEB_DIR}/usr/#LIBDIR#/
+ extract_tgz ${UNPACK_DIR}/share/panels/dvpanel-framework-linux-x86_64.tgz ${DEB_DIR}/usr/#LIBDIR#/ libDaVinciPanelAPI.so
+ extract_tgz ${UNPACK_DIR}/share/panels/dvpanel-framework-linux-x86_64.tgz ${DEB_DIR}/usr/#LIBDIR#/ libFairlightPanelAPI.so
# BlackmagicRawAPI fixes for 17.0 & 17.1
if [[ "$RESOLVE_VERSION" == 17.0* ]] || [[ "$RESOLVE_VERSION" == 17.1* ]];
@@ -333,9 +333,9 @@
fi
# Extract panel API library
- create_directory ${DEB_DIR}/usr/lib
- extract_tgz ${UNPACK_DIR}/share/panels/dvpanel-framework-linux-x86_64.tgz ${DEB_DIR}/usr/lib libDaVinciPanelAPI.so
- extract_tgz ${UNPACK_DIR}/share/panels/dvpanel-framework-linux-x86_64.tgz ${DEB_DIR}/usr/lib libFairlightPanelAPI.so
+ create_directory ${DEB_DIR}/usr/#LIBDIR#/
+ extract_tgz ${UNPACK_DIR}/share/panels/dvpanel-framework-linux-x86_64.tgz ${DEB_DIR}/usr/#LIBDIR#/ libDaVinciPanelAPI.so
+ extract_tgz ${UNPACK_DIR}/share/panels/dvpanel-framework-linux-x86_64.tgz ${DEB_DIR}/usr/#LIBDIR#/ libFairlightPanelAPI.so
# Create common data dir
create_directory ${DEB_DIR}/var/BlackmagicDesign/DaVinci\ Resolve
@@ -512,7 +512,7 @@
echo "[ERROR] DaVinci Resolve installer archive is not executable"
exit 1
fi
- NUMEXTRACT=$(SKIP_PACKAGE_CHECK=1 ./${INSTALLER_ARCHIVE} -i -y -n -C ${UNPACK_DIR_ABS} | grep "^Copied " -c)
+ NUMEXTRACT=$(SKIP_PACKAGE_CHECK=1 ./${INSTALLER_ARCHIVE} -i -y -n -a -C ${UNPACK_DIR_ABS} | grep "^Copied " -c)
echo "Found ${NUMEXTRACT} objects"
if [[ -z "$(ls -A ${UNPACK_DIR})" ]];
then
@@ -621,8 +621,8 @@
# Verify that we have the commands we need
check_command tar
-check_command fakeroot
-check_command dpkg-deb
+#check_command fakeroot
+#check_command dpkg-deb
echo
# Create destination directories

4
media-video/mpv/Manifest Normal file
View File

@@ -0,0 +1,4 @@
DIST mpv-0.34.1.tar.gz 3288356 BLAKE2B c0e5dc3cd23307449a526bd2cf0df5d870322aa1914a139784fd50d77274d42648a769ee4da3ba74e34a7a080700a5740dae13ed0827df1b3cfef36846f983ab SHA512 77ea349d6999f8cce9b5cce4cebd3506a224fc18ab08d22dd16bd34c34d012bb170879b268ddd62db40d116b4cc0b2d9d651b8097f387ed9115c426834cac77e
DIST waf-2.0.22 104880 BLAKE2B 6cae9e764712012ef97f790c723b86a2603dc64e9bafcec02c5251dbc1b23ec629db26c02eee2a72a77cf70c11d2729a626ea71f3cb50a6281257fd6f63eadf0 SHA512 4156cefa65b7e6349ddb1ca643bbdf3e4444449d137e5f595535564271d521362291f257765329015671584ac2c596a0ad98cfdbd621f5d5352141a55d384292
EBUILD mpv-0.34.1-r102.ebuild 9743 BLAKE2B 515bb84a42b318a4c2949dd21ef7cd82bcd1fc773b10d88f25e70dd14f19e03b81b42acb5f69ed8f632b9dd61588bd6ded9ae99975f2736998af85cb59cc62d2 SHA512 988b2eacdc9a2f763cbf39fc9ef7fba1a28775ccb402e1492168237922653ef8d258aaee953061bccdca61693c97faa593767fc4c43a4e30e4881d58ef08aa4d
MISC metadata.xml 2311 BLAKE2B 311215e7a690fae3e5469bc39436aab6f8b2154d15c7848f003f2565cc0a08a8b399231512ad5c0819cc1be670be314600d2da97abda2935a5a54fa9fa8e0dca SHA512 b934750143aed87145261473e7e02e6896f11ac33ee3cb8eeda503afbfed646a6bd8668f65e672c5afbac5f812ff01ca64df32d1deaa9eba69e72cb52b6b01e7

View File

@@ -0,0 +1,36 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>zlogene@gentoo.org</email>
<name>Mikle Kolyada</name>
</maintainer>
<use>
<flag name="archive">Enable support for various archive formats via <pkg>app-arch/libarchive</pkg></flag>
<flag name="bluray">Enable playback of Blu-ray filesystems</flag>
<flag name="cli">Build mpv CLI player</flag>
<flag name="cplugins">Enable C plugins support</flag>
<flag name="cuda">Enable hardware video decoding via Nvidia CUDA</flag>
<flag name="drm">Enable Kernel Mode Setting / Direct Rendering Manager based video output</flag>
<flag name="egl">Enable support for various EGL-based video outputs / backends</flag>
<flag name="gamepad">Enable gamepad input support</flag>
<flag name="gbm">Enable Graphics Buffer Manager based EGL video backend</flag>
<flag name="jpeg">Enable support for saving screenshots in JPEG format</flag>
<flag name="libmpv">Build mpv shared library</flag>
<flag name="lua">Enable Lua scripting, OSC (On Screen Controller) GUI and <pkg>net-misc/youtube-dl</pkg> hook-script</flag>
<flag name="opengl" restrict="&lt;media-video/mpv-0.28.0">Enable the recommended 'opengl' video output</flag>
<flag name="opengl" restrict="&gt;=media-video/mpv-0.28.0">Enable support for various OpenGL-based video backends</flag>
<flag name="raspberry-pi">Enable support for the Raspberry Pi</flag>
<flag name="rubberband">Enable high quality pitch correction via <pkg>media-libs/rubberband</pkg></flag>
<flag name="sdl">Enable <pkg>media-libs/libsdl2</pkg> based video and audio outputs
(Note: these outputs exist for compatibility reasons only, avoid if possible)</flag>
<flag name="tools">Install extra tools: mpv_identify.sh, mpv_idet.sh, and umpv</flag>
<flag name="uchardet">Enable subtitles charset discovery via <pkg>app-i18n/uchardet</pkg></flag>
<flag name="vapoursynth">Enable vapoursynth scripting via <pkg>media-libs/vapoursynth</pkg></flag>
<flag name="vulkan">Enable support for various Vulkan-based video backends</flag>
<flag name="zimg">Enable libzimg support (for vf_fingerprint)</flag>
</use>
<upstream>
<remote-id type="github">mpv-player/mpv</remote-id>
</upstream>
</pkgmetadata>

View File

@@ -0,0 +1,359 @@
# Copyright 2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
LUA_COMPAT=( lua5-{1..2} luajit )
PYTHON_COMPAT=( python3_{9..11} )
PYTHON_REQ_USE='threads(+)'
WAF_PV=2.0.22
inherit bash-completion-r1 flag-o-matic lua-single optfeature pax-utils python-r1 toolchain-funcs waf-utils xdg-utils
DESCRIPTION="Media player based on MPlayer and mplayer2"
HOMEPAGE="https://mpv.io/ https://github.com/mpv-player/mpv"
if [[ ${PV} != *9999* ]]; then
SRC_URI="https://github.com/mpv-player/mpv/archive/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux"
DOCS=( RELEASE_NOTES )
else
EGIT_REPO_URI="https://github.com/mpv-player/mpv.git"
inherit git-r3
DOCS=(); SRC_URI=""
fi
SRC_URI+=" https://waf.io/waf-${WAF_PV}"
DOCS+=( README.md DOCS/{client-api,interface}-changes.rst )
# See Copyright in sources and Gentoo bug 506946. Waf is BSD, libmpv is ISC.
LICENSE="LGPL-2.1+ GPL-2+ BSD ISC"
SLOT="0"
IUSE="+alsa aqua archive bluray cdda +cli coreaudio cplugins debug doc drm dvb
dvd +egl gamepad gbm +iconv jack javascript jpeg lcms libcaca libmpv +lua
nvenc openal +opengl pulseaudio raspberry-pi rubberband sdl
selinux test tools +uchardet vaapi vapoursynth vdpau vulkan wayland +X +xv zlib zimg"
REQUIRED_USE="
|| ( cli libmpv )
aqua? ( opengl )
egl? ( || ( gbm X wayland ) )
gamepad? ( sdl )
gbm? ( drm egl opengl )
lcms? ( opengl )
lua? ( ${LUA_REQUIRED_USE} )
nvenc? ( opengl )
opengl? ( || ( aqua egl X raspberry-pi !cli ) )
raspberry-pi? ( opengl )
test? ( opengl )
tools? ( cli )
uchardet? ( iconv )
vaapi? ( || ( gbm X wayland ) )
vdpau? ( X )
vulkan? ( || ( X wayland ) )
wayland? ( egl )
X? ( egl? ( opengl ) )
xv? ( X )
${PYTHON_REQUIRED_USE}
"
RESTRICT="!test? ( test )"
COMMON_DEPEND="
>=media-video/ffmpeg-4.0:0=[encode,threads,vaapi?,vdpau?]
alsa? ( >=media-libs/alsa-lib-1.0.18 )
archive? ( >=app-arch/libarchive-3.4.0:= )
bluray? ( >=media-libs/libbluray-0.3.0:= )
cdda? ( dev-libs/libcdio-paranoia
dev-libs/libcdio:= )
drm? ( x11-libs/libdrm )
dvd? (
>=media-libs/libdvdnav-4.2.0:=
>=media-libs/libdvdread-4.1.0:=
)
egl? ( media-libs/mesa[egl(+),gbm(+)?,wayland(-)?] )
gamepad? ( media-libs/libsdl2 )
iconv? (
virtual/libiconv
uchardet? ( app-i18n/uchardet )
)
jack? ( virtual/jack )
javascript? ( >=dev-lang/mujs-1.0.0 )
jpeg? ( virtual/jpeg:0 )
lcms? ( >=media-libs/lcms-2.6:2 )
>=media-libs/libass-0.12.1:=[fontconfig,harfbuzz(+)]
virtual/ttf-fonts
libcaca? ( >=media-libs/libcaca-0.99_beta18 )
lua? ( ${LUA_DEPS} )
openal? ( >=media-libs/openal-1.13 )
pulseaudio? ( media-sound/pulseaudio )
raspberry-pi? ( >=media-libs/raspberrypi-userland-0_pre20160305-r1 )
rubberband? ( >=media-libs/rubberband-1.8.0 )
sdl? ( media-libs/libsdl2[sound,threads,video] )
vaapi? ( media-libs/libva:=[drm(+)?,X?,wayland?] )
vapoursynth? ( media-libs/vapoursynth )
vdpau? ( x11-libs/libvdpau )
vulkan? (
>=media-libs/libplacebo-3.104.0:=[vulkan]
media-libs/shaderc
)
wayland? (
>=dev-libs/wayland-1.6.0
>=dev-libs/wayland-protocols-1.14
>=x11-libs/libxkbcommon-0.3.0
)
X? (
x11-libs/libX11
x11-libs/libXScrnSaver
x11-libs/libXext
x11-libs/libXinerama
x11-libs/libXrandr
opengl? (
x11-libs/libXdamage
virtual/opengl
)
xv? ( x11-libs/libXv )
)
zlib? ( sys-libs/zlib )
zimg? ( >=media-libs/zimg-2.9.2 )
"
DEPEND="${COMMON_DEPEND}
${PYTHON_DEPS}
dvb? ( virtual/linuxtv-dvb-headers )
nvenc? ( >=media-libs/nv-codec-headers-8.2.15.7 )
"
RDEPEND="${COMMON_DEPEND}
nvenc? ( x11-drivers/nvidia-drivers[X] )
selinux? ( sec-policy/selinux-mplayer )
tools? ( ${PYTHON_DEPS} )
"
BDEPEND="dev-python/docutils
virtual/pkgconfig
test? ( >=dev-util/cmocka-1.0.0 )
"
pkg_setup() {
use lua && lua-single_pkg_setup
}
src_prepare() {
cp "${DISTDIR}/waf-${WAF_PV}" "${S}"/waf || die
chmod +x "${S}"/waf || die
default
}
src_configure() {
python_setup
tc-export CC PKG_CONFIG AR
if use raspberry-pi; then
append-cflags -I"${ESYSROOT}/opt/vc/include"
append-ldflags -L"${ESYSROOT}/opt/vc/lib"
fi
local mywafargs=(
--confdir="${EPREFIX}/etc/${PN}"
$(usex cli '' '--disable-cplayer')
$(use_enable libmpv libmpv-shared)
--disable-libmpv-static
--disable-static-build
# See deep down below for build-date.
--disable-optimize # Don't add '-O2' to CFLAGS.
$(usex debug '' '--disable-debug-build')
$(use_enable doc html-build)
--disable-pdf-build
--enable-manpage-build
$(use_enable cplugins)
$(use_enable test)
$(use_enable iconv)
$(use_enable lua)
$(use_enable javascript)
$(use_enable zlib)
$(use_enable bluray libbluray)
$(use_enable dvd dvdnav)
$(use_enable cdda)
$(use_enable uchardet)
$(use_enable rubberband)
$(use_enable lcms lcms2)
$(use_enable vapoursynth)
$(use_enable archive libarchive)
--enable-libavdevice
# Audio outputs:
$(use_enable sdl sdl2) # Listed under audio, but also includes video.
$(use_enable pulseaudio pulse)
$(use_enable jack)
$(use_enable openal)
--disable-opensles
$(use_enable alsa)
$(use_enable coreaudio)
# Video outputs:
$(use_enable aqua cocoa)
$(use_enable drm)
$(use_enable gbm)
$(use_enable wayland wayland-scanner)
$(use_enable wayland wayland-protocols)
$(use_enable wayland)
$(use_enable X x11)
$(use_enable xv)
$(usex opengl "$(use_enable aqua gl-cocoa)" '--disable-gl-cocoa')
$(usex opengl "$(use_enable X gl-x11)" '--disable-gl-x11')
$(usex egl "$(use_enable X egl-x11)" '--disable-egl-x11')
$(usex egl "$(use_enable gbm egl-drm)" '--disable-egl-drm')
$(usex opengl "$(use_enable wayland gl-wayland)" '--disable-gl-wayland')
$(use_enable vdpau)
$(usex vdpau "$(use_enable opengl vdpau-gl-x11)" '--disable-vdpau-gl-x11')
$(use_enable vaapi) # See below for vaapi-glx, vaapi-x-egl.
$(usex vaapi "$(use_enable X vaapi-x11)" '--disable-vaapi-x11')
$(usex vaapi "$(use_enable wayland vaapi-wayland)" '--disable-vaapi-wayland')
$(usex vaapi "$(use_enable gbm vaapi-drm)" '--disable-vaapi-drm')
$(use_enable libcaca caca)
$(use_enable jpeg)
$(use_enable vulkan shaderc)
$(use_enable vulkan libplacebo)
$(use_enable raspberry-pi rpi)
$(usex libmpv "$(use_enable opengl plain-gl)" '--disable-plain-gl')
$(usex opengl '' '--disable-gl')
$(use_enable vulkan)
$(use_enable gamepad sdl2-gamepad)
# HWaccels:
# Automagic Video Toolbox HW acceleration. See Gentoo bug 577332.
$(use_enable nvenc cuda-hwaccel)
$(use_enable nvenc cuda-interop)
# TV features:
$(use_enable dvb dvbin)
# Miscellaneous features:
$(use_enable zimg)
)
if use lua; then
if use lua_single_target_luajit; then
mywafargs+=( --lua="luajit" )
else
# Because it would be too simple to just let the user directly
# specify the package name to check, wouldn't it.
mywafargs+=( --lua="$(ver_rs 1 '' $(ver_cut 1-2 $(lua_get_version)))" )
fi
fi
if use vaapi && use X; then
mywafargs+=(
$(use_enable egl vaapi-x-egl)
)
fi
# Not for us
mywafargs+=(
--disable-android
--disable-egl-android
--disable-uwp
--disable-audiounit
--disable-macos-media-player
--disable-wasapi
--disable-ios-gl
--disable-macos-touchbar
--disable-macos-cocoa-cb
--disable-tvos
--disable-egl-angle-win32
)
mywafargs+=(
--bashdir="$(get_bashcompdir)"
--zshdir=${EPREFIX}/usr/share/zsh/site-functions
)
# Create reproducible non-live builds.
[[ ${PV} != *9999* ]] && mywafargs+=(--disable-build-date)
waf-utils_src_configure "${mywafargs[@]}"
}
src_install() {
waf-utils_src_install
if use lua; then
insinto /usr/share/${PN}
doins -r TOOLS/lua
fi
if use cli && use lua_single_target_luajit; then
pax-mark -m "${ED}"${EPREFIX}/usr/bin/${PN}
fi
if use tools; then
dobin TOOLS/{mpv_identify.sh,umpv}
newbin TOOLS/idet.sh mpv_idet.sh
python_replicate_script "${ED}"${EPREFIX}/usr/bin/umpv
fi
}
pkg_postinst() {
local rv softvol_0_18_1=0 osc_0_21_0=0 txtsubs_0_24_0=0 opengl_0_25_0=0
for rv in ${REPLACING_VERSIONS}; do
ver_test ${rv} -lt 0.18.1 && softvol_0_18_1=1
ver_test ${rv} -lt 0.21.0 && osc_0_21_0=1
ver_test ${rv} -lt 0.24.0 && txtsubs_0_24_0=1
ver_test ${rv} -lt 0.25.0 && ! use opengl && opengl_0_25_0=1
done
if [[ ${softvol_0_18_1} -eq 1 ]]; then
elog "Since version 0.18.1 the software volume control is always enabled."
elog "This means that volume controls don't change the system volume,"
elog "e.g. per-application volume with PulseAudio."
elog "If you want to restore the previous behaviour, please refer to"
elog
elog "https://wiki.gentoo.org/wiki/Mpv#Volume_in_0.18.1"
elog
fi
if [[ ${osc_0_21_0} -eq 1 ]]; then
elog "In version 0.21.0 the default OSC layout was changed."
elog "If you want to restore the previous layout, please refer to"
elog
elog "https://wiki.gentoo.org/wiki/Mpv#OSC_in_0.21.0"
elog
fi
if [[ ${txtsubs_0_24_0} -eq 1 ]]; then
elog "Since version 0.24.0 subtitles with .txt extension aren't autoloaded."
elog "If you want to restore the previous behaviour, please refer to"
elog
elog "https://wiki.gentoo.org/wiki/Mpv#Subtitles_with_.txt_extension_in_0.24.0"
elog
fi
if [[ ${opengl_0_25_0} -eq 1 ]]; then
elog "Since version 0.25.0 the 'opengl' USE flag is mapped to"
elog "the 'opengl' video output and no longer explicitly requires"
elog "X11 or Mac OS Aqua. Consider enabling the 'opengl' USE flag."
fi
optfeature "URL support" net-misc/yt-dlp
xdg_icon_cache_update
xdg_desktop_database_update
}
pkg_postrm() {
xdg_icon_cache_update
xdg_desktop_database_update
}
src_test() {
cd "${S}"/build/test || die
local test
for test in *; do
if [[ -x ${test} ]]; then
./"${test}" || die "Test suite failed"
fi
done
}