Compare commits

...
Sign in to create a new pull request.

23 commits

Author SHA1 Message Date
Python Maint
ed709046ea Rebuilt for Python 3.14.0rc3 bytecode 2025-09-19 13:04:31 +02:00
Python Maint
9233dbc996 Rebuilt for Python 3.14.0rc2 bytecode 2025-08-15 13:32:02 +02:00
Benjamin A. Beasley
2344e1fb46 Update to 2.11.0 (close RHBZ#2383690) 2025-07-27 22:16:45 -04:00
Fedora Release Engineering
05fe45941e Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-25 07:23:46 +00:00
Benjamin A. Beasley
a9dc08b12b No longer run tests in parallel
This seems to reduce flakiness.
2025-06-21 07:20:49 -04:00
Python Maint
c9aa2899b6 Rebuilt for Python 3.14 2025-06-03 15:51:32 +02:00
Benjamin A. Beasley
a6f9420ae8 Update to 2.11.0rc3 (close RHBZ#2369614) 2025-06-01 06:58:00 -04:00
Benjamin A. Beasley
cf3a917ff3 Updated Python 3.14 patch 2025-06-01 06:58:00 -04:00
Benjamin A. Beasley
96ae7df798 Patch for Python 3.14 (close RHBZ#2367779) 2025-05-23 07:16:32 -04:00
Benjamin A. Beasley
08f281c034 Update to 2.11.0~rc2 (close RHBZ#2361989) 2025-05-05 10:34:33 -04:00
Benjamin A. Beasley
7e7726133c Report and skip test that fails with miniz_oxide>0.8.5 2025-05-03 23:04:59 -04:00
Benjamin A. Beasley
87d59a3af7 Adjust .rpmlintrc file for updated rpmlint 2025-04-24 16:22:53 -04:00
Benjamin A. Beasley
8318941aeb Update to 2.10.0 (close RHBZ#2359237) 2025-04-12 21:19:18 -04:00
Benjamin A. Beasley
40f3d5aecb Use the provisional pyproject declarative buildsystem
- Drop EPEL10 conditionals
2025-04-08 10:02:54 -04:00
Benjamin A. Beasley
c57085d2d0 Remove workarounds for older versions of tomcli 2025-04-08 09:57:49 -04:00
Benjamin A. Beasley
26737d07f0 Expect maturin to handle license files 2025-04-08 09:49:17 -04:00
Benjamin A. Beasley
dd26b0fa97 Update PyO3 to 0.24 2025-04-08 09:45:36 -04:00
Benjamin A. Beasley
29da16297c Don’t need to manually export RUSTFLAGS
[skip changelog]
2025-03-12 09:36:45 -04:00
Benjamin A. Beasley
fbf783c04f No longer need to patch pyproject.toml to keep maturin from stripping binaries
We were failing to adjust profile.release.strip correctly anyway; it’s in Cargo.toml
2025-03-03 07:21:37 -05:00
Benjamin A. Beasley
1b551f270c Prepare for EPEL10 branching 2025-03-02 10:52:14 -05:00
Benjamin A. Beasley
f21b8048d2 Update to 2.10.0~rc1 2025-03-02 09:56:20 -05:00
Benjamin A. Beasley
ec1308384a Update to a later pre-release snapshot of 2.10.0
- Builds with rust-libcramjam 0.7
2025-02-24 19:52:29 -05:00
Benjamin A. Beasley
319eba6ebb Update to a pre-release snapshot of 2.10.0
- Disable experimental features (blosc2/isa-l)
2025-02-07 08:15:53 -05:00
4 changed files with 43 additions and 98 deletions

7
.gitignore vendored
View file

@ -6,3 +6,10 @@
/cramjam-2.9.0rc1.tar.gz
/cramjam-2.9.0.tar.gz
/cramjam-2.9.1.tar.gz
/cramjam-61564e7761e38e5ec55e7939ccd6a276c2c55d11-filtered.tar.gz
/cramjam-cdc7d307d0f592f89b3319a7037fd875a5371ef3-filtered.tar.gz
/cramjam-2.10.0rc1.tar.gz
/cramjam-2.10.0.tar.gz
/cramjam-2.11.0rc2.tar.gz
/cramjam-2.11.0rc3.tar.gz
/cramjam-2.11.0.tar.gz

View file

@ -1,20 +0,0 @@
From 7a993e9d4418a5e44c0c775a11c438f248b333c7 Mon Sep 17 00:00:00 2001
From: Agriya Khetarpal <74401230+agriyakhetarpal@users.noreply.github.com>
Date: Mon, 30 Dec 2024 19:49:23 +0530
Subject: [PATCH] Add a `version` key in the `[project]` table
---
pyproject.toml | 1 +
1 file changed, 1 insertion(+)
diff --git a/pyproject.toml b/pyproject.toml
index 038e21ae..acb2a183 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,5 +1,6 @@
[project]
name = "cramjam"
+version = "2.9.1"
keywords = ["compression", "decompression", "snappy", "zstd", "bz2", "gzip", "lz4", "brotli", "deflate", "blosc2"]
requires-python = ">=3.8"
license = { file = "LICENSE" }

View file

@ -1,10 +1,10 @@
%bcond tests 1
# isa-l is ExcludeArch: i686
%bcond isal %[ 0%{?__isa_bits} != 32 ]
#global commit xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
#global snapdate YYYYMMDD
Name: python-cramjam
Version: 2.9.1
Version: 2.11.0
Release: %autorelease
Summary: Thin Python bindings to de/compression algorithms in Rust
@ -33,12 +33,10 @@ Source1: get_source
%endif
# Updates for Maturin 1.8: add a version key in the project metadata
# https://github.com/milesgranger/cramjam/pull/196
Patch: %{url}/pull/196.patch
BuildSystem: pyproject
BuildOption(install): -l cramjam
BuildRequires: python3-devel
BuildRequires: tomcli
BuildRequires: tomcli >= 0.8.0
BuildRequires: cargo-rpm-macros >= 24
%if %{with tests}
@ -46,7 +44,6 @@ BuildRequires: cargo-rpm-macros >= 24
# dev extra in pyproject.toml.
BuildRequires: %{py3_dist numpy}
BuildRequires: %{py3_dist pytest}
BuildRequires: %{py3_dist pytest-xdist}
BuildRequires: %{py3_dist hypothesis}
%endif
@ -60,7 +57,6 @@ BuildRequires: %{py3_dist hypothesis}
Summary: %{summary}
# 0BSD OR MIT OR Apache-2.0
# Apache-2.0
# Apache-2.0 OR MIT
# BSD-3-Clause
# BSD-3-Clause AND MIT
# MIT
@ -78,19 +74,30 @@ License: %{shrink:
%description -n python3-cramjam %{common_description}
%prep
%autosetup -n cramjam-%{srcversion}
# Do not strip the compiled Python module; we need useful debuginfo. Upstream
# set this intentionally, so this makes sense to keep downstream-only.
tomcli set pyproject.toml false 'tool.maturin.strip'
tomcli set pyproject.toml false 'profile.release.strip'
%prep -a
# Downstream-only: patch out the generate-import-lib feature, which is only
# relevant on Windows, and which depends on the corresponding pyo3 feature
# which is not packaged for that reason.
tomcli set Cargo.toml del 'features.generate-import-lib'
# Downstream-only: patch out the wasm-compat feature, which is unnecessary and
# would bring in unwanted dependencies
tomcli set Cargo.toml del 'features.wasm32-compat'
# Downstream-only: patch out the "experimental" feature and all of the features
# related to blosc2 and isa-l support. We only want to build the Python
# extension with the default features, and we only want maturin to check
# dependencies for those features.
blosc2_isal_features="$(
tomcli get Cargo.toml features -F newline-keys |
grep -E 'blosc2|ideflate|igzip|isal|izlib' |
tr '\n' ' '
)"
for feature in experimental ${blosc2_isal_features}
do
tomcli set Cargo.toml del "features.${feature}"
done
# Downstream-only: remove all the static-linking features, and make the
# dynamic-linking ones default, as we do in rust-libcramjam.
static_features="$(
@ -109,74 +116,22 @@ do
fi
done
# Downstream-only: patch out the wasm-compat feature, which requires an
# unavailable blosc2 crate feature.
tomcli set Cargo.toml del 'features.wasm32-compat'
%if %{without isal}
tomcli set Cargo.toml lists delitem --type regex \
'features.default' 'i(gzip|deflate|zlib)'
isal_features="$(
tomcli get Cargo.toml features -F newline-keys |
grep -E '^i(gzip|deflate|zlib)|-isal-' |
tr '\n' ' '
)"
for sf in ${isal_features}
do
tomcli set Cargo.toml del "features.${sf}"
done
%endif
%cargo_prep
%generate_buildrequires
%pyproject_buildrequires
%generate_buildrequires -a
%cargo_generate_buildrequires
%build
export RUSTFLAGS='%{build_rustflags}'
%build -p
%cargo_license_summary
%{cargo_license} > LICENSES.dependencies
%pyproject_wheel
%install
%pyproject_install
%pyproject_save_files cramjam
%check
%pyproject_check_import
%check -a
%if %{with tests}
%ifarch s390x
# Even after serious effort by upstream (see
# https://github.com/milesgranger/blosc2-rs/issues/23), several blosc2-rs tests
# still fail on s390x, and therefore blosc2-related tests may also fail in this
# package. Making this package ExcludeArch would have a ripple effect on
# a whole tree of packages that depend on it, and which probably do not even
# use its blosc2 support. We consider that outcome even worse than shipping
# broken blosc2 support on s390x. Note that the endianness issues are probably
# in the C blosc2 library (and that the blosc2 package ignores any and all
# test failures on s390x), and see also:
# https://github.com/Blosc/c-blosc2/issues/467.
#
# […]
# E cramjam.DecompressionError: Blosc2(InvalidHeader)
# […]
# tests/test_variants.py:55: DecompressionError
k="${k-}${k+ and }not test_variants_different_dtypes[blosc2]"
%endif
# Some tests in test_variants.py may produce segmentation faults
# https://github.com/milesgranger/cramjam/issues/190
k="${k-}${k+ and }not (test_variants and [blosc2)"
%if 0%{?fedora} > 41
# Test failures in test_variants_decompress_into with recent hypothesis
# versions
# https://github.com/milesgranger/cramjam/issues/201
# versions: https://github.com/milesgranger/cramjam/issues/201
#
# It is hard to be really sure what is going on here. The failures are
# concerning, and might (or might not) reflect a serious problem. Nevertheless,
@ -184,14 +139,17 @@ k="${k-}${k+ and }not (test_variants and [blosc2)"
# not reason to believe that the package has *new* problems. It *might* have
# newly *revealed* problems. This merits further investigation.
k="${k-}${k+ and }not test_variants_decompress_into"
%endif
%pytest -k "${k-}" -v -n auto
# Regression with miniz_oxide>0.8.5
# https://github.com/milesgranger/cramjam/issues/211
# Failed: DID NOT RAISE <class 'cramjam.DecompressionError'>
k="${k-}${k+ and }not test_variants_raise_exception[deflate]"
%pytest -k "${k-}" --ignore=benchmarks/test_bench.py -v
%endif
%files -n python3-cramjam -f %{pyproject_files}
%license LICENSE LICENSES.dependencies
%doc README.md

View file

@ -1 +1 @@
SHA512 (cramjam-2.9.1.tar.gz) = a2bcb6f98c8f7ffdf026fe9ffc061b3a462368a9bb69eea79697f7cba5091b1beb52cde9c298423d3a7538f86c1d6b15fdd083ccfd26fa2700c024c6d2a0437f
SHA512 (cramjam-2.11.0.tar.gz) = d92446c0c0ef885f3544783caa1f179fd50b6a6290ada011495b7385411527f75a2544c0c8cdc36910c83c879dbac7dd130f4fe8f3dc3b885a84a45286cb3695