From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <gentoo-commits+bounces-1673266-garchives=archives.gentoo.org@lists.gentoo.org>
Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (2048 bits))
	(No client certificate requested)
	by finch.gentoo.org (Postfix) with ESMTPS id 9E6BB158083
	for <garchives@archives.gentoo.org>; Mon, 23 Sep 2024 18:54:26 +0000 (UTC)
Received: from pigeon.gentoo.org (localhost [127.0.0.1])
	by pigeon.gentoo.org (Postfix) with SMTP id 95F95E2A47;
	Mon, 23 Sep 2024 18:54:25 +0000 (UTC)
Received: from smtp.gentoo.org (dev.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
	(No client certificate requested)
	by pigeon.gentoo.org (Postfix) with ESMTPS id 73854E2A47
	for <gentoo-commits@lists.gentoo.org>; Mon, 23 Sep 2024 18:54:25 +0000 (UTC)
Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
	(No client certificate requested)
	by smtp.gentoo.org (Postfix) with ESMTPS id 91B79343492
	for <gentoo-commits@lists.gentoo.org>; Mon, 23 Sep 2024 18:54:24 +0000 (UTC)
Received: from localhost.localdomain (localhost [IPv6:::1])
	by oystercatcher.gentoo.org (Postfix) with ESMTP id A6A811897
	for <gentoo-commits@lists.gentoo.org>; Mon, 23 Sep 2024 18:54:22 +0000 (UTC)
From: "Ionen Wolkens" <ionen@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Content-Transfer-Encoding: 8bit
Content-type: text/plain; charset=UTF-8
Reply-To: gentoo-dev@lists.gentoo.org, "Ionen Wolkens" <ionen@gentoo.org>
Message-ID: <1727117623.e641c674f81c819a0a132150db4e6e76fcfb605a.ionen@gentoo>
Subject: [gentoo-commits] repo/gentoo:master commit in: media-video/mpv/
X-VCS-Repository: repo/gentoo
X-VCS-Files: media-video/mpv/Manifest media-video/mpv/mpv-0.39.0.ebuild
X-VCS-Directories: media-video/mpv/
X-VCS-Committer: ionen
X-VCS-Committer-Name: Ionen Wolkens
X-VCS-Revision: e641c674f81c819a0a132150db4e6e76fcfb605a
X-VCS-Branch: master
Date: Mon, 23 Sep 2024 18:54:22 +0000 (UTC)
Precedence: bulk
List-Post: <mailto:gentoo-commits@lists.gentoo.org>
List-Help: <mailto:gentoo-commits+help@lists.gentoo.org>
List-Unsubscribe: <mailto:gentoo-commits+unsubscribe@lists.gentoo.org>
List-Subscribe: <mailto:gentoo-commits+subscribe@lists.gentoo.org>
List-Id: Gentoo Linux mail <gentoo-commits.gentoo.org>
X-BeenThere: gentoo-commits@lists.gentoo.org
X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply
X-Archives-Salt: 0cb0d630-ec45-447e-9e86-29fa53b5dcce
X-Archives-Hash: a2a5bbe8583e6e78294f1af68efbb0fb

commit:     e641c674f81c819a0a132150db4e6e76fcfb605a
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Mon Sep 23 18:50:18 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Mon Sep 23 18:53:43 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e641c674

media-video/mpv: add 0.39.0

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 media-video/mpv/Manifest          |   1 +
 media-video/mpv/mpv-0.39.0.ebuild | 277 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 278 insertions(+)

diff --git a/media-video/mpv/Manifest b/media-video/mpv/Manifest
index bf9c05f949be..b36b129e6d2c 100644
--- a/media-video/mpv/Manifest
+++ b/media-video/mpv/Manifest
@@ -1 +1,2 @@
 DIST mpv-0.38.0.tar.gz 3419741 BLAKE2B 3ff59d30bc305394f58a1fff4f24540aa3be9412bc3cad27bec0c3478f4b7c13190e26847f38edc52996bb9f9a36dd6832c6fccebd6d873058acf78a320e42e4 SHA512 b5b2af59039ef4711814f94bbdfedb37f8ce914301670e42d4ed05fe1900025a3d3a2f3d5e69628a8aad115a647a27c386718959e2df1a18740468b3a84f8975
+DIST mpv-0.39.0.tar.gz 3494313 BLAKE2B 9f96ba225eb0587d50f8c439359b18f752b98024ab6b40f987be4d57b0ce4b595243f49177ffc48840b351ce19fddc84788b5784b508eb685e58fdfb8e1e0520 SHA512 9cf1d7487b1e9e36d2b731bf951c4d3b9deba95109af408ccfc71b88e85f6de2558e7b4950781667bb4d40e0352742e3ed278559ff34d07905dd459969cbf503

diff --git a/media-video/mpv/mpv-0.39.0.ebuild b/media-video/mpv/mpv-0.39.0.ebuild
new file mode 100644
index 000000000000..31b23432e18e
--- /dev/null
+++ b/media-video/mpv/mpv-0.39.0.ebuild
@@ -0,0 +1,277 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LUA_COMPAT=( lua5-1 luajit )
+PYTHON_COMPAT=( python3_{10..13} )
+inherit flag-o-matic lua-single meson optfeature pax-utils python-single-r1 xdg
+
+if [[ ${PV} == 9999 ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="https://github.com/mpv-player/mpv.git"
+else
+	SRC_URI="https://github.com/mpv-player/mpv/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+	KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux"
+fi
+
+DESCRIPTION="Media player for the command line"
+HOMEPAGE="https://mpv.io/"
+
+LICENSE="LGPL-2.1+ GPL-2+ BSD ISC MIT" #506946
+SLOT="0/2" # soname
+IUSE="
+	+X +alsa aqua archive bluray cdda +cli coreaudio debug +drm dvb
+	dvd +egl gamepad +iconv jack javascript jpeg lcms libcaca +libmpv
+	+lua nvenc openal opengl pipewire pulseaudio rubberband sdl selinux
+	sixel sndio soc test tools +uchardet vaapi vdpau vulkan wayland xv
+	zimg zlib
+"
+REQUIRED_USE="
+	${PYTHON_REQUIRED_USE}
+	|| ( cli libmpv )
+	egl? ( || ( X drm wayland ) )
+	lua? ( ${LUA_REQUIRED_USE} )
+	nvenc? ( || ( egl opengl vulkan ) )
+	opengl? ( || ( X aqua ) )
+	test? ( cli )
+	tools? ( cli )
+	uchardet? ( iconv )
+	vaapi? ( || ( X drm wayland ) )
+	vdpau? ( X )
+	vulkan? ( || ( X wayland ) )
+	xv? ( X )
+"
+RESTRICT="!test? ( test )"
+
+COMMON_DEPEND="
+	media-libs/libass:=[fontconfig]
+	>=media-libs/libplacebo-6.338.2:=[opengl?,vulkan?]
+	>=media-video/ffmpeg-6.1:=[encode,soc(-)?,threads,vaapi?,vdpau?]
+	X? (
+		x11-libs/libX11
+		x11-libs/libXScrnSaver
+		x11-libs/libXext
+		x11-libs/libXpresent
+		x11-libs/libXrandr
+		xv? ( x11-libs/libXv )
+	)
+	alsa? ( media-libs/alsa-lib )
+	archive? ( app-arch/libarchive:= )
+	bluray? ( media-libs/libbluray:= )
+	cdda? (
+		dev-libs/libcdio-paranoia:=
+		dev-libs/libcdio:=
+	)
+	drm? (
+		x11-libs/libdrm
+		egl? ( media-libs/mesa[gbm(+)] )
+	)
+	dvd? (
+		media-libs/libdvdnav
+		media-libs/libdvdread:=
+	)
+	egl? (
+		media-libs/libglvnd
+		media-libs/libplacebo[opengl]
+	)
+	gamepad? ( media-libs/libsdl2[joystick] )
+	iconv? (
+		virtual/libiconv
+		uchardet? ( app-i18n/uchardet )
+	)
+	jack? ( virtual/jack )
+	javascript? ( dev-lang/mujs:= )
+	jpeg? ( media-libs/libjpeg-turbo:= )
+	lcms? ( media-libs/lcms:2 )
+	libcaca? ( media-libs/libcaca )
+	lua? ( ${LUA_DEPS} )
+	openal? ( media-libs/openal )
+	opengl? ( media-libs/libglvnd[X?] )
+	pipewire? ( media-video/pipewire:= )
+	pulseaudio? ( media-libs/libpulse )
+	rubberband? ( media-libs/rubberband )
+	sdl? ( media-libs/libsdl2[sound,threads(+),video] )
+	sixel? ( media-libs/libsixel )
+	sndio? ( media-sound/sndio:= )
+	vaapi? ( media-libs/libva:=[X?,drm(+)?,wayland?] )
+	vdpau? ( x11-libs/libvdpau )
+	vulkan? ( media-libs/vulkan-loader[X?,wayland?] )
+	wayland? (
+		dev-libs/wayland
+		dev-libs/wayland-protocols
+		x11-libs/libxkbcommon
+	)
+	zimg? ( media-libs/zimg )
+	zlib? ( sys-libs/zlib:= )
+"
+RDEPEND="
+	${COMMON_DEPEND}
+	selinux? ( sec-policy/selinux-mplayer )
+	tools? ( ${PYTHON_DEPS} )
+"
+DEPEND="
+	${COMMON_DEPEND}
+	X? ( x11-base/xorg-proto )
+	dvb? ( sys-kernel/linux-headers )
+	nvenc? ( media-libs/nv-codec-headers )
+	vulkan? ( dev-util/vulkan-headers )
+	wayland? ( dev-libs/wayland-protocols )
+"
+BDEPEND="
+	${PYTHON_DEPS}
+	virtual/pkgconfig
+	cli? ( dev-python/docutils )
+	wayland? ( dev-util/wayland-scanner )
+"
+
+pkg_setup() {
+	use lua && lua-single_pkg_setup
+	python-single-r1_pkg_setup
+}
+
+src_configure() {
+	if use !debug; then
+		if use test; then
+			einfo "Skipping -DNDEBUG due to USE=test"
+		else
+			append-cppflags -DNDEBUG # treated specially
+		fi
+	fi
+
+	mpv_feature_multi() {
+		local use set
+		for use in ${1} ${2}; do
+			use ${use} || set=disabled
+		done
+		echo -D${3-${2}}=${set-enabled}
+	}
+
+	local emesonargs=(
+		$(meson_use cli cplayer)
+		$(meson_use libmpv)
+		$(meson_use test tests)
+
+		$(meson_feature cli html-build)
+		$(meson_feature cli manpage-build)
+		-Dpdf-build=disabled
+
+		-Dbuild-date=false
+
+		# misc options
+		$(meson_feature archive libarchive)
+		$(meson_feature bluray libbluray)
+		$(meson_feature cdda)
+		-Dcplugins=enabled
+		$(meson_feature dvb dvbin)
+		$(meson_feature dvd dvdnav)
+		$(meson_feature gamepad sdl2-gamepad)
+		$(meson_feature iconv)
+		$(meson_feature javascript)
+		-Dlibavdevice=enabled
+		$(meson_feature lcms lcms2)
+		-Dlua=$(usex lua "${ELUA}" disabled)
+		$(meson_feature rubberband)
+		-Dsdl2=$(use gamepad || use sdl && echo enabled || echo disabled) #857156
+		$(meson_feature uchardet)
+		-Dvapoursynth=disabled # only available in overlays
+		$(meson_feature zimg)
+		$(meson_feature zlib)
+
+		# audio output
+		$(meson_feature alsa)
+		$(meson_feature coreaudio)
+		$(meson_feature jack)
+		$(meson_feature openal)
+		$(meson_feature pipewire)
+		$(meson_feature pulseaudio pulse)
+		$(meson_feature sdl sdl2-audio)
+		$(meson_feature sndio)
+
+		# video output
+		$(meson_feature X x11)
+		$(meson_feature aqua cocoa)
+		$(meson_feature drm)
+		$(meson_feature jpeg)
+		$(meson_feature libcaca caca)
+		$(meson_feature sdl sdl2-video)
+		$(meson_feature sixel)
+		$(meson_feature wayland)
+		$(meson_feature xv)
+
+		-Dgl=$(use egl || use libmpv || use opengl &&
+			echo enabled || echo disabled)
+		$(meson_feature egl)
+		$(mpv_feature_multi egl X egl-x11)
+		$(mpv_feature_multi egl drm gbm) # gbm is only used by egl-drm
+		$(mpv_feature_multi egl drm egl-drm)
+		$(mpv_feature_multi egl wayland egl-wayland)
+		$(meson_feature libmpv plain-gl)
+		$(mpv_feature_multi opengl X gl-x11)
+		$(mpv_feature_multi opengl aqua gl-cocoa)
+
+		$(meson_feature vulkan)
+
+		# hardware decoding
+		$(meson_feature nvenc cuda-hwaccel)
+		$(meson_feature nvenc cuda-interop)
+
+		$(meson_feature vaapi)
+		$(mpv_feature_multi vaapi X vaapi-x11)
+		$(mpv_feature_multi vaapi drm vaapi-drm)
+		$(mpv_feature_multi vaapi wayland vaapi-wayland)
+
+		$(meson_feature vdpau)
+		$(mpv_feature_multi vdpau opengl vdpau-gl-x11)
+
+		$(mpv_feature_multi aqua opengl videotoolbox-gl)
+
+		# notable options left to automagic
+		#dmabuf-wayland: USE="drm wayland" + plus memfd_create support
+		#vulkan-interop: USE="vulkan" + >=ffmpeg-6.1
+		# TODO?: perhaps few more similar compound options should be left auto
+	)
+
+	meson_src_configure
+}
+
+src_test() {
+	# ffmpeg tests are picky and easily break without necessarily
+	# meaning that there are runtime issues (bug #921091,#924276)
+	meson_src_test --no-suite ffmpeg
+}
+
+src_install() {
+	meson_src_install
+
+	if use lua; then
+		insinto /usr/share/${PN}
+		doins -r TOOLS/lua
+
+		if use cli && use lua_single_target_luajit; then
+			pax-mark -m "${ED}"/usr/bin/${PN}
+		fi
+	fi
+
+	if use tools; then
+		dobin TOOLS/{mpv_identify.sh,umpv}
+		newbin TOOLS/idet.sh mpv_idet.sh
+		python_fix_shebang "${ED}"/usr/bin/umpv
+	fi
+
+	if use cli; then
+		dodir /usr/share/doc/${PF}/html
+		mv "${ED}"/usr/share/doc/{mpv,${PF}/html}/mpv.html || die
+		mv "${ED}"/usr/share/doc/{mpv,${PF}/examples} || die
+	fi
+
+	local GLOBIGNORE=*/*build*:*/*policy*
+	dodoc RELEASE_NOTES DOCS/*.{md,rst}
+}
+
+pkg_postinst() {
+	xdg_pkg_postinst
+
+	optfeature "various websites URL support$(usev !lua \
+		" (requires ${PN} with USE=lua)")" net-misc/yt-dlp
+}