Compare commits

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

27 commits

Author SHA1 Message Date
Python Maint
7f9a6eb4b6 Rebuilt for Python 3.15.0b4 ABI change 2026-07-22 10:16:15 +02:00
Fedora Release Engineering
d32bd4d4cf Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild 2026-07-17 09:40:09 +00:00
Orion Poplawski
e96d793b3b Rebuild for Python 3.15
Update URL
Change cmake3 -> cmake
Update license to BSD-3-Clause
Add explicit requires on main package to python3-zfpy
2026-06-07 15:16:18 -06:00
Orion Poplawski
85a007f3ad Convert to %autorelease and %autochangelog
[skip changelog]
2026-06-07 14:44:25 -06:00
Fedora Release Engineering
28ad0130f0 Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild 2026-01-17 21:07:47 +00:00
Fedora Release Engineering
d28f4953e9 Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-25 21:17:53 +00:00
Python Maint
2873f4ee65 Rebuilt for Python 3.14 2025-06-03 12:32:30 +02:00
Elliott Sales de Andrade
81522306ec Add Python subpackage 2025-02-11 02:33:59 -05:00
Fedora Release Engineering
d8f72494c7 Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-19 16:45:11 +00:00
Miroslav Suchý
9817876968 convert license to SPDX
This is part of https://fedoraproject.org/wiki/Changes/SPDX_Licenses_Phase_4
2024-09-04 23:02:04 +02:00
Fedora Release Engineering
fc760dd654 Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-20 10:51:19 +00:00
Fedora Release Engineering
09062d2813 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-27 11:05:15 +00:00
Orion Poplawski
4e6d69379d Update to 1.0.1 2023-12-16 15:15:31 -07:00
Fedora Release Engineering
e61c958619 Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-22 19:40:40 +00:00
Orion Poplawski
c5540f8c77 Update to 1.0.0 2023-06-04 12:59:03 -06:00
Fedora Release Engineering
97cf6f69f8 Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-21 08:14:57 +00:00
Fedora Release Engineering
64047973b9 Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-23 13:54:22 +00:00
Fedora Release Engineering
43dfb0317f - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-22 05:50:44 +00:00
Fedora Release Engineering
195d38a28b - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-23 22:17:06 +00:00
Fedora Release Engineering
1c27c78dc3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-28 00:41:16 +00:00
Orion Poplawski
adac49d8e9 Also undefine __cmake3_in_source_build 2020-08-07 22:07:45 -06:00
Orion Poplawski
cc96f7d01e Update to 0.5.5 2020-08-07 21:52:01 -06:00
Fedora Release Engineering
c9ad2b5d14 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-29 15:22:20 +00:00
7c8d5ed9a3
Improve compatibility with new CMake macro
Signed-off-by: Igor Raits <ignatenkobrain@fedoraproject.org>
2020-07-05 19:38:52 +02:00
Fedora Release Engineering
147f8bfa93 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-01-31 05:18:06 +00:00
Fedora Release Engineering
193852b1d3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-07-27 04:59:12 +00:00
Orion Poplawski
c1f560a0a9 Initial commit 2019-02-25 07:43:18 -07:00
5 changed files with 332 additions and 0 deletions

4
.gitignore vendored Normal file
View file

@ -0,0 +1,4 @@
/zfp-0.5.4.tar.gz
/zfp-0.5.5.tar.gz
/zfp-1.0.0.tar.gz
/zfp-1.0.1.tar.gz

155
237.patch Normal file
View file

@ -0,0 +1,155 @@
From 37004a11e24a383d82b762dc44e542ddbd93ce6c Mon Sep 17 00:00:00 2001
From: William Silversmith <william.silversmith@gmail.com>
Date: Wed, 3 Jul 2024 15:26:38 -0400
Subject: [PATCH 1/3] fix: setup.py + set language level for cython
---
python/zfpy.pxd | 2 ++
python/zfpy.pyx | 2 ++
setup.py | 24 ++++++++++++++++++++----
3 files changed, 24 insertions(+), 4 deletions(-)
diff --git a/python/zfpy.pxd b/python/zfpy.pxd
index c92c29833..067bd90a4 100644
--- a/python/zfpy.pxd
+++ b/python/zfpy.pxd
@@ -1,3 +1,5 @@
+# cython: language_level=3
+
import cython
cimport libc.stdint as stdint
from libc.stddef cimport ptrdiff_t
diff --git a/python/zfpy.pyx b/python/zfpy.pyx
index 0b7a19e1c..0d1eb5230 100644
--- a/python/zfpy.pyx
+++ b/python/zfpy.pyx
@@ -1,3 +1,5 @@
+# cython: language_level=3
+
import sys
import operator
import functools
diff --git a/setup.py b/setup.py
index fa2da6efc..544ae2918 100644
--- a/setup.py
+++ b/setup.py
@@ -1,15 +1,31 @@
from setuptools import setup, Extension
-import numpy as np
+
+class NumpyImport:
+ def __repr__(self):
+ import numpy as np
+
+ return np.get_include()
+
+ __fspath__ = __repr__
setup(
name="zfpy",
+ setup_requires=["numpy", "cython"],
version="1.0.1",
author="Peter Lindstrom, Danielle Asher",
author_email="zfp@llnl.gov",
url="https://zfp.llnl.gov",
description="zfp compression in Python",
long_description="zfp is a compressed format for representing multidimensional floating-point and integer arrays. zfp provides compressed-array classes that support high throughput read and write random access to individual array elements. zfp also supports serial and parallel compression of whole arrays using both lossless and lossy compression with error tolerances. zfp is primarily written in C and C++ but also includes Python and Fortran bindings.",
- ext_modules=[Extension("zfpy", ["build/python/zfpy.c"],
- include_dirs=["include", np.get_include()],
- libraries=["zfp"], library_dirs=["build/lib64", "build/lib/Release"]), language_level = "3"]
+ ext_modules=[
+ Extension(
+ "zfpy",
+ sources=["python/zfpy.pyx"],
+ include_dirs=["include", str(NumpyImport())],
+ libraries=["zfp"],
+ library_dirs=["build/lib64", "build/lib/Release"],
+ language_level=3,
+ lanugage="c",
+ ),
+ ],
)
From 923f7c6ccab15e3820d8893226e44b9711d59a19 Mon Sep 17 00:00:00 2001
From: William Silversmith <william.silversmith@gmail.com>
Date: Wed, 3 Jul 2024 15:30:14 -0400
Subject: [PATCH 2/3] chore: add trove classifiers
---
setup.py | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/setup.py b/setup.py
index 544ae2918..90b37865c 100644
--- a/setup.py
+++ b/setup.py
@@ -15,6 +15,7 @@ def __repr__(self):
author="Peter Lindstrom, Danielle Asher",
author_email="zfp@llnl.gov",
url="https://zfp.llnl.gov",
+ license="License :: OSI Approved :: BSD License",
description="zfp compression in Python",
long_description="zfp is a compressed format for representing multidimensional floating-point and integer arrays. zfp provides compressed-array classes that support high throughput read and write random access to individual array elements. zfp also supports serial and parallel compression of whole arrays using both lossless and lossy compression with error tolerances. zfp is primarily written in C and C++ but also includes Python and Fortran bindings.",
ext_modules=[
@@ -28,4 +29,20 @@ def __repr__(self):
lanugage="c",
),
],
+ classifiers=[
+ "Intended Audience :: Developers",
+ "Development Status :: 4 - Beta",
+ "License :: OSI Approved :: BSD License",
+ "Programming Language :: Python :: 3",
+ "Programming Language :: Python :: 3.8",
+ "Programming Language :: Python :: 3.9",
+ "Programming Language :: Python :: 3.10",
+ "Programming Language :: Python :: 3.11",
+ "Programming Language :: Python :: 3.12",
+ "Topic :: Scientific/Engineering :: Image Processing",
+ "Topic :: System :: Archiving :: Compression",
+ "Operating System :: POSIX",
+ "Operating System :: MacOS",
+ "Operating System :: Microsoft :: Windows :: Windows 10",
+ ],
)
From 3b11d3169170e7125414fee1e4bb3f8ad753648d Mon Sep 17 00:00:00 2001
From: William Silversmith <william.silversmith@gmail.com>
Date: Wed, 3 Jul 2024 15:41:18 -0400
Subject: [PATCH 3/3] install: add MANIFEST.in and pyproject.toml
---
MANIFEST.in | 6 ++++++
pyproject.toml | 8 ++++++++
2 files changed, 14 insertions(+)
create mode 100644 MANIFEST.in
create mode 100644 pyproject.toml
diff --git a/MANIFEST.in b/MANIFEST.in
new file mode 100644
index 000000000..a34c60c68
--- /dev/null
+++ b/MANIFEST.in
@@ -0,0 +1,6 @@
+include python/zfpy.pxd
+include python/zfpy.pyx
+recursive-include include *.h
+recursive-include src *.c *.h
+include LICENSE
+include pyproject.toml
\ No newline at end of file
diff --git a/pyproject.toml b/pyproject.toml
new file mode 100644
index 000000000..f43c81a75
--- /dev/null
+++ b/pyproject.toml
@@ -0,0 +1,8 @@
+[build-system]
+requires = [
+ "setuptools",
+ "wheel",
+ "cython",
+ "oldest-supported-numpy; python_version<'3.9'",
+ 'numpy; python_version>="3.9"',
+]
\ No newline at end of file

65
changelog Normal file
View file

@ -0,0 +1,65 @@
* Sat Jan 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.1-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.1-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Tue Jun 03 2025 Python Maint <python-maint@redhat.com> - 1.0.1-7
- Rebuilt for Python 3.14
* Tue Jan 21 2025 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 1.0.1-6
- Add Python subpackage
* Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Wed Sep 04 2024 Miroslav Suchý <msuchy@redhat.com> - 1.0.1-4
- convert license to SPDX
* Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sat Dec 16 2023 Orion Poplawski <orion@nwra.com> - 1.0.1-1
- Update to 1.0.1
* Sat Jul 22 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Sun Jun 04 2023 Orion Poplawski <orion@nwra.com> - 1.0.0-1
- Update to 1.0.0
* Sat Jan 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.5-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.5-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Sat Jan 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.5-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.5-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Thu Jan 28 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.5-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Sat Aug 08 2020 Orion Poplawski <orion@nwra.com> - 0.5.5-1
- Update to 0.5.5
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.4-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Fri Jan 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.4-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Sat Jul 27 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Sun Feb 24 2019 Orion Poplawski <orion@nwra.com> - 0.5.4-1
- Update to 0.5.4
* Tue May 9 2017 Orion Poplawski <orion@cora.nwra.com> - 0.5.1-1
- Initial Fedora package

1
sources Normal file
View file

@ -0,0 +1 @@
SHA512 (zfp-1.0.1.tar.gz) = 5bbd98ed2f98e75c654afa863cab3023abb2eeb8f203f9049c75d5dbdf4b364cfb5c8378e10e6aaeaf13242315ad4949b06619810a67b3adaed095b7e8a48d5a

107
zfp.spec Normal file
View file

@ -0,0 +1,107 @@
%undefine __cmake_in_source_build
Name: zfp
Version: 1.0.1
Release: %autorelease
Summary: Library for compressed numerical arrays with high throughput R/W random access
License: BSD-3-Clause
URL: https://computing.llnl.gov/projects/zfp
Source0: https://github.com/LLNL/%{name}/archive/%{version}/%{name}-%{version}.tar.gz
# Fix setup.py syntax and add pyproject.toml.
Patch: https://github.com/LLNL/%{name}/pull/237.patch
BuildRequires: cmake
BuildRequires: gcc-c++
%description
This is zfp, an open source C/C++ library for compressed numerical arrays
that support high throughput read and write random access. zfp was written by
Peter Lindstrom at Lawrence Livermore National Laboratory, and is loosely
based on the algorithm described in the following paper:
Peter Lindstrom
"Fixed-Rate Compressed Floating-Point Arrays"
IEEE Transactions on Visualization and Computer Graphics,
20(12):2674-2683, December 2014
doi:10.1109/TVCG.2014.2346458
zfp was originally designed for floating-point data only, but has been
extended to also support integer data, and could for instance be used to
compress images and quantized volumetric data. To achieve high compression
ratios, zfp uses lossy but optionally error-bounded compression. Although
bit-for-bit lossless compression of floating-point data is not always
possible, zfp is usually accurate to within machine epsilon in near-lossless
mode.
zfp works best for 2D and 3D arrays that exhibit spatial coherence, such as
smooth fields from physics simulations, images, regularly sampled terrain
surfaces, etc. Although zfp also provides a 1D array class that can be used
for 1D signals such as audio, or even unstructured floating-point streams,
the compression scheme has not been well optimized for this use case, and
rate and quality may not be competitive with floating-point compressors
designed specifically for 1D streams.
%package devel
Summary: Development files for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
%description devel
The %{name}-devel package contains libraries and header files for
developing applications that use %{name}.
%package -n python3-zfpy
Summary: zfp compression in Python
BuildRequires: python3-devel
Requires: %{name}%{?_isa} = %{version}-%{release}
%description -n python3-zfpy
The python3-zfpy package contains a Python library for using %{name}.
%prep
%autosetup -p1
%generate_buildrequires
%pyproject_buildrequires
%build
%cmake -DCMAKE_SKIP_INSTALL_RPATH=YES -DHAVE_LIBM_MATH=YES
%cmake_build
export LDFLAGS="$LDFLAGS -L$PWD/%{_vpath_builddir}/%{_lib}/"
%pyproject_wheel
%install
%cmake_install
%pyproject_install
%pyproject_save_files -l zfpy
%ldconfig_scriptlets
%files
%doc README.md NOTICE CHANGELOG.md
%license LICENSE
%{_bindir}/zfp
%{_libdir}/libzfp.so.1*
%files devel
%doc examples
%{_includedir}/*
%{_libdir}/libzfp.so
%{_libdir}/cmake/zfp/
%files -n python3-zfpy -f %{pyproject_files}
%changelog
%autochangelog