From patchwork Sun Apr 5 12:51:41 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Felix Gruber X-Patchwork-Id: 21123 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 7F03827BBE4; Sun, 5 Apr 2020 13:53:12 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, MAILING_LIST_MULTI,T_DKIM_INVALID,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTP id 92D6827BBE1 for ; Sun, 5 Apr 2020 13:53:11 +0100 (BST) Received: from localhost ([::1]:47690 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jL4lz-0003st-42 for patchwork@mira.cbaines.net; Sun, 05 Apr 2020 08:53:11 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51229) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jL4ls-0003rJ-CO for guix-patches@gnu.org; Sun, 05 Apr 2020 08:53:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jL4lq-0004lY-25 for guix-patches@gnu.org; Sun, 05 Apr 2020 08:53:04 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:33798) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1jL4lp-0004jo-UW for guix-patches@gnu.org; Sun, 05 Apr 2020 08:53:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1jL4lp-0002Lg-SE for guix-patches@gnu.org; Sun, 05 Apr 2020 08:53:01 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#40448] [PATCH] gnu: maths: dune-*: Update to version 2.7 Resent-From: Felix Gruber Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 05 Apr 2020 12:53:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 40448 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 40448@debbugs.gnu.org Cc: Felix Gruber X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.15860911658984 (code B ref -1); Sun, 05 Apr 2020 12:53:01 +0000 Received: (at submit) by debbugs.gnu.org; 5 Apr 2020 12:52:45 +0000 Received: from localhost ([127.0.0.1]:45344 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jL4lT-0002KX-5Z for submit@debbugs.gnu.org; Sun, 05 Apr 2020 08:52:45 -0400 Received: from lists.gnu.org ([209.51.188.17]:39231) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jL4lM-0002K5-Bi for submit@debbugs.gnu.org; Sun, 05 Apr 2020 08:52:38 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51202) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jL4lI-0003mX-VS for guix-patches@gnu.org; Sun, 05 Apr 2020 08:52:32 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jL4lF-0000zl-CF for guix-patches@gnu.org; Sun, 05 Apr 2020 08:52:28 -0400 Received: from mout02.posteo.de ([185.67.36.66]:47073) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1jL4lE-0000jl-MZ for guix-patches@gnu.org; Sun, 05 Apr 2020 08:52:25 -0400 Received: from submission (posteo.de [89.146.220.130]) by mout02.posteo.de (Postfix) with ESMTPS id 73FA52400FD for ; Sun, 5 Apr 2020 14:52:22 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1586091142; bh=4/nSQ6y08PNViXim9VU7edNV6JZqyNUnnK0+PuqIHDU=; h=From:To:Cc:Subject:Date:From; b=sD+uXjldaUwEcwjxV/vZoa03nyp0w8yKf+bIT3b+a1UTGUti2kiJBda4XJNQdoNf0 whqP3rfuavzxi6MsOtZV3uRf+OxC+n9jM6Uty1ac0hVSQ3SHJdz6EJk/i58JgIuEpe Utxd/MZsjM4Ib60Njjg8Ru66qBvT3ACgn7LJmi5yjNyFrEvZatys2qbLrODzyR5F5z d2YP2+Hrx+OEDgbpYjIAgkN0vSg2bsB+gs3nzqbsaWM5y4Y6Jpf44jG7kjdCb8S7IG 0SKHNUsglJXS6hyvimEx/QLMkJ6NrfutyYAU75hOQWKe9eHE1ORXC9LBv+vH3oZxDf 8LtPD3ipuns8w== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 48wD8j3TC4z9rxR; Sun, 5 Apr 2020 14:52:21 +0200 (CEST) From: Felix Gruber Date: Sun, 5 Apr 2020 14:51:41 +0200 Message-Id: <20200405125141.52724-1-felgru@posteo.net> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.51.188.43 X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * gnu/packages/maths.scm (dune-*): Update to version 2.7. (dune-uggrid)[source] Download from Git, as no release tarball for version 2.7 exists. (dune-alugrid,dune-subgrid,dune-pdelab)[source] Use commit hashes as no tags for version 2.7 exist (yet?). (dune-istl)[source](patches) Add patch required to build version 2.7 without openmpi. * gnu/packages/patches/dune-istl-2.7-fix-non-mpi-tests.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 2 + gnu/packages/maths.scm | 65 ++++++++------- .../dune-istl-2.7-fix-non-mpi-tests.patch | 82 +++++++++++++++++++ 3 files changed, 119 insertions(+), 30 deletions(-) create mode 100644 gnu/packages/patches/dune-istl-2.7-fix-non-mpi-tests.patch diff --git a/gnu/local.mk b/gnu/local.mk index 42dbf61af1..baa9bfff69 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -29,6 +29,7 @@ # Copyright © 2020 Brendan Tildesley # Copyright © 2020 Vincent Legoll # Copyright © 2020 R Veera Kumar +# Copyright © 2020 Felix Gruber # # This file is part of GNU Guix. # @@ -838,6 +839,7 @@ dist_patch_DATA = \ %D%/packages/patches/doxygen-test.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/eigen-stabilise-sparseqr-test.patch \ %D%/packages/patches/einstein-build.patch \ diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 391b2a26de..d2c8253eb5 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -4585,7 +4585,7 @@ linear algebra primitives specifically targeting graph analytics.") (define-public dune-common (package (name "dune-common") - (version "2.6.0") + (version "2.7.0") (source (origin (method url-fetch) @@ -4593,7 +4593,7 @@ linear algebra primitives specifically targeting graph analytics.") version "/dune-common-" version ".tar.gz")) (sha256 (base32 - "019wcr1qf7jwyxx1y5y290wdlglylskvbb2m01ljkzcza2xnlmhw")))) + "140q1zh44cr5yrjwg4b5ga803rkqv55vk30l2cqm29aklj1wb0rw")))) (build-system cmake-build-system) (arguments `(#:phases @@ -4623,7 +4623,7 @@ Differences} (FD).") (define-public dune-geometry (package (name "dune-geometry") - (version "2.6.0") + (version "2.7.0") (source (origin (method url-fetch) @@ -4631,7 +4631,7 @@ Differences} (FD).") version "/dune-geometry-" version ".tar.gz")) (sha256 (base32 - "0hlaaxjyv9j05blasvb67sy02hd0w4g9znf68gdh3l731dd1aqbn")))) + "1cicvlwbyyw76npicnblxckyvhbfn3ip8isydiv3hlrlz8zcg5nr")))) (build-system cmake-build-system) (arguments `(#:phases @@ -4663,15 +4663,17 @@ This package contains the basic DUNE geometry classes.") (define-public dune-uggrid (package (name "dune-uggrid") - (version "2.6.0") + (version "2.7.0") (source (origin - (method url-fetch) - (uri (string-append "https://dune-project.org/download/" - version "/dune-uggrid-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://gitlab.dune-project.org/staging/dune-uggrid.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "05l7a1gb78mny49anyxk6rjvn66rhgm30y72v5cjg0m5kfgr1a1f")))) + "192miqgmfj6jwk969gydzpbv9ki7jg5nky3ydnrwa2nq29b5xkh0")))) (build-system cmake-build-system) (arguments `(#:phases @@ -4698,7 +4700,7 @@ This package contains the DUNE UG grid classes.") (define-public dune-grid (package (name "dune-grid") - (version "2.6.0") + (version "2.7.0") (source (origin (method url-fetch) @@ -4706,7 +4708,7 @@ This package contains the DUNE UG grid classes.") version "/dune-grid-" version ".tar.gz")) (sha256 (base32 - "1jp4vscm9yb9xg0lh7apzccfkhvgbnk652yahigmh3cvzpl4acd0")))) + "17fjz30qazjgl11sryyxnw9klai4yz1ji4bs68013xcxc5hdv27s")))) (build-system cmake-build-system) (arguments `(#:phases @@ -4741,7 +4743,7 @@ This package contains the basic DUNE grid classes.") (define-public dune-istl (package (name "dune-istl") - (version "2.6.0") + (version "2.7.0") (source (origin (method url-fetch) @@ -4749,7 +4751,8 @@ This package contains the basic DUNE grid classes.") version "/dune-istl-" version ".tar.gz")) (sha256 (base32 - "0l2gyrvys5w6wsmk0ckbb7295s80b7yk7qrl7x66akv2jv1nzq2w")))) + "0gl3wgz5rs6sb4m83440ny45sbx7z7lnbi3gx6r9nm3rvy5j33f9")) + (patches (search-patches "dune-istl-2.7-fix-non-mpi-tests.patch")))) (build-system cmake-build-system) (arguments `(#:phases @@ -4787,7 +4790,7 @@ aggregation-based algebraic multigrid.") (define-public dune-localfunctions (package (name "dune-localfunctions") - (version "2.6.0") + (version "2.7.0") (source (origin (method url-fetch) @@ -4795,7 +4798,7 @@ aggregation-based algebraic multigrid.") version "/dune-localfunctions-" version ".tar.gz")) (sha256 (base32 - "19c6zjinwwpy8jh4v4prhphyd438rapd4x80fj93apmwgw04nrhl")))) + "1yih59h6vngii696bx1c2vil02lriij4kz0nc583mjn9kiaqxfqd")))) (build-system cmake-build-system) (arguments `(#:phases @@ -4830,15 +4833,17 @@ assemble global function spaces on finite-element grids.") (define-public dune-alugrid (package (name "dune-alugrid") - (version "2.6.0") + (version "2.7.0-git-81d35682") (source (origin - (method url-fetch) - (uri (string-append "https://dune-project.org/download/" - version "/dune-alugrid-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://gitlab.dune-project.org/extensions/dune-alugrid.git") + (commit "81d356827c84454b971937db02c02b90bbcd7fe5"))) + (file-name (git-file-name name version)) (sha256 (base32 - "1l9adgyjpra8mvwm445s0lpjshnb63jag85fb2hisbjn6bm320yj")))) + "0z54lwfp53prcrs94k8gwh047l9z642jll3l56xlyfr69z0b2zz1")))) (build-system cmake-build-system) (arguments `(#:phases @@ -4878,17 +4883,17 @@ cubes.") (define-public dune-subgrid (package (name "dune-subgrid") - (version "2.6.0") + (version "2.7.0-git-2103a363") (source (origin (method git-fetch) (uri (git-reference (url "https://git.imp.fu-berlin.de/agnumpde/dune-subgrid") - (commit "releases/2.6-1"))) + (commit "2103a363f32e8d7b60e66eee7ddecf969f6cf762"))) (file-name (git-file-name name version)) (sha256 (base32 - "1gcv35rx3knqd54r4pp9rzd639db4j8w2r2ibq43w1mgwdcqhs64")))) + "1wsjlypd3835c3arqjkw836cxx5q67zy447wa65q634lf6f6v9ia")))) (build-system cmake-build-system) (arguments `(#:phases @@ -4918,7 +4923,7 @@ provides the full grid interface including adaptive mesh refinement.") (define-public dune-typetree (package (name "dune-typetree") - (version "2.6.0") + (version "2.7.0") (source (origin (method git-fetch) @@ -4928,7 +4933,7 @@ provides the full grid interface including adaptive mesh refinement.") (file-name (git-file-name name version)) (sha256 (base32 - "0mnv6w2f22lz3j4bdpdjq55vjm8xxfx9v4vvhg9bd36xpsbjpjp9")))) + "1rhv25yg0q1hw50c8wlfqhgwrjl4mh62zq9v14ilwgzbfgxmpiy7")))) (build-system cmake-build-system) (arguments `(#:phases @@ -4957,7 +4962,7 @@ operating on statically typed trees of objects.") (define-public dune-functions (package (name "dune-functions") - (version "2.6.0") + (version "2.7.0") (source (origin (method git-fetch) @@ -4967,7 +4972,7 @@ operating on statically typed trees of objects.") (file-name (git-file-name name version)) (sha256 (base32 - "1an8gb477n8j0kzpbrv7nr1snh8pxip0gsxq6w63jc83gg3dj200")))) + "1na4gcih0kin37ksj2xj07ds04v7zx53pjdhm1hzy55jjfqdjk8h")))) (build-system cmake-build-system) (arguments `(#:phases @@ -5007,17 +5012,17 @@ implemented as callable objects, and bases of finite element spaces.") (define-public dune-pdelab (package (name "dune-pdelab") - (version "2.6.0-rc1") + (version "2.7.0-git-476fe437") (source (origin (method git-fetch) (uri (git-reference (url "https://gitlab.dune-project.org/pdelab/dune-pdelab") - (commit (string-append "v" version)))) + (commit "476fe43763fa6f459c5e4658e2a2b4b5582db834"))) (file-name (git-file-name name version)) (sha256 (base32 - "07g0s9448z65vjrq88g5rv3340iifil85k170n8kbqchsvi4ny5v")))) + "0cs36piqzn6rq0j2ih3ab3q3q9yg199wk72k5qi86pkzh7i7fdn1")))) (build-system cmake-build-system) (arguments '(#:tests? #f)) ; XXX: the tests cannot be compiled (inputs 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 new file mode 100644 index 0000000000..ee2bb8f676 --- /dev/null +++ b/gnu/packages/patches/dune-istl-2.7-fix-non-mpi-tests.patch @@ -0,0 +1,82 @@ +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 +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 Operator; ++ typedef Dune::MatrixAdapter 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,numBlocks); + } + ++#if HAVE_MPI + // Test the ParallelScalarProduct class + { + using Vector = BlockVector >; +@@ -139,6 +140,7 @@ int main(int argc, char** argv) + ScalarProduct scalarProduct(communicator,SolverCategory::nonoverlapping); + scalarProductTest(scalarProduct,numBlocks); + } ++#endif + + return t.exit(); + } +-- +2.25.1 +