summary refs log tree commit diff
path: root/gnu/packages
diff options
context:
space:
mode:
authorPaul Garlick <pgarlick@tourbillion-technology.com>2020-11-11 09:02:26 +0000
committerPaul Garlick <pgarlick@tourbillion-technology.com>2020-11-11 09:28:06 +0000
commitc6843f17517afe44a51593bcad1a9d12b296131a (patch)
tree33e6d18cab8643e6c44ba1be388d0ad8c0b32b9b /gnu/packages
parente3ae31347882b25e1513e4475616fb6e4497e280 (diff)
downloadguix-c6843f17517afe44a51593bcad1a9d12b296131a.tar.gz
gnu: python-petsc4py: Fix build with python 3.8.
* gnu/packages/maths.scm (python-petsc4py)[source]: Add snippet.
[native-inputs]: New field.
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/maths.scm15
1 files changed, 14 insertions, 1 deletions
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index ba46937f9a..295e2dd35e 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -2470,7 +2470,18 @@ scientific applications modeled by partial differential equations.")
         (uri (pypi-uri "petsc4py" version))
         (sha256
           (base32
-            "1rm1qj5wlkhxl39by9n78lh3gbmii31wsnb8j1rr5hvfr5xgbx2q"))))
+           "1rm1qj5wlkhxl39by9n78lh3gbmii31wsnb8j1rr5hvfr5xgbx2q"))
+        (modules '((guix build utils)))
+        (snippet
+         '(begin
+            ;; Ensure source file is regenerated in the build phase.
+            (delete-file "src/petsc4py.PETSc.c")
+            ;; Remove legacy GC code.  See
+            ;; https://bitbucket.org/petsc/petsc4py/issues/125.
+            (substitute* "src/PETSc/cyclicgc.pxi"
+                         ((".*gc_refs.*") "" )
+                         ((".*PyGC_Head.*") ""))
+            #t))))
     (build-system python-build-system)
     (arguments
      `(#:phases
@@ -2482,6 +2493,8 @@ scientific applications modeled by partial differential equations.")
              #t))
          (add-before 'check 'mpi-setup
            ,%openmpi-setup))))
+    (native-inputs
+     `(("python-cython" ,python-cython)))
     (inputs
      `(("petsc" ,petsc-openmpi)
        ("python-numpy" ,python-numpy)))