diff mbox series

[1/2] python3-pyzstd: Upgrade 0.17.0 -> 0.19.1

Message ID 20260123084336.3061764-1-leon.anavi@konsulko.com
State Changes Requested
Headers show
Series [1/2] python3-pyzstd: Upgrade 0.17.0 -> 0.19.1 | expand

Commit Message

Leon Anavi Jan. 23, 2026, 8:43 a.m. UTC
Upgrade to release 0.19.1:

- Fix SeekableZstdFile write table entries on 32-bits architectures
  when there is a huge number of entries

From release 0.19.0:

- The project has been completely refactored to use the Zstandard
  implementation from the standard library (PEP-784)
- The refactor has some minor impact on public APIs, such as
  changing the exception raised on invalid input
- Add backports.zstd dependency for Python before 3.14
- Changes in build dependency: remove setuptools and C build
  toolchain, add hatchling and hatch-vcs
- Remove git submodule usage
- Drop support for Python 3.9 and below
- Use ruff as formatter and linter
- Embed type hints in Python code, and check with mypy

All ptests pass following python3 upgrade from 3.13.11 to 3.14.0.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
---
 ...emove-setuptools-version-limit-of-74.patch | 27 -------------------
 ...std_0.17.0.bb => python3-pyzstd_0.19.1.bb} |  7 ++---
 2 files changed, 4 insertions(+), 30 deletions(-)
 delete mode 100644 meta/recipes-devtools/python/python3-pyzstd/0001-Remove-setuptools-version-limit-of-74.patch
 rename meta/recipes-devtools/python/{python3-pyzstd_0.17.0.bb => python3-pyzstd_0.19.1.bb} (73%)

Comments

Martin Jansa Jan. 23, 2026, 8:56 a.m. UTC | #1
Thanks, but this needs python3-backports-zstd to be imported from
meta-oe to fix the ptest as discussed in:
https://lists.openembedded.org/g/openembedded-core/message/228548
https://lists.openembedded.org/g/openembedded-core/message/229015

And if python3-backports-zstd is no longer needed with python-3.14 now
in oe-core, then you need to drop the whole
do_configure:append:arm:toolchain-clang.

Regards,

On Fri, Jan 23, 2026 at 9:43 AM Leon Anavi via lists.openembedded.org
<leon.anavi=konsulko.com@lists.openembedded.org> wrote:
>
> Upgrade to release 0.19.1:
>
> - Fix SeekableZstdFile write table entries on 32-bits architectures
>   when there is a huge number of entries
>
> From release 0.19.0:
>
> - The project has been completely refactored to use the Zstandard
>   implementation from the standard library (PEP-784)
> - The refactor has some minor impact on public APIs, such as
>   changing the exception raised on invalid input
> - Add backports.zstd dependency for Python before 3.14
> - Changes in build dependency: remove setuptools and C build
>   toolchain, add hatchling and hatch-vcs
> - Remove git submodule usage
> - Drop support for Python 3.9 and below
> - Use ruff as formatter and linter
> - Embed type hints in Python code, and check with mypy
>
> All ptests pass following python3 upgrade from 3.13.11 to 3.14.0.
>
> Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
> ---
>  ...emove-setuptools-version-limit-of-74.patch | 27 -------------------
>  ...std_0.17.0.bb => python3-pyzstd_0.19.1.bb} |  7 ++---
>  2 files changed, 4 insertions(+), 30 deletions(-)
>  delete mode 100644 meta/recipes-devtools/python/python3-pyzstd/0001-Remove-setuptools-version-limit-of-74.patch
>  rename meta/recipes-devtools/python/{python3-pyzstd_0.17.0.bb => python3-pyzstd_0.19.1.bb} (73%)
>
> diff --git a/meta/recipes-devtools/python/python3-pyzstd/0001-Remove-setuptools-version-limit-of-74.patch b/meta/recipes-devtools/python/python3-pyzstd/0001-Remove-setuptools-version-limit-of-74.patch
> deleted file mode 100644
> index f2910322ff..0000000000
> --- a/meta/recipes-devtools/python/python3-pyzstd/0001-Remove-setuptools-version-limit-of-74.patch
> +++ /dev/null
> @@ -1,27 +0,0 @@
> -From bc9b975c9f41e43481a2eb0623b4180926baecec Mon Sep 17 00:00:00 2001
> -From: Khem Raj <raj.khem@gmail.com>
> -Date: Wed, 9 Apr 2025 14:38:31 -0700
> -Subject: [PATCH] Remove setuptools version limit of '74'
> -
> -Upstream sticks to 0.74 since setuptools have dropped msvc9compiler
> -support beyond that which is needed for python 3.9 on windows. We
> -do not have this problem on Linux
> -
> -Upstream-Status: Inappropriate [OE-specific]
> -Signed-off-by: Khem Raj <raj.khem@gmail.com>
> ----
> - pyproject.toml | 2 +-
> - 1 file changed, 1 insertion(+), 1 deletion(-)
> -
> -diff --git a/pyproject.toml b/pyproject.toml
> -index dd885e4..5d4d511 100644
> ---- a/pyproject.toml
> -+++ b/pyproject.toml
> -@@ -1,6 +1,6 @@
> - [build-system]
> - # setuptools 64+ support --build-option
> - # setuptools 74+ drops distutils.msvc9compiler required for Python 3.9 under Windows
> --requires = ["setuptools>=64,<74"]
> -+requires = ["setuptools>=64"]
> - backend-path = ["build_script"]
> - build-backend = "pyzstd_pep517"
> diff --git a/meta/recipes-devtools/python/python3-pyzstd_0.17.0.bb b/meta/recipes-devtools/python/python3-pyzstd_0.19.1.bb
> similarity index 73%
> rename from meta/recipes-devtools/python/python3-pyzstd_0.17.0.bb
> rename to meta/recipes-devtools/python/python3-pyzstd_0.19.1.bb
> index af7069b6ed..a41c16682d 100644
> --- a/meta/recipes-devtools/python/python3-pyzstd_0.17.0.bb
> +++ b/meta/recipes-devtools/python/python3-pyzstd_0.19.1.bb
> @@ -9,10 +9,11 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=aedb5a2679cd1552fb61c181ef974b9e"
>
>  PYPI_PACKAGE = "pyzstd"
>
> -SRC_URI += "file://0001-Remove-setuptools-version-limit-of-74.patch"
> -SRC_URI[sha256sum] = "d84271f8baa66c419204c1dd115a4dec8b266f8a2921da21b81764fa208c1db6"
> +SRC_URI[sha256sum] = "36723d3c915b3981de9198d0a2c82b2f5fe3eaa36e4d8d586937830a8afc7d72"
>
> -inherit pypi python_setuptools_build_meta ptest-python-pytest
> +inherit pypi python_hatchling ptest-python-pytest
> +
> +DEPENDS += "python3-hatch-vcs-native"
>
>  # clang-16 with -flto segfaults on arm, therefore ignore flto for now
>  do_configure:append:arm:toolchain-clang() {
> --
> 2.47.3
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#229876): https://lists.openembedded.org/g/openembedded-core/message/229876
> Mute This Topic: https://lists.openembedded.org/mt/117415035/3617156
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [martin.jansa@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Leon Anavi Jan. 27, 2026, 9:20 a.m. UTC | #2
Hi Martin,

On Fri, Jan 23, 2026 at 10:56 AM Martin Jansa <martin.jansa@gmail.com>
wrote:

> Thanks, but this needs python3-backports-zstd to be imported from
> meta-oe to fix the ptest as discussed in:
> https://lists.openembedded.org/g/openembedded-core/message/228548
> https://lists.openembedded.org/g/openembedded-core/message/229015
>
> And if python3-backports-zstd is no longer needed with python-3.14 now
> in oe-core, then you need to drop the whole
> do_configure:append:arm:toolchain-clang.
>

Thank you for the feedback. Yes, python3-backports-zstd is no longer needed
with Python 3.14. I tested it manually at run-time on rpi5 and also ran
ptest-runner. Based on your recommendation I
dropped do_configure:append:arm:toolchain-clang and sent v2 of the patch.

Btw on a separate topic: I haven't seen any remarks regarding my other
patch from Friday for updating python3-wcwidth to 0.3.1 but it hasn't been
picked up in master-next yet. Please let me know if any modifications are
needed.

Best regards, Leon


>
> Regards,
>
> On Fri, Jan 23, 2026 at 9:43 AM Leon Anavi via lists.openembedded.org
> <leon.anavi=konsulko.com@lists.openembedded.org> wrote:
> >
> > Upgrade to release 0.19.1:
> >
> > - Fix SeekableZstdFile write table entries on 32-bits architectures
> >   when there is a huge number of entries
> >
> > From release 0.19.0:
> >
> > - The project has been completely refactored to use the Zstandard
> >   implementation from the standard library (PEP-784)
> > - The refactor has some minor impact on public APIs, such as
> >   changing the exception raised on invalid input
> > - Add backports.zstd dependency for Python before 3.14
> > - Changes in build dependency: remove setuptools and C build
> >   toolchain, add hatchling and hatch-vcs
> > - Remove git submodule usage
> > - Drop support for Python 3.9 and below
> > - Use ruff as formatter and linter
> > - Embed type hints in Python code, and check with mypy
> >
> > All ptests pass following python3 upgrade from 3.13.11 to 3.14.0.
> >
> > Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
> > ---
> >  ...emove-setuptools-version-limit-of-74.patch | 27 -------------------
> >  ...std_0.17.0.bb => python3-pyzstd_0.19.1.bb} |  7 ++---
> >  2 files changed, 4 insertions(+), 30 deletions(-)
> >  delete mode 100644
> meta/recipes-devtools/python/python3-pyzstd/0001-Remove-setuptools-version-limit-of-74.patch
> >  rename meta/recipes-devtools/python/{python3-pyzstd_0.17.0.bb =>
> python3-pyzstd_0.19.1.bb} (73%)
> >
> > diff --git
> a/meta/recipes-devtools/python/python3-pyzstd/0001-Remove-setuptools-version-limit-of-74.patch
> b/meta/recipes-devtools/python/python3-pyzstd/0001-Remove-setuptools-version-limit-of-74.patch
> > deleted file mode 100644
> > index f2910322ff..0000000000
> > ---
> a/meta/recipes-devtools/python/python3-pyzstd/0001-Remove-setuptools-version-limit-of-74.patch
> > +++ /dev/null
> > @@ -1,27 +0,0 @@
> > -From bc9b975c9f41e43481a2eb0623b4180926baecec Mon Sep 17 00:00:00 2001
> > -From: Khem Raj <raj.khem@gmail.com>
> > -Date: Wed, 9 Apr 2025 14:38:31 -0700
> > -Subject: [PATCH] Remove setuptools version limit of '74'
> > -
> > -Upstream sticks to 0.74 since setuptools have dropped msvc9compiler
> > -support beyond that which is needed for python 3.9 on windows. We
> > -do not have this problem on Linux
> > -
> > -Upstream-Status: Inappropriate [OE-specific]
> > -Signed-off-by: Khem Raj <raj.khem@gmail.com>
> > ----
> > - pyproject.toml | 2 +-
> > - 1 file changed, 1 insertion(+), 1 deletion(-)
> > -
> > -diff --git a/pyproject.toml b/pyproject.toml
> > -index dd885e4..5d4d511 100644
> > ---- a/pyproject.toml
> > -+++ b/pyproject.toml
> > -@@ -1,6 +1,6 @@
> > - [build-system]
> > - # setuptools 64+ support --build-option
> > - # setuptools 74+ drops distutils.msvc9compiler required for Python 3.9
> under Windows
> > --requires = ["setuptools>=64,<74"]
> > -+requires = ["setuptools>=64"]
> > - backend-path = ["build_script"]
> > - build-backend = "pyzstd_pep517"
> > diff --git a/meta/recipes-devtools/python/python3-pyzstd_0.17.0.bb
> b/meta/recipes-devtools/python/python3-pyzstd_0.19.1.bb
> > similarity index 73%
> > rename from meta/recipes-devtools/python/python3-pyzstd_0.17.0.bb
> > rename to meta/recipes-devtools/python/python3-pyzstd_0.19.1.bb
> > index af7069b6ed..a41c16682d 100644
> > --- a/meta/recipes-devtools/python/python3-pyzstd_0.17.0.bb
> > +++ b/meta/recipes-devtools/python/python3-pyzstd_0.19.1.bb
> > @@ -9,10 +9,11 @@ LIC_FILES_CHKSUM =
> "file://LICENSE;md5=aedb5a2679cd1552fb61c181ef974b9e"
> >
> >  PYPI_PACKAGE = "pyzstd"
> >
> > -SRC_URI += "file://0001-Remove-setuptools-version-limit-of-74.patch"
> > -SRC_URI[sha256sum] =
> "d84271f8baa66c419204c1dd115a4dec8b266f8a2921da21b81764fa208c1db6"
> > +SRC_URI[sha256sum] =
> "36723d3c915b3981de9198d0a2c82b2f5fe3eaa36e4d8d586937830a8afc7d72"
> >
> > -inherit pypi python_setuptools_build_meta ptest-python-pytest
> > +inherit pypi python_hatchling ptest-python-pytest
> > +
> > +DEPENDS += "python3-hatch-vcs-native"
> >
> >  # clang-16 with -flto segfaults on arm, therefore ignore flto for now
> >  do_configure:append:arm:toolchain-clang() {
> > --
> > 2.47.3
> >
> >
> > -=-=-=-=-=-=-=-=-=-=-=-
> > Links: You receive all messages sent to this group.
> > View/Reply Online (#229876):
> https://lists.openembedded.org/g/openembedded-core/message/229876
> > Mute This Topic: https://lists.openembedded.org/mt/117415035/3617156
> > Group Owner: openembedded-core+owner@lists.openembedded.org
> > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [
> martin.jansa@gmail.com]
> > -=-=-=-=-=-=-=-=-=-=-=-
> >
>
Mathieu Dubois-Briand Jan. 28, 2026, 1:40 p.m. UTC | #3
On Tue Jan 27, 2026 at 10:20 AM CET, Leon Anavi via lists.openembedded.org wrote:
>
> Btw on a separate topic: I haven't seen any remarks regarding my other
> patch from Friday for updating python3-wcwidth to 0.3.1 but it hasn't been
> picked up in master-next yet. Please let me know if any modifications are
> needed.
>

Hi Leon,

I believe it was first ignored as it was part of the same series, so at
first glance we can't be sure if there is any dependency between
patches.

It is in my branch now, so it should soon land to master-next.

Thanks,
Mathieu
diff mbox series

Patch

diff --git a/meta/recipes-devtools/python/python3-pyzstd/0001-Remove-setuptools-version-limit-of-74.patch b/meta/recipes-devtools/python/python3-pyzstd/0001-Remove-setuptools-version-limit-of-74.patch
deleted file mode 100644
index f2910322ff..0000000000
--- a/meta/recipes-devtools/python/python3-pyzstd/0001-Remove-setuptools-version-limit-of-74.patch
+++ /dev/null
@@ -1,27 +0,0 @@ 
-From bc9b975c9f41e43481a2eb0623b4180926baecec Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 9 Apr 2025 14:38:31 -0700
-Subject: [PATCH] Remove setuptools version limit of '74'
-
-Upstream sticks to 0.74 since setuptools have dropped msvc9compiler
-support beyond that which is needed for python 3.9 on windows. We
-do not have this problem on Linux
-
-Upstream-Status: Inappropriate [OE-specific]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- pyproject.toml | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/pyproject.toml b/pyproject.toml
-index dd885e4..5d4d511 100644
---- a/pyproject.toml
-+++ b/pyproject.toml
-@@ -1,6 +1,6 @@
- [build-system]
- # setuptools 64+ support --build-option
- # setuptools 74+ drops distutils.msvc9compiler required for Python 3.9 under Windows
--requires = ["setuptools>=64,<74"]
-+requires = ["setuptools>=64"]
- backend-path = ["build_script"]
- build-backend = "pyzstd_pep517"
diff --git a/meta/recipes-devtools/python/python3-pyzstd_0.17.0.bb b/meta/recipes-devtools/python/python3-pyzstd_0.19.1.bb
similarity index 73%
rename from meta/recipes-devtools/python/python3-pyzstd_0.17.0.bb
rename to meta/recipes-devtools/python/python3-pyzstd_0.19.1.bb
index af7069b6ed..a41c16682d 100644
--- a/meta/recipes-devtools/python/python3-pyzstd_0.17.0.bb
+++ b/meta/recipes-devtools/python/python3-pyzstd_0.19.1.bb
@@ -9,10 +9,11 @@  LIC_FILES_CHKSUM = "file://LICENSE;md5=aedb5a2679cd1552fb61c181ef974b9e"
 
 PYPI_PACKAGE = "pyzstd"
 
-SRC_URI += "file://0001-Remove-setuptools-version-limit-of-74.patch"
-SRC_URI[sha256sum] = "d84271f8baa66c419204c1dd115a4dec8b266f8a2921da21b81764fa208c1db6"
+SRC_URI[sha256sum] = "36723d3c915b3981de9198d0a2c82b2f5fe3eaa36e4d8d586937830a8afc7d72"
 
-inherit pypi python_setuptools_build_meta ptest-python-pytest
+inherit pypi python_hatchling ptest-python-pytest
+
+DEPENDS += "python3-hatch-vcs-native"
 
 # clang-16 with -flto segfaults on arm, therefore ignore flto for now
 do_configure:append:arm:toolchain-clang() {