diff mbox series

[meta-python,scarthgap,v2] python3-backports-zstd: add recipe

Message ID 20260521-add-backports-zstd-v2-1-a31babc9b810@bootlin.com
State Accepted, archived
Delegated to: Anuj Mittal
Headers show
Series [meta-python,scarthgap,v2] python3-backports-zstd: add recipe | expand

Commit Message

Jérémie Dautheribes (Schneider Electric ) May 21, 2026, 5:04 a.m. UTC
This recipe was previously part of the master branch but was removed
because the zstd module was integrated into the Python standard library
starting from Python 3.14.

Since Scarthgap uses Python 3.12, restore and update this recipe for users
on this branch.

Signed-off-by: Jérémie Dautheribes (Schneider Electric) <jeremie.dautheribes@bootlin.com>
---
Hello,

This patch adds support for the backports-zstd Python module in the
Scarthgap branch. The recipe was previously part of the master branch but
was removed [1] because the module was integrated into the Python standard
library starting from Python 3.14.

However, since Scarthgap uses Python 3.12, I believe it is reasonable to
include this backport for users on this branch.

[1]: https://git.openembedded.org/meta-openembedded/commit/meta-python?id=d2539548d0c0e0a42a54fd35bb0e039e23396725
---
Changes in v2:
- Add info in the commit message so that we know why we are adding a new 
recipe in Scarthgap
- Link to v1: https://patch.msgid.link/20260519-add-backports-zstd-v1-1-b417d7d9c0eb@bootlin.com
---
 ...oml-make-license-entries-compatible-with-.patch | 38 ++++++++++++++++++++++
 ...ojects.toml-lower-setuptools-requirements.patch | 31 ++++++++++++++++++
 .../python/python3-backports-zstd_1.5.0.bb         | 21 ++++++++++++
 3 files changed, 90 insertions(+)


---
base-commit: ae7dfb12245c7f9b9a353499e2688015bd4e6413
change-id: 20260519-add-backports-zstd-0ccdda4bc156

Best regards,
--  
Jérémie Dautheribes (Schneider Electric) <jeremie.dautheribes@bootlin.com>
diff mbox series

Patch

diff --git a/meta-python/recipes-devtools/python/python3-backports-zstd/0001-pyproject.toml-make-license-entries-compatible-with-.patch b/meta-python/recipes-devtools/python/python3-backports-zstd/0001-pyproject.toml-make-license-entries-compatible-with-.patch
new file mode 100644
index 0000000000..3e20085071
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python3-backports-zstd/0001-pyproject.toml-make-license-entries-compatible-with-.patch
@@ -0,0 +1,38 @@ 
+From 1114b0d2b60056a3690be1f7629c112cf28ce367 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?J=C3=A9r=C3=A9mie=20Dautheribes=20=28Schneider=20Electric?=
+ =?UTF-8?q?=29?= <jeremie.dautheribes@bootlin.com>
+Date: Fri, 15 May 2026 13:39:15 +0000
+Subject: [PATCH] pyproject.toml: make license entries compatible with
+ setputools v69
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+The pypropject.toml uses license and license-files entries that are only
+compatible with seuptools >= v77, while Yocto Scarthgap only provides
+setuptools v69.
+
+This is the only detected impact, otherwise the do_compile/do_package work
+fine.
+
+Upstream-Status: Inappropriate [specific to OE LTS version]
+Signed-off-by: Jérémie Dautheribes (Schneider Electric) <jeremie.dautheribes@bootlin.com>
+---
+ pyproject.toml | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/pyproject.toml b/pyproject.toml
+index ec9a1ea..18e6816 100644
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -5,8 +5,8 @@ authors = [{ name = "Rogdham", email = "contact@rogdham.net" }]
+ description = "Backport of compression.zstd"
+ readme = { file = "README.md", content-type = "text/markdown" }
+ keywords = ["backport", "backports", "pep-784", "zstd"]
+-license = "PSF-2.0"
+-license-files = ["LICENSE.txt", "LICENSE_zstd.txt"]
++license = { text = "PSF-2.0" }
++#license-files = ["LICENSE.txt"]
+ classifiers = [
+     "Development Status :: 5 - Production/Stable",
+     "Intended Audience :: Developers",
diff --git a/meta-python/recipes-devtools/python/python3-backports-zstd/0002-pyprojects.toml-lower-setuptools-requirements.patch b/meta-python/recipes-devtools/python/python3-backports-zstd/0002-pyprojects.toml-lower-setuptools-requirements.patch
new file mode 100644
index 0000000000..7cbeeff61d
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python3-backports-zstd/0002-pyprojects.toml-lower-setuptools-requirements.patch
@@ -0,0 +1,31 @@ 
+From 2ab6ba1d48a3d0e13382e346ba0a638548a5513e Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?J=C3=A9r=C3=A9mie=20Dautheribes=20=28Schneider=20Electric?=
+ =?UTF-8?q?=29?= <jeremie.dautheribes@bootlin.com>
+Date: Tue, 19 May 2026 14:06:43 +0000
+Subject: [PATCH] pyprojects.toml: lower setuptools requirements
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Scarthgap provides setuptools v69, so adjust the requirement
+accordingly.
+
+Upstream-Status: Inappropriate [specific to OE LTS version]
+Signed-off-by: Jérémie Dautheribes (Schneider Electric) <jeremie.dautheribes@bootlin.com>
+---
+ pyproject.toml | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/pyproject.toml b/pyproject.toml
+index 18e6816..b5953e2 100644
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -30,7 +30,7 @@ Source = "https://github.com/rogdham/backports.zstd"
+ #
+ 
+ [build-system]
+-requires = ["setuptools>=80"]
++requires = ["setuptools>=69"]
+ build-backend = "setuptools.build_meta"
+ 
+ [tool.setuptools.packages.find]
diff --git a/meta-python/recipes-devtools/python/python3-backports-zstd_1.5.0.bb b/meta-python/recipes-devtools/python/python3-backports-zstd_1.5.0.bb
new file mode 100644
index 0000000000..0c83202b4a
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python3-backports-zstd_1.5.0.bb
@@ -0,0 +1,21 @@ 
+SUMMARY = "Backport of compression.zstd"
+DESCRIPTION = "Backport of PEP-784 'adding Zstandard to the standard library'"
+HOMEPAGE = "https://github.com/Rogdham/backports.zstd/"
+LICENSE = "0BSD & PSF-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=224f30639105a6ab845e068c2d0903ff \
+                    file://LICENSE_zstd.txt;md5=85fffd6822a26cd7d2a6eeb939ada0da \
+                    file://src/c/pythoncapi-compat/COPYING;md5=f74f54822fab8814a50330e4e4578b88 \
+                    file://src/c/zstd/LICENSE;md5=0822a32f7acdbe013606746641746ee8"
+
+inherit pypi python_setuptools_build_meta
+
+SRC_URI += " \
+        file://0001-pyproject.toml-make-license-entries-compatible-with-.patch \
+        file://0002-pyprojects.toml-lower-setuptools-requirements.patch \
+"
+
+SRC_URI[sha256sum] = "a5e622a82eb183b4fbe18032755ce0a15fa9a82f2adb9b621620b91247aaedb7"
+
+PYPI_PACKAGE = "backports_zstd"
+
+BBCLASSEXTEND = "native nativesdk"