new file mode 100644
@@ -0,0 +1,37 @@
+From 22020dc444aaf3f98dc40f38c0a8aad48476db8f Mon Sep 17 00:00:00 2001
+From: Leon Anavi <leon.anavi@konsulko.com>
+Date: Wed, 8 Jul 2026 11:45:11 +0000
+Subject: [PATCH] pyproject.toml: Do not strip
+
+Switch from Release to RelWithDebInfo and explicitly disable
+scikit-build-core's strip, so bitbake will handle it Fixes:
+
+WARNING: python3-pikepdf-10.9.1-r0 do_populate_sysroot: File
+'/usr/lib/python3.14/site-packages/pikepdf/_core.abi3.so' from
+python3-pikepdf was already stripped, this will prevent future
+debugging!
+
+Upstream-Status: Inappropriate [oe-specific]
+
+Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
+---
+ pyproject.toml | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/pyproject.toml b/pyproject.toml
+index 06ccfbb..475af59 100644
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -7,7 +7,8 @@ build-backend = "scikit_build_core.build"
+
+ [tool.scikit-build]
+ wheel.packages = ["src/pikepdf"]
+-cmake.build-type = "Release"
++cmake.build-type = "RelWithDebInfo"
++install.strip = false
+ wheel.py-api = "cp314"
+
+ [project]
+--
+2.47.3
+
similarity index 71%
rename from meta-python/recipes-devtools/python/python3-pikepdf_10.5.1.bb
rename to meta-python/recipes-devtools/python/python3-pikepdf_10.9.1.bb
@@ -3,7 +3,9 @@ HOMEPAGE = "https://github.com/pikepdf/pikepdf"
LICENSE = "MPL-2.0"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=9741c346eef56131163e13b9db1241b3"
-SRC_URI[sha256sum] = "ffa6c7d0b77deb3af9735e0b0cae177c897431e10d342bb171b62e5527a622b7"
+SRC_URI[sha256sum] = "410fcf32bc9c8a0a96d94bbd6268ba7585333b1423b93a5fa2ef3c05f4eba3da"
+
+SRC_URI += "file://0001-pyproject.toml-Do-not-strip.patch"
inherit pypi python_setuptools_build_meta
@@ -13,6 +15,7 @@ CVE_PRODUCT = "pikepdf"
DEPENDS += " \
python3-pybind11-native \
+ python3-nanobind-native \
qpdf \
"
Upgrade to release 10.9.1: - Fixed a crash (SIGABRT via std::terminate) that could occur when a file-backed {class}pikepdf.Pdf was deallocated while a Python exception was already propagating -- for example when pikepdf.open(filename) appears as a transient element of a list/tuple literal whose later element raises. Opening from a filename closes the file in the input source destructor, which calls back into Python; with an exception already in flight that call raised an error that escaped the destructor. The in-flight exception is now preserved and propagates normally. Added a guard for a likely non-reproducible related case with DecimalPrecision. This work was sponsored by GOVCERT.LU. Signed-off-by: Leon Anavi <leon.anavi@konsulko.com> --- .../0001-pyproject.toml-Do-not-strip.patch | 37 +++++++++++++++++++ ...df_10.5.1.bb => python3-pikepdf_10.9.1.bb} | 5 ++- 2 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 meta-python/recipes-devtools/python/python3-pikepdf/0001-pyproject.toml-Do-not-strip.patch rename meta-python/recipes-devtools/python/{python3-pikepdf_10.5.1.bb => python3-pikepdf_10.9.1.bb} (71%)