commit: d28e6a84e4955aa2f4f966d2c9dce6f3997cfbf9
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Thu May 22 03:17:57 2025 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Thu May 22 03:24:02 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d28e6a84
media-libs/libplacebo: add 7.351.0
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
media-libs/libplacebo/Manifest | 3 +
media-libs/libplacebo/libplacebo-7.351.0.ebuild | 136 ++++++++++++++++++++++++
2 files changed, 139 insertions(+)
diff --git a/media-libs/libplacebo/Manifest b/media-libs/libplacebo/Manifest
index 2687364a6dbf..6d6f9c28ae97 100644
--- a/media-libs/libplacebo/Manifest
+++ b/media-libs/libplacebo/Manifest
@@ -1,3 +1,6 @@
DIST fast_float-5.2.0.tar.gz 84800 BLAKE2B
39133eda20acd5f1f049e8040815a67aee588ab93be4953bde3b9227fb691e099581ef79b12b740437b78a9b4c9007762b44d9726ca07505ad5cb51394d8e3fd
SHA512
c703c7cba3c69775317c66a62ce145646fd7d3d063124501e3d6a7deebb8c62c14a2ccdffed18de2d73d9d3a8ba2061ef1d34cc780ee0b6d607935d5f1b1de81
+DIST fast_float-8.0.1.tar.gz 121234 BLAKE2B
fe98a77a14c7db066150bf80410ca4734a57934c911bd334c2119d759128e9460b5253b020e6c41776e3107ddcd02b64a6ec4656588801a6a9274a99e5968f04
SHA512
25dc7fd68c35aac97975fb8216db7f2f23cf34b81c7c550ae2857b595d74afb97e7fb78103e10c1509d21fe36c18f3fc23d1bf43120133cb870542a89d5c87bc
DIST libplacebo-glad-2.0.4.tar.gz 599932 BLAKE2B
788d2b70222fd09eea02515bdf3cbc147540631bf35fe39f12aa21fdbabf3d229f4234a430217dfaf3363934b8be12dd6a19871049a7b117deb8260ec69f8c67
SHA512
328d0dbe33e69f846d1c54226c6675694404f41e53c4762e6013c7bfe76b0700f0b28f4117a2018a09c9c23ccb6ad94d7b20882fefc2513941a4515686c9b9e7
+DIST libplacebo-glad-2.0.8.tar.gz 645593 BLAKE2B
cceee457246dd6edf03da895dc7fd8e7a8e9ab616b88e9703377a5749f827476d743b80a6a3753276b69ffa7987be523e6590d14c756e8d2afc799fdf01d655b
SHA512
ec964d0080c9714803f0464492b237039d2bede805d21aa9e487f3bf910447fd6440eeca59f3795dc4d5dd3b3df35101714fa21ea19eb29f6a021864a2310acd
DIST libplacebo-v7.349.0.tar.bz2 701309 BLAKE2B
6d0b546776c0326ab8305e7e12341b13e560e1ef53600913ece82341c762cdd466fd2d172781c769e59a57058769d5c0e48ca408ba0c2c7f936459bba6fb4212
SHA512
2e8cec7928aaafaaf9825cbacfb4758024ff04e40b98061fc6f178225647c90344e5aad23b02d82483062dbccf966a7d0178075151cefc6abaef1890f2b0c128
+DIST libplacebo-v7.351.0.tar.bz2 703424 BLAKE2B
3b3b50f492f820958a03ddcc8a6b80ae79e1c7d637c2faea2c61e044c157de138cff5a54581fb40847d1751e3d3e122ba0c249faf397327faeff233fc7671290
SHA512
86d1efdde9a43f05e87f0927acece10b9d1bc9b1c4b517e8edb86277c3d2d7937c346e1313e54374d3b562d88c3a2acfe5b2cddb82535b10edf126653687c8ce
diff --git a/media-libs/libplacebo/libplacebo-7.351.0.ebuild
b/media-libs/libplacebo/libplacebo-7.351.0.ebuild
new file mode 100644
index 000000000000..ba3ce4a2b32f
--- /dev/null
+++ b/media-libs/libplacebo/libplacebo-7.351.0.ebuild
@@ -0,0 +1,136 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{11..14} )
+inherit meson-multilib python-any-r1
+
+if [[ ${PV} == 9999 ]]; then
+ EGIT_REPO_URI="https://code.videolan.org/videolan/libplacebo.git"
+ inherit git-r3
+else
+ GLAD_PV=2.0.8
+ FASTFLOAT_PV=8.0.1
+ SRC_URI="
+
https://code.videolan.org/videolan/libplacebo/-/archive/v${PV}/libplacebo-v${PV}.tar.bz2
+
https://github.com/fastfloat/fast_float/archive/refs/tags/v${FASTFLOAT_PV}.tar.gz
+ -> fast_float-${FASTFLOAT_PV}.tar.gz
+ opengl? (
+
https://github.com/Dav1dde/glad/archive/refs/tags/v${GLAD_PV}.tar.gz
+ -> ${PN}-glad-${GLAD_PV}.tar.gz
+ )
+ "
+ S="${WORKDIR}/${PN}-v${PV}"
+ KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86"
+fi
+
+DESCRIPTION="Reusable library for GPU-accelerated image processing primitives"
+HOMEPAGE="
+ https://libplacebo.org/
+ https://code.videolan.org/videolan/libplacebo/
+"
+
+LICENSE="
+ LGPL-2.1+
+ || ( Apache-2.0 Boost-1.0 MIT )
+ opengl? ( MIT )
+"
+SLOT="0/$(ver_cut 2 ${PV}.9999)" # soname
+IUSE="
+ +lcms libdovi llvm-libunwind +opengl +shaderc test
+ unwind +vulkan +xxhash
+"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="vulkan? ( shaderc )"
+
+# dlopen: libglvnd (glad)
+RDEPEND="
+ lcms? ( media-libs/lcms:2[${MULTILIB_USEDEP}] )
+ libdovi? ( media-libs/libdovi:=[${MULTILIB_USEDEP}] )
+ opengl? ( media-libs/libglvnd[${MULTILIB_USEDEP}] )
+ shaderc? ( media-libs/shaderc[${MULTILIB_USEDEP}] )
+ unwind? (
+ llvm-libunwind? ( llvm-runtimes/libunwind[${MULTILIB_USEDEP}] )
+ !llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
+ )
+ vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] )
+"
+# vulkan-headers is required even with USE=-vulkan for the stub (bug #882065)
+DEPEND="
+ ${RDEPEND}
+ >=dev-util/vulkan-headers-1.4
+ xxhash? ( dev-libs/xxhash[${MULTILIB_USEDEP}] )
+"
+BDEPEND="
+ $(python_gen_any_dep 'dev-python/jinja2[${PYTHON_USEDEP}]')
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-5.229.1-llvm-libunwind.patch
+)
+
+python_check_deps() {
+ python_has_version "dev-python/jinja2[${PYTHON_USEDEP}]"
+}
+
+src_unpack() {
+ if [[ ${PV} == 9999 ]]; then
+ local EGIT_SUBMODULES=(
+ 3rdparty/fast_float
+ $(usev opengl 3rdparty/glad)
+ )
+ git-r3_src_unpack
+ else
+ default
+
+ rmdir "${S}"/3rdparty/fast_float || die
+ mv fast_float-${FASTFLOAT_PV} "${S}"/3rdparty/fast_float || die
+
+ if use opengl; then
+ rmdir "${S}"/3rdparty/glad || die
+ mv glad-${GLAD_PV} "${S}"/3rdparty/glad || die
+ fi
+ fi
+}
+
+src_prepare() {
+ default
+
+ # typically auto-skipped, but may assume usable opengl/vulkan then hang
+ sed -i "/tests += 'opengl_surfaceless.c'/d" src/opengl/meson.build ||
die
+ sed -i "/tests += 'vulkan.c'/d" src/vulkan/meson.build || die
+}
+
+multilib_src_configure() {
+ local emesonargs=(
+ -Ddemos=false #851927
+ $(meson_use test tests)
+ $(meson_feature lcms)
+ $(meson_feature libdovi)
+ # glslang has a history of breaking things and shaderc
+ # is the build system preferred alternative if available
+ -Dglslang=disabled
+ $(meson_feature opengl)
+ $(meson_feature opengl gl-proc-addr)
+ $(meson_feature shaderc)
+ $(meson_feature unwind)
+ $(meson_feature vulkan)
+ $(meson_feature vulkan vk-proc-addr)
+ -Dvulkan-registry="${ESYSROOT}"/usr/share/vulkan/registry/vk.xml
+ $(meson_feature xxhash)
+ )
+
+ meson_src_configure
+}
+
+multilib_src_install() {
+ meson_src_install
+
+ # prevent vulkan from leaking into the .pc here for now (bug #951125)
+ if use !vulkan && has_version media-libs/vulkan-loader; then
+ sed -Ee '/^Requires/s/vulkan[^,]*,? ?//;s/,
$//;/^Requires[^:]*: $/d' \
+ -i "${ED}"/usr/$(get_libdir)/pkgconfig/libplacebo.pc ||
die
+ fi
+}