diff --git a/media-libs/libplacebo-7.351.0.PKGBUILD b/media-libs/libplacebo-7.351.0.PKGBUILD new file mode 100644 index 0000000..dc07586 --- /dev/null +++ b/media-libs/libplacebo-7.351.0.PKGBUILD @@ -0,0 +1,79 @@ +pkgname=libplacebo +pkgver=7.351.0 +_fastfloat_ver=8.0.1 +_glad_ver=2.0.8 +pkgdesc="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" "MIT") +depends=( + "lcms:2" + libglvnd + shaderc + vulkan-loader + vulkan-headers +) +_patches=("libplacebo-7.351.0-vulkan-python-xml.patch") +_patch_sums=("2a58fa430f2422c1be18c19eefecd6e3a4faff1a44758a98335f66e1b7972f458dd2dd9433efd48be5179c29fc2b907e1ac16aafd59a922cff4ef5bee7c09d4f") +sources=("${pkgname}-v${pkgver}.tar.bz2" + "fast_float-${_fastfloat_ver}.tar.gz" + "${pkgname}-glad-${_glad_ver}.tar.gz" + "${_patches[@]}" +) +urls=("https://code.videolan.org/videolan/libplacebo/-/archive/v${pkgver}/${sources[0]}" + "https://github.com/fastfloat/fast_float/archive/refs/tags/v${_fastfloat_ver}.tar.gz" + "https://github.com/Dav1dde/glad/archive/refs/tags/v${_glad_ver}.tar.gz" + "${_patches[@]}" +) +sha512sums=("86d1efdde9a43f05e87f0927acece10b9d1bc9b1c4b517e8edb86277c3d2d7937c346e1313e54374d3b562d88c3a2acfe5b2cddb82535b10edf126653687c8ce" + "25dc7fd68c35aac97975fb8216db7f2f23cf34b81c7c550ae2857b595d74afb97e7fb78103e10c1509d21fe36c18f3fc23d1bf43120133cb870542a89d5c87bc" + "ec964d0080c9714803f0464492b237039d2bede805d21aa9e487f3bf910447fd6440eeca59f3795dc4d5dd3b3df35101714fa21ea19eb29f6a021864a2310acd" + "${_patch_sums[@]}" +) + +src_prepare() { + tar -xf ${distdir}/${sources[0]} --strip-components=1 + rmdir 3rdparty/fast_float + tar -xf ${distdir}/${sources[1]} + mv fast_float-${_fastfloat_ver} 3rdparty/fast_float + rmdir 3rdparty/glad + tar -xf ${distdir}/${sources[2]} + mv glad-${_glad_ver} 3rdparty/glad + + for _patch in ${_patches[@]}; do + patch -p1 -i ${filedir}/${_patch} + done +} + +src_build() { + local meson_args=( + --prefix=/usr + --buildtype=release + --wrap-mode=nodownload + -D python.bytecompile=1 + -D demos=false + -D tests=false + -D lcms=enabled + -D libdovi=disabled + -D glslang=disabled + -D opengl=enabled + -D gl-proc-addr=enabled + -D shaderc=enabled + -D unwind=disabled + -D vulkan=enabled + -D vk-proc-addr=enabled + -D vulkan-registry=/usr/share/vulkan/registry/vk.xml + -D xxhash=enabled + ) + meson setup build "${meson_args[@]}" + meson compile -C build +} + +src_check() { + meson test -C build --print-errorlogs +} + +src_install() { + meson install -C build --destdir "$pkgdir" +} + +# vim:ft=sh syn=sh et sw=2: diff --git a/media-libs/libplacebo-7.351.0/libplacebo-7.351.0-vulkan-python-xml.patch b/media-libs/libplacebo-7.351.0/libplacebo-7.351.0-vulkan-python-xml.patch new file mode 100644 index 0000000..9e78279 --- /dev/null +++ b/media-libs/libplacebo-7.351.0/libplacebo-7.351.0-vulkan-python-xml.patch @@ -0,0 +1,16 @@ +Formerly only needed with python-3.14.x but backports have broke +this with python-3.13.6 too. + +https://bugs.gentoo.org/960115 +https://bugs.gentoo.org/961230 +https://code.videolan.org/videolan/libplacebo/-/commit/12509c0f1ee8 +--- a/src/vulkan/utils_gen.py ++++ b/src/vulkan/utils_gen.py +@@ -203,5 +203,6 @@ + xmlfile = find_registry_xml(datadir) + +- registry = VkXML(ET.parse(xmlfile)) ++ tree = ET.parse(xmlfile) ++ registry = VkXML(tree.getroot()) + with open(outfile, 'w') as f: + f.write(TEMPLATE.render(