1
0

Compare commits

17 Commits

Author SHA256 Message Date
f4f4d340c0 Accepting request 1325230 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/1325230
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-cramjam?expand=0&rev=9
2026-01-05 13:51:57 +00:00
f62c9f72f9 - Update to 2.11.0
* Initial impl zero-copy Buffer by @milesgranger in #209
  * Buffer: Fix extended and negative int reads by @milesgranger in
    #210
  * Initial Type/JavaScript support by @milesgranger in #217
  * Fix lz4.decompress_block_into w/o prepended size by
    @milesgranger in #219
  * Add typing stub files and proper docs site by @milesgranger in
    #220
  * Ban mutating immutable buffers on the free-threaded build by
    @ngoldbaum in #214
  * zstd: store size by @milesgranger in #225
  * Add Python 3.14/t - Drop Python 3.8 by @milesgranger in #226
- Release 2.10.0
  * Remove experimental codecs in default builds by @milesgranger
    in #197
  * Bump libcramjam -> 0.7.0 by @milesgranger in #198
  * Update PyO3 to 0.24 by @musicinmybrain in #207
- Disable test_variants_raise_exception[deflate] 
  * gh#milesgranger/cramjam#211
- Disable blosc2 because it fails to compile right now and upstream
  degraded it from the default feature set to experimental
  * gh#milesgranger/cramjam#197
- Add debuginfo

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-cramjam?expand=0&rev=15
2026-01-03 20:11:57 +00:00
0a699f1702 Accepting request 1232032 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/1232032
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-cramjam?expand=0&rev=8
2024-12-19 20:41:25 +00:00
8181ca9836 - Update to 2.9.1
* Add Cargo.lock and bump patch version by @milesgranger in #192
- Release 2.9.0
  * Bump libcramjam/isal-rs by @milesgranger in #183
  * Add cramjam.zlib, cramjam.experimental.izlib, and
    cramjam.experimental.ideflate by @milesgranger in #184
- Release 2.8.4
  * Add cramjam.experimental.blosc2
  * Add cramjam.experimental.igzip (on 64bit targets)
  * Add wasm32 emscripten build and test for pyodide
- Release 2.8.3
  * Move LZMA / XZ out of experimental to xz submodule by
    @milesgranger in #133
  * Remove unused Cargo.lock files by @milesgranger in #149
  * Fix tests that assume C char is signed by @musicinmybrain in
    #150
- Release 2.8.2
  * Remove zstd-safe dep in libcramjam by @milesgranger in #132
  * Remove relative libcramjam dep for python builds by
    @milesgranger in #131
  * Impl eq for python Buffer by @milesgranger in #135
  * Fix missing LICENSE file in cramjam-cli by @musicinmybrain in
    #137
  * Adjust the binary name in the cramjam-cli example by
    @musicinmybrain in #138
  * Cargo.toml: set workspace.resolver to 2 by @veprbl in #140
- Add cramjam-opensuse-config.patch: Use some system libraries and
  avoid static linking
- Add cramjam-issue193-test_variants.patch
  gh#milesgranger/cramjam#193

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-cramjam?expand=0&rev=13
2024-12-19 08:20:12 +00:00
0f9d1271ca Accepting request 1193956 from devel:languages:python
- use modern python on sle15

OBS-URL: https://build.opensuse.org/request/show/1193956
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-cramjam?expand=0&rev=7
2024-08-16 10:23:13 +00:00
be8ef37b54 Accepting request 1147605 from devel:languages:python
Forwarded request #1147537 from badshah400

* Update to version 2.8.1.
  * pyrus-cramjam is now simply cramjam; adapt to name change in spec and _service file.
  * Drop cargo_config: Updated rust packaging services include it in vendor.tar.xz.
  * Split out test into multibuild flavor since it takes a long time to run (about an hour).

OBS-URL: https://build.opensuse.org/request/show/1147605
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-cramjam?expand=0&rev=6
2024-02-20 20:15:02 +00:00
55e7da4495 Accepting request 1147537 from home:badshah400:branches:devel:languages:python
* Update to version 2.8.1.
* pyrus-cramjam is now simply cramjam; adapt to name change in spec and _service file.
* Drop cargo_config: Updated rust packaging services include it in vendor.tar.xz.
* Split out test into multibuild flavor since it takes a long time to run (about an hour).

OBS-URL: https://build.opensuse.org/request/show/1147537
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-cramjam?expand=0&rev=9
2024-02-19 14:30:20 +00:00
db27c80e83 Accepting request 1058591 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/1058591
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-cramjam?expand=0&rev=5
2023-01-16 16:59:14 +00:00
23e63f0ef2 Accepting request 1058215 from home:bnavigator:branches:devel:languages:python
- Update to v2.6.2
  * Bump pyo3, numpy and expand pyproject.toml by @milesgranger in
    #90
- Updated crate fixes bzip2 < 0.4.4 vulnerability
  * boo#1207039, CVE-2023-22895

OBS-URL: https://build.opensuse.org/request/show/1058215
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-cramjam?expand=0&rev=7
2023-01-16 05:47:57 +00:00
77897eee25 Accepting request 1032178 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/1032178
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-cramjam?expand=0&rev=4
2022-10-29 18:17:31 +00:00
8add767cda Accepting request 1032126 from home:bnavigator:branches:devel:languages:python:numeric
- Update to v2.6.1
  * Switch brotli2 -> brotli crate by @milesgranger in #87

- Update to v2.6.0
  * Update to pyo3 0.16 by @messense in #78
  * Update dependencies and simplify CI by @messense in #79
  * Support Lz4 de/compress_block_into functions by @milesgranger
    in #80
  * Upgrade maturin to 0.13.0 by @messense in #81
  * Integration tests, benchmark updates, subclass Buffer by
    @milesgranger in #83
  * Bump lz4-sys from 1.9.3 to 1.9.4 by @dependabot in #84
  * Add Python 3.11 by @milesgranger in #85
- Release v2.5.0
  * Incorporate property-based testing by @milesgranger in #69
  * Support bzip2 by @milesgranger in #70
- Release  v2.4.0
  * This release comes with streaming compression support for all
    variants. And updates Gzip compression variant to support
    properly decoding input which has multiple streams, as is the
    default with std gzip lib. This release does not alter any of
    the existing APIs.
  * Support compressed gzip multistream (#64) b9cfa13
  * Support Compressor for each variant (#64) 8ecb0fa
  * Support .flush for Compressor (#68) 4b92e42
  * Add official OSI name in the license metadata (#66) 446a671

OBS-URL: https://build.opensuse.org/request/show/1032126
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-cramjam?expand=0&rev=5
2022-10-29 11:44:47 +00:00
af3c3016bc Accepting request 921916 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/921916
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-cramjam?expand=0&rev=3
2021-09-28 17:16:37 +00:00
81d664b2be Accepting request 921904 from home:firstyear:branches:devel:languages:python
- Replace rust-packaging with cargo-packaging

OBS-URL: https://build.opensuse.org/request/show/921904
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-cramjam?expand=0&rev=4
2021-09-28 05:47:51 +00:00
2347205b56 Accepting request 907191 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/907191
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-cramjam?expand=0&rev=2
2021-07-20 13:39:30 +00:00
5d25ff2d51 Accepting request 907188 from home:bnavigator:branches:devel:languages:python
- Update to 2.3.2
  * no core library code changes
- Update filelist due to updated setuptools: not a single .so but
  a full module directory now.
- run cargo crate service: update vendored rust crates
- re-activate cargo audit service
  * gh#openSUSE/obs-service-cargo_audit#1 is fixed

OBS-URL: https://build.opensuse.org/request/show/907188
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-cramjam?expand=0&rev=3
2021-07-19 20:31:59 +00:00
01d56c358d Accepting request 894254 from devel:languages:python
new requirement for spyder 5.0.3

OBS-URL: https://build.opensuse.org/request/show/894254
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-cramjam?expand=0&rev=1
2021-05-19 15:49:29 +00:00
d8ed8aab03 Accepting request 894092 from home:bnavigator:branches:devel:languages:python:numeric
new requirement for fastparquet 0.6

OBS-URL: https://build.opensuse.org/request/show/894092
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-cramjam?expand=0&rev=1
2021-05-19 05:31:18 +00:00
10 changed files with 172 additions and 22 deletions

View File

@@ -4,7 +4,7 @@
<param name="scm">git</param>
<param name="versionformat">@PARENT_TAG@</param>
<!-- can change back to master when there are no .post tags on top of the branch -->
<param name="revision">v2.8.1</param>
<param name="revision">v2.11.0</param>
<param name="versionrewrite-pattern">v(.*)</param>
<param name="versionrewrite-replacement">\1</param>
</service>

3
cramjam-2.11.0.tar.xz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c420c6c5d6d27df9c783869c8bf55971a03ecaf7684beea507a5ab15d1b8f0ce
size 56189840

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:50e24fa65facd333951a4a0e029187e615e30244e3146137157330a5f8eee82e
size 3311116

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b8675fe7d3f5c26ad5927f20f1172c58d1ef3ceae105c0623966acb4599a0785
size 843748

View File

@@ -0,0 +1,32 @@
Index: cramjam-2.11.0/tests/test_variants.py
===================================================================
--- cramjam-2.11.0.orig/tests/test_variants.py
+++ cramjam-2.11.0/tests/test_variants.py
@@ -104,7 +104,7 @@ def test_variants_raise_exception(varian
"output_type", (bytes, bytearray, "numpy", cramjam.Buffer, cramjam.File, memoryview)
)
@pytest.mark.parametrize("variant_str", VARIANTS)
-@given(raw_data=st.binary())
+@given(raw_data=st.binary(min_size=2))
def test_variants_compress_into(
variant_str,
input_type,
@@ -181,7 +181,7 @@ def test_variants_compress_into(
"output_type", (bytes, bytearray, "numpy", cramjam.Buffer, cramjam.File, memoryview)
)
@pytest.mark.parametrize("variant_str", VARIANTS)
-@given(raw_data=st.binary())
+@given(raw_data=st.binary(min_size=2))
def test_variants_decompress_into(
variant_str,
input_type,
@@ -191,9 +191,6 @@ def test_variants_decompress_into(
is_pypy,
is_free_threaded,
):
- if variant_str == "izlib" and output_type == "memoryview":
- pytest.skip("See issue https://github.com/milesgranger/cramjam/issues/193")
-
variant = getattr(cramjam, variant_str)
compressed = variant.compress(raw_data)

View File

@@ -0,0 +1,46 @@
Index: cramjam-2.11.0/pyproject.toml
===================================================================
--- cramjam-2.11.0.orig/pyproject.toml
+++ cramjam-2.11.0/pyproject.toml
@@ -15,7 +15,26 @@ requires = ["maturin>=0.14"]
build-backend = "maturin"
[tool.maturin]
-strip = true
+strip = false
+no-default-features = true
+features = [
+ "extension-module",
+ "snappy",
+ "lz4",
+ "bzip2",
+ "brotli",
+ "zstd",
+ "xz-shared",
+ "igzip-shared",
+ "ideflate-shared",
+ "izlib-shared",
+ "use-system-isal-shared",
+ "gzip-shared",
+ "zlib-shared",
+ "deflate-shared",
+# "blosc2-shared",
+# "use-system-blosc2-shared"
+]
[dependency-groups]
dev = [
Index: cramjam-2.11.0/Cargo.toml
===================================================================
--- cramjam-2.11.0.orig/Cargo.toml
+++ cramjam-2.11.0/Cargo.toml
@@ -79,7 +79,8 @@ libcramjam = { version = "^0.8", default
pyo3-build-config = "^0.25"
[profile.release]
-strip = true
+strip = "none"
+debug = true
lto = "fat"
codegen-units = 1
opt-level = 3

View File

@@ -1,4 +1,4 @@
name: cramjam
version: 2.8.1
mtime: 1706284751
commit: 91a329fd1e4c8dbabc484ec1d711a20add2fcc65
version: 2.11.0
mtime: 1753648793
commit: 1f411f3a05e5acf96ca8a632087916d5bf8b3500

View File

@@ -1,3 +1,65 @@
-------------------------------------------------------------------
Fri Jan 2 16:11:13 UTC 2026 - Ben Greiner <code@bnavigator.de>
- Update to 2.11.0
* Initial impl zero-copy Buffer by @milesgranger in #209
* Buffer: Fix extended and negative int reads by @milesgranger in
#210
* Initial Type/JavaScript support by @milesgranger in #217
* Fix lz4.decompress_block_into w/o prepended size by
@milesgranger in #219
* Add typing stub files and proper docs site by @milesgranger in
#220
* Ban mutating immutable buffers on the free-threaded build by
@ngoldbaum in #214
* zstd: store size by @milesgranger in #225
* Add Python 3.14/t - Drop Python 3.8 by @milesgranger in #226
- Release 2.10.0
* Remove experimental codecs in default builds by @milesgranger
in #197
* Bump libcramjam -> 0.7.0 by @milesgranger in #198
* Update PyO3 to 0.24 by @musicinmybrain in #207
- Disable test_variants_raise_exception[deflate]
* gh#milesgranger/cramjam#211
- Disable blosc2 because it fails to compile right now and upstream
degraded it from the default feature set to experimental
* gh#milesgranger/cramjam#197
- Add debuginfo
-------------------------------------------------------------------
Wed Dec 18 11:40:10 UTC 2024 - Ben Greiner <code@bnavigator.de>
- Update to 2.9.1
* Add Cargo.lock and bump patch version by @milesgranger in #192
- Release 2.9.0
* Bump libcramjam/isal-rs by @milesgranger in #183
* Add cramjam.zlib, cramjam.experimental.izlib, and
cramjam.experimental.ideflate by @milesgranger in #184
- Release 2.8.4
* Add cramjam.experimental.blosc2
* Add cramjam.experimental.igzip (on 64bit targets)
* Add wasm32 emscripten build and test for pyodide
- Release 2.8.3
* Move LZMA / XZ out of experimental to xz submodule by
@milesgranger in #133
* Remove unused Cargo.lock files by @milesgranger in #149
* Fix tests that assume C char is signed by @musicinmybrain in
#150
- Release 2.8.2
* Remove zstd-safe dep in libcramjam by @milesgranger in #132
* Remove relative libcramjam dep for python builds by
@milesgranger in #131
* Impl eq for python Buffer by @milesgranger in #135
* Fix missing LICENSE file in cramjam-cli by @musicinmybrain in
#137
* Adjust the binary name in the cramjam-cli example by
@musicinmybrain in #138
* Cargo.toml: set workspace.resolver to 2 by @veprbl in #140
- Add cramjam-opensuse-config.patch: Use some system libraries and
avoid static linking
- Add cramjam-issue193-test_variants.patch
gh#milesgranger/cramjam#193
-------------------------------------------------------------------
Wed Aug 14 15:11:07 UTC 2024 - Dirk Müller <dmueller@suse.com>
@@ -51,7 +113,7 @@ Mon Feb 19 09:16:39 UTC 2024 - Atri Bhattacharya <badshah400@gmail.com>
to run (about an hour).
-------------------------------------------------------------------
Fr- Jan 13 11:04:41 UTC 2023 - Ben Greiner <code@bnavigator.de>
Fri Jan 13 11:04:41 UTC 2023 - Ben Greiner <code@bnavigator.de>
- Update to v2.6.2
* Bump pyo3, numpy and expand pyproject.toml by @milesgranger in

View File

@@ -1,7 +1,7 @@
#
# spec file for package python-cramjam
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2026 SUSE LLC and contributors
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -29,24 +29,37 @@
%define modname cramjam
%{?sle15_python_module_pythons}
Name: python-cramjam%{psuffix}
Version: 2.8.1
Version: 2.11.0
Release: 0
Summary: Thin Python bindings to de/compression algorithms in Rust
License: MIT
URL: https://github.com/milesgranger/cramjam
Source: %{modname}-%{version}.tar.xz
Source1: vendor.tar.xz
BuildRequires: %{python_module base >= 3.7}
# PATCH-FEATURE-OPENSUSE cramjam-opensuse-config.patch code@bnavigator.de -- Use system libraries and avoid static linking
Patch0: cramjam-opensuse-config.patch
# PATCH-FIX-UPSTREAM cramjam-issue193-test_variants.patch gh#milesgranger/cramjam#193
Patch1: cramjam-issue193-test_variants.patch
BuildRequires: %{python_module base >= 3.8}
BuildRequires: %{python_module maturin >= 0.13}
BuildRequires: %{python_module pip}
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: cargo-packaging
BuildRequires: cmake
BuildRequires: libtool
BuildRequires: nasm
BuildRequires: python-rpm-macros
# blosc2 disabled: see Patch0 and gh#milesgranger/cramjam#197
#BuildRequires: pkgconfig(blosc2)
BuildRequires: pkgconfig(libisal)
BuildRequires: pkgconfig(libzstd)
# SECTION test dependencies
%if %{with test}
BuildRequires: %{python_module %{modname} = %{version}}
BuildRequires: %{python_module hypothesis}
BuildRequires: %{python_module memory_profiler}
BuildRequires: %{python_module numpy}
BuildRequires: %{python_module pytest-xdist}
BuildRequires: %{python_module pytest}
%endif
# /SECTION
@@ -58,25 +71,25 @@ Extremely thin Python bindings to de/compression algorithms in Rust.
Allows for using algorithms such as Snappy, without any system dependencies.
%prep
%setup -q -n %{modname}-%{version} -a1
%autosetup -p1 -n %{modname}-%{version} -a1
%build
%if %{without test}
pushd %{modname}-python
export ZSTD_SYS_USE_PKG_CONFIG=1
%pyproject_wheel
%endif
%install
%if %{without test}
pushd %{modname}-python
%pyproject_install
%python_expand %fdupes %{buildroot}%{$python_sitearch}
%endif
%check
%if %{with test}
pushd %{modname}-python
%pytest_arch --ignore benchmarks
# gh#milesgranger/cramjam#211
donttest="(test_variants_raise_exception and deflate)"
%pytest_arch -n auto --ignore benchmarks -k "not ($donttest)"
%endif
%if %{without test}

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:30f3940da29a76a9212d4b84386e4bb580456c8236e9384e989cce2c7e88fd78
size 18761492
oid sha256:22880b5c4cb447b9e3068e4618840c904c7a70d587153114bd048cec2fcd243b
size 12499420