unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#56760] [PATCH 0/6] dealii: Update to 9.4.0 and its Trilinos to 13.4.0.
@ 2022-07-25 12:30 Paul A. Patience
  2022-07-25 12:33 ` [bug#56760] [PATCH 1/6] gnu: trilinos-for-dealii-openmpi: Fix build Paul A. Patience
  2022-07-25 15:11 ` [bug#56760] [PATCH v2 0/6] dealii: Update to 9.4.0 and its Trilinos " Paul A. Patience
  0 siblings, 2 replies; 16+ messages in thread
From: Paul A. Patience @ 2022-07-25 12:30 UTC (permalink / raw)
  To: 56760; +Cc: Paul A. Patience

The first patch fixes the failing Trilinos build, which means that
dealii-openmpi hasn't been buildable for some time.

Paul A. Patience (6):
  gnu: trilinos-for-dealii-openmpi: Fix build.
  gnu: dealii: Use G-expressions.
  gnu: dealii: Update to 9.4.0.
  gnu: trilinos-for-dealii-openmpi: Remove input labels.
  gnu: trilinos-for-dealii-openmpi: Use G-expressions.
  gnu: trilinos-for-dealii-openmpi: Update to 13.4.0.

 gnu/packages/maths.scm | 269 ++++++++++++++++++++---------------------
 1 file changed, 132 insertions(+), 137 deletions(-)

--
2.37.1






^ permalink raw reply	[flat|nested] 16+ messages in thread

* [bug#56760] [PATCH 1/6] gnu: trilinos-for-dealii-openmpi: Fix build.
  2022-07-25 12:30 [bug#56760] [PATCH 0/6] dealii: Update to 9.4.0 and its Trilinos to 13.4.0 Paul A. Patience
@ 2022-07-25 12:33 ` Paul A. Patience
  2022-07-25 12:33   ` [bug#56760] [PATCH 2/6] gnu: dealii: Use G-expressions Paul A. Patience
                     ` (4 more replies)
  2022-07-25 15:11 ` [bug#56760] [PATCH v2 0/6] dealii: Update to 9.4.0 and its Trilinos " Paul A. Patience
  1 sibling, 5 replies; 16+ messages in thread
From: Paul A. Patience @ 2022-07-25 12:33 UTC (permalink / raw)
  To: 56760; +Cc: Paul A. Patience

* gnu/packages/maths.scm (trilinos-for-dealii-openmpi)[native-inputs]:
Add gcc-7 to fix the failing build with newer versions of gcc.
---
 gnu/packages/maths.scm | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 458bffee61..948776e9d4 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -5153,7 +5153,10 @@ (define trilinos-for-dealii-openmpi
         (base32 "0fnwlhzsh85qj38cq3igbs8nm1b2jdgr2z734sapmyyzsy21mkgp"))))
     (build-system cmake-build-system)
     (native-inputs
-     `(("gfortran" ,gfortran)
+     `(;; The build fails with the current gcc.
+       ;; Use the version from when Trilinos was added.
+       ("gcc" ,gcc-7)
+       ("gfortran" ,gfortran)
        ;; Trilinos's repository contains several C-shell scripts, but adding
        ;; tcsh to the native inputs does not result in the check phase running
        ;; any more tests than without it (nor is tcsh required to build
--
2.37.1






^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [bug#56760] [PATCH 2/6] gnu: dealii: Use G-expressions.
  2022-07-25 12:33 ` [bug#56760] [PATCH 1/6] gnu: trilinos-for-dealii-openmpi: Fix build Paul A. Patience
@ 2022-07-25 12:33   ` Paul A. Patience
  2022-07-25 12:33   ` [bug#56760] [PATCH 3/6] gnu: dealii: Update to 9.4.0 Paul A. Patience
                     ` (3 subsequent siblings)
  4 siblings, 0 replies; 16+ messages in thread
From: Paul A. Patience @ 2022-07-25 12:33 UTC (permalink / raw)
  To: 56760; +Cc: Paul A. Patience

* gnu/packages/maths.scm (dealii)[snippet, arguments]: Use
G-expressions.
(dealii-openmpi)[arguments]: Same.
---
 gnu/packages/maths.scm | 60 ++++++++++++++++++++++--------------------
 1 file changed, 32 insertions(+), 28 deletions(-)

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 948776e9d4..7d4049c689 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -5287,7 +5287,7 @@ (define-public dealii
        (modules '((guix build utils)))
        (snippet
         ;; Remove bundled boost, muparser, TBB and UMFPACK.
-        '(delete-file-recursively "bundled"))))
+        #~(delete-file-recursively "bundled"))))
     (build-system cmake-build-system)
     (outputs '("out" "doc"))
     (native-inputs
@@ -5315,32 +5315,36 @@ (define-public dealii
            sundials-5
            tbb))
     (arguments
-     `(#:build-type "DebugRelease" ; Supports only Debug, Release and DebugRelease.
-       ;; The tests take too long and must be explicitly enabled with "make
-       ;; setup_tests".
-       ;; See https://www.dealii.org/developer/developers/testsuite.html.
-       ;; (They can also be run for an already installed deal.II.)
-       #:tests? #f
-       #:configure-flags
-       (let ((doc (string-append (assoc-ref %outputs "doc")
-                                 "/share/doc/" ,name "-" ,version)))
-         `("-DDEAL_II_COMPONENT_DOCUMENTATION=ON"
-           ,(string-append "-DDEAL_II_DOCREADME_RELDIR=" doc)
-           ,(string-append "-DDEAL_II_DOCHTML_RELDIR=" doc "/html")
-           ;; Don't compile the examples because the source and CMakeLists.txt
-           ;; are installed anyway, allowing users to do so for themselves.
-           "-DDEAL_II_COMPILE_EXAMPLES=OFF"
-           ,(string-append "-DDEAL_II_EXAMPLES_RELDIR=" doc "/examples")))
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'install 'remove-build-logs
-           ;; These build logs leak the name of the build directory by storing
-           ;; the values of CMAKE_SOURCE_DIR and CMAKE_BINARY_DIR.
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let ((doc (string-append (assoc-ref outputs "doc")
-                                       "/share/doc/" ,name "-" ,version)))
-               (for-each delete-file (map (lambda (f) (string-append doc "/" f))
-                                          '("detailed.log" "summary.log")))))))))
+     (list #:build-type "DebugRelease"  ; Only Debug, Release or DebugRelease.
+           ;; The tests take too long and must be explicitly enabled with
+           ;; "make setup_tests".
+           ;; See https://www.dealii.org/developer/developers/testsuite.html.
+           ;; (They can also be run for an already installed deal.II.)
+           #:tests? #f
+           #:configure-flags
+           #~(let ((doc (string-append #$output:doc "/share/doc/"
+                                       #$name "-" #$version)))
+               (list "-DDEAL_II_COMPONENT_DOCUMENTATION=ON"
+                     (string-append "-DDEAL_II_DOCREADME_RELDIR=" doc)
+                     (string-append "-DDEAL_II_DOCHTML_RELDIR=" doc "/html")
+                     ;; Don't compile the examples because the source and
+                     ;; CMakeLists.txt are installed anyway, allowing users to
+                     ;; do so for themselves.
+                     "-DDEAL_II_COMPILE_EXAMPLES=OFF"
+                     (string-append "-DDEAL_II_EXAMPLES_RELDIR=" doc
+                                    "/examples")))
+           #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'install 'remove-build-logs
+                 ;; These build logs leak the name of the build directory by
+                 ;; storing the values of CMAKE_SOURCE_DIR and
+                 ;; CMAKE_BINARY_DIR.
+                 (lambda _
+                   (let ((doc (string-append #$output:doc "/share/doc/"
+                                             #$name "-" #$version)))
+                     (for-each delete-file
+                               (map (lambda (f) (string-append doc "/" f))
+                                    '("detailed.log" "summary.log")))))))))
     (home-page "https://www.dealii.org/")
     (synopsis "Finite element library")
     (description
@@ -5373,7 +5377,7 @@ (define-public dealii-openmpi
     (arguments
      (substitute-keyword-arguments (package-arguments dealii)
        ((#:configure-flags flags)
-        `(cons "-DDEAL_II_WITH_MPI=ON" ,flags))))
+        #~(cons "-DDEAL_II_WITH_MPI=ON" #$flags))))
     (synopsis "Finite element library (with MPI support)")))

 (define-public flann
--
2.37.1






^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [bug#56760] [PATCH 3/6] gnu: dealii: Update to 9.4.0.
  2022-07-25 12:33 ` [bug#56760] [PATCH 1/6] gnu: trilinos-for-dealii-openmpi: Fix build Paul A. Patience
  2022-07-25 12:33   ` [bug#56760] [PATCH 2/6] gnu: dealii: Use G-expressions Paul A. Patience
@ 2022-07-25 12:33   ` Paul A. Patience
  2022-07-25 12:33   ` [bug#56760] [PATCH 4/6] gnu: trilinos-for-dealii-openmpi: Remove input labels Paul A. Patience
                     ` (2 subsequent siblings)
  4 siblings, 0 replies; 16+ messages in thread
From: Paul A. Patience @ 2022-07-25 12:33 UTC (permalink / raw)
  To: 56760; +Cc: Paul A. Patience

* gnu/packages/maths.scm (dealii): Update to 9.4.0.
[propagated-inputs]: Replace sundials-5 with sundials.
(dealii-openmpi)[propagated-inputs]: Replace sundials-openmpi-5 with
sundials-openmpi.
---
 gnu/packages/maths.scm | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 7d4049c689..a2123d2dc8 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -5276,14 +5276,14 @@ (define trilinos-for-dealii-openmpi
 (define-public dealii
   (package
     (name "dealii")
-    (version "9.3.3")
+    (version "9.4.0")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://github.com/dealii/dealii/releases/"
                            "download/v" version "/dealii-" version ".tar.gz"))
        (sha256
-        (base32 "0a8s4yxcbvzmfgv5qcg27h2ss4fcnyhrhhs35glqj59l9cbmkysx"))
+        (base32 "0v73q6f35f2yrjihaq6vh9lma07qc4cdv75nwmc3c5yrdh07g1i3"))
        (modules '((guix build utils)))
        (snippet
         ;; Remove bundled boost, muparser, TBB and UMFPACK.
@@ -5311,8 +5311,7 @@ (define-public dealii
      (list boost
            hdf5
            suitesparse                  ; For UMFPACK.
-           ;; SUNDIALS 6.0.0 and later will be supported in deal.II 9.4.0.
-           sundials-5
+           sundials
            tbb))
     (arguments
      (list #:build-type "DebugRelease"  ; Only Debug, Release or DebugRelease.
@@ -5372,7 +5371,7 @@ (define-public dealii-openmpi
                 p4est-openmpi
                 petsc-openmpi
                 slepc-openmpi
-                sundials-openmpi-5
+                sundials-openmpi
                 trilinos-for-dealii-openmpi)))
     (arguments
      (substitute-keyword-arguments (package-arguments dealii)
--
2.37.1






^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [bug#56760] [PATCH 4/6] gnu: trilinos-for-dealii-openmpi: Remove input labels.
  2022-07-25 12:33 ` [bug#56760] [PATCH 1/6] gnu: trilinos-for-dealii-openmpi: Fix build Paul A. Patience
  2022-07-25 12:33   ` [bug#56760] [PATCH 2/6] gnu: dealii: Use G-expressions Paul A. Patience
  2022-07-25 12:33   ` [bug#56760] [PATCH 3/6] gnu: dealii: Update to 9.4.0 Paul A. Patience
@ 2022-07-25 12:33   ` Paul A. Patience
  2022-07-25 12:33   ` [bug#56760] [PATCH 5/6] gnu: trilinos-for-dealii-openmpi: Use G-expressions Paul A. Patience
  2022-07-25 12:33   ` [bug#56760] [PATCH 6/6] gnu: trilinos-for-dealii-openmpi: Update to 13.4.0 Paul A. Patience
  4 siblings, 0 replies; 16+ messages in thread
From: Paul A. Patience @ 2022-07-25 12:33 UTC (permalink / raw)
  To: 56760; +Cc: Paul A. Patience

* gnu/packages/maths.scm (trilinos-for-dealii-openmpi)[native-inputs,
inputs, propagated-inputs]: Remove labels.
---
 gnu/packages/maths.scm | 53 +++++++++++++++++++++---------------------
 1 file changed, 27 insertions(+), 26 deletions(-)

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index a2123d2dc8..27b92d369c 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -5153,34 +5153,35 @@ (define trilinos-for-dealii-openmpi
         (base32 "0fnwlhzsh85qj38cq3igbs8nm1b2jdgr2z734sapmyyzsy21mkgp"))))
     (build-system cmake-build-system)
     (native-inputs
-     `(;; The build fails with the current gcc.
-       ;; Use the version from when Trilinos was added.
-       ("gcc" ,gcc-7)
-       ("gfortran" ,gfortran)
-       ;; Trilinos's repository contains several C-shell scripts, but adding
-       ;; tcsh to the native inputs does not result in the check phase running
-       ;; any more tests than without it (nor is tcsh required to build
-       ;; Trilinos).
-       ;; It seems that Trilinos has replaced its use of C-shell test scripts
-       ;; with CMake's testing facilities.
-       ;; For example,
-       ;; packages/zoltan/doc/Zoltan_html/dev_html/dev_test_script.html [1]
-       ;; states that Zoltan's C-shell test script
-       ;; packages/zoltan/test/test_zoltan has been obsoleted by the tests now
-       ;; performed through CMake.
-       ;;
-       ;; Perl is required for some Zoltan tests and Python 2 for one ML test.
-       ;;
-       ;; [1]: https://cs.sandia.gov/zoltan/dev_html/dev_test_script.html
-       ("perl" ,perl)
-       ("python" ,python-2)))
+     (list
+      ;; The build fails with the current gcc.
+      ;; Use the version from when Trilinos was added.
+      gcc-7
+      gfortran
+      ;; Trilinos's repository contains several C-shell scripts, but adding
+      ;; tcsh to the native inputs does not result in the check phase running
+      ;; any more tests than without it (nor is tcsh required to build
+      ;; Trilinos).
+      ;; It seems that Trilinos has replaced its use of C-shell test scripts
+      ;; with CMake's testing facilities.
+      ;; For example,
+      ;; packages/zoltan/doc/Zoltan_html/dev_html/dev_test_script.html [1]
+      ;; states that Zoltan's C-shell test script
+      ;; packages/zoltan/test/test_zoltan has been obsoleted by the tests now
+      ;; performed through CMake.
+      ;;
+      ;; Perl is required for some Zoltan tests and Python 2 for one ML test.
+      ;;
+      ;; [1]: https://cs.sandia.gov/zoltan/dev_html/dev_test_script.html
+      perl
+      python-2))
     (inputs
-     `(("blas" ,openblas)
-       ("lapack" ,lapack)
-       ("mumps" ,mumps-openmpi)
-       ("scalapack" ,scalapack)))
+     (list openblas
+           lapack
+           mumps-openmpi
+           scalapack))
     (propagated-inputs
-     `(("mpi" ,openmpi)))
+     (list openmpi))
     (arguments
      `(#:build-type "Release"
        #:configure-flags
--
2.37.1






^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [bug#56760] [PATCH 5/6] gnu: trilinos-for-dealii-openmpi: Use G-expressions.
  2022-07-25 12:33 ` [bug#56760] [PATCH 1/6] gnu: trilinos-for-dealii-openmpi: Fix build Paul A. Patience
                     ` (2 preceding siblings ...)
  2022-07-25 12:33   ` [bug#56760] [PATCH 4/6] gnu: trilinos-for-dealii-openmpi: Remove input labels Paul A. Patience
@ 2022-07-25 12:33   ` Paul A. Patience
  2022-07-25 12:33   ` [bug#56760] [PATCH 6/6] gnu: trilinos-for-dealii-openmpi: Update to 13.4.0 Paul A. Patience
  4 siblings, 0 replies; 16+ messages in thread
From: Paul A. Patience @ 2022-07-25 12:33 UTC (permalink / raw)
  To: 56760; +Cc: Paul A. Patience

* gnu/packages/maths.scm (trilinos-for-dealii-openmpi)[arguments]: Use
G-expressions.
<#:phases>: Remove trailing boolean.
---
 gnu/packages/maths.scm | 162 +++++++++++++++++++++--------------------
 1 file changed, 83 insertions(+), 79 deletions(-)

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 27b92d369c..751f1b4fd8 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -5183,85 +5183,89 @@ (define trilinos-for-dealii-openmpi
     (propagated-inputs
      (list openmpi))
     (arguments
-     `(#:build-type "Release"
-       #:configure-flags
-       `("-DBUILD_SHARED_LIBS=ON"
-         ;; Obtain the equivalent of RelWithDebInfo but with -O3 (the Release
-         ;; default) rather than -O2 (the RelWithDebInfo default), to conform
-         ;; to candi's trilinos.package's compilation flags, which are -g -O3.
-         "-DCMAKE_C_FLAGS=-g"
-         "-DCMAKE_CXX_FLAGS=-g"
-         "-DCMAKE_Fortran_FLAGS=-g"
-
-         ;; Trilinos libraries that deal.II can interface with.
-         "-DTrilinos_ENABLE_Amesos=ON"
-         "-DTrilinos_ENABLE_AztecOO=ON"
-         "-DTrilinos_ENABLE_Epetra=ON"
-         "-DTrilinos_ENABLE_EpetraExt=ON"
-         "-DTrilinos_ENABLE_Ifpack=ON"
-         "-DTrilinos_ENABLE_ML=ON"
-         "-DTrilinos_ENABLE_MueLu=ON"
-         "-DTrilinos_ENABLE_ROL=ON"
-         ;; Optional; required for deal.II's GridIn::read_exodusii, but
-         ;; depends on netcdf.
-         ;; Enable if and when someone needs it.
-         ;;"-DTrilinos_ENABLE_SEACAS=ON"
-         "-DTrilinos_ENABLE_Sacado=ON"
-         "-DTrilinos_ENABLE_Teuchos=ON"
-         "-DTrilinos_ENABLE_Tpetra=ON"
-         "-DTrilinos_ENABLE_Zoltan=ON"
-
-         ;; Third-party libraries (TPLs) that Trilinos can interface with.
-         "-DBLAS_LIBRARY_NAMES=openblas"
-         "-DTPL_ENABLE_MPI=ON"
-         "-DTPL_ENABLE_MUMPS=ON"
-         "-DTPL_ENABLE_SCALAPACK=ON"
-
-         ;; Enable the tests but not the examples (which are enabled by
-         ;; default when enabling tests).
-         ;; Although some examples are run as tests, they are otherwise
-         ;; unnecessary since this is a private package meant for
-         ;; dealii-openmpi.
-         ;; Besides, some MueLu and ROL examples require a lot of memory to
-         ;; compile.
-         ;;
-         ;; (For future reference, note that some ROL and SEACAS examples
-         ;; require removing gfortran from CPLUS_INCLUDE_PATH as in the
-         ;; dune-istl, dune-localfunctions and dune-alugrid packages.)
-         "-DTrilinos_ENABLE_TESTS=ON"
-         "-DTrilinos_ENABLE_EXAMPLES=OFF"
-         ;; MueLu tests require considerably more time and memory to compile
-         ;; than the rest of the tests.
-         "-DMueLu_ENABLE_TESTS=OFF"
-
-         ;; The following options were gleaned from candi's trilinos.package.
-         ;; (We do not enable the complex instantiations, which are anyway
-         ;; provided only as an option in trilinos.package, because they are
-         ;; costly in compilation time and memory usage, and disk space [1].)
-         ;;
-         ;; [1]: https://www.docs.trilinos.org/files/TrilinosBuildReference.html#enabling-float-and-complex-scalar-types
-         "-DTrilinos_ENABLE_Ifpack2=OFF"
-         "-DTeuchos_ENABLE_FLOAT=ON"
-         "-DTpetra_INST_INT_LONG=ON"
-         "-DTPL_ENABLE_Boost=OFF")
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'configure 'fix-kokkos-config
-           (lambda _
-             ;; GNU Make 4.3 accidentally leaves the backslash preceding the
-             ;; number sign in strings containing a literal backslash–number
-             ;; sign (\#) [1, 2].
-             ;; This is still an issue in Trilinos 13.0.1, but should be fixed
-             ;; in the following version.
-             ;; (The latest versions of Kokkos incorporate the fix [2].)
-             ;;
-             ;; [1]: https://github.com/GEOSX/thirdPartyLibs/issues/136
-             ;; [2]: https://github.com/kokkos/kokkos/blob/3.4.00/Makefile.kokkos#L441
-             (substitute* "KokkosCore_config.h"
-               (("\\\\#") "#"))
-             #t))
-         (add-before 'check 'mpi-setup
-           ,%openmpi-setup))))
+     (list #:build-type "Release"
+           #:configure-flags
+           #~(list "-DBUILD_SHARED_LIBS=ON"
+                   ;; Obtain the equivalent of RelWithDebInfo but with -O3
+                   ;; (the Release default) rather than -O2 (the
+                   ;; RelWithDebInfo default), to conform to candi's
+                   ;; trilinos.package's compilation flags, which are -g -O3.
+                   "-DCMAKE_C_FLAGS=-g"
+                   "-DCMAKE_CXX_FLAGS=-g"
+                   "-DCMAKE_Fortran_FLAGS=-g"
+
+                   ;; Trilinos libraries that deal.II can interface with.
+                   "-DTrilinos_ENABLE_Amesos=ON"
+                   "-DTrilinos_ENABLE_AztecOO=ON"
+                   "-DTrilinos_ENABLE_Epetra=ON"
+                   "-DTrilinos_ENABLE_EpetraExt=ON"
+                   "-DTrilinos_ENABLE_Ifpack=ON"
+                   "-DTrilinos_ENABLE_ML=ON"
+                   "-DTrilinos_ENABLE_MueLu=ON"
+                   "-DTrilinos_ENABLE_ROL=ON"
+                   ;; Optional; required for deal.II's GridIn::read_exodusii,
+                   ;; but depends on netcdf.
+                   ;; Enable if and when someone needs it.
+                   ;;"-DTrilinos_ENABLE_SEACAS=ON"
+                   "-DTrilinos_ENABLE_Sacado=ON"
+                   "-DTrilinos_ENABLE_Teuchos=ON"
+                   "-DTrilinos_ENABLE_Tpetra=ON"
+                   "-DTrilinos_ENABLE_Zoltan=ON"
+
+                   ;; Third-party libraries (TPLs) that Trilinos can interface
+                   ;; with.
+                   "-DBLAS_LIBRARY_NAMES=openblas"
+                   "-DTPL_ENABLE_MPI=ON"
+                   "-DTPL_ENABLE_MUMPS=ON"
+                   "-DTPL_ENABLE_SCALAPACK=ON"
+
+                   ;; Enable the tests but not the examples (which are enabled
+                   ;; by default when enabling tests).
+                   ;; Although some examples are run as tests, they are
+                   ;; otherwise unnecessary since this is a private package
+                   ;; meant for dealii-openmpi.
+                   ;; Besides, some MueLu and ROL examples require a lot of
+                   ;; memory to compile.
+                   ;;
+                   ;; (For future reference, note that some ROL and SEACAS
+                   ;; examples require removing gfortran from
+                   ;; CPLUS_INCLUDE_PATH as in the dune-istl,
+                   ;; dune-localfunctions and dune-alugrid packages.)
+                   "-DTrilinos_ENABLE_TESTS=ON"
+                   "-DTrilinos_ENABLE_EXAMPLES=OFF"
+                   ;; MueLu tests require considerably more time and memory to
+                   ;; compile than the rest of the tests.
+                   "-DMueLu_ENABLE_TESTS=OFF"
+
+                   ;; The following options were gleaned from candi's
+                   ;; trilinos.package.
+                   ;; (We do not enable the complex instantiations, which are
+                   ;; anyway provided only as an option in trilinos.package,
+                   ;; because they are costly in compilation time and memory
+                   ;; usage, and disk space [1].)
+                   ;;
+                   ;; [1]: https://www.docs.trilinos.org/files/TrilinosBuildReference.html#enabling-float-and-complex-scalar-types
+                   "-DTrilinos_ENABLE_Ifpack2=OFF"
+                   "-DTeuchos_ENABLE_FLOAT=ON"
+                   "-DTpetra_INST_INT_LONG=ON"
+                   "-DTPL_ENABLE_Boost=OFF")
+           #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'configure 'fix-kokkos-config
+                 (lambda _
+                   ;; GNU Make 4.3 accidentally leaves the backslash preceding
+                   ;; the number sign in strings containing a literal
+                   ;; backslash–number sign (\#) [1, 2].
+                   ;; This is still an issue in Trilinos 13.0.1, but should be
+                   ;; fixed in the following version.
+                   ;; (The latest versions of Kokkos incorporate the fix [2].)
+                   ;;
+                   ;; [1]: https://github.com/GEOSX/thirdPartyLibs/issues/136
+                   ;; [2]: https://github.com/kokkos/kokkos/blob/3.4.00/Makefile.kokkos#L441
+                   (substitute* "KokkosCore_config.h"
+                     (("\\\\#") "#"))))
+               (add-before 'check 'mpi-setup
+                 #$%openmpi-setup))))
     (home-page "https://trilinos.github.io/")
     (synopsis "Algorithms for engineering and scientific problems")
     (description
--
2.37.1






^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [bug#56760] [PATCH 6/6] gnu: trilinos-for-dealii-openmpi: Update to 13.4.0.
  2022-07-25 12:33 ` [bug#56760] [PATCH 1/6] gnu: trilinos-for-dealii-openmpi: Fix build Paul A. Patience
                     ` (3 preceding siblings ...)
  2022-07-25 12:33   ` [bug#56760] [PATCH 5/6] gnu: trilinos-for-dealii-openmpi: Use G-expressions Paul A. Patience
@ 2022-07-25 12:33   ` Paul A. Patience
  4 siblings, 0 replies; 16+ messages in thread
From: Paul A. Patience @ 2022-07-25 12:33 UTC (permalink / raw)
  To: 56760; +Cc: Paul A. Patience

* gnu/packages/maths.scm (trilinos-for-dealii-openmpi): Update to
13.4.0.
[native-inputs]: Remove gcc-7.
[arguments]: Remove 'fix-kokkos-config' phase.
---
 gnu/packages/maths.scm | 58 +++++++++++++++---------------------------
 1 file changed, 21 insertions(+), 37 deletions(-)

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 751f1b4fd8..73180a1831 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -5139,7 +5139,7 @@ (define-public lpsolve
 (define trilinos-for-dealii-openmpi
   (package
     (name "trilinos-for-dealii-openmpi")
-    (version "12.18.1")
+    (version "13.4.0")
     (source
      (origin
        (method git-fetch)
@@ -5150,31 +5150,28 @@ (define trilinos-for-dealii-openmpi
                              (string-replace-substring version "." "-")))))
        (file-name (git-file-name "trilinos" version))
        (sha256
-        (base32 "0fnwlhzsh85qj38cq3igbs8nm1b2jdgr2z734sapmyyzsy21mkgp"))))
+        (base32 "11vkn86dbvyvsf3zipd65y2f8vg5if9n3k7h3i8ybj95d4ck5r2n"))))
     (build-system cmake-build-system)
     (native-inputs
-     (list
-      ;; The build fails with the current gcc.
-      ;; Use the version from when Trilinos was added.
-      gcc-7
-      gfortran
-      ;; Trilinos's repository contains several C-shell scripts, but adding
-      ;; tcsh to the native inputs does not result in the check phase running
-      ;; any more tests than without it (nor is tcsh required to build
-      ;; Trilinos).
-      ;; It seems that Trilinos has replaced its use of C-shell test scripts
-      ;; with CMake's testing facilities.
-      ;; For example,
-      ;; packages/zoltan/doc/Zoltan_html/dev_html/dev_test_script.html [1]
-      ;; states that Zoltan's C-shell test script
-      ;; packages/zoltan/test/test_zoltan has been obsoleted by the tests now
-      ;; performed through CMake.
-      ;;
-      ;; Perl is required for some Zoltan tests and Python 2 for one ML test.
-      ;;
-      ;; [1]: https://cs.sandia.gov/zoltan/dev_html/dev_test_script.html
-      perl
-      python-2))
+     (list gfortran
+           ;; Trilinos's repository contains several C-shell scripts, but
+           ;; adding tcsh to the native inputs does not result in the check
+           ;; phase running any more tests than without it (nor is tcsh
+           ;; required to build Trilinos).
+           ;; It seems that Trilinos has replaced its use of C-shell test
+           ;; scripts with CMake's testing facilities.
+           ;; For example,
+           ;; packages/zoltan/doc/Zoltan_html/dev_html/dev_test_script.html [1]
+           ;; states that Zoltan's C-shell test script
+           ;; packages/zoltan/test/test_zoltan has been obsoleted by the tests
+           ;; now performed through CMake.
+           ;;
+           ;; Perl is required for some Zoltan tests and Python 2 for one ML
+           ;; test.
+           ;;
+           ;; [1]: https://cs.sandia.gov/zoltan/dev_html/dev_test_script.html
+           perl
+           python-2))
     (inputs
      (list openblas
            lapack
@@ -5251,19 +5248,6 @@ (define trilinos-for-dealii-openmpi
                    "-DTPL_ENABLE_Boost=OFF")
            #:phases
            #~(modify-phases %standard-phases
-               (add-after 'configure 'fix-kokkos-config
-                 (lambda _
-                   ;; GNU Make 4.3 accidentally leaves the backslash preceding
-                   ;; the number sign in strings containing a literal
-                   ;; backslash–number sign (\#) [1, 2].
-                   ;; This is still an issue in Trilinos 13.0.1, but should be
-                   ;; fixed in the following version.
-                   ;; (The latest versions of Kokkos incorporate the fix [2].)
-                   ;;
-                   ;; [1]: https://github.com/GEOSX/thirdPartyLibs/issues/136
-                   ;; [2]: https://github.com/kokkos/kokkos/blob/3.4.00/Makefile.kokkos#L441
-                   (substitute* "KokkosCore_config.h"
-                     (("\\\\#") "#"))))
                (add-before 'check 'mpi-setup
                  #$%openmpi-setup))))
     (home-page "https://trilinos.github.io/")
--
2.37.1






^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [bug#56760] [PATCH v2 0/6] dealii: Update to 9.4.0 and its Trilinos to 13.4.0.
  2022-07-25 12:30 [bug#56760] [PATCH 0/6] dealii: Update to 9.4.0 and its Trilinos to 13.4.0 Paul A. Patience
  2022-07-25 12:33 ` [bug#56760] [PATCH 1/6] gnu: trilinos-for-dealii-openmpi: Fix build Paul A. Patience
@ 2022-07-25 15:11 ` Paul A. Patience
  2022-07-25 15:11   ` [bug#56760] [PATCH v2 1/6] gnu: trilinos-for-dealii-openmpi: Fix build Paul A. Patience
                     ` (6 more replies)
  1 sibling, 7 replies; 16+ messages in thread
From: Paul A. Patience @ 2022-07-25 15:11 UTC (permalink / raw)
  To: 56760; +Cc: Paul A. Patience

Fixed the failing Trilinos 13.4.0 build by disabling
Tpetra_INST_INT_LONG_LONG.

Paul A. Patience (6):
  gnu: trilinos-for-dealii-openmpi: Fix build.
  gnu: dealii: Use G-expressions.
  gnu: dealii: Update to 9.4.0.
  gnu: trilinos-for-dealii-openmpi: Remove input labels.
  gnu: trilinos-for-dealii-openmpi: Use G-expressions.
  gnu: trilinos-for-dealii-openmpi: Update to 13.4.0.

 gnu/packages/maths.scm | 281 +++++++++++++++++++++--------------------
 1 file changed, 144 insertions(+), 137 deletions(-)

--
2.37.1






^ permalink raw reply	[flat|nested] 16+ messages in thread

* [bug#56760] [PATCH v2 1/6] gnu: trilinos-for-dealii-openmpi: Fix build.
  2022-07-25 15:11 ` [bug#56760] [PATCH v2 0/6] dealii: Update to 9.4.0 and its Trilinos " Paul A. Patience
@ 2022-07-25 15:11   ` Paul A. Patience
  2022-07-25 15:12   ` [bug#56760] [PATCH v2 2/6] gnu: dealii: Use G-expressions Paul A. Patience
                     ` (5 subsequent siblings)
  6 siblings, 0 replies; 16+ messages in thread
From: Paul A. Patience @ 2022-07-25 15:11 UTC (permalink / raw)
  To: 56760; +Cc: Paul A. Patience

* gnu/packages/maths.scm (trilinos-for-dealii-openmpi)[native-inputs]:
Add gcc-7 to fix the failing build with newer versions of gcc.
---
 gnu/packages/maths.scm | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 458bffee61..948776e9d4 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -5153,7 +5153,10 @@ (define trilinos-for-dealii-openmpi
         (base32 "0fnwlhzsh85qj38cq3igbs8nm1b2jdgr2z734sapmyyzsy21mkgp"))))
     (build-system cmake-build-system)
     (native-inputs
-     `(("gfortran" ,gfortran)
+     `(;; The build fails with the current gcc.
+       ;; Use the version from when Trilinos was added.
+       ("gcc" ,gcc-7)
+       ("gfortran" ,gfortran)
        ;; Trilinos's repository contains several C-shell scripts, but adding
        ;; tcsh to the native inputs does not result in the check phase running
        ;; any more tests than without it (nor is tcsh required to build
--
2.37.1






^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [bug#56760] [PATCH v2 2/6] gnu: dealii: Use G-expressions.
  2022-07-25 15:11 ` [bug#56760] [PATCH v2 0/6] dealii: Update to 9.4.0 and its Trilinos " Paul A. Patience
  2022-07-25 15:11   ` [bug#56760] [PATCH v2 1/6] gnu: trilinos-for-dealii-openmpi: Fix build Paul A. Patience
@ 2022-07-25 15:12   ` Paul A. Patience
  2022-07-25 15:12   ` [bug#56760] [PATCH v2 3/6] gnu: dealii: Update to 9.4.0 Paul A. Patience
                     ` (4 subsequent siblings)
  6 siblings, 0 replies; 16+ messages in thread
From: Paul A. Patience @ 2022-07-25 15:12 UTC (permalink / raw)
  To: 56760; +Cc: Paul A. Patience

* gnu/packages/maths.scm (dealii)[snippet, arguments]: Use
G-expressions.
(dealii-openmpi)[arguments]: Same.
---
 gnu/packages/maths.scm | 60 ++++++++++++++++++++++--------------------
 1 file changed, 32 insertions(+), 28 deletions(-)

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 948776e9d4..7d4049c689 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -5287,7 +5287,7 @@ (define-public dealii
        (modules '((guix build utils)))
        (snippet
         ;; Remove bundled boost, muparser, TBB and UMFPACK.
-        '(delete-file-recursively "bundled"))))
+        #~(delete-file-recursively "bundled"))))
     (build-system cmake-build-system)
     (outputs '("out" "doc"))
     (native-inputs
@@ -5315,32 +5315,36 @@ (define-public dealii
            sundials-5
            tbb))
     (arguments
-     `(#:build-type "DebugRelease" ; Supports only Debug, Release and DebugRelease.
-       ;; The tests take too long and must be explicitly enabled with "make
-       ;; setup_tests".
-       ;; See https://www.dealii.org/developer/developers/testsuite.html.
-       ;; (They can also be run for an already installed deal.II.)
-       #:tests? #f
-       #:configure-flags
-       (let ((doc (string-append (assoc-ref %outputs "doc")
-                                 "/share/doc/" ,name "-" ,version)))
-         `("-DDEAL_II_COMPONENT_DOCUMENTATION=ON"
-           ,(string-append "-DDEAL_II_DOCREADME_RELDIR=" doc)
-           ,(string-append "-DDEAL_II_DOCHTML_RELDIR=" doc "/html")
-           ;; Don't compile the examples because the source and CMakeLists.txt
-           ;; are installed anyway, allowing users to do so for themselves.
-           "-DDEAL_II_COMPILE_EXAMPLES=OFF"
-           ,(string-append "-DDEAL_II_EXAMPLES_RELDIR=" doc "/examples")))
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'install 'remove-build-logs
-           ;; These build logs leak the name of the build directory by storing
-           ;; the values of CMAKE_SOURCE_DIR and CMAKE_BINARY_DIR.
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let ((doc (string-append (assoc-ref outputs "doc")
-                                       "/share/doc/" ,name "-" ,version)))
-               (for-each delete-file (map (lambda (f) (string-append doc "/" f))
-                                          '("detailed.log" "summary.log")))))))))
+     (list #:build-type "DebugRelease"  ; Only Debug, Release or DebugRelease.
+           ;; The tests take too long and must be explicitly enabled with
+           ;; "make setup_tests".
+           ;; See https://www.dealii.org/developer/developers/testsuite.html.
+           ;; (They can also be run for an already installed deal.II.)
+           #:tests? #f
+           #:configure-flags
+           #~(let ((doc (string-append #$output:doc "/share/doc/"
+                                       #$name "-" #$version)))
+               (list "-DDEAL_II_COMPONENT_DOCUMENTATION=ON"
+                     (string-append "-DDEAL_II_DOCREADME_RELDIR=" doc)
+                     (string-append "-DDEAL_II_DOCHTML_RELDIR=" doc "/html")
+                     ;; Don't compile the examples because the source and
+                     ;; CMakeLists.txt are installed anyway, allowing users to
+                     ;; do so for themselves.
+                     "-DDEAL_II_COMPILE_EXAMPLES=OFF"
+                     (string-append "-DDEAL_II_EXAMPLES_RELDIR=" doc
+                                    "/examples")))
+           #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'install 'remove-build-logs
+                 ;; These build logs leak the name of the build directory by
+                 ;; storing the values of CMAKE_SOURCE_DIR and
+                 ;; CMAKE_BINARY_DIR.
+                 (lambda _
+                   (let ((doc (string-append #$output:doc "/share/doc/"
+                                             #$name "-" #$version)))
+                     (for-each delete-file
+                               (map (lambda (f) (string-append doc "/" f))
+                                    '("detailed.log" "summary.log")))))))))
     (home-page "https://www.dealii.org/")
     (synopsis "Finite element library")
     (description
@@ -5373,7 +5377,7 @@ (define-public dealii-openmpi
     (arguments
      (substitute-keyword-arguments (package-arguments dealii)
        ((#:configure-flags flags)
-        `(cons "-DDEAL_II_WITH_MPI=ON" ,flags))))
+        #~(cons "-DDEAL_II_WITH_MPI=ON" #$flags))))
     (synopsis "Finite element library (with MPI support)")))

 (define-public flann
--
2.37.1






^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [bug#56760] [PATCH v2 3/6] gnu: dealii: Update to 9.4.0.
  2022-07-25 15:11 ` [bug#56760] [PATCH v2 0/6] dealii: Update to 9.4.0 and its Trilinos " Paul A. Patience
  2022-07-25 15:11   ` [bug#56760] [PATCH v2 1/6] gnu: trilinos-for-dealii-openmpi: Fix build Paul A. Patience
  2022-07-25 15:12   ` [bug#56760] [PATCH v2 2/6] gnu: dealii: Use G-expressions Paul A. Patience
@ 2022-07-25 15:12   ` Paul A. Patience
  2022-07-25 15:12   ` [bug#56760] [PATCH v2 4/6] gnu: trilinos-for-dealii-openmpi: Remove input labels Paul A. Patience
                     ` (3 subsequent siblings)
  6 siblings, 0 replies; 16+ messages in thread
From: Paul A. Patience @ 2022-07-25 15:12 UTC (permalink / raw)
  To: 56760; +Cc: Paul A. Patience

* gnu/packages/maths.scm (dealii): Update to 9.4.0.
[propagated-inputs]: Replace sundials-5 with sundials.
(dealii-openmpi)[propagated-inputs]: Replace sundials-openmpi-5 with
sundials-openmpi.
---
 gnu/packages/maths.scm | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 7d4049c689..a2123d2dc8 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -5276,14 +5276,14 @@ (define trilinos-for-dealii-openmpi
 (define-public dealii
   (package
     (name "dealii")
-    (version "9.3.3")
+    (version "9.4.0")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://github.com/dealii/dealii/releases/"
                            "download/v" version "/dealii-" version ".tar.gz"))
        (sha256
-        (base32 "0a8s4yxcbvzmfgv5qcg27h2ss4fcnyhrhhs35glqj59l9cbmkysx"))
+        (base32 "0v73q6f35f2yrjihaq6vh9lma07qc4cdv75nwmc3c5yrdh07g1i3"))
        (modules '((guix build utils)))
        (snippet
         ;; Remove bundled boost, muparser, TBB and UMFPACK.
@@ -5311,8 +5311,7 @@ (define-public dealii
      (list boost
            hdf5
            suitesparse                  ; For UMFPACK.
-           ;; SUNDIALS 6.0.0 and later will be supported in deal.II 9.4.0.
-           sundials-5
+           sundials
            tbb))
     (arguments
      (list #:build-type "DebugRelease"  ; Only Debug, Release or DebugRelease.
@@ -5372,7 +5371,7 @@ (define-public dealii-openmpi
                 p4est-openmpi
                 petsc-openmpi
                 slepc-openmpi
-                sundials-openmpi-5
+                sundials-openmpi
                 trilinos-for-dealii-openmpi)))
     (arguments
      (substitute-keyword-arguments (package-arguments dealii)
--
2.37.1






^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [bug#56760] [PATCH v2 4/6] gnu: trilinos-for-dealii-openmpi: Remove input labels.
  2022-07-25 15:11 ` [bug#56760] [PATCH v2 0/6] dealii: Update to 9.4.0 and its Trilinos " Paul A. Patience
                     ` (2 preceding siblings ...)
  2022-07-25 15:12   ` [bug#56760] [PATCH v2 3/6] gnu: dealii: Update to 9.4.0 Paul A. Patience
@ 2022-07-25 15:12   ` Paul A. Patience
  2022-07-25 15:12   ` [bug#56760] [PATCH v2 5/6] gnu: trilinos-for-dealii-openmpi: Use G-expressions Paul A. Patience
                     ` (2 subsequent siblings)
  6 siblings, 0 replies; 16+ messages in thread
From: Paul A. Patience @ 2022-07-25 15:12 UTC (permalink / raw)
  To: 56760; +Cc: Paul A. Patience

* gnu/packages/maths.scm (trilinos-for-dealii-openmpi)[native-inputs,
inputs, propagated-inputs]: Remove labels.
---
 gnu/packages/maths.scm | 53 +++++++++++++++++++++---------------------
 1 file changed, 27 insertions(+), 26 deletions(-)

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index a2123d2dc8..27b92d369c 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -5153,34 +5153,35 @@ (define trilinos-for-dealii-openmpi
         (base32 "0fnwlhzsh85qj38cq3igbs8nm1b2jdgr2z734sapmyyzsy21mkgp"))))
     (build-system cmake-build-system)
     (native-inputs
-     `(;; The build fails with the current gcc.
-       ;; Use the version from when Trilinos was added.
-       ("gcc" ,gcc-7)
-       ("gfortran" ,gfortran)
-       ;; Trilinos's repository contains several C-shell scripts, but adding
-       ;; tcsh to the native inputs does not result in the check phase running
-       ;; any more tests than without it (nor is tcsh required to build
-       ;; Trilinos).
-       ;; It seems that Trilinos has replaced its use of C-shell test scripts
-       ;; with CMake's testing facilities.
-       ;; For example,
-       ;; packages/zoltan/doc/Zoltan_html/dev_html/dev_test_script.html [1]
-       ;; states that Zoltan's C-shell test script
-       ;; packages/zoltan/test/test_zoltan has been obsoleted by the tests now
-       ;; performed through CMake.
-       ;;
-       ;; Perl is required for some Zoltan tests and Python 2 for one ML test.
-       ;;
-       ;; [1]: https://cs.sandia.gov/zoltan/dev_html/dev_test_script.html
-       ("perl" ,perl)
-       ("python" ,python-2)))
+     (list
+      ;; The build fails with the current gcc.
+      ;; Use the version from when Trilinos was added.
+      gcc-7
+      gfortran
+      ;; Trilinos's repository contains several C-shell scripts, but adding
+      ;; tcsh to the native inputs does not result in the check phase running
+      ;; any more tests than without it (nor is tcsh required to build
+      ;; Trilinos).
+      ;; It seems that Trilinos has replaced its use of C-shell test scripts
+      ;; with CMake's testing facilities.
+      ;; For example,
+      ;; packages/zoltan/doc/Zoltan_html/dev_html/dev_test_script.html [1]
+      ;; states that Zoltan's C-shell test script
+      ;; packages/zoltan/test/test_zoltan has been obsoleted by the tests now
+      ;; performed through CMake.
+      ;;
+      ;; Perl is required for some Zoltan tests and Python 2 for one ML test.
+      ;;
+      ;; [1]: https://cs.sandia.gov/zoltan/dev_html/dev_test_script.html
+      perl
+      python-2))
     (inputs
-     `(("blas" ,openblas)
-       ("lapack" ,lapack)
-       ("mumps" ,mumps-openmpi)
-       ("scalapack" ,scalapack)))
+     (list openblas
+           lapack
+           mumps-openmpi
+           scalapack))
     (propagated-inputs
-     `(("mpi" ,openmpi)))
+     (list openmpi))
     (arguments
      `(#:build-type "Release"
        #:configure-flags
--
2.37.1






^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [bug#56760] [PATCH v2 5/6] gnu: trilinos-for-dealii-openmpi: Use G-expressions.
  2022-07-25 15:11 ` [bug#56760] [PATCH v2 0/6] dealii: Update to 9.4.0 and its Trilinos " Paul A. Patience
                     ` (3 preceding siblings ...)
  2022-07-25 15:12   ` [bug#56760] [PATCH v2 4/6] gnu: trilinos-for-dealii-openmpi: Remove input labels Paul A. Patience
@ 2022-07-25 15:12   ` Paul A. Patience
  2022-07-25 15:12   ` [bug#56760] [PATCH v2 6/6] gnu: trilinos-for-dealii-openmpi: Update to 13.4.0 Paul A. Patience
  2022-08-01 15:22   ` bug#56760: [PATCH 0/6] dealii: Update to 9.4.0 and its Trilinos " Ludovic Courtès
  6 siblings, 0 replies; 16+ messages in thread
From: Paul A. Patience @ 2022-07-25 15:12 UTC (permalink / raw)
  To: 56760; +Cc: Paul A. Patience

* gnu/packages/maths.scm (trilinos-for-dealii-openmpi)[arguments]: Use
G-expressions.
<#:phases>: Remove trailing boolean.
---
 gnu/packages/maths.scm | 162 +++++++++++++++++++++--------------------
 1 file changed, 83 insertions(+), 79 deletions(-)

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 27b92d369c..751f1b4fd8 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -5183,85 +5183,89 @@ (define trilinos-for-dealii-openmpi
     (propagated-inputs
      (list openmpi))
     (arguments
-     `(#:build-type "Release"
-       #:configure-flags
-       `("-DBUILD_SHARED_LIBS=ON"
-         ;; Obtain the equivalent of RelWithDebInfo but with -O3 (the Release
-         ;; default) rather than -O2 (the RelWithDebInfo default), to conform
-         ;; to candi's trilinos.package's compilation flags, which are -g -O3.
-         "-DCMAKE_C_FLAGS=-g"
-         "-DCMAKE_CXX_FLAGS=-g"
-         "-DCMAKE_Fortran_FLAGS=-g"
-
-         ;; Trilinos libraries that deal.II can interface with.
-         "-DTrilinos_ENABLE_Amesos=ON"
-         "-DTrilinos_ENABLE_AztecOO=ON"
-         "-DTrilinos_ENABLE_Epetra=ON"
-         "-DTrilinos_ENABLE_EpetraExt=ON"
-         "-DTrilinos_ENABLE_Ifpack=ON"
-         "-DTrilinos_ENABLE_ML=ON"
-         "-DTrilinos_ENABLE_MueLu=ON"
-         "-DTrilinos_ENABLE_ROL=ON"
-         ;; Optional; required for deal.II's GridIn::read_exodusii, but
-         ;; depends on netcdf.
-         ;; Enable if and when someone needs it.
-         ;;"-DTrilinos_ENABLE_SEACAS=ON"
-         "-DTrilinos_ENABLE_Sacado=ON"
-         "-DTrilinos_ENABLE_Teuchos=ON"
-         "-DTrilinos_ENABLE_Tpetra=ON"
-         "-DTrilinos_ENABLE_Zoltan=ON"
-
-         ;; Third-party libraries (TPLs) that Trilinos can interface with.
-         "-DBLAS_LIBRARY_NAMES=openblas"
-         "-DTPL_ENABLE_MPI=ON"
-         "-DTPL_ENABLE_MUMPS=ON"
-         "-DTPL_ENABLE_SCALAPACK=ON"
-
-         ;; Enable the tests but not the examples (which are enabled by
-         ;; default when enabling tests).
-         ;; Although some examples are run as tests, they are otherwise
-         ;; unnecessary since this is a private package meant for
-         ;; dealii-openmpi.
-         ;; Besides, some MueLu and ROL examples require a lot of memory to
-         ;; compile.
-         ;;
-         ;; (For future reference, note that some ROL and SEACAS examples
-         ;; require removing gfortran from CPLUS_INCLUDE_PATH as in the
-         ;; dune-istl, dune-localfunctions and dune-alugrid packages.)
-         "-DTrilinos_ENABLE_TESTS=ON"
-         "-DTrilinos_ENABLE_EXAMPLES=OFF"
-         ;; MueLu tests require considerably more time and memory to compile
-         ;; than the rest of the tests.
-         "-DMueLu_ENABLE_TESTS=OFF"
-
-         ;; The following options were gleaned from candi's trilinos.package.
-         ;; (We do not enable the complex instantiations, which are anyway
-         ;; provided only as an option in trilinos.package, because they are
-         ;; costly in compilation time and memory usage, and disk space [1].)
-         ;;
-         ;; [1]: https://www.docs.trilinos.org/files/TrilinosBuildReference.html#enabling-float-and-complex-scalar-types
-         "-DTrilinos_ENABLE_Ifpack2=OFF"
-         "-DTeuchos_ENABLE_FLOAT=ON"
-         "-DTpetra_INST_INT_LONG=ON"
-         "-DTPL_ENABLE_Boost=OFF")
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'configure 'fix-kokkos-config
-           (lambda _
-             ;; GNU Make 4.3 accidentally leaves the backslash preceding the
-             ;; number sign in strings containing a literal backslash–number
-             ;; sign (\#) [1, 2].
-             ;; This is still an issue in Trilinos 13.0.1, but should be fixed
-             ;; in the following version.
-             ;; (The latest versions of Kokkos incorporate the fix [2].)
-             ;;
-             ;; [1]: https://github.com/GEOSX/thirdPartyLibs/issues/136
-             ;; [2]: https://github.com/kokkos/kokkos/blob/3.4.00/Makefile.kokkos#L441
-             (substitute* "KokkosCore_config.h"
-               (("\\\\#") "#"))
-             #t))
-         (add-before 'check 'mpi-setup
-           ,%openmpi-setup))))
+     (list #:build-type "Release"
+           #:configure-flags
+           #~(list "-DBUILD_SHARED_LIBS=ON"
+                   ;; Obtain the equivalent of RelWithDebInfo but with -O3
+                   ;; (the Release default) rather than -O2 (the
+                   ;; RelWithDebInfo default), to conform to candi's
+                   ;; trilinos.package's compilation flags, which are -g -O3.
+                   "-DCMAKE_C_FLAGS=-g"
+                   "-DCMAKE_CXX_FLAGS=-g"
+                   "-DCMAKE_Fortran_FLAGS=-g"
+
+                   ;; Trilinos libraries that deal.II can interface with.
+                   "-DTrilinos_ENABLE_Amesos=ON"
+                   "-DTrilinos_ENABLE_AztecOO=ON"
+                   "-DTrilinos_ENABLE_Epetra=ON"
+                   "-DTrilinos_ENABLE_EpetraExt=ON"
+                   "-DTrilinos_ENABLE_Ifpack=ON"
+                   "-DTrilinos_ENABLE_ML=ON"
+                   "-DTrilinos_ENABLE_MueLu=ON"
+                   "-DTrilinos_ENABLE_ROL=ON"
+                   ;; Optional; required for deal.II's GridIn::read_exodusii,
+                   ;; but depends on netcdf.
+                   ;; Enable if and when someone needs it.
+                   ;;"-DTrilinos_ENABLE_SEACAS=ON"
+                   "-DTrilinos_ENABLE_Sacado=ON"
+                   "-DTrilinos_ENABLE_Teuchos=ON"
+                   "-DTrilinos_ENABLE_Tpetra=ON"
+                   "-DTrilinos_ENABLE_Zoltan=ON"
+
+                   ;; Third-party libraries (TPLs) that Trilinos can interface
+                   ;; with.
+                   "-DBLAS_LIBRARY_NAMES=openblas"
+                   "-DTPL_ENABLE_MPI=ON"
+                   "-DTPL_ENABLE_MUMPS=ON"
+                   "-DTPL_ENABLE_SCALAPACK=ON"
+
+                   ;; Enable the tests but not the examples (which are enabled
+                   ;; by default when enabling tests).
+                   ;; Although some examples are run as tests, they are
+                   ;; otherwise unnecessary since this is a private package
+                   ;; meant for dealii-openmpi.
+                   ;; Besides, some MueLu and ROL examples require a lot of
+                   ;; memory to compile.
+                   ;;
+                   ;; (For future reference, note that some ROL and SEACAS
+                   ;; examples require removing gfortran from
+                   ;; CPLUS_INCLUDE_PATH as in the dune-istl,
+                   ;; dune-localfunctions and dune-alugrid packages.)
+                   "-DTrilinos_ENABLE_TESTS=ON"
+                   "-DTrilinos_ENABLE_EXAMPLES=OFF"
+                   ;; MueLu tests require considerably more time and memory to
+                   ;; compile than the rest of the tests.
+                   "-DMueLu_ENABLE_TESTS=OFF"
+
+                   ;; The following options were gleaned from candi's
+                   ;; trilinos.package.
+                   ;; (We do not enable the complex instantiations, which are
+                   ;; anyway provided only as an option in trilinos.package,
+                   ;; because they are costly in compilation time and memory
+                   ;; usage, and disk space [1].)
+                   ;;
+                   ;; [1]: https://www.docs.trilinos.org/files/TrilinosBuildReference.html#enabling-float-and-complex-scalar-types
+                   "-DTrilinos_ENABLE_Ifpack2=OFF"
+                   "-DTeuchos_ENABLE_FLOAT=ON"
+                   "-DTpetra_INST_INT_LONG=ON"
+                   "-DTPL_ENABLE_Boost=OFF")
+           #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'configure 'fix-kokkos-config
+                 (lambda _
+                   ;; GNU Make 4.3 accidentally leaves the backslash preceding
+                   ;; the number sign in strings containing a literal
+                   ;; backslash–number sign (\#) [1, 2].
+                   ;; This is still an issue in Trilinos 13.0.1, but should be
+                   ;; fixed in the following version.
+                   ;; (The latest versions of Kokkos incorporate the fix [2].)
+                   ;;
+                   ;; [1]: https://github.com/GEOSX/thirdPartyLibs/issues/136
+                   ;; [2]: https://github.com/kokkos/kokkos/blob/3.4.00/Makefile.kokkos#L441
+                   (substitute* "KokkosCore_config.h"
+                     (("\\\\#") "#"))))
+               (add-before 'check 'mpi-setup
+                 #$%openmpi-setup))))
     (home-page "https://trilinos.github.io/")
     (synopsis "Algorithms for engineering and scientific problems")
     (description
--
2.37.1






^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [bug#56760] [PATCH v2 6/6] gnu: trilinos-for-dealii-openmpi: Update to 13.4.0.
  2022-07-25 15:11 ` [bug#56760] [PATCH v2 0/6] dealii: Update to 9.4.0 and its Trilinos " Paul A. Patience
                     ` (4 preceding siblings ...)
  2022-07-25 15:12   ` [bug#56760] [PATCH v2 5/6] gnu: trilinos-for-dealii-openmpi: Use G-expressions Paul A. Patience
@ 2022-07-25 15:12   ` Paul A. Patience
  2022-07-26 11:41     ` Paul A. Patience
  2022-08-01 15:22   ` bug#56760: [PATCH 0/6] dealii: Update to 9.4.0 and its Trilinos " Ludovic Courtès
  6 siblings, 1 reply; 16+ messages in thread
From: Paul A. Patience @ 2022-07-25 15:12 UTC (permalink / raw)
  To: 56760; +Cc: Paul A. Patience

* gnu/packages/maths.scm (trilinos-for-dealii-openmpi): Update to
13.4.0.
[native-inputs]: Remove gcc-7.
[arguments]: Remove 'fix-kokkos-config' phase.
---
 gnu/packages/maths.scm | 70 ++++++++++++++++++++----------------------
 1 file changed, 33 insertions(+), 37 deletions(-)

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 751f1b4fd8..d3481da0a6 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -5139,7 +5139,7 @@ (define-public lpsolve
 (define trilinos-for-dealii-openmpi
   (package
     (name "trilinos-for-dealii-openmpi")
-    (version "12.18.1")
+    (version "13.4.0")
     (source
      (origin
        (method git-fetch)
@@ -5150,31 +5150,28 @@ (define trilinos-for-dealii-openmpi
                              (string-replace-substring version "." "-")))))
        (file-name (git-file-name "trilinos" version))
        (sha256
-        (base32 "0fnwlhzsh85qj38cq3igbs8nm1b2jdgr2z734sapmyyzsy21mkgp"))))
+        (base32 "11vkn86dbvyvsf3zipd65y2f8vg5if9n3k7h3i8ybj95d4ck5r2n"))))
     (build-system cmake-build-system)
     (native-inputs
-     (list
-      ;; The build fails with the current gcc.
-      ;; Use the version from when Trilinos was added.
-      gcc-7
-      gfortran
-      ;; Trilinos's repository contains several C-shell scripts, but adding
-      ;; tcsh to the native inputs does not result in the check phase running
-      ;; any more tests than without it (nor is tcsh required to build
-      ;; Trilinos).
-      ;; It seems that Trilinos has replaced its use of C-shell test scripts
-      ;; with CMake's testing facilities.
-      ;; For example,
-      ;; packages/zoltan/doc/Zoltan_html/dev_html/dev_test_script.html [1]
-      ;; states that Zoltan's C-shell test script
-      ;; packages/zoltan/test/test_zoltan has been obsoleted by the tests now
-      ;; performed through CMake.
-      ;;
-      ;; Perl is required for some Zoltan tests and Python 2 for one ML test.
-      ;;
-      ;; [1]: https://cs.sandia.gov/zoltan/dev_html/dev_test_script.html
-      perl
-      python-2))
+     (list gfortran
+           ;; Trilinos's repository contains several C-shell scripts, but
+           ;; adding tcsh to the native inputs does not result in the check
+           ;; phase running any more tests than without it (nor is tcsh
+           ;; required to build Trilinos).
+           ;; It seems that Trilinos has replaced its use of C-shell test
+           ;; scripts with CMake's testing facilities.
+           ;; For example,
+           ;; packages/zoltan/doc/Zoltan_html/dev_html/dev_test_script.html [1]
+           ;; states that Zoltan's C-shell test script
+           ;; packages/zoltan/test/test_zoltan has been obsoleted by the tests
+           ;; now performed through CMake.
+           ;;
+           ;; Perl is required for some Zoltan tests and Python 2 for one ML
+           ;; test.
+           ;;
+           ;; [1]: https://cs.sandia.gov/zoltan/dev_html/dev_test_script.html
+           perl
+           python-2))
     (inputs
      (list openblas
            lapack
@@ -5248,22 +5245,21 @@ (define trilinos-for-dealii-openmpi
                    "-DTrilinos_ENABLE_Ifpack2=OFF"
                    "-DTeuchos_ENABLE_FLOAT=ON"
                    "-DTpetra_INST_INT_LONG=ON"
+                   ;; Disabling Tpetra_INST_INT_LONG_LONG is required only
+                   ;; because Tpetra's CMakeLists.txt [1] is incorrectly
+                   ;; testing for
+                   ;;
+                   ;;   DEFINED Tpetra_INST_INT_LONG AND Tpetra_INST_INT_UNSIGNED_LONG
+                   ;;
+                   ;; instead of
+                   ;;
+                   ;;   DEFINED Tpetra_INST_INT_LONG AND Tpetra_INST_INT_LONG
+                   ;;
+                   ;; [1]: https://github.com/trilinos/Trilinos/blob/0976cf2a8f9ee2991f4fb479f1056ca569eb22b9/packages/tpetra/CMakeLists.txt#L697
+                   "-DTpetra_INST_INT_LONG_LONG=OFF"
                    "-DTPL_ENABLE_Boost=OFF")
            #:phases
            #~(modify-phases %standard-phases
-               (add-after 'configure 'fix-kokkos-config
-                 (lambda _
-                   ;; GNU Make 4.3 accidentally leaves the backslash preceding
-                   ;; the number sign in strings containing a literal
-                   ;; backslash–number sign (\#) [1, 2].
-                   ;; This is still an issue in Trilinos 13.0.1, but should be
-                   ;; fixed in the following version.
-                   ;; (The latest versions of Kokkos incorporate the fix [2].)
-                   ;;
-                   ;; [1]: https://github.com/GEOSX/thirdPartyLibs/issues/136
-                   ;; [2]: https://github.com/kokkos/kokkos/blob/3.4.00/Makefile.kokkos#L441
-                   (substitute* "KokkosCore_config.h"
-                     (("\\\\#") "#"))))
                (add-before 'check 'mpi-setup
                  #$%openmpi-setup))))
     (home-page "https://trilinos.github.io/")
--
2.37.1






^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [bug#56760] [PATCH v2 6/6] gnu: trilinos-for-dealii-openmpi: Update to 13.4.0.
  2022-07-25 15:12   ` [bug#56760] [PATCH v2 6/6] gnu: trilinos-for-dealii-openmpi: Update to 13.4.0 Paul A. Patience
@ 2022-07-26 11:41     ` Paul A. Patience
  0 siblings, 0 replies; 16+ messages in thread
From: Paul A. Patience @ 2022-07-26 11:41 UTC (permalink / raw)
  To: 56760; +Cc: Paul A. Patience



On 2022-07-25 08:12:33-07:00, Paul A. Patience wrote:
> * gnu/packages/maths.scm (trilinos-for-dealii-openmpi): Update to
> 13.4.0.

Actually, 13.4.0 has some linking errors even with the fix to the
configure flags.
So this patch shouldn't be applied, but the first 5 are ok.

Paul





^ permalink raw reply	[flat|nested] 16+ messages in thread

* bug#56760: [PATCH 0/6] dealii: Update to 9.4.0 and its Trilinos to 13.4.0.
  2022-07-25 15:11 ` [bug#56760] [PATCH v2 0/6] dealii: Update to 9.4.0 and its Trilinos " Paul A. Patience
                     ` (5 preceding siblings ...)
  2022-07-25 15:12   ` [bug#56760] [PATCH v2 6/6] gnu: trilinos-for-dealii-openmpi: Update to 13.4.0 Paul A. Patience
@ 2022-08-01 15:22   ` Ludovic Courtès
  6 siblings, 0 replies; 16+ messages in thread
From: Ludovic Courtès @ 2022-08-01 15:22 UTC (permalink / raw)
  To: Paul A. Patience; +Cc: 56760-done

Hi,

"Paul A. Patience" <paul@apatience.com> skribis:

>   gnu: trilinos-for-dealii-openmpi: Fix build.
>   gnu: dealii: Use G-expressions.
>   gnu: dealii: Update to 9.4.0.
>   gnu: trilinos-for-dealii-openmpi: Remove input labels.
>   gnu: trilinos-for-dealii-openmpi: Use G-expressions.
>   gnu: trilinos-for-dealii-openmpi: Update to 13.4.0.

Pushed everything but the sixth patch, as you suggested.

Please resubmit it separately when it’s ready.

Thanks!

Ludo’.




^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2022-08-01 15:23 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-07-25 12:30 [bug#56760] [PATCH 0/6] dealii: Update to 9.4.0 and its Trilinos to 13.4.0 Paul A. Patience
2022-07-25 12:33 ` [bug#56760] [PATCH 1/6] gnu: trilinos-for-dealii-openmpi: Fix build Paul A. Patience
2022-07-25 12:33   ` [bug#56760] [PATCH 2/6] gnu: dealii: Use G-expressions Paul A. Patience
2022-07-25 12:33   ` [bug#56760] [PATCH 3/6] gnu: dealii: Update to 9.4.0 Paul A. Patience
2022-07-25 12:33   ` [bug#56760] [PATCH 4/6] gnu: trilinos-for-dealii-openmpi: Remove input labels Paul A. Patience
2022-07-25 12:33   ` [bug#56760] [PATCH 5/6] gnu: trilinos-for-dealii-openmpi: Use G-expressions Paul A. Patience
2022-07-25 12:33   ` [bug#56760] [PATCH 6/6] gnu: trilinos-for-dealii-openmpi: Update to 13.4.0 Paul A. Patience
2022-07-25 15:11 ` [bug#56760] [PATCH v2 0/6] dealii: Update to 9.4.0 and its Trilinos " Paul A. Patience
2022-07-25 15:11   ` [bug#56760] [PATCH v2 1/6] gnu: trilinos-for-dealii-openmpi: Fix build Paul A. Patience
2022-07-25 15:12   ` [bug#56760] [PATCH v2 2/6] gnu: dealii: Use G-expressions Paul A. Patience
2022-07-25 15:12   ` [bug#56760] [PATCH v2 3/6] gnu: dealii: Update to 9.4.0 Paul A. Patience
2022-07-25 15:12   ` [bug#56760] [PATCH v2 4/6] gnu: trilinos-for-dealii-openmpi: Remove input labels Paul A. Patience
2022-07-25 15:12   ` [bug#56760] [PATCH v2 5/6] gnu: trilinos-for-dealii-openmpi: Use G-expressions Paul A. Patience
2022-07-25 15:12   ` [bug#56760] [PATCH v2 6/6] gnu: trilinos-for-dealii-openmpi: Update to 13.4.0 Paul A. Patience
2022-07-26 11:41     ` Paul A. Patience
2022-08-01 15:22   ` bug#56760: [PATCH 0/6] dealii: Update to 9.4.0 and its Trilinos " Ludovic Courtès

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).