diff options
author | Felix Gruber <felgru@posteo.net> | 2021-12-18 13:36:54 +0000 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2022-01-20 15:28:14 +0100 |
commit | 8159cd08d2e6cfe6f0974e52f8a37ba19a623f13 (patch) | |
tree | 0ed4b5e95eb5c5e5eb7e67e765eb46e2e668e3c3 /gnu/packages | |
parent | 67e6b699165655d8d6258b37b8edf05800fb8e4b (diff) | |
download | guix-8159cd08d2e6cfe6f0974e52f8a37ba19a623f13.tar guix-8159cd08d2e6cfe6f0974e52f8a37ba19a623f13.tar.gz |
gnu: dune-istl: Update to 2.7.1.
* gnu/packages/maths.scm (dune-istl): Update to 2.7.1.
[arguments]: Parallelize build-tests phase.
[source](patches) Remove patch that is no longer needed.
* gnu/packages/patches/dune-istl-2.7-fix-non-mpi-tests.patch: Remove file.
* gnu/local.mk (dist_patch_DATA): Remove above patch.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu/packages')
-rw-r--r-- | gnu/packages/maths.scm | 13 | ||||
-rw-r--r-- | gnu/packages/patches/dune-istl-2.7-fix-non-mpi-tests.patch | 82 |
2 files changed, 8 insertions, 87 deletions
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 92dabdba8e..8dc1c958e4 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -6526,7 +6526,7 @@ This package contains the basic DUNE grid classes.") (define-public dune-istl (package (name "dune-istl") - (version "2.7.0") + (version "2.7.1") (source (origin (method url-fetch) @@ -6534,8 +6534,7 @@ This package contains the basic DUNE grid classes.") version "/dune-istl-" version ".tar.gz")) (sha256 (base32 - "0gl3wgz5rs6sb4m83440ny45sbx7z7lnbi3gx6r9nm3rvy5j33f9")) - (patches (search-patches "dune-istl-2.7-fix-non-mpi-tests.patch")))) + "1cy69s1266hvnh8blznlvvkrf8i2g640rc3mf7kp872wgvdz4nb9")))) (build-system cmake-build-system) (arguments `(#:phases @@ -6553,8 +6552,12 @@ This package contains the basic DUNE grid classes.") ":")) #t))) (add-after 'build 'build-tests - (lambda* (#:key make-flags #:allow-other-keys) - (apply invoke "make" "build_tests" make-flags)))))) + (lambda* (#:key make-flags parallel-build? #:allow-other-keys) + (apply invoke "make" "build_tests" + `(,@(if parallel-build? + `("-j" ,(number->string (parallel-job-count))) + '()) + ,@make-flags))))))) (inputs (list dune-common ;; Optional diff --git a/gnu/packages/patches/dune-istl-2.7-fix-non-mpi-tests.patch b/gnu/packages/patches/dune-istl-2.7-fix-non-mpi-tests.patch deleted file mode 100644 index ee2bb8f676..0000000000 --- a/gnu/packages/patches/dune-istl-2.7-fix-non-mpi-tests.patch +++ /dev/null @@ -1,82 +0,0 @@ -Fix build of dune-istl's tests - -Patch copied from upstream source repository: - -https://gitlab.dune-project.org/core/dune-istl/-/commit/9eee3462df5a64881c08574f9291e76db398de0a - -From 9eee3462df5a64881c08574f9291e76db398de0a Mon Sep 17 00:00:00 2001 -From: Felix Gruber <felgru@posteo.net> -Date: Sat, 4 Apr 2020 15:27:09 +0200 -Subject: [PATCH] make tests succeed when MPI is disabled - -When MPI is not available or explicitly disabled with the CMake build -option -DCMAKE_IDSABLE_FIND_PACKAGE_MPI=TRUE, some tests were unable to -build. - -The tests created from solverfactorytest.cc.in and part of -scalarproductstest.cc use Dune::OwnerOverlapCopyCommunication which is -defined behind `#if HAVE_MPI` and is thus not available in a non-MPI -build. I've thus disabled those tests when MPI is unavailable. - -The matrixmarkettest did not work without MPI, as it contained some code -using the wrong template parameters when HAVE_MPI was not set. Those -template paramters have been fixed now. - -I've confirmed, that after my changes `make build_tests` succeeds to -build all tests and that those tests run without failure. ---- - dune/istl/test/CMakeLists.txt | 3 ++- - dune/istl/test/matrixmarkettest.cc | 2 +- - dune/istl/test/scalarproductstest.cc | 2 ++ - 3 files changed, 5 insertions(+), 2 deletions(-) - -diff --git a/dune/istl/test/CMakeLists.txt b/dune/istl/test/CMakeLists.txt -index ffd87969..2c7b2387 100644 ---- a/dune/istl/test/CMakeLists.txt -+++ b/dune/istl/test/CMakeLists.txt -@@ -77,7 +77,8 @@ set(DUNE_TEST_FACTORY_BLOCK_SIZES - function(add_factory_test BLOCK) - STRING(REGEX REPLACE "[^a-zA-Z0-9]" "" BLOCK_CLEAN ${BLOCK}) - configure_file(solverfactorytest.cc.in solverfactorytest_${BLOCK_CLEAN}.cc) -- dune_add_test(SOURCES ${CMAKE_CURRENT_BINARY_DIR}/solverfactorytest_${BLOCK_CLEAN}.cc) -+ dune_add_test(SOURCES ${CMAKE_CURRENT_BINARY_DIR}/solverfactorytest_${BLOCK_CLEAN}.cc -+ CMAKE_GUARD HAVE_MPI) - endfunction(add_factory_test) - - foreach(FIELD_TYPE ${DUNE_TEST_FACTORY_FIELD_TYPES}) -diff --git a/dune/istl/test/matrixmarkettest.cc b/dune/istl/test/matrixmarkettest.cc -index b335afe6..ce30e8ae 100644 ---- a/dune/istl/test/matrixmarkettest.cc -+++ b/dune/istl/test/matrixmarkettest.cc -@@ -52,7 +52,7 @@ int testMatrixMarket(int N) - storeMatrixMarket(mat, std::string("testmat"), comm); - storeMatrixMarket(bv, std::string("testvec"), comm, false); - #else -- typedef Dune::MatrixAdapter<BCRSMat,BVector,BVector> Operator; -+ typedef Dune::MatrixAdapter<Matrix,Vector,Vector> Operator; - Operator op(mat); - op.apply(bv, cv); - -diff --git a/dune/istl/test/scalarproductstest.cc b/dune/istl/test/scalarproductstest.cc -index 452b1d89..f46ce2a9 100644 ---- a/dune/istl/test/scalarproductstest.cc -+++ b/dune/istl/test/scalarproductstest.cc -@@ -115,6 +115,7 @@ int main(int argc, char** argv) - scalarProductTest<ScalarProduct, Vector>(scalarProduct,numBlocks); - } - -+#if HAVE_MPI - // Test the ParallelScalarProduct class - { - using Vector = BlockVector<FieldVector<double,BlockSize> >; -@@ -139,6 +140,7 @@ int main(int argc, char** argv) - ScalarProduct scalarProduct(communicator,SolverCategory::nonoverlapping); - scalarProductTest<ScalarProduct, Vector>(scalarProduct,numBlocks); - } -+#endif - - return t.exit(); - } --- -2.25.1 - |