summary refs log tree commit diff
path: root/gnu/packages/maths.scm
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2020-04-14 22:30:05 +0200
committerMarius Bakke <mbakke@fastmail.com>2020-04-14 22:33:01 +0200
commit109bf6a0e7111a75a54924be8a58c0fbc9a55c7d (patch)
tree2a43164b70030c5a3ba55522c204798b53f21c3c /gnu/packages/maths.scm
parentf7cbf403efa5368b5585f763262b152577339919 (diff)
downloadguix-109bf6a0e7111a75a54924be8a58c0fbc9a55c7d.tar.gz
gnu: dune-localfunctions: Fix build failure.
* gnu/packages/maths.scm (dune-localfunctions)[arguments]: Add phase
'hide-gfortran'.
Diffstat (limited to 'gnu/packages/maths.scm')
-rw-r--r--gnu/packages/maths.scm12
1 files changed, 12 insertions, 0 deletions
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 08e0e7dd7a..b814105a36 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -4921,6 +4921,18 @@ aggregation-based algebraic multigrid.")
     (arguments
      `(#:phases
        (modify-phases %standard-phases
+         ;; XXX: localfunctions/test/lagrangeshapefunctiontest.cc includes <fenv.h>
+         ;; and fails to find the stdlib types when the gfortran header is used.
+         ;; Hide gfortran from CPLUS_INCLUDE_PATH to ensure we get the GCC header.
+         (add-after 'set-paths 'hide-gfortran
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let ((gfortran (assoc-ref inputs "gfortran")))
+               (setenv "CPLUS_INCLUDE_PATH"
+                       (string-join
+                        (delete (string-append gfortran "/include/c++")
+                                (string-split (getenv "CPLUS_INCLUDE_PATH") #\:))
+                        ":"))
+               #t)))
          (add-after 'build 'build-tests
            (lambda* (#:key make-flags #:allow-other-keys)
              (apply invoke "make" "build_tests" make-flags))))))