Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-tables for openSUSE:Factory 
checked in at 2023-02-27 12:55:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-tables (Old)
 and      /work/SRC/openSUSE:Factory/.python-tables.new.31432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-tables"

Mon Feb 27 12:55:02 2023 rev:19 rq:1067858 version:3.8.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-tables/python-tables.changes      
2022-03-30 20:35:53.065314000 +0200
+++ /work/SRC/openSUSE:Factory/.python-tables.new.31432/python-tables.changes   
2023-02-27 12:55:05.179318649 +0100
@@ -1,0 +2,47 @@
+Sat Feb 25 18:35:30 UTC 2023 - Ben Greiner <c...@bnavigator.de>
+
+- Promote tables-debundled-blosc2.patch to
+  tables-pr1000-debundled-blosc2.patch
+  * Do not require python-blosc2 for anything
+  * gh#PyTables/PyTables#1000
+- Remove pre-compiled libblosc2.so gh#PyTables/PyTables#1001
+- Split out test into multibuilds: Even the "light" test suite
+  takes more than 1 hour for all 4 python flavors executed
+  sequentially
+
+-------------------------------------------------------------------
+Fri Feb 17 21:15:02 UTC 2023 - Ben Greiner <c...@bnavigator.de>
+
+- Use python-blosc2 and c-blosc2
+- Drop environement vars which would have only been used with
+  embedded c-blosc
+- Disable building docs (sphinx update broke it)
+- Add tables-debundled-blosc2.patch gh#PyTables/PyTables#1000
+
+-------------------------------------------------------------------
+Wed Feb  8 18:39:24 UTC 2023 - Arun Persaud <a...@gmx.de>
+
+- specfile:
+  * update copyright year
+  * require python >= 3.8
+
+- update to version 3.8.0:
+  * Improvements
+    + Support for Python 3.11 has been added (PR #962).
+    + Support for Python 3.6 and Python 3.7 has been dropped (PR
+      #966).
+    + Added a new (registered) HDF5 filter for Blosc2 compressor (PR
+      #969).
+    + Added optimized paths for Blosc2 reading and writing in
+      tables. This bypasses the HDF5 filter pipeline by building the Blosc2 
CFrames
+      and sending them to the HDF5 direct chunking machinery (PR #969).
+    + Internal C-Blosc sources updated to 1.21.2.
+    + Thanks to Oscar Guiñon, Francesc Alted for implementing Blosc2
+      the support and NumFOCUS for providing a grant for that.
+  * Other changes
+    + Starting form this release, C source files generated by Cython
+      are no longer included in the source distribution package.
+    + Pre-built HTML documentation is no longer included in the source
+      package.
+
+-------------------------------------------------------------------

Old:
----
  tables-3.7.0.tar.gz

New:
----
  _multibuild
  tables-3.8.0.tar.gz
  tables-pr1000-debundled-blosc2.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-tables.spec ++++++
--- /var/tmp/diff_new_pack.LPuuXK/_old  2023-02-27 12:55:06.599327359 +0100
+++ /var/tmp/diff_new_pack.LPuuXK/_new  2023-02-27 12:55:06.603327383 +0100
@@ -1,7 +1,7 @@
 #
-# spec file for package python-tables
+# spec file
 #
-# Copyright (c) 2022 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,35 +16,79 @@
 #
 
 
-%{?!python_module:%define python_module() python3-%{**}}
-%define skip_python2 1
-Name:           python-tables
-Version:        3.7.0
+%define psuffix %{nil}
+%global flavor @BUILD_FLAVOR@%{nil}
+%if "%{flavor}" == "test-py38"
+%define psuffix -test-py38
+%define skip_python39 1
+%define skip_python310 1
+%define skip_python311 1
+%bcond_without test
+%endif
+%if "%{flavor}" == "test-py39"
+%define psuffix -test-py39
+%define skip_python38 1
+%define skip_python310 1
+%define skip_python311 1
+%bcond_without test
+%endif
+%if "%{flavor}" == "test-py310"
+%define psuffix -test-py310
+%define skip_python38 1
+%define skip_python39 1
+%define skip_python311 1
+%bcond_without test
+%endif
+%if "%{flavor}" == "test-py311"
+%define psuffix -test-py311
+%define skip_python38 1
+%define skip_python39 1
+%define skip_python310 1
+%bcond_without test
+%endif
+%if "%{flavor}" == ""
+%bcond_with test
+%endif
+
+Name:           python-tables%{psuffix}
+Version:        3.8.0
 Release:        0
 Summary:        Hierarchical datasets for Python
 License:        BSD-3-Clause
 URL:            https://github.com/PyTables/PyTables
 Source0:        
https://files.pythonhosted.org/packages/source/t/tables/tables-%{version}.tar.gz
-BuildRequires:  %{python_module Cython}
+# PATCH-FIX-UPSTREAM tables-pr1000-debundled-blosc2.patch 
gh#PyTables/PyTables#1000
+Patch0:         tables-pr1000-debundled-blosc2.patch
+BuildRequires:  %{python_module base >= 3.8}
+BuildRequires:  python-rpm-macros
+%if ! %{with test}
+BuildRequires:  %{python_module Cython >= 0.29.21}
 BuildRequires:  %{python_module devel}
 BuildRequires:  %{python_module numexpr >= 2.6.2}
 BuildRequires:  %{python_module numpy-devel >= 1.19}
 BuildRequires:  %{python_module packaging}
+BuildRequires:  %{python_module pip}
+BuildRequires:  %{python_module py-cpuinfo}
 BuildRequires:  %{python_module setuptools}
+BuildRequires:  %{python_module wheel}
 BuildRequires:  blosc-devel >= 1.21.1
+BuildRequires:  blosc2-devel
 BuildRequires:  fdupes
 BuildRequires:  gcc-c++
 BuildRequires:  hdf5-devel
 BuildRequires:  libbz2-devel
 BuildRequires:  lzo-devel
-BuildRequires:  python-rpm-macros
-BuildRequires:  python3-Sphinx >= 1.1
-BuildRequires:  python3-jupyter_ipython
-BuildRequires:  python3-numpydoc
-BuildRequires:  python3-sphinx_rtd_theme
+%else
+# with test
+BuildRequires:  %{python_module tables = %{version}}
+# usage of pkg_resources in tests
+BuildRequires:  %{python_module setuptools}
+%endif
+Requires:       python-Cython >= 0.29.21
 Requires:       python-numexpr >= 2.6.2
 Requires:       python-numpy >= 1.19
 Requires:       python-packaging
+Requires:       python-py-cpuinfo
 # boo#1196682
 %requires_eq    hdf5
 Requires(post): update-alternatives
@@ -62,56 +106,37 @@
 makes of it a fast, yet extremely easy to use tool for
 interactively save and retrieve large amounts of data.
 
-%package -n %{name}-doc
-Summary:        Documentation for %{name}
-Provides:       %{python_module tables-doc = %{version}}
-
-%description -n %{name}-doc
-Documentation and help files for %{name}
-
 %prep
 %autosetup -p1 -n tables-%{version}
 # make sure we use the system blosc
 rm -r c-blosc
+# https://github.com/PyTables/PyTables/issues/1001
+rm tables/libblosc2.so
 
+%if !%{with test}
 %build
 export CFLAGS="%{optflags} -fno-strict-aliasing"
-# Never use SSE2 and AVX2 because obs buildbots might support it
-# but the target does not
-export DISABLE_SSE2=1
-export DISABLE_AVX2=1
-%python_build
+export PYTABLES_NO_EMBEDDED_LIBS=1
+%pyproject_wheel
+%endif
 
 %install
-%python_install
+%if !%{with test}
+%pyproject_install
 %python_clone -a %{buildroot}%{_bindir}/pttree
 %python_clone -a %{buildroot}%{_bindir}/ptrepack
 %python_clone -a %{buildroot}%{_bindir}/ptdump
 %python_clone -a %{buildroot}%{_bindir}/pt2to3
-%{python_expand #
-rm %{buildroot}%{$python_sitearch}/tables/*.c
-rm %{buildroot}%{$python_sitearch}/tables/tests/*.c
-%fdupes %{buildroot}%{$python_sitearch}
-}
-
-pushd doc
-export PYTHONPATH=%{buildroot}%{python3_sitearch}
-make html
-rm build/html/.buildinfo
-popd
-# manual copy to buildroot so we can deduplicate
-mkdir -p %{buildroot}%{_docdir}/%{name}-doc/
-cp -r doc/build/html %{buildroot}%{_docdir}/%{name}-doc/
-cp -r examples %{buildroot}%{_docdir}/%{name}-doc/
-%fdupes %{buildroot}%{_docdir}/%{name}-doc/
+%python_expand %fdupes %{buildroot}%{$python_sitearch}
+%endif
 
+%if %{with test}
 %check
 pushd LICENSES
 export VERBOSE=TRUE
-%{python_expand export PYTHONPATH=%{buildroot}%{$python_sitearch}
-$python -B -m tables.tests.test_all
-}
+%python_exec -B -m tables.tests.test_all
 popd
+%endif
 
 %post
 %python_install_alternative pttree
@@ -125,6 +150,7 @@
 %python_uninstall_alternative ptdump
 %python_uninstall_alternative pt2to3
 
+%if !%{with test}
 %files %{python_files}
 %doc README.rst ANNOUNCE.txt THANKS
 %license LICENSE.txt
@@ -134,11 +160,7 @@
 %python_alternative %{_bindir}/ptrepack
 %python_alternative %{_bindir}/pttree
 %{python_sitearch}/tables/
-%{python_sitearch}/tables-%{version}*-info
-
-%files -n %{name}-doc
-%license LICENSE.txt
-%license LICENSES/*
-%doc %{_docdir}/%{name}-doc/
+%{python_sitearch}/tables-%{version}.dist-info
+%endif
 
 %changelog

++++++ _multibuild ++++++
<multibuild>
  <package>test-py38</package>
  <package>test-py39</package>
  <package>test-py310</package>
  <package>test-py311</package>
</multibuild>

++++++ tables-3.7.0.tar.gz -> tables-3.8.0.tar.gz ++++++
/work/SRC/openSUSE:Factory/python-tables/tables-3.7.0.tar.gz 
/work/SRC/openSUSE:Factory/.python-tables.new.31432/tables-3.8.0.tar.gz differ: 
char 5, line 1

++++++ tables-pr1000-debundled-blosc2.patch ++++++
Index: tables-3.8.0/requirements.txt
===================================================================
--- tables-3.8.0.orig/requirements.txt
+++ tables-3.8.0/requirements.txt
@@ -4,8 +4,5 @@
 cython>=0.29.21
 numpy>=1.19.0
 numexpr>=2.6.2
-# blosc2 wheel is actually only needed when compiling on conda envs.
-# Otherwise, lib comes bundled in PyTables wheels (but it doesn't hurt either).
-blosc2~=2.0.0
 packaging
 py-cpuinfo
Index: tables-3.8.0/setup.py
===================================================================
--- tables-3.8.0.orig/setup.py
+++ tables-3.8.0/setup.py
@@ -109,7 +109,27 @@ def get_blosc2_version(headername):
 
 
 def get_blosc2_directories():
-    """Get Blosc2 directories for the C library by using wheel metadata"""
+    """Get Blosc2 directories for the C library"""
+    # If the system provides the library and headers,
+    # get them from environment variables or find by pkg-config
+    try:
+        include_path = Path(os.environ.get(
+                "BLOSC2_INCDIR",
+                subprocess.check_output(
+                    [PKG_CONFIG, '--variable=includedir', 'blosc2'],
+                    text=True).strip()))
+        library_path = Path(os.environ.get(
+                "BLOSC2_LIBDIR",
+                subprocess.check_output(
+                    [PKG_CONFIG, '--variable=libdir', 'blosc2'],
+                    text=True).strip()))
+    except CalledProcessError:
+        pass
+    else:
+        return include_path, library_path
+
+    # Otherwise get them from the PyPI published wheels for blosc2
+    # They package the library and headers directly
     try:
         import blosc2
     except ModuleNotFoundError:
Index: tables-3.8.0/tables/__init__.py
===================================================================
--- tables-3.8.0.orig/tables/__init__.py
+++ tables-3.8.0/tables/__init__.py
@@ -8,20 +8,23 @@ to efficiently cope with extremely large
 """
 import os
 from ctypes import cdll
+from ctypes.util import find_library
 import platform
 
 
 # Load the blosc2 library, and if not found in standard locations,
 # try this directory (it should be automatically copied in setup.py).
-current_dir = os.path.dirname(__file__)
-platform_system = platform.system()
-blosc2_lib = "libblosc2"
-if platform_system == "Linux":
-    blosc2_lib += ".so"
-elif platform_system == "Darwin":
-    blosc2_lib += ".dylib"
-else:
-    blosc2_lib += ".dll"
+blosc2_lib = find_library("blosc2")
+if blosc2_lib is None:
+    current_dir = os.path.dirname(__file__)
+    platform_system = platform.system()
+    blosc2_lib = "libblosc2"
+    if platform_system == "Linux":
+        blosc2_lib += ".so"
+    elif platform_system == "Darwin":
+        blosc2_lib += ".dylib"
+    else:
+        blosc2_lib += ".dll"
 try:
     cdll.LoadLibrary(blosc2_lib)
 except OSError:
Index: tables-3.8.0/tables/req_versions.py
===================================================================
--- tables-3.8.0.orig/tables/req_versions.py
+++ tables-3.8.0/tables/req_versions.py
@@ -3,12 +3,13 @@
 from packaging.version import Version
 
 # **********************************************************************
-#   Keep these in sync with setup.cfg and user's guide
+#   Keep these in sync with requirements.txt and user's guide
 # **********************************************************************
 
 # Minimum recommended versions for mandatory packages
-min_numpy_version = Version('1.9.3')
+min_numpy_version = Version('1.19.0')
 min_numexpr_version = Version('2.6.2')
+# These are library versions, not the python modules
 min_hdf5_version = Version('1.10.5')
 min_blosc_version = Version('1.11.1')
 min_blosc2_version = Version('2.5.0')

Reply via email to