Compare commits
6 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
655812e7c9 | ||
|
|
1c354a3120 | ||
|
|
2015ea4d69 | ||
|
|
48e07eecc6 | ||
|
|
af1aea506d | ||
|
|
e0d4568742 |
4 changed files with 84 additions and 44 deletions
7
.gitignore
vendored
7
.gitignore
vendored
|
|
@ -6,10 +6,3 @@
|
||||||
/cramjam-2.9.0rc1.tar.gz
|
/cramjam-2.9.0rc1.tar.gz
|
||||||
/cramjam-2.9.0.tar.gz
|
/cramjam-2.9.0.tar.gz
|
||||||
/cramjam-2.9.1.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
|
|
||||||
|
|
|
||||||
20
196.patch
Normal file
20
196.patch
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
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" }
|
||||||
|
|
@ -1,10 +1,10 @@
|
||||||
%bcond tests 1
|
%bcond tests 1
|
||||||
|
|
||||||
#global commit xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
# isa-l is ExcludeArch: i686
|
||||||
#global snapdate YYYYMMDD
|
%bcond isal %[ 0%{?__isa_bits} != 32 ]
|
||||||
|
|
||||||
Name: python-cramjam
|
Name: python-cramjam
|
||||||
Version: 2.11.0
|
Version: 2.9.1
|
||||||
Release: %autorelease
|
Release: %autorelease
|
||||||
Summary: Thin Python bindings to de/compression algorithms in Rust
|
Summary: Thin Python bindings to de/compression algorithms in Rust
|
||||||
|
|
||||||
|
|
@ -33,9 +33,11 @@ Source1: get_source
|
||||||
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
BuildSystem: pyproject
|
# Updates for Maturin 1.8: add a version key in the project metadata
|
||||||
BuildOption(install): -l cramjam
|
# https://github.com/milesgranger/cramjam/pull/196
|
||||||
|
Patch: %{url}/pull/196.patch
|
||||||
|
|
||||||
|
BuildRequires: python3-devel
|
||||||
BuildRequires: tomcli >= 0.8.0
|
BuildRequires: tomcli >= 0.8.0
|
||||||
BuildRequires: cargo-rpm-macros >= 24
|
BuildRequires: cargo-rpm-macros >= 24
|
||||||
|
|
||||||
|
|
@ -44,6 +46,7 @@ BuildRequires: cargo-rpm-macros >= 24
|
||||||
# dev extra in pyproject.toml.
|
# dev extra in pyproject.toml.
|
||||||
BuildRequires: %{py3_dist numpy}
|
BuildRequires: %{py3_dist numpy}
|
||||||
BuildRequires: %{py3_dist pytest}
|
BuildRequires: %{py3_dist pytest}
|
||||||
|
BuildRequires: %{py3_dist pytest-xdist}
|
||||||
BuildRequires: %{py3_dist hypothesis}
|
BuildRequires: %{py3_dist hypothesis}
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
|
@ -57,6 +60,7 @@ BuildRequires: %{py3_dist hypothesis}
|
||||||
Summary: %{summary}
|
Summary: %{summary}
|
||||||
# 0BSD OR MIT OR Apache-2.0
|
# 0BSD OR MIT OR Apache-2.0
|
||||||
# Apache-2.0
|
# Apache-2.0
|
||||||
|
# Apache-2.0 OR MIT
|
||||||
# BSD-3-Clause
|
# BSD-3-Clause
|
||||||
# BSD-3-Clause AND MIT
|
# BSD-3-Clause AND MIT
|
||||||
# MIT
|
# MIT
|
||||||
|
|
@ -74,30 +78,14 @@ License: %{shrink:
|
||||||
%description -n python3-cramjam %{common_description}
|
%description -n python3-cramjam %{common_description}
|
||||||
|
|
||||||
|
|
||||||
%prep -a
|
%prep
|
||||||
|
%autosetup -n cramjam-%{srcversion}
|
||||||
|
|
||||||
# Downstream-only: patch out the generate-import-lib feature, which is only
|
# Downstream-only: patch out the generate-import-lib feature, which is only
|
||||||
# relevant on Windows, and which depends on the corresponding pyo3 feature –
|
# relevant on Windows, and which depends on the corresponding pyo3 feature –
|
||||||
# which is not packaged for that reason.
|
# which is not packaged for that reason.
|
||||||
tomcli set Cargo.toml del 'features.generate-import-lib'
|
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
|
# Downstream-only: remove all the static-linking features, and make the
|
||||||
# dynamic-linking ones default, as we do in rust-libcramjam.
|
# dynamic-linking ones default, as we do in rust-libcramjam.
|
||||||
static_features="$(
|
static_features="$(
|
||||||
|
|
@ -116,36 +104,75 @@ do
|
||||||
fi
|
fi
|
||||||
done
|
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
|
%cargo_prep
|
||||||
|
|
||||||
|
|
||||||
%generate_buildrequires -a
|
%generate_buildrequires
|
||||||
|
%pyproject_buildrequires
|
||||||
%cargo_generate_buildrequires
|
%cargo_generate_buildrequires
|
||||||
|
|
||||||
|
|
||||||
%build -p
|
%build
|
||||||
%cargo_license_summary
|
%cargo_license_summary
|
||||||
%{cargo_license} > LICENSES.dependencies
|
%{cargo_license} > LICENSES.dependencies
|
||||||
|
%pyproject_wheel
|
||||||
|
|
||||||
|
|
||||||
%check -a
|
%install
|
||||||
|
%pyproject_install
|
||||||
|
%pyproject_save_files -l cramjam
|
||||||
|
|
||||||
|
|
||||||
|
%check
|
||||||
|
%pyproject_check_import
|
||||||
%if %{with tests}
|
%if %{with tests}
|
||||||
# Test failures in test_variants_decompress_into with recent hypothesis
|
%ifarch s390x
|
||||||
# versions: https://github.com/milesgranger/cramjam/issues/201
|
# 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.
|
||||||
#
|
#
|
||||||
# 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,
|
# E cramjam.DecompressionError: Blosc2(InvalidHeader)
|
||||||
# since the problem appears to be linked to newer hypothesis versions, there’s
|
# […]
|
||||||
# not reason to believe that the package has *new* problems. It *might* have
|
# tests/test_variants.py:55: DecompressionError
|
||||||
# newly *revealed* problems. This merits further investigation.
|
k="${k-}${k+ and }not test_variants_different_dtypes[blosc2]"
|
||||||
k="${k-}${k+ and }not test_variants_decompress_into"
|
%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)"
|
||||||
|
|
||||||
# Regression with miniz_oxide>0.8.5
|
# Regression with miniz_oxide>0.8.5
|
||||||
# https://github.com/milesgranger/cramjam/issues/211
|
# https://github.com/milesgranger/cramjam/issues/211
|
||||||
# Failed: DID NOT RAISE <class 'cramjam.DecompressionError'>
|
# Failed: DID NOT RAISE <class 'cramjam.DecompressionError'>
|
||||||
k="${k-}${k+ and }not test_variants_raise_exception[deflate]"
|
k="${k-}${k+ and }not test_variants_raise_exception[deflate]"
|
||||||
|
|
||||||
%pytest -k "${k-}" --ignore=benchmarks/test_bench.py -v
|
%pytest -k "${k-}" -v -n auto
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
2
sources
2
sources
|
|
@ -1 +1 @@
|
||||||
SHA512 (cramjam-2.11.0.tar.gz) = d92446c0c0ef885f3544783caa1f179fd50b6a6290ada011495b7385411527f75a2544c0c8cdc36910c83c879dbac7dd130f4fe8f3dc3b885a84a45286cb3695
|
SHA512 (cramjam-2.9.1.tar.gz) = a2bcb6f98c8f7ffdf026fe9ffc061b3a462368a9bb69eea79697f7cba5091b1beb52cde9c298423d3a7538f86c1d6b15fdd083ccfd26fa2700c024c6d2a0437f
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue