Import dune-common_2.8.0-4.debian.tar.xz
authorDrew Parsons <dparsons@debian.org>
Sat, 19 Mar 2022 12:10:34 +0000 (12:10 +0000)
committerDrew Parsons <dparsons@debian.org>
Sat, 19 Mar 2022 12:10:34 +0000 (12:10 +0000)
[dgit import tarball dune-common 2.8.0-4 dune-common_2.8.0-4.debian.tar.xz]

22 files changed:
changelog [new file with mode: 0644]
clean [new file with mode: 0644]
control [new file with mode: 0644]
copyright [new file with mode: 0644]
dune-autopkgtest [new file with mode: 0755]
dune-debian.env [new file with mode: 0644]
dune-debian.mk [new file with mode: 0644]
get-orig-source [new file with mode: 0755]
libdune-common-dev.install [new file with mode: 0644]
libdune-common-dev.lintian-overrides [new file with mode: 0644]
libdune-common-doc.install [new file with mode: 0644]
patches/disable-long-double-eigenvalue-checks.patch [new file with mode: 0644]
patches/do-not-install-python-scripts.patch [new file with mode: 0644]
patches/findmetis_scotch7.patch [new file with mode: 0644]
patches/series [new file with mode: 0644]
patches/skip-dirs-starting-with-dot.patch [new file with mode: 0644]
patches/soname.patch [new file with mode: 0644]
patches/use-python-3.patch [new file with mode: 0644]
rules [new file with mode: 0755]
source/format [new file with mode: 0644]
tests/basic [new file with mode: 0755]
tests/control [new file with mode: 0644]

diff --git a/changelog b/changelog
new file mode 100644 (file)
index 0000000..939e13a
--- /dev/null
+++ b/changelog
@@ -0,0 +1,413 @@
+dune-common (2.8.0-4) unstable; urgency=medium
+
+  * Team upload.
+
+  [ Markus Blatt ]
+  * FindMETIS.cmake: Also search for libscotchmetisv5 and libscotchmetisv3
+      (Closes: #1007823, #1007830, #1007930)
+
+  [ Drew Parsons ]
+  * apply FindMETis.cmake patch in debian patch findmetis_scotch7.patch
+
+ -- Drew Parsons <dparsons@debian.org>  Sat, 19 Mar 2022 13:10:34 +0100
+
+dune-common (2.8.0-3) unstable; urgency=medium
+
+  * d/control: remove Breaks/Replaces entries
+
+ -- Patrick Jaap <patrick.jaap@tu-dresden.de>  Thu, 21 Oct 2021 18:29:30 +0200
+
+dune-common (2.8.0-2) experimental; urgency=medium
+
+  * d/patches: Add patch to not install Python scripts
+
+ -- Patrick Jaap <patrick.jaap@tu-dresden.de>  Fri, 08 Oct 2021 12:02:33 +0200
+
+dune-common (2.8.0-1) experimental; urgency=medium
+
+  * New upstream release.
+  * Add patch to disable eigenvalue checks for "long double"
+  * d/patches: Add patch to force python3 in bin/rmgenerated.py
+  * Set standards to 4.5.1
+
+ -- Patrick Jaap <patrick.jaap@tu-dresden.de>  Wed, 15 Sep 2021 10:50:45 +0200
+
+dune-common (2.8.0~rc1-1) experimental; urgency=medium
+
+  * New upstream release.
+  * Adapt soname.patch to code changes.
+  * d/rules: Explicitly use cmake buildsystem.
+  * d/clean: Explicitly clear __pycache__ directory.
+
+ -- Patrick Jaap  <patrick.jaap@tu-dresden.de>  Fri, 20 Aug 2021 09:05:19 -0400
+
+dune-common (2.7.1-2) unstable; urgency=medium
+
+  * Upload to unstable.
+
+ -- Ansgar <ansgar@debian.org>  Mon, 11 Jan 2021 22:23:00 +0100
+
+dune-common (2.7.1-1) experimental; urgency=medium
+
+  * New upstream release.
+
+ -- Lisa Julia Nebel <lisa_julia.nebel@tu-dresden.de>  Tue, 05 Jan 2021 17:51:34 +0100
+
+dune-common (2.7.0-5) unstable; urgency=medium
+
+  * Upload to unstable.
+
+ -- Ansgar <ansgar@debian.org>  Wed, 15 Jul 2020 12:29:39 +0200
+
+dune-common (2.7.0-4) experimental; urgency=medium
+
+  * Only build "quick" tests on mips64el and mipsel as Debian's
+    buildd servers are too slow.
+
+ -- Ansgar <ansgar@debian.org>  Wed, 10 Jun 2020 14:20:16 +0200
+
+dune-common (2.7.0-3) experimental; urgency=medium
+
+  * d/control: Add explicit dependency on libatlas-base-dev.
+    CMake's `find_package(LAPACK)` adds `libf77blas.so` to the list
+    of interface libraries that other DUNE module link against.
+
+ -- Ansgar <ansgar@debian.org>  Mon, 25 May 2020 14:59:18 +0200
+
+dune-common (2.7.0-2) experimental; urgency=medium
+
+  * d/dune-debian.mk: Add `-ffloat-store` to CXXFLAGS on i386.
+    See https://gitlab.dune-project.org/core/dune-common/issues/207
+  * d/control: (Build-)Depends on liblapack-dev.  LAPACK is needed by
+    functions in `fmatrixev.hh` which are used by new quadrature rule
+    implementations in dune-geometry.
+
+ -- Ansgar <ansgar@debian.org>  Thu, 21 May 2020 23:06:05 +0200
+
+dune-common (2.7.0-1) experimental; urgency=medium
+
+  * New upstream release.
+  * Add runtime dependency on mpi-default-{bin,dev}. DUNE should by
+    default be used with MPI support enabled.
+  * Use debhelper compat level 13.
+  * Drop patch rename-git-whitespace-hook.patch (applied upstream).
+  * Bumped Standards-Version to 4.5.0 (no changes).
+
+ -- Ansgar <ansgar@debian.org>  Wed, 20 May 2020 21:06:31 +0200
+
+dune-common (2.6.0-4) unstable; urgency=medium
+
+  * no longer ship dune-am2cmake and remove dependency on python2.
+    (Closes: #936456)
+  * Bumped Standards-Version to 4.4.1.
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Mon, 14 Oct 2019 23:27:35 +0200
+
+dune-common (2.6.0-3) unstable; urgency=medium
+
+  * Add runtime dependency on gfortran. Configuring a DUNE project without
+    a Fortran compiler fails.
+  * autopkgtest: Add dependency on MPI as the test builds and runs an MPI
+    program.
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Thu, 21 Jun 2018 09:17:17 +0200
+
+dune-common (2.6.0-2) unstable; urgency=medium
+
+  * Add a simple autopkgtest.  The driver (dune-autopkgtest) is also
+    usable by other DUNE modules.
+  * Promote CMake from Recommends to Depends.
+  * Bumped Standards-Version to 4.1.4 (no changes).
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Wed, 20 Jun 2018 23:37:32 +0200
+
+dune-common (2.6.0-1) unstable; urgency=medium
+
+  * New upstream release.
+  * d/control: now requires cmake >= 3.1
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Tue, 03 Apr 2018 00:20:33 +0200
+
+dune-common (2.6.0~rc1-1) experimental; urgency=medium
+
+  * New upstream release candidate.
+  * d/control: update Vcs-* fields for move to salsa.debian.org
+  * Bumped Standards-Version to 4.1.3 (no changes).
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Sat, 06 Jan 2018 15:50:50 +0100
+
+dune-common (2.6~20171122-1) experimental; urgency=medium
+
+  * New upstream snapshot (commit: 77b87e7c3931fc70f46be2e4cae7058127c92edf).
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Wed, 22 Nov 2017 17:38:48 +0100
+
+dune-common (2.6~20171113-2) experimental; urgency=medium
+
+  * arithmetictestsuite: quotient must be representable without error.
+    This should correct the build failure on i386.
+    + new patch: 0001-quotient-must-be-representable-without-error.patch
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Tue, 14 Nov 2017 08:01:05 +0100
+
+dune-common (2.6~20171113-1) experimental; urgency=medium
+
+  * New upstream snapshot.
+  * d/control: add `Rules-Requires-Root: no`
+  * d/get-orig-source: no longer include Git commit id in snapshot versions
+  * libdune-common-doc: add Built-Using: doxygen (for jquery.js).
+  * Bumped Standards-Version to 4.1.1 (no changes).
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Tue, 14 Nov 2017 00:12:14 +0100
+
+dune-common (2.5.1-1) unstable; urgency=medium
+
+  * New upstream release.
+  * Build-Depend on texlive-pictures instead of pgf. (Closes: #867073)
+  * debian/copyright: Update URLs.
+  * Bumped Standards-Version to 4.0.0 (no changes).
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Tue, 18 Jul 2017 11:53:29 +0200
+
+dune-common (2.5.1~rc1-1) experimental; urgency=medium
+
+  * New upstream release candidate.
+  * No longer build manual -dbg package. Use the automatically generated
+    -dbgsym package instead.
+  * dune-debian.mk: do not limit number of MPI ranks to number of cores
+    when running tests. (Closes: #850229)
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Sat, 17 Jun 2017 15:48:18 +0200
+
+dune-common (2.5.0-1) unstable; urgency=medium
+
+  * New upstream release.
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Sun, 18 Dec 2016 12:58:14 +0100
+
+dune-common (2.5.0~rc2-2) unstable; urgency=medium
+
+  * Add Breaks+Replaces: libdune-functions-dev (<< 2.5.0~)
+    (Closes: #847142)
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Mon, 05 Dec 2016 23:41:24 +0100
+
+dune-common (2.5.0~rc2-1) unstable; urgency=medium
+
+  * Upload to unstable.
+  * New upstream release candidate.
+  * dune-debian.mk: Restore variable for configure options.
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Mon, 05 Dec 2016 23:09:55 +0100
+
+dune-common (2.5.0~rc1-3) experimental; urgency=medium
+
+  * Call dh_sphinxdoc only when building arch-indep packages.
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Tue, 22 Nov 2016 21:12:02 +0100
+
+dune-common (2.5.0~rc1-2) experimental; urgency=medium
+
+  * Patch: Add correct offset for end of chunk
+    This should fix the build failure on 32bit architectures.
+    + 0001-Add-correct-offset-for-end-of-chunk.patch
+  * Use dh_sphinxdoc.
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Tue, 22 Nov 2016 20:21:37 +0100
+
+dune-common (2.5.0~rc1-1) experimental; urgency=medium
+
+  * New upstream release candidate.
+  * Switch to CMake.
+  * dune-debian.mk: Simplify running tests.
+  * Bumped Standards-Version to 3.9.8 (no changes).
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Mon, 21 Nov 2016 20:37:38 +0100
+
+dune-common (2.4.1-1) unstable; urgency=medium
+
+  * New upstream release.
+  * Mark libdune-common-dev as Multi-Arch: same.
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Mon, 29 Feb 2016 10:19:18 +0100
+
+dune-common (2.4.1~rc2-1) experimental; urgency=medium
+
+  * New upstream release candidate.
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Sun, 28 Feb 2016 13:18:16 +0100
+
+dune-common (2.4.0-1) unstable; urgency=medium
+
+  * New upstream release.
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Fri, 25 Sep 2015 22:29:28 +0200
+
+dune-common (2.4~20150912rc3-1) unstable; urgency=medium
+
+  * New upstream release candidate.
+  * dune-debian.mk: Add options to enable UMFPack support.
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Sun, 13 Sep 2015 13:38:49 +0200
+
+dune-common (2.4~20150825rc2-1) experimental; urgency=medium
+
+  * New upstream release candidate.
+  * Move shared library into -dev package and provide a virtual package
+    that changes with the upstream version for shlib dependencies. See
+    also https://lists.debian.org/debian-devel/2015/07/msg00115.html
+  * libdune-common-dev: Add -doc package as a suggested package.
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Fri, 04 Sep 2015 14:24:36 +0200
+
+dune-common (2.4~20150717rc1-1) experimental; urgency=medium
+
+  * New upstream release candidate.
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Fri, 17 Jul 2015 20:45:00 +0200
+
+dune-common (2.4~20150617g6f17141-1) experimental; urgency=medium
+
+  * New upstream snapshot.
+  * get-orig-source: Use commit date instead of current date.
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Fri, 19 Jun 2015 23:11:40 +0200
+
+dune-common (2.4~20150521g15491c4-1) experimental; urgency=medium
+
+  * New upstream snapshot.
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Thu, 21 May 2015 21:46:50 +0200
+
+dune-common (2.4~20150505g1ce8697-1) experimental; urgency=medium
+
+  * New upstream snapshot.
+  * Change shared library package name to libdune-common-2.4git.
+  * Update debian/copyright for new upstream snapshot.
+  * Add Build-Depends-Indep: graphviz for "dot".
+  * dune-debian.mk: Continue to use autotools for now.
+  * Bumped Standards-Version to 3.9.6 (no changes).
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Tue, 05 May 2015 21:53:57 +0200
+
+dune-common (2.3.1-1) unstable; urgency=medium
+
+  * New upstream release.
+  * Install bash completion for dunecontrol.
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Tue, 17 Jun 2014 19:46:31 +0200
+
+dune-common (2.3.1~rc1-1) experimental; urgency=medium
+
+  * New upstream release candidate.
+  * Change shared library package name to libdune-common-2.3.1.
+  * dune-debian.mk: Enable support for UG.
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Tue, 10 Jun 2014 19:54:09 +0200
+
+dune-common (2.3.0-1) unstable; urgency=medium
+
+  * New upstream release.
+  * Change shared library package name to libdune-common-2.3.0.
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Fri, 14 Feb 2014 09:12:40 +0100
+
+dune-common (2.3~20140122g7a7cf2b-1) experimental; urgency=medium
+
+  * New upstream snapshot.
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Wed, 22 Jan 2014 23:10:56 +0100
+
+dune-common (2.3~20140117beta2-1) experimental; urgency=medium
+
+  * New upstream snapshot.
+  * Remove patches that should be obsoleted by upstream changes.
+  * dune-debian.mk: Remove obsolete --enable-fieldvector-size-is-method flag.
+  * libdune-common-dev.install: Install /usr/lib/*/cmake.
+  * Backport 073167e61070a5e952c738c02d85c3f946717e40 ([dune-autogen]
+    Prevents overriding am_dir with installed modules) from master branch.
+    + New patch: 0001-dune-autogen-Prevents-overriding-am_dir-with-install.patch
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Mon, 20 Jan 2014 13:42:47 +0100
+
+dune-common (2.3~20140111beta1-1) experimental; urgency=medium
+
+  * New upstream snapshot.
+  * Rename git-whitespace-hook to dune-git-whitespace-hook.
+  * Install cmake modules. Note that it is still not possible to use
+    cmake with the Debian packages.
+  * debian/control: Remove ${shlibs:Depends} from -dev and -dbg package.
+  * debian/dune-debian.mk: Use default compression for binary packages.
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Wed, 15 Jan 2014 13:33:04 +0100
+
+dune-common (2.3~20140103g107b57a-1) experimental; urgency=medium
+
+  * New upstream snapshot.
+  * Install man page using dh_installman as "make install" is not called
+    for the doc subdirectory and thus dh_install cannot find usr/share/man.
+  * debian/dune-debian.mk: Restore --without-parmetis.
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Fri, 03 Jan 2014 00:40:13 +0100
+
+dune-common (2.3~20131227g6c02812-1) experimental; urgency=medium
+
+  * New upstream snapshot.
+  * Add Build-Depends on texlive-latex-extra (for subfigure.sty).
+  * Change shared library package name to libdune-common-2.3svn.
+  * Patch dunecontrol to skip directories starting with a dot when
+    looking for dune.module.
+    + new patch: skip-dirs-starting-with-dot.patch
+  * Install dune_cxa_demangle.m4.
+    + new patch: 0001-Install-dune_cxa_demangle.m4.patch
+  * debian/dune-debian.mk: Do not pass --without-parmetis to configure
+    as doing so triggers a bug causing the configure script to abort, cf.
+    <https://dune-project.org/flyspray/index.php?do=details&task_id=1404>
+  * debian/control: Use canonical Vcs-* URIs.
+  * debian/control: Drop pre-depends on dpkg (>= 1.15.6) which is
+    already satisfied in Debian 6.
+  * debian/rules: Install am2cmake.py as dune-am2cmake.
+  * libdune-common-dev: Add dependency on python and python-pyparsing
+    for am2cmake.py.
+  * libdune-common-dev: Include man page for dunecontrol.
+  * Bumped Standards-Version to 3.9.5 (no changes).
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Wed, 01 Jan 2014 19:40:32 +0100
+
+dune-common (2.2.1-2) unstable; urgency=low
+
+  * Upload to unstable.
+  * Bumped Standards-Version to 3.9.4 (no changes).
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Sun, 12 May 2013 18:30:12 +0200
+
+dune-common (2.2.1-1) experimental; urgency=low
+
+  * New upstream release. (Closes: #701866)
+  * debian/copyright: Update for new upstream release.
+  * Mark runtime and debug packages as Multi-Arch: same.
+  * lib/dunemodules.lib: Fix PARSER_TRIM.
+    + new patch: fix-PARSER_TRIM.diff
+  * Update aclocal.patch.
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Sat, 02 Mar 2013 02:17:38 +0100
+
+dune-common (2.2.0-1) unstable; urgency=low
+
+  * New upstream release.
+  * Install dunemodules.lib to /usr/lib.
+  * Update debian/copyright.
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Tue, 05 Jun 2012 10:17:59 +0200
+
+dune-common (2.2~svn6684-1) experimental; urgency=low
+
+  * New upstream snapshot.
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Sun, 06 May 2012 14:31:49 +0200
+
+dune-common (2.2~svn6573-1) experimental; urgency=low
+
+  * Initial release. (Closes: #661823)
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Sat, 17 Mar 2012 17:15:13 +0100
diff --git a/clean b/clean
new file mode 100644 (file)
index 0000000..bc23c6a
--- /dev/null
+++ b/clean
@@ -0,0 +1 @@
+cmake/scripts/__pycache__/
diff --git a/control b/control
new file mode 100644 (file)
index 0000000..06e0937
--- /dev/null
+++ b/control
@@ -0,0 +1,46 @@
+Source: dune-common
+Section: libs
+Priority: optional
+Standards-Version: 4.5.1
+Maintainer: Debian Science Maintainers <debian-science-maintainers@lists.alioth.debian.org>
+Uploaders: Ansgar <ansgar@debian.org>
+Vcs-Browser: https://salsa.debian.org/science-team/dune-common
+Vcs-Git: https://salsa.debian.org/science-team/dune-common.git
+Homepage: https://www.dune-project.org/
+Build-Depends: debhelper-compat (= 13),
+ cmake (>= 3.13), gfortran, mpi-default-bin, mpi-default-dev, pkg-config, python3,
+ libatlas-base-dev, liblapack-dev
+Build-Depends-Indep: doxygen, ghostscript, graphviz, imagemagick, texlive-latex-extra, texlive-latex-recommended, texlive-pictures, python3-sphinx
+Rules-Requires-Root: no
+
+Package: libdune-common-dev
+Section: libdevel
+Architecture: any
+Multi-Arch: same
+Depends: ${misc:Depends}, ${shlibs:Depends},
+ cmake (>= 3.13), gfortran, mpi-default-bin, mpi-default-dev, pkg-config,
+ libatlas-base-dev, liblapack-dev
+Recommends: python3
+Suggests: libdune-common-doc (= ${source:Version})
+Provides: ${dune:shared-library}
+Description: toolbox for solving PDEs -- basic classes (development files)
+ DUNE, the Distributed and Unified Numerics Environment is a modular toolbox
+ for solving partial differential equations (PDEs) with grid-based methods.
+ It supports the easy implementation of methods like Finite Elements (FE),
+ Finite Volumes (FV), and also Finite Differences (FD).
+ .
+ This package contains the development files for the basic classes.
+
+Package: libdune-common-doc
+Section: doc
+Architecture: all
+Multi-Arch: foreign
+Depends: ${misc:Depends}, ${sphinxdoc:Depends}
+Built-Using: ${dune:doc:Built-Using}
+Description: toolbox for solving PDEs -- basic classes (documentation)
+ DUNE, the Distributed and Unified Numerics Environment is a modular toolbox
+ for solving partial differential equations (PDEs) with grid-based methods.
+ It supports the easy implementation of methods like Finite Elements (FE),
+ Finite Volumes (FV), and also Finite Differences (FD).
+ .
+ This package contains the documentation for the basic classes.
diff --git a/copyright b/copyright
new file mode 100644 (file)
index 0000000..6f44677
--- /dev/null
+++ b/copyright
@@ -0,0 +1,224 @@
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: dune-common
+Source: https://www.dune-project.org/dev/downloadgit/
+
+Files: *
+Copyright:
+ 2015--2017    Marco Agnese
+ 2015          Martin Alkämper
+ 2003--2019    Peter Bastian
+ 2004--2020    Markus Blatt
+ 2013          Andreas Buhr
+ 2020--2021    Samuel Burbulla
+ 2011--2020    Ansgar Burchardt
+ 2004--2005    Adrian Burri
+ 2014          Benjamin Bykowski (may appear in the logs as "Convex Function")
+ 2014          Marco Cecchetti
+ 2018          Matthew Collins
+ 2006--2021    Andreas Dedner
+ 2019--2021    Nils-Arne Dreier
+ 2003          Marc Droske
+ 2003--2021    Christian Engwer
+ 2004--2020    Jorrit Fahlke
+ 2016          Thomas Fetzer
+ 2008--2017    Bernd Flemisch
+ 2013--2014    Christoph Gersbacher
+ 2017--2020    Janick Gerstenberger
+ 2015          Stefan Girke
+ 2005--2021    Carsten Gräser
+ 2015--2017    Felix Gruber
+ 2010--2021    Christoph Grüninger
+ 2006          Bernhard Haasdonk
+ 2015--2018    Claus-Justus Heine
+ 2015--2020    René Heß
+ 2017--2019    Stephan Hilb
+ 2017--2021    Lasse Hinrichsen
+ 2012--2013    Olaf Ippisch
+ 2020          Patrick Jaap
+ 2020          Liam Keegan
+ 2013--2021    Dominic Kempf
+ 2009          Leonard Kern
+ 2017--2018    Daniel Kienle
+ 2013          Torbjörn Klatt
+ 2003--2021    Robert Klöfkorn
+ 2017--2021    Timo Koch
+ 2005--2007    Sreejith Pulloor Kuttanikkad
+ 2012--2016    Arne Morten Kvarving
+ 2010--2014    Andreas Lauser
+ 2016--2019    Tobias Leibner
+ 2015          Lars Lubkoll
+ 2012--2017    Tobias Malkmus
+ 2007--2011    Sven Marnach
+ 2010--2017    Rene Milk
+ 2019--2020    Felix Müller
+ 2011--2019    Steffen Müthing
+ 2018          Lisa Julia Nebel
+ 2003--2006    Thimo Neubauer
+ 2011          Rebecca Neumann
+ 2008--2018    Martin Nolte
+ 2014          Andreas Nüßing
+ 2004--2005    Mario Ohlberger
+ 2019--2020    Santiago Ospina De Los Rios
+ 2014          Steffen Persvold
+ 2008--2017    Elias Pipping
+ 2021          Joscha Podlesny
+ 2011          Dan Popovic
+ 2017--2021    Simon Praetorius
+ 2009          Atgeirr Rasmussen
+ 2017--2020    Lukas Renelt
+ 2006--2014    Uli Sack
+ 2003--2020    Oliver Sander
+ 2006          Klaus Schneider
+ 2004          Roland Schulz
+ 2015          Nicolas Schwenck
+ 2016          Linus Seelinger
+ 2009--2014    Bård Skaflestad
+ 2019          Henrik Stolzmann
+ 2012          Matthias Wohlmuth
+ 2011--2016    Jonathan Youett
+License: GPL-2 with DUNE exception
+
+Files: cmake/modules/UseLATEX.cmake
+Copyright: 2004-2015, Sandia Corporation
+License: other
+ Under the terms of Contract DE-AC04-94AL85000, there is a non-exclusive
+ license for use of this work by or on behalf of the
+ U.S. Government. Redistribution and use in source and binary forms, with
+ or without modification, are permitted provided that this Notice and any
+ statement of authorship are reproduced on all copies.
+
+Files: cmake/modules/FindLatexMk.cmake cmake/modules/UseLatexMk.cmake
+Copyright: 2017, Dominic Kempf, Steffen Müthing
+License: BSD-3-clause
+ All rights reserved.
+ .
+ Redistribution and use in source and binary forms, with or without modification,
+ are permitted provided that the following conditions are met:
+ .
+ * Redistributions of source code must retain the above copyright notice, this
+   list of conditions and the following disclaimer.
+ .
+ * Redistributions in binary form must reproduce the above copyright notice, this
+   list of conditions and the following disclaimer in the documentation and/or
+   other materials provided with the distribution.
+ .
+ * Neither the name of the Universität Heidelberg nor the names of its
+   contributors may be used to endorse or promote products derived from this
+   software without specific prior written permission.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
+ ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Files: doc/dunecontrol.1
+Copyright: 2013-2015, Oliver Sander
+License: GNU-All-Permissive-License
+
+Files: debian/*
+Copyright: 2011-2015, Ansgar Burchardt <ansgar@debian.org>
+License: GPL-2 with DUNE exception
+
+License: GPL-2 with DUNE exception
+ The DUNE library and headers are licensed under version 2 of the GNU General
+ Public License, with a special exception for linking and compiling against
+ DUNE, the so-called "runtime exception." The license is intended to be
+ similar to the GNU Lesser General Public License, which by itself isn't
+ suitable for a template library.
+ .
+ The exact wording of the exception reads as follows:
+ .
+ As a special exception, you may use the DUNE library without
+ restriction.  Specifically, if other files instantiate templates or
+ use macros or inline functions from one or more of the DUNE source
+ files, or you compile one or more of the DUNE source files and link
+ them with other files to produce an executable, this does not by
+ itself cause the resulting executable to be covered by the GNU
+ General Public License.  This exception does not however invalidate
+ any other reasons why the executable file might be covered by the
+ GNU General Public License.
+ .
+ This license clones the one of the libstdc++ library.
+ .
+ On Debian systems, the full text of the GNU General Public License version 2
+ can be found in the file  `/usr/share/common-licenses/GPL-2'.
+
+Files: dune/python/pybind11/*
+Copyright: 2016 Wenzel Jakob <wenzel.jakob@epfl.ch>
+License: BSD-3-clause
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are met:
+ .
+ 1. Redistributions of source code must retain the above copyright notice, this
+    list of conditions and the following disclaimer.
+ .
+ 2. Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+ .
+ 3. Neither the name of the copyright holder nor the names of its contributors
+ may be used to endorse or promote products derived from this software
+ without specific prior written permission.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+Comment:
+ List of copyright holders and license were retrieved from
+ https://github.com/pybind/pybind11/blob/master/LICENSE on 2021-08-21
+
+Files:
+ cmake/modules/FindPkgConfig/FindPkgConfig.cmake
+ cmake/modules/FindPython3/FindPython3.cmake
+ cmake/modules/FindPython3/Support.cmake
+Copyright: 2000-2021 Kitware, Inc. and Contributors
+License: BSD-3-clause
+ All rights reserved.
+ .
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+ .
+ * Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+ .
+ * Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+ .
+ * Neither the name of Kitware, Inc. nor the names of Contributors
+   may be used to endorse or promote products derived from this
+   software without specific prior written permission.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+Comment:
+ List of copyright holders and license were retrieved from
+ https://gitlab.kitware.com/cmake/cmake/raw/master/Copyright.txt on 2021-08-21
+
+License: GNU-All-Permissive-License
+ Copying and distribution of this file, with or without modification, are
+ permitted in any medium without royalty provided the copyright notice
+ and this notice are preserved.
diff --git a/dune-autopkgtest b/dune-autopkgtest
new file mode 100755 (executable)
index 0000000..02c4059
--- /dev/null
@@ -0,0 +1,62 @@
+#! /bin/bash
+
+set -e
+set -u
+
+fail() {
+    echo >&2 "${1:-E: Unknown error}"
+    exit 1
+}
+
+if [ ! -v AUTOPKGTEST_TMP ]; then
+  fail "E: dune-autopkgtest must be invoked by autopkgtest"
+fi
+
+sourcedir=${PWD}
+
+dependencies=
+mpi=
+
+while [ $# -ge 1 ]; do
+    case "${1}" in
+        --depends)
+            dependencies="${2}"
+            shift 2
+            ;;
+        --mpi)
+            mpi="${2}"
+            shift 2
+            ;;
+        *)
+            break
+    esac
+done
+
+if [ $# -ne 1 ]; then
+    fail "E: No source given"
+fi
+source=${1}
+
+if [ -z "${dependencies}" ]; then
+    dependencies=$(dpkg-parsechangelog --show-field Source)
+fi
+
+cd "${AUTOPKGTEST_TMP}"
+duneproject "dune-autopkgtest" "${dependencies}" "0.0.1" "DUNE autopkgtest <invalid@invalid>" <<< y ||
+    fail "E: Setting up dune-autopkgtest project failed"
+
+cp "${sourcedir}/${source}" "${AUTOPKGTEST_TMP}/dune-autopkgtest/src/dune-autopkgtest.cc"
+
+cd dune-autopkgtest
+
+. ${DUNE_DEBIAN_ENV:-/usr/share/dune/dune-debian.env}
+
+dunecontrol --current all ||
+    fail "E: Building the package failed."
+
+./build-cmake/src/dune-autopkgtest ||
+    fail "E: Running the test program failed."
+if [ -n "${mpi}" ]; then
+    mpirun -np "${mpi}" ./build-cmake/src/dune-autopkgtest ||
+        fail "E: Running the test program under MPI with ${mpi} ranks failed."
+fi
diff --git a/dune-debian.env b/dune-debian.env
new file mode 100644 (file)
index 0000000..20d1e77
--- /dev/null
@@ -0,0 +1,6 @@
+# OpenMPI looks for a rsh program, even when it only starts local processes.
+export OMPI_MCA_plm_rsh_agent=/bin/false
+
+# Don't limit number of MPI ranks to number of cores (when running tests),
+# see https://bugs.debian.org/850229
+export OMPI_MCA_rmaps_base_oversubscribe=1
diff --git a/dune-debian.mk b/dune-debian.mk
new file mode 100644 (file)
index 0000000..e5ff092
--- /dev/null
@@ -0,0 +1,45 @@
+include /usr/share/dpkg/architecture.mk
+include /usr/share/dpkg/pkg-info.mk
+
+DUNE_DEBIAN_ENV ?= /usr/share/dune/dune-debian.env
+
+include $(DUNE_DEBIAN_ENV)
+
+EMPTY :=
+SPACE := $(EMPTY) $(EMPTY)
+
+DUNE_CTEST ?= /usr/bin/dune-ctest
+
+DUNE_DEBIAN_CMAKE_FLAGS = -DBUILD_SHARED_LIBS=1
+
+DUNE_DEBIAN_SHLIB = $(subst ~,.,lib$(DEB_SOURCE)-$(DEB_VERSION_UPSTREAM))
+
+DUNE_DOC_BUILT_USING_PACKAGES = doxygen
+DUNE_DOC_BUILT_USING = $(shell dpkg-query -f '$${source:Package} (= $${source:Version})' -W $(DUNE_DOC_BUILT_USING_PACKAGES))
+
+ifeq ($(DEB_HOST_ARCH_CPU),i386)
+  DEB_CXXFLAGS_MAINT_APPEND += -ffloat-store
+endif
+
+ifeq ($(DUNE_TEST_LABELS),)
+  DUNE_TEST_BUILD_TARGETS=build_tests
+  DUNE_TEST_CTEST_LABELS=
+else
+  DUNE_TEST_BUILD_TARGETS=$(foreach label,$(DUNE_TEST_LABELS),build_$(label)_tests)
+  DUNE_TEST_CTEST_LABELS=--label-regex '^$(subst $(SPACE),|,$(DUNE_TEST_LABELS))$$'
+endif
+
+export DEB_CXXFLAGS_MAINT_APPEND
+
+override_dh_auto_configure:
+       dh_auto_configure -- $(DUNE_DEBIAN_CMAKE_FLAGS)
+
+override_dh_auto_test:
+       dh_auto_build -- $(DUNE_TEST_BUILD_TARGETS)
+       cd build; PATH=$(CURDIR)/debian/tmp-test:$$PATH $(DUNE_CTEST) $(DUNE_TEST_CTEST_LABELS)
+
+override_dh_gencontrol:
+       dh_gencontrol -- -Vdune:shared-library='$(DUNE_DEBIAN_SHLIB)' -Vdune:doc:Built-Using='$(DUNE_DOC_BUILT_USING)'
+
+override_dh_makeshlibs:
+       dh_makeshlibs --version-info='$(DUNE_DEBIAN_SHLIB)'
diff --git a/get-orig-source b/get-orig-source
new file mode 100755 (executable)
index 0000000..f694745
--- /dev/null
@@ -0,0 +1,136 @@
+#! /bin/bash
+#
+# get-orig-source for dune
+#
+# (C) 2012, Ansgar Burchardt <ansgar@debian.org>
+# License: GPL-2 with DUNE exception
+
+set -e
+set -u
+set -o pipefail
+
+usage() {
+  echo "usage: get-orig-source [options...] <module> <version> [<branch>]
+  module:  name of dune module (e.g. dune-common)
+  version: upstream version number
+  branch:  branch (default: master); can also be a tag or commit id
+
+  options:
+  --snapshot: date and Git revision is appended to the version number
+  --dch:      run dch to update version number
+  -d <dir>:   create orig tarball in directory <dir>
+
+  environment:
+  DUNE_SOURCE path to DUNE repositories"
+  exit 1
+}
+
+safe-rm() {
+  local -a args
+  args=(--verbose)
+  while [[ $# -gt 0 ]]; do
+    case "${1}" in
+      -*) args+=("${1}"); shift ;;
+      *)  break ;;
+    esac
+  done
+
+  local path
+  local n d r
+  for path in "$@"; do
+    r="${path}"
+    d="."
+    while [[ ${r} =~ .*/.* ]]; do
+      n="${r%%/*}"
+      r="${r#*/}"
+      if [[ $n == "" ]]; then
+        d=""
+        continue
+      fi
+      d="${d}/${n}"
+      if [[ -L "${d}" ]]; then
+        echo "safe-rm: ${d} is a symbolic link (while removing ${path})" >&2
+        exit 1
+      fi
+    done
+  done
+
+  rm "${args[@]}" "${@}"
+}
+
+if [[ $# -lt 2 ]]; then
+  usage
+fi
+
+if [[ -z "${DUNE_SOURCE:-}" ]]; then
+  echo "DUNE_SOURCE is not set" >&2
+  echo "----------------------" >&2
+  echo "Please set DUNE_SOURCE to a directory containing" >&2
+  echo "checkouts of the DUNE modules to avoid cloning them." >&2
+  exit 1
+fi
+
+snapshot=
+dch=
+dir=.
+
+while :; do
+  case "$1" in
+    --snapshot) snapshot=1; shift ;;
+    --dch)      dch=1; shift ;;
+    -d)         dir="$2"; shift 2 ;;
+    *)          break ;;
+  esac
+done
+
+module="$1"
+version="$2"
+branch="${3:-master}"
+if [[ -d "${DUNE_SOURCE}/${module}.git" ]]; then
+  GIT_DIR="${DUNE_SOURCE}/${module}.git"
+elif [[ -d "${DUNE_SOURCE}/${module}/.git" ]]; then
+  GIT_DIR="${DUNE_SOURCE}/${module}/.git"
+else
+  echo "Could not find Git repository for ${module} in ${DUNE_SOURCE}" >&2
+  exit 1
+fi
+
+export GIT_DIR
+
+if [[ $snapshot ]]; then
+  date=$(git log -1 --pretty="format:%ci" ${branch})
+  date=${date%% *}
+  date=${date//-/}
+  version="${version}${date}"
+fi
+
+origdir="$module-$version.orig"
+tarball="$dir/${module}_$version.orig.tar.xz"
+
+if [[ -e "$origdir" || -e "$tarball" ]]; then
+  echo "source directory or tarball already exists" >&2
+  exit 1
+fi
+
+mkdir "${origdir}"
+git archive --format=tar ${branch} | tar -C "${origdir}" -x
+cd "$origdir"
+case "$module" in
+  dune-functions)
+    safe-rm -r doc/manual
+    ;;
+  dune-grid)
+    safe-rm -r doc/grids/amiramesh
+    ;;
+  dune-uggrid)
+    safe-rm -r doc
+    ;;
+esac
+cd ..
+
+tar --owner=root --group=root -c "$origdir" | xz -9 > "$tarball"
+rm -rf "$origdir"
+
+if [[ $dch ]]; then
+  dch --newversion "$version-1" "New upstream release ($version)."
+fi
diff --git a/libdune-common-dev.install b/libdune-common-dev.install
new file mode 100644 (file)
index 0000000..e33dd9b
--- /dev/null
@@ -0,0 +1,11 @@
+usr/bin
+usr/include
+usr/lib
+usr/share/bash-completion
+usr/share/dune-common
+usr/share/dune
+usr/share/man
+
+debian/dune-autopkgtest usr/share/dune
+debian/dune-debian.env usr/share/dune
+debian/dune-debian.mk usr/share/dune
diff --git a/libdune-common-dev.lintian-overrides b/libdune-common-dev.lintian-overrides
new file mode 100644 (file)
index 0000000..c3689aa
--- /dev/null
@@ -0,0 +1,6 @@
+# We don't build a separate shared library package.
+# See also https://lists.debian.org/debian-devel/2015/07/msg00115.html
+libdune-common-dev: non-dev-pkg-with-shlib-symlink *
+libdune-common-dev: package-name-doesnt-match-sonames *
+# ABI is too unstable to warrant extra work with a symbols file
+libdune-common-dev: no-symbols-control-file
diff --git a/libdune-common-doc.install b/libdune-common-doc.install
new file mode 100644 (file)
index 0000000..fe56f80
--- /dev/null
@@ -0,0 +1,2 @@
+usr/share/doc/dune-common/* usr/share/doc/libdune-common-doc
+build/doc/buildsystem/html usr/share/doc/libdune-common-doc/buildsystem
diff --git a/patches/disable-long-double-eigenvalue-checks.patch b/patches/disable-long-double-eigenvalue-checks.patch
new file mode 100644 (file)
index 0000000..938cb10
--- /dev/null
@@ -0,0 +1,30 @@
+diff --git a/dune/common/test/eigenvaluestest.cc b/dune/common/test/eigenvaluestest.cc
+index 45b5b3f83..e5c526ace 100644
+--- a/dune/common/test/eigenvaluestest.cc
++++ b/dune/common/test/eigenvaluestest.cc
+@@ -338,20 +338,20 @@ int main()
+   testSymmetricFieldMatrix<double,200>();
+   testSymmetricFieldMatrix<float,4>();
+   testSymmetricFieldMatrix<float,200>();
+-  testSymmetricFieldMatrix<long double,4>();
+-  testSymmetricFieldMatrix<long double,200>();
++//   testSymmetricFieldMatrix<long double,4>();
++//   testSymmetricFieldMatrix<long double,200>();
+ #endif // HAVE_LAPACK
+   testSymmetricFieldMatrix<double,2>();
+   testSymmetricFieldMatrix<double,3>();
+   testSymmetricFieldMatrix<float,2>();
+   testSymmetricFieldMatrix<float,3>();
+-  testSymmetricFieldMatrix<long double,2>();
+-  testSymmetricFieldMatrix<long double,3>();
++//   testSymmetricFieldMatrix<long double,2>();
++//   testSymmetricFieldMatrix<long double,3>();
+   checkMultiplicity<double>();
+   checkMultiplicity<float>();
+-  checkMultiplicity<long double>();
++//   checkMultiplicity<long double>();
+   return 0;
+ }
diff --git a/patches/do-not-install-python-scripts.patch b/patches/do-not-install-python-scripts.patch
new file mode 100644 (file)
index 0000000..e21d03b
--- /dev/null
@@ -0,0 +1,22 @@
+diff --git a/bin/CMakeLists.txt b/bin/CMakeLists.txt
+index 04ab0d0fd..1721b20d9 100644
+--- a/bin/CMakeLists.txt
++++ b/bin/CMakeLists.txt
+@@ -2,8 +2,14 @@ install(PROGRAMS
+   dune-ctest
+   duneproject
+   dunecontrol
+-  dunepackaging.py
+   dune-git-whitespace-hook
+-  rmgenerated.py
+-  setup-dunepy.py
+   DESTINATION ${CMAKE_INSTALL_BINDIR})
++
++# install these scripts only if Python bindings are enabled
++if(DUNE_ENABLE_PYTHONBINDINGS)
++  install(PROGRAMS
++    dunepackaging.py
++    rmgenerated.py
++    setup-dunepy.py
++    DESTINATION ${CMAKE_INSTALL_BINDIR})
++endif()
diff --git a/patches/findmetis_scotch7.patch b/patches/findmetis_scotch7.patch
new file mode 100644 (file)
index 0000000..b166c7c
--- /dev/null
@@ -0,0 +1,33 @@
+From: Markus Blatt <markus@dr-blatt.de>
+Date: Fri, 18 Mar 2022 22:03:05 +0100
+Subject: Also search for libscotchmetisv5 and libscotchmetisv3.
+
+On Debian these might be present instead of libscotchmetis,
+---
+ cmake/modules/FindMETIS.cmake | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/cmake/modules/FindMETIS.cmake b/cmake/modules/FindMETIS.cmake
+index 338b09e..068b121 100644
+--- a/cmake/modules/FindMETIS.cmake
++++ b/cmake/modules/FindMETIS.cmake
+@@ -87,12 +87,19 @@ if(METIS_HEADER_FILE)
+     set(IS_SCOTCH_METIS_HEADER FALSE)
+   else()
+     set(IS_SCOTCH_METIS_HEADER TRUE)
++    string(REGEX REPLACE ".*#define SCOTCH_METIS_VERSION[ ]+([0-9]+).*" "\\1"
++      SCOTCH_METIS_VERSION "${metisheader}")
+   endif()
+ endif()
+ unset(METIS_HEADER_FILE CACHE)
+ # search for the METIS library or for the scotch-metis wrapper library
+ if(IS_SCOTCH_METIS_HEADER)
++  # Debian bookworm has no scotchmetis library only scotchmetisv3
++  # and scotchmetisv5.
++  if(SCOTCH_METIS_VERSION)
++    find_library(METIS_LIBRARY scotchmetisv${SCOTCH_METIS_VERSION})
++  endif()
+   find_library(METIS_LIBRARY scotchmetis)
+ else()
+   find_library(METIS_LIBRARY metis)
diff --git a/patches/series b/patches/series
new file mode 100644 (file)
index 0000000..dd2f0c6
--- /dev/null
@@ -0,0 +1,6 @@
+soname.patch
+skip-dirs-starting-with-dot.patch
+use-python-3.patch
+disable-long-double-eigenvalue-checks.patch
+do-not-install-python-scripts.patch
+findmetis_scotch7.patch
diff --git a/patches/skip-dirs-starting-with-dot.patch b/patches/skip-dirs-starting-with-dot.patch
new file mode 100644 (file)
index 0000000..bcee466
--- /dev/null
@@ -0,0 +1,15 @@
+From: Ansgar Burchardt <ansgar@debian.org>
+Subject: skip directories starting with a dot when looking for dune.module
+Index: dune-common/lib/dunemodules.lib
+===================================================================
+--- dune-common.orig/lib/dunemodules.lib       2022-03-19 12:58:18.471243091 +0100
++++ dune-common/lib/dunemodules.lib    2022-03-19 12:58:18.467242945 +0100
+@@ -258,7 +258,7 @@
+         while read m; do
+           test -n "$m" && parse_control "$m"
+         done <<EOFM
+-        $(find -H "$dir" -name $CONTROL | $GREP -v 'dune-[-_a-zA-Z]/dune-[-a-zA-Z_]*-[0-9]\{1,\}.[0-9]\{1,\}/')
++        $(find -H "$dir" -name '.?*' -prune -o -name $CONTROL -print | $GREP -v 'dune-[-_a-zA-Z]/dune-[-a-zA-Z_]*-[0-9]\{1,\}.[0-9]\{1,\}/')
+ EOFM
+         else
+         parse_control "$dir"
diff --git a/patches/soname.patch b/patches/soname.patch
new file mode 100644 (file)
index 0000000..82761b6
--- /dev/null
@@ -0,0 +1,28 @@
+Index: dune-common/cmake/modules/DuneMacros.cmake
+===================================================================
+--- dune-common.orig/cmake/modules/DuneMacros.cmake    2022-03-19 12:58:00.354586574 +0100
++++ dune-common/cmake/modules/DuneMacros.cmake 2022-03-19 12:58:00.346586285 +0100
+@@ -985,9 +985,14 @@
+ # More docu can be found at the top of this file.
+ macro(dune_add_library basename)
+   include(CMakeParseArguments)
+-  cmake_parse_arguments(DUNE_LIB "APPEND;NO_EXPORT;OBJECT" "COMPILE_FLAGS"
++  cmake_parse_arguments(DUNE_LIB "APPEND;NO_EXPORT;OBJECT" "COMPILE_FLAGS;SOVERSION"
+     "ADD_LIBS;SOURCES" ${ARGN})
+   list(APPEND DUNE_LIB_SOURCES ${DUNE_LIB_UNPARSED_ARGUMENTS})
++  if(NOT DUNE_LIB_SOVERSION)
++    # If no explicit version is given, we assume the ABI is not stable and
++    # changes with every release.
++    set(DUNE_LIB_SOVERSION ${ProjectVersion})
++  endif()
+   if(DUNE_LIB_OBJECT)
+     if(DUNE_LIB_${basename}_SOURCES)
+       message(FATAL_ERROR "There is already a library with the name ${basename}, "
+@@ -1029,6 +1034,7 @@
+     endif()
+     # Build library in ${PROJECT_BINARY_DIR}/lib
+     set_target_properties(${basename} PROPERTIES
++      SOVERSION ${DUNE_LIB_SOVERSION}
+       LIBRARY_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/lib"
+       ARCHIVE_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/lib")
diff --git a/patches/use-python-3.patch b/patches/use-python-3.patch
new file mode 100644 (file)
index 0000000..e8a060c
--- /dev/null
@@ -0,0 +1,10 @@
+diff --git a/bin/rmgenerated.py b/bin/rmgenerated.py
+index 5a7904183..6f29147bf 100644
+--- a/bin/rmgenerated.py
++++ b/bin/rmgenerated.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ import glob, os, sys, re, fileinput
diff --git a/rules b/rules
new file mode 100755 (executable)
index 0000000..c43390e
--- /dev/null
+++ b/rules
@@ -0,0 +1,25 @@
+#! /usr/bin/make -f
+
+include /usr/share/dpkg/architecture.mk
+
+DUNE_DEBIAN_ENV := $(CURDIR)/debian/dune-debian.env
+DUNE_CTEST := $(CURDIR)/bin/dune-ctest
+DUNE_DEBIAN_DUNECONTROL := $(CURDIR)/bin/dunecontrol
+
+ifneq ($(filter mips64el mipsel,$(DEB_HOST_ARCH)),)
+  DUNE_TEST_LABELS=quick
+else
+  DUNE_TEST_LABELS=
+endif
+
+include debian/dune-debian.mk
+
+%:
+       dh $@ --builddirectory=build --buildsystem=cmake
+
+override_dh_auto_build-indep:
+       dh_auto_build -- doc
+
+override_dh_installdocs-indep:
+       dh_installdocs
+       dh_sphinxdoc
diff --git a/source/format b/source/format
new file mode 100644 (file)
index 0000000..163aaf8
--- /dev/null
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/tests/basic b/tests/basic
new file mode 100755 (executable)
index 0000000..436fa59
--- /dev/null
@@ -0,0 +1,7 @@
+#! /bin/bash
+
+set -e
+set -u
+
+export DUNE_DEBIAN_ENV=${PWD}/debian/dune-debian.env
+./debian/dune-autopkgtest --mpi 2 dune/common/test/mpicollectivecommunication.cc
diff --git a/tests/control b/tests/control
new file mode 100644 (file)
index 0000000..cd0b5cf
--- /dev/null
@@ -0,0 +1,7 @@
+Tests: basic
+Depends:
+ libdune-common-dev,
+ build-essential,
+ mpi-default-bin, mpi-default-dev,
+ libscotchmetis-dev,
+Restrictions: allow-stderr