guix_mirror_bot pushed a commit to branch master
in repository guix.

commit ad1941a08f31012d3de2099e8fb5f18df38b4afb
Author: Sharlatan Hellseher <sharlata...@gmail.com>
AuthorDate: Sat Sep 6 17:12:15 2025 +0100

    gnu: python-tables: Update to 3.10.2.
    
    * gnu/packages/python-xyz.scm (python-tables): Update to 3.10.2.
    [build-system]: Switch to pyproject-build-system.
    [phases]{set-LD_LIBRARY_PATH}: Replace by {pre-build} with setting up
    environment variables for each library path which is available in
    setup.py.  Regenerate C code with Cython before build.
    {pre-check}: New phase.
    {check}: Rework test invocation to run just bare minimal test suite, add
    a notes popping up during tests invocation describing it.
    [native-inputs]: Add python-pytest, python-setuptools-next, and
    python-sphinx.
    [inputs]: Remove hdf5-1.10, and zlib; add bzip2, and hdf5.
    
    Fixes: guix/guix#2342.
    Change-Id: Ia1d00979123e459640d74a0dfd7fd52b25f8b9b7
---
 gnu/packages/python-xyz.scm | 49 ++++++++++++++++++++++++++++++++++-----------
 1 file changed, 37 insertions(+), 12 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 966693104a..98315dfb49 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -17809,18 +17809,20 @@ tasks, sockets, files, locks, and queues.")
 (define-public python-tables
   (package
     (name "python-tables")
-    (version "3.10.1")
+    (version "3.10.2")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "tables" version))
        (sha256
         (base32
-         "1kr6y4qivqy462gva4bqym3x4alhxijfqjplxax3gh5r6k3pm82a"))
+         "0469jrkmp0qv8cmlqkizm3b8imyc97mk9pfn66ldpyl6f4m82i15"))
        (snippet '(begin
                    (use-modules (guix build utils))
+                   ;; TODO: Unbundle.
+                   ;; (delete-file-recursively "hdf5-blosc")
                    (delete-file-recursively "c-blosc")))))
-    (build-system python-build-system)
+    (build-system pyproject-build-system)
     (arguments
      (list
       #:phases
@@ -17839,25 +17841,48 @@ tasks, sockets, files, locks, and queues.")
                                 "\""
                                 (search-input-file inputs "/lib/libblosc2.so")
                                 "\",\n" m)))))
-          (add-before 'build 'set-LD_LIBRARY_PATH
+          (add-before 'build 'pre-build
+            (lambda _
+              (invoke "make" "distclean")       ;Regenerate C code with Cython
+              (setenv "BLOSC2_DIR" #$(this-package-input "cblosc2"))
+              (setenv "BLOSC_DIR" #$(this-package-input "c-blosc"))
+              (setenv "BZIP2_DIR" #$(this-package-input "bzip2"))
+              (setenv "HDF5_DIR" #$(this-package-input "hdf5"))
+              (setenv "LZO_DIR" #$(this-package-input "lzo"))))
+          (add-before 'check 'pre-check
             (lambda _
-              ;; The setup.py build system makes use of ctypes.CDLL, which
-              ;; uses dlopen, which looks up library names from standard
-              ;; locations or LD_LIBRARY_PATH.
-              (setenv "LD_LIBRARY_PATH" (getenv "LIBRARY_PATH"))))
+              (setenv "HOME" "/tmp")))
           (replace 'check
             (lambda* (#:key tests? #:allow-other-keys)
               (when tests?
-                (invoke "python" "setup.py" "check")))))))
+                (with-directory-excursion "/tmp"
+                  ;; Performing only a light (yet comprehensive) subset of the
+                  ;; test suite.  If you want a more complete test, try
+                  ;; passing the --heavy flag to this script (or set the
+                  ;; 'heavy' parameter in case you are using tables.test()
+                  ;; call).  The whole suite will take more than 4 hours to
+                  ;; complete on a relatively modern CPU and around 512 MB of
+                  ;; main memory.
+                  (invoke "python" "-m" "tables.tests.test_all"))))))))
+    (native-inputs
+     (list pkg-config
+           python-cython
+           python-pytest
+           python-setuptools-next
+           python-sphinx))
+    (inputs
+     (list bzip2
+           c-blosc
+           c-blosc2
+           hdf5
+           lzo))
     (propagated-inputs
      (list python-blosc2
-           python-numpy
            python-numexpr
+           python-numpy
            python-packaging
            python-py-cpuinfo
            python-typing-extensions))
-    (native-inputs (list pkg-config python-cython))
-    (inputs (list c-blosc c-blosc2 hdf5-1.10 bzip2 lzo zlib))
     (home-page "https://www.pytables.org/";)
     (synopsis "Hierarchical datasets for Python")
     (description "PyTables is a package for managing hierarchical datasets and

Reply via email to