From 757bd68b0fc8a7859a9652287c0f70ed5e08e397498f85e76cbffb83d6bffb46 Mon Sep 17 00:00:00 2001 From: Dirk Mueller Date: Sat, 18 Feb 2023 16:29:58 +0000 Subject: [PATCH] Accepting request 1066434 from home:bnavigator:branches:devel:languages:python:numeric - Update to version 1.11.1 * Many small code improvements, improved consistency and typo fixes. Thanks to Dimitri Papadopoulos Orfanos. * Support for Python 3.11. Support for Python 3.7 has been dropped. Thanks to Dimitri Papadopoulos Orfanos. * Several other fixes, mainly related with the building process, which should be more solid now in different situations. - Release 1.10.6 * Add a missed cmake folder to distributed files. See #253. Thanks to Ben Greiner. - Release 1.10.5 * Re-enable the possibility to use an already installed C-Blosc library. See #244. Thanks to Ben Greiner. - Release 1.10.4 * Update blosc.nthreads when blosc.set_nthreads() is called. Fixes #246 - Drop use-system-blosc.patch - PEP517 build OBS-URL: https://build.opensuse.org/request/show/1066434 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-blosc?expand=0&rev=21 --- blosc-1.10.2.tar.gz | 3 - blosc-1.11.1.tar.gz | 3 + python-blosc.changes | 22 +++++++ python-blosc.spec | 34 +++++----- use-system-blosc.patch | 146 ----------------------------------------- 5 files changed, 41 insertions(+), 167 deletions(-) delete mode 100644 blosc-1.10.2.tar.gz create mode 100644 blosc-1.11.1.tar.gz delete mode 100644 use-system-blosc.patch diff --git a/blosc-1.10.2.tar.gz b/blosc-1.10.2.tar.gz deleted file mode 100644 index 83603d6..0000000 --- a/blosc-1.10.2.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:eeba922f52becd697dc5cfcee8d01a03ba9597a54ce91fdacd9998492acbed9b -size 858096 diff --git a/blosc-1.11.1.tar.gz b/blosc-1.11.1.tar.gz new file mode 100644 index 0000000..69ce652 --- /dev/null +++ b/blosc-1.11.1.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c22119b27bae1063a697f639028b422d55811b0880c3fc0149cbdea791d0b276 +size 1177460 diff --git a/python-blosc.changes b/python-blosc.changes index 0c0b5cd..3ae7ff4 100644 --- a/python-blosc.changes +++ b/python-blosc.changes @@ -1,3 +1,25 @@ +------------------------------------------------------------------- +Fri Feb 17 22:03:24 UTC 2023 - Ben Greiner + +- Update to version 1.11.1 + * Many small code improvements, improved consistency and typo + fixes. Thanks to Dimitri Papadopoulos Orfanos. + * Support for Python 3.11. Support for Python 3.7 has been + dropped. Thanks to Dimitri Papadopoulos Orfanos. + * Several other fixes, mainly related with the building process, + which should be more solid now in different situations. +- Release 1.10.6 + * Add a missed cmake folder to distributed files. See #253. + Thanks to Ben Greiner. +- Release 1.10.5 + * Re-enable the possibility to use an already installed C-Blosc + library. See #244. Thanks to Ben Greiner. +- Release 1.10.4 + * Update blosc.nthreads when blosc.set_nthreads() is called. + Fixes #246 +- Drop use-system-blosc.patch +- PEP517 build + ------------------------------------------------------------------- Sat Feb 13 13:40:00 UTC 2021 - Ben Greiner diff --git a/python-blosc.spec b/python-blosc.spec index 65db1cb..770c86c 100644 --- a/python-blosc.spec +++ b/python-blosc.spec @@ -1,7 +1,7 @@ # # spec file for package python-blosc # -# Copyright (c) 2021 SUSE LLC +# Copyright (c) 2023 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,28 +16,23 @@ # -%{?!python_module:%define python_module() python-%{**} python3-%{**}} -%define skip_python2 1 -# Upstream dropped official support for Python < 3.7 and python36-numpy is being phased out of TW -%define skip_python36 1 Name: python-blosc -Version: 1.10.2 +Version: 1.11.1 Release: 0 Summary: Blosc data compressor for Python License: MIT Group: Development/Languages/Python URL: https://github.com/Blosc/python-blosc Source: https://files.pythonhosted.org/packages/source/b/blosc/blosc-%{version}.tar.gz -# PATCH-FEATURE-UPSTREAM use-system-blosc.patch -- gh#Blosc/python-blosc#244 -Patch0: https://github.com/Blosc/python-blosc/pull/244.patch#/use-system-blosc.patch -BuildRequires: %{python_module devel >= 3.7} +BuildRequires: %{python_module devel >= 3.8} +BuildRequires: %{python_module pip} BuildRequires: %{python_module scikit-build >= 0.11.1} BuildRequires: %{python_module setuptools} -BuildRequires: blosc-devel >= 1.9.0 +BuildRequires: %{python_module wheel} +BuildRequires: blosc-devel >= 1.21 BuildRequires: c++_compiler BuildRequires: cmake >= 3.14.0 BuildRequires: fdupes -BuildRequires: ninja BuildRequires: python-rpm-macros # SECTION test requirements BuildRequires: %{python_module numpy >= 1.16} @@ -52,25 +47,28 @@ Python. %prep %autosetup -p1 -n blosc-%{version} +rm -r blosc/c-blosc %build export CFLAGS="%{optflags}" export USE_SYSTEM_BLOSC=1 -%python_build +%pyproject_wheel %install -export USE_SYSTEM_BLOSC=1 -# gh#Blosc/python-blosc#222 -%python_expand %{$python_install} --install-purelib %{$python_sitearch} +%pyproject_install %python_expand %fdupes %{buildroot}%{$python_sitearch} %check -%pyunittest_arch discover -s blosc/ -v +%{python_expand # +export PYTHONPATH=%{buildroot}%{$python_sitearch} +export PYTHONDONTWRITEBYTECODE=1 +$python -m blosc.test +} %files %{python_files} +%license LICENSE.txt %doc ANNOUNCE.rst README.rst RELEASE_NOTES.rst -%license LICENSES/*.txt -%{python_sitearch}/blosc-%{version}*-info +%{python_sitearch}/blosc-%{version}.dist-info %{python_sitearch}/blosc/ %changelog diff --git a/use-system-blosc.patch b/use-system-blosc.patch deleted file mode 100644 index 69c31d5..0000000 --- a/use-system-blosc.patch +++ /dev/null @@ -1,146 +0,0 @@ -From ae63a9c222f95c898ca3fc0664254f655c5162eb Mon Sep 17 00:00:00 2001 -From: Ben Greiner -Date: Sat, 13 Feb 2021 18:58:31 +0100 -Subject: [PATCH] Reenable possibility to use an already installed C-Blosc - library - ---- - README.rst | 14 ++++++-------- - blosc/CMakeLists.txt | 33 +++++++++++++++++++-------------- - cmake/FindBlosc.cmake | 12 ++++++++++++ - setup.py | 23 +++++++++++++---------- - 4 files changed, 50 insertions(+), 32 deletions(-) - create mode 100644 cmake/FindBlosc.cmake - -diff --git a/README.rst b/README.rst -index 3329a21..c0385e1 100644 ---- a/README.rst -+++ b/README.rst -@@ -79,7 +79,7 @@ Installing via setuptools - .. code-block:: console - - $ python -m pip install -r requirements-dev.txt -- $ python setup.py build_ext --inplace -+ $ python setup.py build --inplace - - Any codec can be enabled (`=1`) or disabled (`=0`) on this build-path with the appropriate - OS environment variables `INCLUDE_LZ4`, `INCLUDE_SNAPPY`, `INCLUDE_ZLIB`, and -@@ -115,17 +115,15 @@ Using an environment variable: - - .. code-block:: console - -- $ BLOSC_DIR=/usr/local (or "set BLOSC_DIR=\blosc" on Win) -- $ export BLOSC_DIR (not needed on Win) -- $ python setup.py build_clib -- $ python setup.py build_ext --inplace -+ $ export USE_SYSTEM_BLOSC=1 # or "set USE_SYSTEM_BLOSC=1" on Windows -+ $ export Blosc_ROOT=/usr/local/customprefix # If you installed Blosc into a custom location -+ $ python setup.py build --inplace - --Using a flag: -+Using flags: - - .. code-block:: console - -- $ python setup.py build_clib -- $ python setup.py build_ext --inplace --blosc=/usr/local -+ $ python setup.py build --inplace -DUSE_SYSTEM_BLOSC:BOOL=YES -DBlosc_ROOT:PATH=/usr/local/customprefix - - - Testing -diff --git a/blosc/CMakeLists.txt b/blosc/CMakeLists.txt -index 7f06f28..f9a5214 100644 ---- a/blosc/CMakeLists.txt -+++ b/blosc/CMakeLists.txt -@@ -1,19 +1,24 @@ --# Todo: c-blosc provides a CMake package configuration file that we can build --# against if blosc is available on the system, etc. --# find_package(blosc) --# if(NOT blosc_FOUND) --set(BUILD_STATIC ON CACHE BOOL "Build a static version of the blosc library.") --set(BUILD_SHARED ON CACHE BOOL "Build a shared library version of the blosc library.") --set(BUILD_TESTS OFF CACHE BOOL "Build test programs form the blosc compression library") --set(BUILD_BENCHMARKS OFF CACHE BOOL "Build benchmark programs form the blosc compression library") --set(BLOSC_IS_SUBPROJECT OFF CACHE BOOL "Blosc is subproject") --set(CMAKE_POSITION_INDEPENDENT_CODE ON) --add_subdirectory(c-blosc) --include_directories("${CMAKE_CURRENT_SOURCE_DIR}/c-blosc/blosc") -+add_library(blosc_extension MODULE blosc_extension.c) -+ -+if(USE_SYSTEM_BLOSC) -+ set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake") -+ find_package(Blosc REQUIRED) -+ target_include_directories(blosc_extension PRIVATE ${Blosc_INCLUDE_DIRS}) -+ target_link_libraries(blosc_extension ${Blosc_LIBRARIES}) -+else() -+ set(BUILD_STATIC ON CACHE BOOL "Build a static version of the blosc library.") -+ set(BUILD_SHARED ON CACHE BOOL "Build a shared library version of the blosc library.") -+ set(BUILD_TESTS OFF CACHE BOOL "Build test programs form the blosc compression library") -+ set(BUILD_BENCHMARKS OFF CACHE BOOL "Build benchmark programs form the blosc compression library") -+ set(BLOSC_IS_SUBPROJECT OFF CACHE BOOL "Blosc is subproject") -+ set(CMAKE_POSITION_INDEPENDENT_CODE ON) -+ add_subdirectory(c-blosc) -+ include_directories("${CMAKE_CURRENT_SOURCE_DIR}/c-blosc/blosc") -+ target_link_libraries(blosc_extension blosc_static) -+endif() -+ - - --add_library(blosc_extension MODULE blosc_extension.c) --target_link_libraries(blosc_extension blosc_static) - python_extension_module(blosc_extension) - - add_custom_command( -diff --git a/cmake/FindBlosc.cmake b/cmake/FindBlosc.cmake -new file mode 100644 -index 0000000..02a039f ---- /dev/null -+++ b/cmake/FindBlosc.cmake -@@ -0,0 +1,12 @@ -+find_path(Blosc_INCLUDE_DIR blosc.h) -+ -+find_library(Blosc_LIBRARY NAMES blosc) -+ -+if (Blosc_INCLUDE_DIR AND Blosc_LIBRARY) -+ set(Blosc_FOUND TRUE) -+ set(Blosc_INCLUDE_DIRS ${Blosc_INCLUDE_DIR}) -+ set(Blosc_LIBRARIES ${Blosc_LIBRARY}) -+ message(STATUS "Found Blosc library: ${Blosc_LIBRARIES}") -+else () -+ message(STATUS "No Blosc library found. Using internal sources.") -+endif () -\ No newline at end of file -diff --git a/setup.py b/setup.py -index 2fd6619..37b5827 100644 ---- a/setup.py -+++ b/setup.py -@@ -85,16 +85,19 @@ def cmake_bool(cond): - url = 'http://github.com/blosc/python-blosc', - license = 'https://opensource.org/licenses/BSD-3-Clause', - platforms = ['any'], -- cmake_args = [ -- '-DBLOSC_DIR:PATH=%s' % os.environ.get('BLOSC_DIR', ''), -- '-DDEACTIVATE_SSE2:BOOL=%s' % cmake_bool(('DISABLE_BLOSC_SSE2' in os.environ) or (cpu_info is None) or ('sse2' not in cpu_info['flags'])), -- '-DDEACTIVATE_AVX2:BOOL=%s' % cmake_bool(('DISABLE_BLOSC_AVX2' in os.environ) or (cpu_info is None) or ('avx2' not in cpu_info['flags'])), -- '-DDEACTIVATE_LZ4:BOOL=%s' % cmake_bool(not int(os.environ.get('INCLUDE_LZ4', '1'))), -- # Snappy is disabled by default -- '-DDEACTIVATE_SNAPPY:BOOL=%s' % cmake_bool(not int(os.environ.get('INCLUDE_SNAPPY', '0'))), -- '-DDEACTIVATE_ZLIB:BOOL=%s' % cmake_bool(not int(os.environ.get('INCLUDE_ZLIB', '1'))), -- '-DDEACTIVATE_ZSTD:BOOL=%s' % cmake_bool(not int(os.environ.get('INCLUDE_ZSTD', '1'))), -- ], -+ cmake_args = ( -+ ['-DUSE_SYSTEM_BLOSC:BOOL=ON'] if int(os.environ.get('USE_SYSTEM_BLOSC', '0')) -+ else -+ ['-DUSE_SYSTEM_BLOSC:BOOL=OFF', -+ '-DDEACTIVATE_SSE2:BOOL=%s' % cmake_bool(('DISABLE_BLOSC_SSE2' in os.environ) or (cpu_info is None) or ('sse2' not in cpu_info['flags'])), -+ '-DDEACTIVATE_AVX2:BOOL=%s' % cmake_bool(('DISABLE_BLOSC_AVX2' in os.environ) or (cpu_info is None) or ('avx2' not in cpu_info['flags'])), -+ '-DDEACTIVATE_LZ4:BOOL=%s' % cmake_bool(not int(os.environ.get('INCLUDE_LZ4', '1'))), -+ # Snappy is disabled by default -+ '-DDEACTIVATE_SNAPPY:BOOL=%s' % cmake_bool(not int(os.environ.get('INCLUDE_SNAPPY', '0'))), -+ '-DDEACTIVATE_ZLIB:BOOL=%s' % cmake_bool(not int(os.environ.get('INCLUDE_ZLIB', '1'))), -+ '-DDEACTIVATE_ZSTD:BOOL=%s' % cmake_bool(not int(os.environ.get('INCLUDE_ZSTD', '1'))), -+ ] -+ ), - setup_requires=['scikit-build'], - tests_require=['numpy', 'psutil'], - packages = ['blosc'],