From 32f2857c6781f0b93c8b5527413c482eee6dc5f1 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Mon, 11 Aug 2025 22:00:03 -0700 Subject: [PATCH] libplacebo: Fix build with latest python 3.14 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes FAILED: [code=1] src/vulkan/utils_gen.c /home/kraj200/yoe/build/tmp/work/riscv64imafdc-yoe-linux/libplacebo/7.351.0/recipe-sysroot-native/usr/bin/meson.real -- ↪ internal exe --unpickle /home/kraj200/yoe/build/tmp/work/riscv64imafdc-yoe-linux/libplacebo/7.351.0/build/meson-private/ ↪ meson_exe_nativepython3_7e48a7413404982655e79073cf3065c6194271bf.dat while executing ['/home/kraj200/yoe/build/tmp/work/riscv64imafdc-yoe-linux/libplacebo/7.351.0/recipe-sysroot-native/usr/bin/ ↪ nativepython3', '../sources/libplacebo-7.351.0/src/vulkan/utils_gen.py', '/usr/share', '/home/kraj200/yoe/build/tmp/work/ ↪ riscv64imafdc-yoe-linux/libplacebo/7.351.0/recipe-sysroot/usr/share/vulkan/registry/vk.xml', 'src/vulkan/utils_gen.c'] --- stdout --- --- stderr --- Traceback (most recent call last): File "/home/kraj200/yoe/build/tmp/work/riscv64imafdc-yoe-linux/libplacebo/7.351.0/build/../sources/libplacebo-7.351.0/src/ ↪ vulkan/utils_gen.py", line 205, in registry = VkXML(ET.parse(xmlfile)) File "/home/kraj200/yoe/build/tmp/work/riscv64imafdc-yoe-linux/libplacebo/7.351.0/build/../sources/libplacebo-7.351.0/src/ ↪ vulkan/utils_gen.py", line 50, in __init__ super().__init__(*args, **kwargs) ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/home/kraj200/yoe/build/tmp/work/riscv64imafdc-yoe-linux/libplacebo/7.351.0/recipe-sysroot-native/usr/lib/python3.13/ ↪ xml/etree/ElementTree.py", line 527, in __init__ raise TypeError('expected an Element, not %s' % type(element).__name__) TypeError: expected an Element, not ElementTree Signed-off-by: Khem Raj --- ...vulkan-utils_gen-fix-for-python-3.14.patch | 30 +++++++++++++++++++ .../mplayer/libplacebo_7.351.0.bb | 4 ++- 2 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 meta-oe/recipes-multimedia/mplayer/libplacebo/0001-vulkan-utils_gen-fix-for-python-3.14.patch diff --git a/meta-oe/recipes-multimedia/mplayer/libplacebo/0001-vulkan-utils_gen-fix-for-python-3.14.patch b/meta-oe/recipes-multimedia/mplayer/libplacebo/0001-vulkan-utils_gen-fix-for-python-3.14.patch new file mode 100644 index 0000000000..4e381af340 --- /dev/null +++ b/meta-oe/recipes-multimedia/mplayer/libplacebo/0001-vulkan-utils_gen-fix-for-python-3.14.patch @@ -0,0 +1,30 @@ +From ae40237869ae1db4de7f6d86865bc99820852495 Mon Sep 17 00:00:00 2001 +From: Nicolas Chauvet +Date: Tue, 29 Jul 2025 11:42:35 +0200 +Subject: [PATCH] vulkan/utils_gen: fix for python 3.14 + +Python 3.14+ has added more type checking. This patch fixes usage + +Fixes: https://github.com/haasn/libplacebo/issues/335 + +Upstream-Status: Backport [https://code.videolan.org/videolan/libplacebo/-/commit/12509c0f1ee8c22ae163017f0a5e7b8a9d983a17] +Signed-off-by: Nicolas Chauvet +Signed-off-by: Khem Raj +--- + src/vulkan/utils_gen.py | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/vulkan/utils_gen.py b/src/vulkan/utils_gen.py +index 9a97d35f..9b803d82 100644 +--- a/src/vulkan/utils_gen.py ++++ b/src/vulkan/utils_gen.py +@@ -202,7 +202,8 @@ if __name__ == '__main__': + if not xmlfile or xmlfile == '': + 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( + vkresults = get_vkenum(registry, 'VkResult'), diff --git a/meta-oe/recipes-multimedia/mplayer/libplacebo_7.351.0.bb b/meta-oe/recipes-multimedia/mplayer/libplacebo_7.351.0.bb index 68a29dde91..3a1096bb57 100644 --- a/meta-oe/recipes-multimedia/mplayer/libplacebo_7.351.0.bb +++ b/meta-oe/recipes-multimedia/mplayer/libplacebo_7.351.0.bb @@ -4,7 +4,9 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=435ed639f84d4585d93824e7da3d85da" DEPENDS += "fastfloat glad-native python3-mako-native python3-jinja2-native vulkan-headers" -SRC_URI = "git://code.videolan.org/videolan/libplacebo.git;protocol=https;branch=v7.351" +SRC_URI = "git://code.videolan.org/videolan/libplacebo.git;protocol=https;branch=v7.351 \ + file://0001-vulkan-utils_gen-fix-for-python-3.14.patch \ + " SRCREV = "3188549fba13bbdf3a5a98de2a38c2e71f04e21e" inherit meson pkgconfig