~ruther/guix-local

c40c613bda77b6e54446951fac98b81e94bc0be3 — Janneke Nieuwenhuizen 7 months ago 0e6fdde
gnu: clapack: Fix build with gcc-14.

* gnu/packages/maths.scm (clapack)[arguments]: Update to G-Expressions.  Add
"-Wno-error=implicit-function-declaration" to #:configure-flags to relax
gcc-14's strictness.

Change-Id: I23d05c5df64625b0ca04e18375e0ef7f42e85d5c
1 files changed, 33 insertions(+), 30 deletions(-)

M gnu/packages/maths.scm
M gnu/packages/maths.scm => gnu/packages/maths.scm +33 -30
@@ 1246,37 1246,40 @@ of partial differential equations using iterative methods.")
        "0nnap9q1mv14g57dl3vkvxrdr10k5w7zzyxs6rgxhia8q8mphgqb"))))
    (build-system cmake-build-system)
    (arguments
     `(#:configure-flags '("-DCMAKE_C_FLAGS=-fcommon -O2")
     (list
      #:configure-flags
      #~(list (string-append "-DCMAKE_C_FLAGS=-fcommon -O2"
                             " -Wno-error=implicit-function-declaration"))
       #:phases
       (modify-phases %standard-phases
         ;; These tests use a lot of stack variables and segfault without
         ;; lifting resource limits.
         (add-after 'unpack 'disable-broken-tests
           (lambda _
             (substitute* "TESTING/CMakeLists.txt"
               (("add_lapack_test.* xeigtstz\\)") ""))))
         (replace 'install
           (lambda* (#:key outputs #:allow-other-keys)
             (let* ((out (assoc-ref outputs "out"))
                    (libdir (string-append out "/lib"))
                    (f2cinc (string-append out "/include/libf2c")))
               (mkdir-p f2cinc)
               (display (getcwd))
               (for-each (lambda (file)
                           (install-file file libdir))
                         '("SRC/liblapack.a"
                           "F2CLIBS/libf2c/libf2c.a"
                           "TESTING/MATGEN/libtmglib.a"
                           "BLAS/SRC/libblas.a"))
               (for-each (lambda (file)
                           (install-file file f2cinc))
                         (cons "F2CLIBS/libf2c/arith.h"
                               (find-files (string-append "../clapack-"
                                                          ,version "-CMAKE/F2CLIBS/libf2c")
                                           "\\.h$")))
               (copy-recursively (string-append "../clapack-"
                                                ,version "-CMAKE/INCLUDE")
                                 (string-append out "/include"))))))))
       #~(modify-phases %standard-phases
           ;; These tests use a lot of stack variables and segfault without
           ;; lifting resource limits.
           (add-after 'unpack 'disable-broken-tests
             (lambda _
               (substitute* "TESTING/CMakeLists.txt"
                 (("add_lapack_test.* xeigtstz\\)") ""))))
           (replace 'install
             (lambda _
               (let ((libdir (string-append #$output "/lib"))
                     (f2cinc (string-append #$output "/include/libf2c")))
                 (mkdir-p f2cinc)
                 (display (getcwd))
                 (for-each (lambda (file)
                             (install-file file libdir))
                           '("SRC/liblapack.a"
                             "F2CLIBS/libf2c/libf2c.a"
                             "TESTING/MATGEN/libtmglib.a"
                             "BLAS/SRC/libblas.a"))
                 (for-each (lambda (file)
                             (install-file file f2cinc))
                           (cons "F2CLIBS/libf2c/arith.h"
                                 (find-files (string-append
                                              "../clapack-"
                                              #$version "-CMAKE/F2CLIBS/libf2c")
                                             "\\.h$")))
                 (copy-recursively (string-append "../clapack-"
                                                  #$version "-CMAKE/INCLUDE")
                                   (string-append #$output "/include"))))))))
    (home-page "https://www.netlib.org/clapack/")
    (synopsis "Numerical linear algebra library for C")
    (description