diff options
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/local.mk | 1 | ||||
-rw-r--r-- | gnu/packages/maths.scm | 13 | ||||
-rw-r--r-- | gnu/packages/patches/dune-istl-2.7-fix-non-mpi-tests.patch | 82 |
3 files changed, 8 insertions, 88 deletions
diff --git a/gnu/local.mk b/gnu/local.mk index f9e24bdbe5..03f6d90b9e 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1002,7 +1002,6 @@ dist_patch_DATA = \ %D%/packages/patches/dovecot-trees-support-dovecot-2.3.patch \ %D%/packages/patches/dstat-fix-crash-when-specifying-delay.patch \ %D%/packages/patches/dstat-skip-devices-without-io.patch \ - %D%/packages/patches/dune-istl-2.7-fix-non-mpi-tests.patch \ %D%/packages/patches/dvd+rw-tools-add-include.patch \ %D%/packages/patches/dynaconf-unvendor-deps.patch \ %D%/packages/patches/ecl-16-format-directive-limit.patch \ 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 - |