@@ -1,4 +1,4 @@
-From 22020dc444aaf3f98dc40f38c0a8aad48476db8f Mon Sep 17 00:00:00 2001
+From 1b326de10bee40f497386921072dd80e2d7ecbde 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
@@ -19,7 +19,7 @@ Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/pyproject.toml b/pyproject.toml
-index 06ccfbb..475af59 100644
+index 9e991c3..d7cee23 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -7,7 +7,8 @@ build-backend = "scikit_build_core.build"
@@ -30,8 +30,5 @@ index 06ccfbb..475af59 100644
+cmake.build-type = "RelWithDebInfo"
+install.strip = false
wheel.py-api = "cp314"
-
- [project]
-2.47.3
-
+ # The wheel-building CI jobs download qpdf's source into ./qpdf to compile
+ # libqpdf before building. Without this exclusion scikit-build-core sweeps that
similarity index 53%
rename from meta-python/recipes-devtools/python/python3-pikepdf_10.11.0.bb
rename to meta-python/recipes-devtools/python/python3-pikepdf_10.13.0.post1.bb
@@ -4,7 +4,7 @@ HOMEPAGE = "https://github.com/pikepdf/pikepdf"
LICENSE = "MPL-2.0"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=9741c346eef56131163e13b9db1241b3"
-SRC_URI[sha256sum] = "4bebc59ac74411064e7c97a4036174023e22ccbecd22b78750ab76551eb38988"
+SRC_URI[sha256sum] = "4b73f926ebae81f04bf14527af330bd00bb268be767e0f189f7c4c3e4ad7ae0a"
SRC_URI += "file://0001-pyproject.toml-Do-not-strip.patch"
@@ -47,6 +47,17 @@ RDEPENDS:${PN}-ptest += " \
do_install_ptest:append() {
install -m 0644 ${S}/pyproject.toml ${D}${PTEST_PATH}/
+ install -m 0644 ${S}/LICENSE.txt ${D}${PTEST_PATH}/
+ install -d ${D}${PTEST_PATH}/third-party-licenses/
+ install -m 0644 ${S}/third-party-licenses/README.md ${D}${PTEST_PATH}/third-party-licenses/
+ install -m 0644 ${S}/third-party-licenses/GCC-exception-3.1.txt ${D}${PTEST_PATH}/third-party-licenses/
+ install -m 0644 ${S}/third-party-licenses/GPL-3.0.txt ${D}${PTEST_PATH}/third-party-licenses/
+ install -m 0644 ${S}/third-party-licenses/libjpeg-turbo-README.ijg.txt ${D}${PTEST_PATH}/third-party-licenses/
+ install -m 0644 ${S}/third-party-licenses/libjpeg-turbo.txt ${D}${PTEST_PATH}/third-party-licenses/
+ install -m 0644 ${S}/third-party-licenses/microsoft-visual-cpp-runtime.txt ${D}${PTEST_PATH}/third-party-licenses/
+ install -m 0644 ${S}/third-party-licenses/openssl.txt ${D}${PTEST_PATH}/third-party-licenses/
+ install -m 0644 ${S}/third-party-licenses/qpdf.txt ${D}${PTEST_PATH}/third-party-licenses/
+ install -m 0644 ${S}/third-party-licenses/zlib.txt ${D}${PTEST_PATH}/third-party-licenses/
}
BBCLASSEXTEND = "native nativesdk"
Upgrade to release 10.13.0.post1: - Behavior change: pikepdf.DataDecodingError now derives from pikepdf.PdfError. A stream that will not decode is a defect in the document, and the same call that raises it - Object.read_bytes() - already raised PdfError for other kinds of damage, so except PdfError was a handler that looked correct, passed on healthy files, and let a traceback escape on damaged ones. Code catching DataDecodingError by name is unaffected. Code that orders except PdfError before except DataDecodingError will now take the first branch; if the distinction matters, reverse the order. - Behavior change: pikepdf.PdfParsingError now derives from pikepdf.PdfError, for the same reason. - pikepdf.PasswordError remains a sibling of PdfError, not a subclass. A wrong password does not mean the document is defective, and handlers that report the two separately depend on except PdfError not catching it. - pikepdf.NotExtractableError is now exported. It was already the base class of the exported HifiPrintImageNotTranscodableError but could not be caught by name. - Fixed the exceptions documentation, which referenced a nonexistent FormCopyWarning (the class is PageCopyWarning) and omitted ReferenceCycleError, PageCopyWarning and NotExtractableError. - XMP assigns a type to every standard property, and software that reads XMP discards a property whose type is wrong - Ghostscript strips these silently, and PDF/A validators reject them. pikepdf used to choose the RDF container from the Python type of the value it was handed, so meta['dc:subject'] = ['a', 'b'] wrote an rdf:Seq where the specification requires an rdf:Bag, and meta['dc:creator'] = 'Author' wrote a bare string where an rdf:Seq belongs. pikepdf now knows the type of the properties in the standard schemas and converts values to it. This work was sponsored by GOVCERT.LU. Signed-off-by: Leon Anavi <leon.anavi@konsulko.com> --- .../0001-pyproject.toml-Do-not-strip.patch | 11 ++++------- ..._10.11.0.bb => python3-pikepdf_10.13.0.post1.bb} | 13 ++++++++++++- 2 files changed, 16 insertions(+), 8 deletions(-) rename meta-python/recipes-devtools/python/{python3-pikepdf_10.11.0.bb => python3-pikepdf_10.13.0.post1.bb} (53%)