diff options
author | Ludovic Courtès <ludovic.courtes@inria.fr> | 2022-01-17 16:03:57 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2022-01-17 19:05:48 +0100 |
commit | 7bf85e63c180e5ee235a8b0596096e1df34fd5d2 (patch) | |
tree | 4457ef2dc83d79732a5a844676177ed25117c6f8 /gnu/packages | |
parent | bf23862abc5fba6db2ab5481dd458487df6a784a (diff) | |
download | guix-7bf85e63c180e5ee235a8b0596096e1df34fd5d2.tar.gz |
gnu: mpich: Allow compilation with GCC 10.
Fixes <https://issues.guix.gnu.org/53320> Reported by Clément Barthelemy <clement.barthelemy@inria.fr>. * gnu/packages/mpi.scm (mpich)[arguments]: Add 'define-gfortran-wrapper' phase.
Diffstat (limited to 'gnu/packages')
-rw-r--r-- | gnu/packages/mpi.scm | 27 |
1 files changed, 25 insertions, 2 deletions
diff --git a/gnu/packages/mpi.scm b/gnu/packages/mpi.scm index 16c42378fb..749214817d 100644 --- a/gnu/packages/mpi.scm +++ b/gnu/packages/mpi.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014, 2015, 2018, 2019 Eric Bavier <bavier@member.fsf.org> -;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2014-2022 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net> ;;; Copyright © 2016 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2017 Dave Love <fx@gnu.org> @@ -502,7 +502,30 @@ arrays) that expose a buffer interface.") before after) (string-append "pmpi_convenience_libs = " before " " after))) - #t))))) + #t)) + (add-before 'configure 'define-gfortran-wrapper + (lambda* (#:key inputs #:allow-other-keys) + ;; 'configure' checks whether the Fortran compiler + ;; allows argument type mismatch. Since gfortran >= 10 + ;; does not, provide a wrapper that passes + ;; '-fallow-argument-mismatch' to get the desired + ;; behavior. + (mkdir-p ".gfortran-wrapper/bin") + (call-with-output-file ".gfortran-wrapper/bin/gfortran" + (lambda (port) + (display (string-append "#!" (which "sh") "\n") + port) + (display + (string-append "exec \"" (which "gfortran") + "\" -fallow-argument-mismatch" + " \"$@\"\n") + port) + (chmod port #o755))) + + (setenv "PATH" + (string-append (getcwd) "/" + ".gfortran-wrapper/bin:" + (getenv "PATH")))))))) (home-page "https://www.mpich.org/") (synopsis "Implementation of the Message Passing Interface (MPI)") (description |