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.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
|
||||
|
|
|
|||
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
|
||||
|
||||
#global commit xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||
#global snapdate YYYYMMDD
|
||||
# isa-l is ExcludeArch: i686
|
||||
%bcond isal %[ 0%{?__isa_bits} != 32 ]
|
||||
|
||||
Name: python-cramjam
|
||||
Version: 2.11.0
|
||||
Version: 2.9.1
|
||||
Release: %autorelease
|
||||
Summary: Thin Python bindings to de/compression algorithms in Rust
|
||||
|
||||
|
|
@ -33,9 +33,11 @@ Source1: get_source
|
|||
|
||||
%endif
|
||||
|
||||
BuildSystem: pyproject
|
||||
BuildOption(install): -l cramjam
|
||||
# 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
|
||||
|
||||
BuildRequires: python3-devel
|
||||
BuildRequires: tomcli >= 0.8.0
|
||||
BuildRequires: cargo-rpm-macros >= 24
|
||||
|
||||
|
|
@ -44,6 +46,7 @@ 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
|
||||
|
||||
|
|
@ -57,6 +60,7 @@ 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
|
||||
|
|
@ -74,30 +78,14 @@ License: %{shrink:
|
|||
%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
|
||||
# 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="$(
|
||||
|
|
@ -116,36 +104,75 @@ 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 -a
|
||||
%generate_buildrequires
|
||||
%pyproject_buildrequires
|
||||
%cargo_generate_buildrequires
|
||||
|
||||
|
||||
%build -p
|
||||
%build
|
||||
%cargo_license_summary
|
||||
%{cargo_license} > LICENSES.dependencies
|
||||
%pyproject_wheel
|
||||
|
||||
|
||||
%check -a
|
||||
%install
|
||||
%pyproject_install
|
||||
%pyproject_save_files -l cramjam
|
||||
|
||||
|
||||
%check
|
||||
%pyproject_check_import
|
||||
%if %{with tests}
|
||||
# Test failures in test_variants_decompress_into with recent hypothesis
|
||||
# versions: https://github.com/milesgranger/cramjam/issues/201
|
||||
%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.
|
||||
#
|
||||
# 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,
|
||||
# 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
|
||||
# newly *revealed* problems. This merits further investigation.
|
||||
k="${k-}${k+ and }not test_variants_decompress_into"
|
||||
# […]
|
||||
# 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)"
|
||||
|
||||
# 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
|
||||
%pytest -k "${k-}" -v -n auto
|
||||
%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