diff mbox series

python3-pyzstd: Upgrade 0.17.0 -> 0.19.1

Message ID 20260309070953.2372929-1-jiaying.song.cn@windriver.com
State Under Review
Headers show
Series python3-pyzstd: Upgrade 0.17.0 -> 0.19.1 | expand

Commit Message

Song, Jiaying (CN) March 9, 2026, 7:09 a.m. UTC
From: Jiaying Song <jiaying.song.cn@windriver.com>

Changelog:https://github.com/Rogdham/pyzstd/blob/master/CHANGELOG.md

Recipe changes:
- Remove 0001-Remove-setuptools-version-limit-of-74.patch (no longer needed)
- Switch from python_setuptools_build_meta to python_hatchling
- Add python3-hatch-vcs-native to DEPENDS
- Add python3-misc to RDEPENDS (provides compression.zstd module)
- Remove obsolete do_configure:append:arm:toolchain-clang (setup.py no longer exists)

Signed-off-by: Jiaying Song <jiaying.song.cn@windriver.com>
---
 ...emove-setuptools-version-limit-of-74.patch | 27 -------------------
 ...std_0.17.0.bb => python3-pyzstd_0.19.1.bb} | 12 ++++-----
 2 files changed, 5 insertions(+), 34 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} (53%)

Comments

Martin Jansa March 9, 2026, 2:07 p.m. UTC | #1
Hi, thanks for working on this, the version imported to oe-core is
broken when LTO is enabled since the import of older version from
meta-oe in December.

Does the python3-misc runtime dependency fix the ptest failures
reported on similar upgrade sent before?

https://lists.openembedded.org/g/openembedded-core/topic/117485653#msg230036
https://lists.openembedded.org/g/openembedded-core/topic/117415035#msg229876
https://lists.openembedded.org/g/openembedded-core/topic/117131419#msg228995

Regards,


On Mon, Mar 9, 2026 at 8:10 AM Song, Jiaying (CN) via
lists.openembedded.org
<Jiaying.Song.CN=windriver.com@lists.openembedded.org> wrote:
>
> From: Jiaying Song <jiaying.song.cn@windriver.com>
>
> Changelog:https://github.com/Rogdham/pyzstd/blob/master/CHANGELOG.md
>
> Recipe changes:
> - Remove 0001-Remove-setuptools-version-limit-of-74.patch (no longer needed)
> - Switch from python_setuptools_build_meta to python_hatchling
> - Add python3-hatch-vcs-native to DEPENDS
> - Add python3-misc to RDEPENDS (provides compression.zstd module)
> - Remove obsolete do_configure:append:arm:toolchain-clang (setup.py no longer exists)
>
> Signed-off-by: Jiaying Song <jiaying.song.cn@windriver.com>
> ---
>  ...emove-setuptools-version-limit-of-74.patch | 27 -------------------
>  ...std_0.17.0.bb => python3-pyzstd_0.19.1.bb} | 12 ++++-----
>  2 files changed, 5 insertions(+), 34 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} (53%)
>
> 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 53%
> 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..cda074221d 100644
> --- a/meta/recipes-devtools/python/python3-pyzstd_0.17.0.bb
> +++ b/meta/recipes-devtools/python/python3-pyzstd_0.19.1.bb
> @@ -9,12 +9,10 @@ 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
>
> -# clang-16 with -flto segfaults on arm, therefore ignore flto for now
> -do_configure:append:arm:toolchain-clang() {
> -    sed -i -e "s|'-flto'|''|" ${S}/setup.py
> -}
> +DEPENDS += "python3-hatch-vcs-native"
> +
> +RDEPENDS:${PN} += "python3-misc"
> --
> 2.34.1
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#232681): https://lists.openembedded.org/g/openembedded-core/message/232681
> Mute This Topic: https://lists.openembedded.org/mt/118217347/3617156
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [martin.jansa@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Song, Jiaying (CN) March 10, 2026, 2:05 a.m. UTC | #2
Hi Martin,

Thanks for the feedback.

> Does the python3-misc runtime dependency fix the ptest failures?

Yes, confirmed. All 209 tests pass successfully with python3-misc added to RDEPENDS:

Testsuite summary
# TOTAL: 209
# PASS: 209
# SKIP: 0
# FAIL: 0
DURATION: 3

The python3-misc package provides the compression.zstd module required by pyzstd 0.19.x when running with Python 3.14.

> the version imported to oe-core is broken when LTO is enabled

Regarding the LTO issue: The previous workaround (do_configure:append:arm:toolchain-clang) was specific to the old setup.py-based build system and is no longer applicable.

The new version (0.19.1) uses the hatchling build system and relies on Python 3.14's standard library zstd implementation, which has a completely different architecture. The old ARM + clang + LTO segfault was related to the C extension compilation in setup.py, which no longer exists in the new version.

Best regards,
Jiaying
-----Original Message-----
From: Martin Jansa <martin.jansa@gmail.com> 
Sent: Monday, March 9, 2026 10:08 PM
To: Song, Jiaying (CN) <Jiaying.Song.CN@windriver.com>
Cc: openembedded-core@lists.openembedded.org
Subject: Re: [OE-core] [PATCH] python3-pyzstd: Upgrade 0.17.0 -> 0.19.1

CAUTION: This email comes from a non Wind River email account!
Do not click links or open attachments unless you recognize the sender and know the content is safe.

Hi, thanks for working on this, the version imported to oe-core is broken when LTO is enabled since the import of older version from meta-oe in December.

Does the python3-misc runtime dependency fix the ptest failures reported on similar upgrade sent before?

https://lists.openembedded.org/g/openembedded-core/topic/117485653#msg230036
https://lists.openembedded.org/g/openembedded-core/topic/117415035#msg229876
https://lists.openembedded.org/g/openembedded-core/topic/117131419#msg228995

Regards,


On Mon, Mar 9, 2026 at 8:10 AM Song, Jiaying (CN) via lists.openembedded.org <Jiaying.Song.CN=windriver.com@lists.openembedded.org> wrote:
>
> From: Jiaying Song <jiaying.song.cn@windriver.com>
>
> Changelog:https://github.com/Rogdham/pyzstd/blob/master/CHANGELOG.md
>
> Recipe changes:
> - Remove 0001-Remove-setuptools-version-limit-of-74.patch (no longer 
> needed)
> - Switch from python_setuptools_build_meta to python_hatchling
> - Add python3-hatch-vcs-native to DEPENDS
> - Add python3-misc to RDEPENDS (provides compression.zstd module)
> - Remove obsolete do_configure:append:arm:toolchain-clang (setup.py no 
> longer exists)
>
> Signed-off-by: Jiaying Song <jiaying.song.cn@windriver.com>
> ---
>  ...emove-setuptools-version-limit-of-74.patch | 27 
> -------------------  ...std_0.17.0.bb => python3-pyzstd_0.19.1.bb} | 
> 12 ++++-----
>  2 files changed, 5 insertions(+), 34 deletions(-)  delete mode 100644 
> meta/recipes-devtools/python/python3-pyzstd/0001-Remove-setuptools-ver
> sion-limit-of-74.patch  rename 
> meta/recipes-devtools/python/{python3-pyzstd_0.17.0.bb => 
> python3-pyzstd_0.19.1.bb} (53%)
>
> diff --git 
> a/meta/recipes-devtools/python/python3-pyzstd/0001-Remove-setuptools-v
> ersion-limit-of-74.patch 
> b/meta/recipes-devtools/python/python3-pyzstd/0001-Remove-setuptools-v
> ersion-limit-of-74.patch
> deleted file mode 100644
> index f2910322ff..0000000000
> --- 
> a/meta/recipes-devtools/python/python3-pyzstd/0001-Remove-setuptools-v
> ersion-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 53%
> 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..cda074221d 100644
> --- a/meta/recipes-devtools/python/python3-pyzstd_0.17.0.bb
> +++ b/meta/recipes-devtools/python/python3-pyzstd_0.19.1.bb
> @@ -9,12 +9,10 @@ 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
>
> -# clang-16 with -flto segfaults on arm, therefore ignore flto for now
> -do_configure:append:arm:toolchain-clang() {
> -    sed -i -e "s|'-flto'|''|" ${S}/setup.py
> -}
> +DEPENDS += "python3-hatch-vcs-native"
> +
> +RDEPENDS:${PN} += "python3-misc"
> --
> 2.34.1
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#232681): 
> https://lists.openembedded.org/g/openembedded-core/message/232681
> Mute This Topic: https://lists.openembedded.org/mt/118217347/3617156
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
> [martin.jansa@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Type 'root' to login with superuser privileges (no password will be asked).

qemux86-64 login: root
root@qemux86-64:~# ptest-runner python3-pyzstd
START: ptest-runner
2026-03-10T01:11
BEGIN: /usr/lib/python3-pyzstd/ptest
PASS: tests/test_seekable.py:SeekTableCase.test_add_00_entry
PASS: tests/test_seekable.py:SeekTableCase.test_array_append
PASS: tests/test_seekable.py:SeekTableCase.test_case1
PASS: tests/test_seekable.py:SeekTableCase.test_case_0_decompressed_size
PASS: tests/test_seekable.py:SeekTableCase.test_case_0_size_all
PASS: tests/test_seekable.py:SeekTableCase.test_case_0_size_at_begin
PASS: tests/test_seekable.py:SeekTableCase.test_case_0_size_at_end
PASS: tests/test_seekable.py:SeekTableCase.test_case_0_size_middle
PASS: tests/test_seekable.py:SeekTableCase.test_case_empty
PASS: tests/test_seekable.py:SeekTableCase.test_load_bad1
PASS: tests/test_seekable.py:SeekTableCase.test_load_bad2
PASS: tests/test_seekable.py:SeekTableCase.test_load_empty
PASS: tests/test_seekable.py:SeekTableCase.test_load_has_checksum
PASS: tests/test_seekable.py:SeekTableCase.test_merge_frames1
PASS: tests/test_seekable.py:SeekTableCase.test_merge_frames2
PASS: tests/test_seekable.py:SeekTableCase.test_save_load
PASS: tests/test_seekable.py:SeekTableCase.test_write_table
PASS: tests/test_seekable.py:SeekableZstdFileCase.test_append_loading_not_seekable
PASS: tests/test_seekable.py:SeekableZstdFileCase.test_append_mode
PASS: tests/test_seekable.py:SeekableZstdFileCase.test_append_new_file
PASS: tests/test_seekable.py:SeekableZstdFileCase.test_append_not_seekable
PASS: tests/test_seekable.py:SeekableZstdFileCase.test_bad_append
PASS: tests/test_seekable.py:SeekableZstdFileCase.test_class_shape
PASS: tests/test_seekable.py:SeekableZstdFileCase.test_close
PASS: tests/test_seekable.py:SeekableZstdFileCase.test_close_exception
PASS: tests/test_seekable.py:SeekableZstdFileCase.test_flush
PASS: tests/test_seekable.py:SeekableZstdFileCase.test_flush_arg
PASS: tests/test_seekable.py:SeekableZstdFileCase.test_init
PASS: tests/test_seekable.py:SeekableZstdFileCase.test_init_append_fail
PASS: tests/test_seekable.py:SeekableZstdFileCase.test_init_argument
PASS: tests/test_seekable.py:SeekableZstdFileCase.test_init_bad_check
PASS: tests/test_seekable.py:SeekableZstdFileCase.test_init_bad_mode
PASS: tests/test_seekable.py:SeekableZstdFileCase.test_init_mode
PASS: tests/test_seekable.py:SeekableZstdFileCase.test_init_sizes_arg
PASS: tests/test_seekable.py:SeekableZstdFileCase.test_init_with_PathLike_filename
PASS: tests/test_seekable.py:SeekableZstdFileCase.test_init_with_filename
PASS: tests/test_seekable.py:SeekableZstdFileCase.test_init_with_x_mode
PASS: tests/test_seekable.py:SeekableZstdFileCase.test_is_seekable_format_file
PASS: tests/test_seekable.py:SeekableZstdFileCase.test_load
PASS: tests/test_seekable.py:SeekableZstdFileCase.test_read
PASS: tests/test_seekable.py:SeekableZstdFileCase.test_read_empty
PASS: tests/test_seekable.py:SeekableZstdFileCase.test_read_fp_not_at_0
PASS: tests/test_seekable.py:SeekableZstdFileCase.test_read_not_seekable
PASS: tests/test_seekable.py:SeekableZstdFileCase.test_real_data
PASS: tests/test_seekable.py:SeekableZstdFileCase.test_seek
PASS: tests/test_seekable.py:SeekableZstdFileCase.test_skip_large_skippable_frame
PASS: tests/test_seekable.py:SeekableZstdFileCase.test_table_info
PASS: tests/test_seekable.py:SeekableZstdFileCase.test_write
PASS: tests/test_seekable.py:SeekableZstdFileCase.test_write_arg
PASS: tests/test_seekable.py:SeekableZstdFileCase.test_write_buffer_protocol
PASS: tests/test_seekable.py:SeekableZstdFileCase.test_write_chunks
PASS: tests/test_seekable.py:SeekableZstdFileCase.test_write_empty_block
PASS: tests/test_seekable.py:SeekableZstdFileCase.test_write_empty_frame
PASS: tests/test_seekable.py:SeekableZstdFileCase.test_write_max_content_size
PASS: tests/test_seekable.py:SeekableZstdFileCase.test_wrong_max_frame_content_size
PASS: tests/test_seekable.py:SeekableZstdFileCase.test_x_mode
PASS: tests/test_zstd.py:FunctionsTestCase.test_compress_decompress
PASS: tests/test_zstd.py:FunctionsTestCase.test_compressionLevel_values
PASS: tests/test_zstd.py:FunctionsTestCase.test_get_frame_info
PASS: tests/test_zstd.py:FunctionsTestCase.test_get_frame_size
PASS: tests/test_zstd.py:FunctionsTestCase.test_version
PASS: tests/test_zstd.py:ClassShapeTestCase.test_CParameter
PASS: tests/test_zstd.py:ClassShapeTestCase.test_DParameter
PASS: tests/test_zstd.py:ClassShapeTestCase.test_Decompressor
PASS: tests/test_zstd.py:ClassShapeTestCase.test_EndlessDecompressor
PASS: tests/test_zstd.py:ClassShapeTestCase.test_RichMemZstdCompressor
PASS: tests/test_zstd.py:ClassShapeTestCase.test_Strategy
PASS: tests/test_zstd.py:ClassShapeTestCase.test_ZstdCompressor
PASS: tests/test_zstd.py:ClassShapeTestCase.test_ZstdDict
PASS: tests/test_zstd.py:ClassShapeTestCase.test_zstderror_pickle
PASS: tests/test_zstd.py:CompressorDecompressorTestCase.test_compress_empty
PASS: tests/test_zstd.py:CompressorDecompressorTestCase.test_compress_flushblock
PASS: tests/test_zstd.py:CompressorDecompressorTestCase.test_compress_flushframe
PASS: tests/test_zstd.py:CompressorDecompressorTestCase.test_compress_parameters
PASS: tests/test_zstd.py:CompressorDecompressorTestCase.test_decompress_1_3bytes
PASS: tests/test_zstd.py:CompressorDecompressorTestCase.test_decompress_1byte
PASS: tests/test_zstd.py:CompressorDecompressorTestCase.test_decompress_2bytes
PASS: tests/test_zstd.py:CompressorDecompressorTestCase.test_decompress_2x130KB
PASS: tests/test_zstd.py:CompressorDecompressorTestCase.test_decompress_3_1bytes
PASS: tests/test_zstd.py:CompressorDecompressorTestCase.test_decompress_3_2bytes
PASS: tests/test_zstd.py:CompressorDecompressorTestCase.test_decompress_empty
PASS: tests/test_zstd.py:CompressorDecompressorTestCase.test_decompress_empty_content_frame
PASS: tests/test_zstd.py:CompressorDecompressorTestCase.test_decompress_epilogue_flags
PASS: tests/test_zstd.py:CompressorDecompressorTestCase.test_decompress_parameters
PASS: tests/test_zstd.py:CompressorDecompressorTestCase.test_decompressor_1
PASS: tests/test_zstd.py:CompressorDecompressorTestCase.test_decompressor_arg
PASS: tests/test_zstd.py:CompressorDecompressorTestCase.test_decompressor_chunks_read_3
PASS: tests/test_zstd.py:CompressorDecompressorTestCase.test_decompressor_chunks_read_300
PASS: tests/test_zstd.py:CompressorDecompressorTestCase.test_rich_mem_compress
PASS: tests/test_zstd.py:CompressorDecompressorTestCase.test_rich_mem_compress_warn
PASS: tests/test_zstd.py:CompressorDecompressorTestCase.test_set_pledged_input_size
PASS: tests/test_zstd.py:CompressorDecompressorTestCase.test_simple_bad_args
PASS: tests/test_zstd.py:CompressorDecompressorTestCase.test_unknown_compression_parameter
PASS: tests/test_zstd.py:CompressorDecompressorTestCase.test_unknown_decompression_parameter
PASS: tests/test_zstd.py:CompressorDecompressorTestCase.test_zstd_multithread_compress
PASS: tests/test_zstd.py:DecompressorFlagsTestCase.test_EndlessZstdDecompressor_PEP489
PASS: tests/test_zstd.py:DecompressorFlagsTestCase.test_decompressor_1
PASS: tests/test_zstd.py:DecompressorFlagsTestCase.test_decompressor_skippable
PASS: tests/test_zstd.py:DecompressorFlagsTestCase.test_endless_1
PASS: tests/test_zstd.py:DecompressorFlagsTestCase.test_endlessdecompressor_skippable
PASS: tests/test_zstd.py:DecompressorFlagsTestCase.test_function_decompress
PASS: tests/test_zstd.py:DecompressorFlagsTestCase.test_function_skippable
PASS: tests/test_zstd.py:ZstdDictTestCase.test_advanced_compression_parameters
PASS: tests/test_zstd.py:ZstdDictTestCase.test_as_digested_dict
PASS: tests/test_zstd.py:ZstdDictTestCase.test_as_prefix
PASS: tests/test_zstd.py:ZstdDictTestCase.test_finalize_dict
PASS: tests/test_zstd.py:ZstdDictTestCase.test_finalize_dict_arguments
PASS: tests/test_zstd.py:ZstdDictTestCase.test_invalid_dict
PASS: tests/test_zstd.py:ZstdDictTestCase.test_is_raw
PASS: tests/test_zstd.py:ZstdDictTestCase.test_len
PASS: tests/test_zstd.py:ZstdDictTestCase.test_train_dict
PASS: tests/test_zstd.py:ZstdDictTestCase.test_train_dict_arguments
PASS: tests/test_zstd.py:OutputBufferTestCase.test_edge_sizes
PASS: tests/test_zstd.py:OutputBufferTestCase.test_edge_sizes_stream
PASS: tests/test_zstd.py:OutputBufferTestCase.test_empty_input
PASS: tests/test_zstd.py:OutputBufferTestCase.test_endless_maxlength
PASS: tests/test_zstd.py:OutputBufferTestCase.test_endlessdecompressor_2_frames
PASS: tests/test_zstd.py:OutputBufferTestCase.test_known_size
PASS: tests/test_zstd.py:OutputBufferTestCase.test_zero_size_output
PASS: tests/test_zstd.py:FileTestCase.test_UnsupportedOperation
PASS: tests/test_zstd.py:FileTestCase.test_append_new_file
PASS: tests/test_zstd.py:FileTestCase.test_close
PASS: tests/test_zstd.py:FileTestCase.test_closed
PASS: tests/test_zstd.py:FileTestCase.test_decompress_limited
PASS: tests/test_zstd.py:FileTestCase.test_file_dict
PASS: tests/test_zstd.py:FileTestCase.test_file_prefix
PASS: tests/test_zstd.py:FileTestCase.test_fileno
PASS: tests/test_zstd.py:FileTestCase.test_init
PASS: tests/test_zstd.py:FileTestCase.test_init_bad_check
PASS: tests/test_zstd.py:FileTestCase.test_init_bad_mode
PASS: tests/test_zstd.py:FileTestCase.test_init_close_fp
PASS: tests/test_zstd.py:FileTestCase.test_init_mode
PASS: tests/test_zstd.py:FileTestCase.test_init_sizes_arg
PASS: tests/test_zstd.py:FileTestCase.test_init_with_PathLike_filename
PASS: tests/test_zstd.py:FileTestCase.test_init_with_filename
PASS: tests/test_zstd.py:FileTestCase.test_init_with_x_mode
PASS: tests/test_zstd.py:FileTestCase.test_iterator
PASS: tests/test_zstd.py:FileTestCase.test_name
PASS: tests/test_zstd.py:FileTestCase.test_peek
PASS: tests/test_zstd.py:FileTestCase.test_peek_bad_args
PASS: tests/test_zstd.py:FileTestCase.test_read
PASS: tests/test_zstd.py:FileTestCase.test_read1
PASS: tests/test_zstd.py:FileTestCase.test_read1_0
PASS: tests/test_zstd.py:FileTestCase.test_read1_10
PASS: tests/test_zstd.py:FileTestCase.test_read1_bad_args
PASS: tests/test_zstd.py:FileTestCase.test_read1_multistream
PASS: tests/test_zstd.py:FileTestCase.test_read_0
PASS: tests/test_zstd.py:FileTestCase.test_read_10
PASS: tests/test_zstd.py:FileTestCase.test_read_bad_args
PASS: tests/test_zstd.py:FileTestCase.test_read_bad_data
PASS: tests/test_zstd.py:FileTestCase.test_read_exception
PASS: tests/test_zstd.py:FileTestCase.test_read_incomplete
PASS: tests/test_zstd.py:FileTestCase.test_read_multistream
PASS: tests/test_zstd.py:FileTestCase.test_read_readinto_readinto1
PASS: tests/test_zstd.py:FileTestCase.test_read_truncated
PASS: tests/test_zstd.py:FileTestCase.test_readable
PASS: tests/test_zstd.py:FileTestCase.test_readinto
PASS: tests/test_zstd.py:FileTestCase.test_seek_backward
PASS: tests/test_zstd.py:FileTestCase.test_seek_backward_across_streams
PASS: tests/test_zstd.py:FileTestCase.test_seek_backward_relative_to_end
PASS: tests/test_zstd.py:FileTestCase.test_seek_bad_args
PASS: tests/test_zstd.py:FileTestCase.test_seek_forward
PASS: tests/test_zstd.py:FileTestCase.test_seek_forward_across_streams
PASS: tests/test_zstd.py:FileTestCase.test_seek_forward_relative_to_current
PASS: tests/test_zstd.py:FileTestCase.test_seek_forward_relative_to_end
PASS: tests/test_zstd.py:FileTestCase.test_seek_not_seekable
PASS: tests/test_zstd.py:FileTestCase.test_seek_past_end
PASS: tests/test_zstd.py:FileTestCase.test_seek_past_start
PASS: tests/test_zstd.py:FileTestCase.test_seekable
PASS: tests/test_zstd.py:FileTestCase.test_tell
PASS: tests/test_zstd.py:FileTestCase.test_tell_bad_args
PASS: tests/test_zstd.py:FileTestCase.test_writable
PASS: tests/test_zstd.py:FileTestCase.test_write
PASS: tests/test_zstd.py:FileTestCase.test_write_101
PASS: tests/test_zstd.py:FileTestCase.test_write_append
PASS: tests/test_zstd.py:FileTestCase.test_write_bad_args
PASS: tests/test_zstd.py:FileTestCase.test_write_empty_block
PASS: tests/test_zstd.py:FileTestCase.test_write_empty_frame
PASS: tests/test_zstd.py:FileTestCase.test_writelines
PASS: tests/test_zstd.py:FileTestCase.test_zstdfile_flush
PASS: tests/test_zstd.py:FileTestCase.test_zstdfile_flush_mode
PASS: tests/test_zstd.py:FileTestCase.test_zstdfile_iter_issue45475
PASS: tests/test_zstd.py:FileTestCase.test_zstdfile_truncate
PASS: tests/test_zstd.py:OpenTestCase.test_bad_params
PASS: tests/test_zstd.py:OpenTestCase.test_binary_modes
PASS: tests/test_zstd.py:OpenTestCase.test_buffer_protocol
PASS: tests/test_zstd.py:OpenTestCase.test_encoding
PASS: tests/test_zstd.py:OpenTestCase.test_encoding_error_handler
PASS: tests/test_zstd.py:OpenTestCase.test_newline
PASS: tests/test_zstd.py:OpenTestCase.test_open_dict
PASS: tests/test_zstd.py:OpenTestCase.test_open_prefix
PASS: tests/test_zstd.py:OpenTestCase.test_option
PASS: tests/test_zstd.py:OpenTestCase.test_text_modes
PASS: tests/test_zstd.py:OpenTestCase.test_x_mode
PASS: tests/test_zstd.py:StreamFunctionsTestCase.test_compress_stream
PASS: tests/test_zstd.py:StreamFunctionsTestCase.test_compress_stream_callback
PASS: tests/test_zstd.py:StreamFunctionsTestCase.test_compress_stream_multi_thread
PASS: tests/test_zstd.py:StreamFunctionsTestCase.test_decompress_stream
PASS: tests/test_zstd.py:StreamFunctionsTestCase.test_decompress_stream_callback
PASS: tests/test_zstd.py:StreamFunctionsTestCase.test_decompress_stream_multi_frames
PASS: tests/test_zstd.py:StreamFunctionsTestCase.test_empty_input_no_callback
PASS: tests/test_zstd.py:StreamFunctionsTestCase.test_stream_dict
PASS: tests/test_zstd.py:StreamFunctionsTestCase.test_stream_prefix
PASS: tests/test_zstd.py:StreamFunctionsTestCase.test_stream_return_wrong_value
PASS: tests/test_zstd.py:CLITestCase.test_dictID_range
PASS: tests/test_zstd.py:CLITestCase.test_help
PASS: tests/test_zstd.py:CLITestCase.test_level_range
PASS: tests/test_zstd.py:CLITestCase.test_long_range
PASS: tests/test_zstd.py:CLITestCase.test_sequence
============================================================================
Testsuite summary
# TOTAL: 209
# PASS: 209
# SKIP: 0
# XFAIL: 0
# FAIL: 0
# XPASS: 0
# ERROR: 0
DURATION: 3
END: /usr/lib/python3-pyzstd/ptest
2026-03-10T01:11
STOP: ptest-runner
TOTAL: 1 FAIL: 0
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 53%
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..cda074221d 100644
--- a/meta/recipes-devtools/python/python3-pyzstd_0.17.0.bb
+++ b/meta/recipes-devtools/python/python3-pyzstd_0.19.1.bb
@@ -9,12 +9,10 @@  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
 
-# clang-16 with -flto segfaults on arm, therefore ignore flto for now
-do_configure:append:arm:toolchain-clang() {
-    sed -i -e "s|'-flto'|''|" ${S}/setup.py
-}
+DEPENDS += "python3-hatch-vcs-native"
+
+RDEPENDS:${PN} += "python3-misc"