Import dune-common_2.9.0-7.debian.tar.xz
authorMarkus Blatt <markus@dr-blatt.de>
Thu, 10 Oct 2024 14:59:54 +0000 (16:59 +0200)
committerMarkus Blatt <markus@dr-blatt.de>
Thu, 10 Oct 2024 14:59:54 +0000 (16:59 +0200)
[dgit import tarball dune-common 2.9.0-7 dune-common_2.9.0-7.debian.tar.xz]

28 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/0001-fix-use-values-that-are-representable-as-double-in-t.patch [new file with mode: 0644]
patches/0002-fix-use-values-that-are-representable-as-double-in-t.patch [new file with mode: 0644]
patches/add-missing-cstdint-in-simd-loop.hh.patch [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/dunemodule-version.patch [new file with mode: 0644]
patches/fix-linitian-file-references-package-build-path [new file with mode: 0644]
patches/fix-linitian-file-references-package-build-path-downstream [new file with mode: 0644]
patches/install-pkgconfig-without-lib-for-cross-compile [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]
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]
upstream/metadata [new file with mode: 0644]

diff --git a/changelog b/changelog
new file mode 100644 (file)
index 0000000..949cde4
--- /dev/null
+++ b/changelog
@@ -0,0 +1,473 @@
+dune-common (2.9.0-7) unstable; urgency=medium
+
+  * d/control: Depend on pkgconf instead of obsolete pkg-config
+  * d/control: Bumped standards version to 4.7.0 (no-change)
+
+ -- Markus Blatt <markus@dr-blatt.de>  Thu, 10 Oct 2024 16:59:54 +0200
+
+dune-common (2.9.0-6) unstable; urgency=medium
+
+  * patches: fix: use values that are representable as double in test.
+    This should fix the test failure on i386.
+    + new patch: 0002-fix-use-values-that-are-representable-as-double-in-t.patch
+
+ -- Ansgar <ansgar@debian.org>  Tue, 26 Dec 2023 19:41:53 +0100
+
+dune-common (2.9.0-5) unstable; urgency=medium
+
+  * patches: fix: use values that are representable as double in test.
+    This should fix the build failure on i386.
+    + new patch: 0001-fix-use-values-that-are-representable-as-double-in-t.patch
+
+ -- Ansgar <ansgar@debian.org>  Tue, 26 Dec 2023 15:52:42 +0100
+
+dune-common (2.9.0-4) unstable; urgency=medium
+
+  * Team upload
+  * Replace libatlas-base-dev by libblas-dev | libblas.so in (Build-)Depends
+    (Closes: #1056669)
+
+ -- Sébastien Villemot <sebastien@debian.org>  Fri, 22 Dec 2023 15:55:58 +0100
+
+dune-common (2.9.0-3) unstable; urgency=medium
+
+  * d/patches: Backported upstream GCC-13 compile fix
+      (Closes: #1037630)
+
+ -- Markus Blatt <markus@dr-blatt.de>  Thu, 13 Jul 2023 08:20:17 +0200
+
+dune-common (2.9.0-2) unstable; urgency=medium
+
+  * Upload to unstable
+  * d/patches: Prevent build-path from appearing in downstream DUNE modules
+  * d/control: Added Markus Blatt as uploader (with consent of Ansgar)
+
+ -- Markus Blatt <markus@dr-blatt.de>  Thu, 12 Jan 2023 16:39:41 +0100
+
+dune-common (2.9.0-1) experimental; urgency=medium
+
+  [ Markus Blatt ]
+  * d/patches: Prevent file-references-package-build-path lintian warning
+  * d/upstream: Added upstream metadata file.
+  * d/get-orig-source: Adapted to removed dune-grid/amiramesh directory.
+  * d/patches: Refreshed patches and fixed dune.module
+  * New upstream release (2.9.0).
+
+  [ Ansgar ]
+  * d/control: set Standards-Version to 4.6.2 (no changes).
+
+ -- Ansgar <ansgar@debian.org>  Sat, 07 Jan 2023 21:52:09 +0100
+
+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..0ad4cc6
--- /dev/null
+++ b/control
@@ -0,0 +1,46 @@
+Source: dune-common
+Section: libs
+Priority: optional
+Standards-Version: 4.7.0
+Maintainer: Debian Science Maintainers <debian-science-maintainers@lists.alioth.debian.org>
+Uploaders: Ansgar <ansgar@debian.org>, Markus Blatt <markus@dr-blatt.de>
+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, pkgconf, python3,
+ libblas-dev | libblas.so, 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, pkgconf,
+ libblas-dev | libblas.so, 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..f62b51f
--- /dev/null
+++ b/copyright
@@ -0,0 +1,227 @@
+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--2022    Markus Blatt
+ 2013          Andreas Buhr
+ 2020--2022    Samuel Burbulla
+ 2011--2022    Ansgar Burchardt
+ 2004--2005    Adrian Burri
+ 2014          Benjamin Bykowski (may appear in the logs as "Convex Function")
+ 2014          Marco Cecchetti
+ 2018          Matthew Collins
+ 2006--2022    Andreas Dedner
+ 2018--2021    Nils-Arne Dreier
+ 2003          Marc Droske
+ 2003--2022    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--2022    Carsten Gräser
+ 2015--2017    Felix Gruber
+ 2010--2022    Christoph Grüninger
+ 2006          Bernard Haasdonk
+ 2015--2018    Claus-Justus Heine
+ 2015--2020    René Heß
+ 2017--2019    Stephan Hilb
+ 2017--2021    Lasse Hinrichsen
+ 2012--2013    Olaf Ippisch
+ 2020--2022    Patrick Jaap
+ 2020          Liam Keegan
+ 2013--2021    Dominic Kempf
+ 2009          Leonard Kern
+ 2017--2018    Daniel Kienle
+ 2013          Torbjörn Klatt
+ 2003--2022    Robert Klöfkorn
+ 2017--2022    Timo Koch
+ 2005--2007    Sreejith Pulloor Kuttanikkad
+ 2012--2016    Arne Morten Kvarving
+ 2010--2014    Andreas Lauser
+ 2016--2021    Tobias Leibner
+ 2015          Lars Lubkoll
+ 2012--2017    Tobias Malkmus
+ 2007--2011    Sven Marnach
+ 2010--2017    René 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--2022    Santiago Ospina De Los Ríos
+ 2014          Steffen Persvold
+ 2008--2017    Elias Pipping
+ 2021          Joscha Podlesny
+ 2011          Dan Popovic
+ 2017--2022    Simon Praetorius
+ 2009          Atgeirr Rasmussen
+ 2017--2020    Lukas Renelt
+ 2006--2014    Uli Sack
+ 2003--2022    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/FindLatexMk.cmake cmake/modules/UseLatexMk.cmake cmake/modules/latexmkrc.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-2020, Ansgar Burchardt <ansgar@debian.org>
+  2021,      Lisa Julia Nebel
+  2021,      Patrick Jaap
+  2022,      Debian Science Team
+  2022-2023, Equinor ASA
+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/*.h dune/python/pybind11/_version.py
+Copyright:
+  Copyright (c) 2016 Wenzel Jakob <wenzel.jakob@epfl.ch>
+  Copyright (c) 2016 Trent Houliston <trent@houliston.me>
+  Copyright (c) 2016 Klemens Morgenstern <klemens.morgenstern@ed-chemnitz.de>
+  Copyright (c) 2016 Andreas Dedner <a.s.dedner@warwick.ac.uk>
+  Copyright (c) 2016 Martin Nolte <nolte@mathematik.uni-freiburg.de>
+  Copyright (c) 2017 Henry F. Schreiner
+  Copyright (c) 2016 Sergey Lyskov and Wenzel Jakob
+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..00131a1
--- /dev/null
@@ -0,0 +1,138 @@
+#! /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-uggrid)
+    safe-rm -r doc
+    ;;
+  *)
+    if [[ -z "${snapshot}" ]]; then
+      echo "E: Please use the upstream release tarball and signature." >&2
+      exit 1
+    fi
+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/0001-fix-use-values-that-are-representable-as-double-in-t.patch b/patches/0001-fix-use-values-that-are-representable-as-double-in-t.patch
new file mode 100644 (file)
index 0000000..68b03fd
--- /dev/null
@@ -0,0 +1,39 @@
+From f61fb0dbc9b41b2661a3b481a056fd006a238495 Mon Sep 17 00:00:00 2001
+From: Ansgar Burchardt <ansgar.burchardt@tu-dresden.de>
+Date: Mon, 25 Dec 2023 23:40:36 +0100
+Subject: [PATCH] fix: use values that are representable as double in test
+Origin: vendor, https://gitlab.dune-project.org/core/dune-common/-/merge_requests/1327
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Values like 0.1 are not representable as a double which can result in
+problems, for example:
+
+```
+[...]/dune/common/test/hybridutilitiestest.cc:114:43: error: static assertion failed: Wrong compile time sum!
+  114 |   static_assert(sum(numberTupleConstexpr) == 5.1, "Wrong compile time sum!");
+      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
+[...]/dune/common/test/hybridutilitiestest.cc:114:43: note: the comparison reduces to ‘(5.09999999999999964473e+0l == 5.09999999999999999991e+0l)’
+```
+
+with [gcc 13.2.0 on i386][1].
+
+  [1]: https://buildd.debian.org/status/fetch.php?pkg=dune-common&arch=i386&ver=2.9.0-4&stamp=1703267709&raw=0
+---
+ dune/common/test/hybridutilitiestest.cc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/dune/common/test/hybridutilitiestest.cc
++++ b/dune/common/test/hybridutilitiestest.cc
+@@ -110,8 +110,8 @@
+   // Compile time checks
+   static_assert(sum(values) == (30*29)/2, "Wrong compile time sum!");
+-  constexpr auto numberTupleConstexpr = Dune::makeTupleVector(0.1, 2, 3);
+-  static_assert(sum(numberTupleConstexpr) == 5.1, "Wrong compile time sum!");
++  constexpr auto numberTupleConstexpr = Dune::makeTupleVector(0.25, 2, 3);
++  static_assert(sum(numberTupleConstexpr) == 5.25, "Wrong compile time sum!");
+   return test.exit();
+ }
diff --git a/patches/0002-fix-use-values-that-are-representable-as-double-in-t.patch b/patches/0002-fix-use-values-that-are-representable-as-double-in-t.patch
new file mode 100644 (file)
index 0000000..cae26ba
--- /dev/null
@@ -0,0 +1,37 @@
+From cb09f8545ce48f5f2f0843110bb814ce33c08688 Mon Sep 17 00:00:00 2001
+From: Ansgar Burchardt <ansgar.burchardt@tu-dresden.de>
+Date: Tue, 26 Dec 2023 17:27:20 +0100
+Subject: [PATCH] fix: use values that are representable as double in test
+Origin: vendor, https://gitlab.dune-project.org/core/dune-common/-/merge_requests/1329
+
+This should fix a [test failure on i386][1]:
+
+```
+lrutest: ./dune/common/test/lrutest.cc:29: void lru_test(): Assertion `lru.front() == 1.3 && lru.back() == 2.0' failed.
+```
+
+  [1]: https://buildd.debian.org/status/fetch.php?pkg=dune-common&arch=i386&ver=2.9.0-5&stamp=1703605683&raw=0
+---
+ dune/common/test/lrutest.cc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/dune/common/test/lrutest.cc
++++ b/dune/common/test/lrutest.cc
+@@ -17,7 +17,7 @@
+   lru.insert(11, 2.0);
+   assert(lru.front() == 2.0 && lru.back() == 1.0);
+   lru.insert(12, 99);
+-  lru.insert(13, 1.3);
++  lru.insert(13, 1.125);
+   lru.insert(14, 12345);
+   lru.insert(15, -17);
+   assert(lru.front() == -17 && lru.back() == 1.0);
+@@ -26,7 +26,7 @@
+   assert(lru.front() == 1.0 && lru.back() == 2.0);
+   // update
+   lru.touch(13);
+-  assert(lru.front() == 1.3 && lru.back() == 2.0);
++  assert(lru.front() == 1.125 && lru.back() == 2.0);
+   // remove item
+   lru.pop_front();
+   assert(lru.front() == 1.0 && lru.back() == 2.0);
diff --git a/patches/add-missing-cstdint-in-simd-loop.hh.patch b/patches/add-missing-cstdint-in-simd-loop.hh.patch
new file mode 100644 (file)
index 0000000..192695e
--- /dev/null
@@ -0,0 +1,25 @@
+From c1e1c47284c942a4722f4ef5cecdcf1db519806a Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Christoph=20Gr=C3=BCninger?= <gruenich@dune-project.org>
+Date: Mon, 23 Jan 2023 22:18:17 +0100
+Subject: [PATCH 2/2] Add missing <cstdint> in simd/loop.hh
+
+GCC 13 needs this for uintptr_t
+---
+ dune/common/simd/loop.hh | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/dune/common/simd/loop.hh b/dune/common/simd/loop.hh
+index 949b99293..a98c4ff99 100644
+--- a/dune/common/simd/loop.hh
++++ b/dune/common/simd/loop.hh
+@@ -7,6 +7,7 @@
+ #include <cmath>
+ #include <cstddef>
+ #include <cstdlib>
++#include <cstdint>
+ #include <ostream>
+ #include <dune/common/math.hh>
+-- 
+2.30.2
+
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..cdab27b
--- /dev/null
@@ -0,0 +1,28 @@
+--- a/dune/common/test/eigenvaluestest.cc
++++ b/dune/common/test/eigenvaluestest.cc
+@@ -340,20 +340,20 @@
+   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..dda497a
--- /dev/null
@@ -0,0 +1,20 @@
+--- a/bin/CMakeLists.txt
++++ b/bin/CMakeLists.txt
+@@ -5,7 +5,15 @@ install(PROGRAMS
+   dune-ctest
+   duneproject
+   dunecontrol
+-  dunepackaging.py
+   dune-git-whitespace-hook
+-  rmgenerated.py
+   DESTINATION ${CMAKE_INSTALL_BINDIR})
++
++# install these scripts only if Python bindings are enabled
++if(DUNE_ENABLE_PYTHONBINDINGS)
++  install(PROGRAMS
++    dunepackaging.py
++    rmgenerated.py
++    DESTINATION ${CMAKE_INSTALL_BINDIR})
++endif()
++
++
diff --git a/patches/dunemodule-version.patch b/patches/dunemodule-version.patch
new file mode 100644 (file)
index 0000000..12118b8
--- /dev/null
@@ -0,0 +1,25 @@
+From 5fccff1f35c2a907207de60cf4962d9db60718a4 Mon Sep 17 00:00:00 2001
+From: Markus Blatt <markus@dr-blatt.de>
+Date: Fri, 9 Dec 2022 15:58:55 +0100
+Subject: [PATCH 1/2] Fix version in dune.module
+
+---
+ dune.module | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/dune.module b/dune.module
+index b7673a520..382e828c2 100644
+--- a/dune.module
++++ b/dune.module
+@@ -2,7 +2,7 @@
+ # SPDX-License-Identifier: LicenseRef-GPL-2.0-only-with-DUNE-exception
+ Module: dune-common
+-Version: 2.9-git
++Version: 2.9.0
+ Author: The Dune Core developers
+ Maintainer: dune-devel@lists.dune-project.org
+ Description: Basis infrastructure for all Dune modules
+-- 
+2.30.2
+
diff --git a/patches/fix-linitian-file-references-package-build-path b/patches/fix-linitian-file-references-package-build-path
new file mode 100644 (file)
index 0000000..d917c7e
--- /dev/null
@@ -0,0 +1,23 @@
+Prevent lintian warning about file-references-package-build-path
+--- a/cmake/modules/DuneProject.cmake
++++ b/cmake/modules/DuneProject.cmake
+@@ -240,13 +240,17 @@ endif()")
+     set(DUNE_MODULE_PYTHONREQUIRES "")
+   endif()
++  # Strip -ffile-prefix-map=[^ \t]* o prevent lintian warning
++  # about file-references-package-build-path
++  set(_configure_file_cxx_flags_backup ${CMAKE_CXX_FLAGS})
++  string(REGEX REPLACE "-ffile-prefix-map=[^ \t]*" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
+   configure_package_config_file(${CONFIG_SOURCE_FILE}
+     ${PROJECT_BINARY_DIR}/cmake/pkg/${ProjectName}-config.cmake
+     INSTALL_DESTINATION  ${DUNE_INSTALL_LIBDIR}/cmake/${ProjectName}
+     PATH_VARS CMAKE_INSTALL_DATAROOTDIR DUNE_INSTALL_MODULEDIR CMAKE_INSTALL_INCLUDEDIR
+     DOXYSTYLE_DIR SCRIPT_DIR)
+-
+-
++  set(CMAKE_CXX_FLAGS ${_configure_file_cxxflags_backup})
++  
+   #create cmake-config files for build tree
+   set(PACKAGE_CMAKE_INSTALL_INCLUDEDIR ${PROJECT_SOURCE_DIR})
+   set(PACKAGE_CMAKE_INSTALL_DATAROOTDIR ${PROJECT_BINARY_DIR})
diff --git a/patches/fix-linitian-file-references-package-build-path-downstream b/patches/fix-linitian-file-references-package-build-path-downstream
new file mode 100644 (file)
index 0000000..92ee158
--- /dev/null
@@ -0,0 +1,24 @@
+Make sure current CXXFLAGS in cmake config files get substituted.
+
+Prevents the build path from appearing in dune-module-config.cmake
+files of downstream modules and prevents the lintian warning about
+that.
+--- a/cmake/modules/DuneProject.cmake
++++ b/cmake/modules/DuneProject.cmake
+@@ -188,11 +188,11 @@ set(${ProjectName}_INSTALLED @MODULE_INS
+ #report other information
+ set_and_check(${ProjectName}_PREFIX \"\${PACKAGE_PREFIX_DIR}\")
+ set_and_check(${ProjectName}_INCLUDE_DIRS \"@PACKAGE_CMAKE_INSTALL_INCLUDEDIR@\")
+-set(${ProjectName}_CXX_FLAGS \"${CMAKE_CXX_FLAGS}\")
+-set(${ProjectName}_CXX_FLAGS_DEBUG \"${CMAKE_CXX_FLAGS_DEBUG}\")
+-set(${ProjectName}_CXX_FLAGS_MINSIZEREL \"${CMAKE_CXX_FLAGS_MINSIZEREL}\")
+-set(${ProjectName}_CXX_FLAGS_RELEASE \"${CMAKE_CXX_FLAGS_RELEASE}\")
+-set(${ProjectName}_CXX_FLAGS_RELWITHDEBINFO \"${CMAKE_CXX_FLAGS_RELWITHDEBINFO}\")
++set(${ProjectName}_CXX_FLAGS \"@CMAKE_CXX_FLAGS@\")
++set(${ProjectName}_CXX_FLAGS_DEBUG \"@CMAKE_CXX_FLAGS_DEBUG@\")
++set(${ProjectName}_CXX_FLAGS_MINSIZEREL \"@CMAKE_CXX_FLAGS_MINSIZEREL@\")
++set(${ProjectName}_CXX_FLAGS_RELEASE \"@CMAKE_CXX_FLAGS_RELEASE@\")
++set(${ProjectName}_CXX_FLAGS_RELWITHDEBINFO \"@CMAKE_CXX_FLAGS_RELWITHDEBINFO@\")
+ set(${ProjectName}_DEPENDS \"@${ProjectName}_DEPENDS@\")
+ set(${ProjectName}_SUGGESTS \"@${ProjectName}_SUGGESTS@\")
+ set(${ProjectName}_MODULE_PATH \"@PACKAGE_DUNE_INSTALL_MODULEDIR@\")
diff --git a/patches/install-pkgconfig-without-lib-for-cross-compile b/patches/install-pkgconfig-without-lib-for-cross-compile
new file mode 100644 (file)
index 0000000..9e1433f
--- /dev/null
@@ -0,0 +1,27 @@
+Install architecture independent pkgconfig file in /usr/share/pkgconfig
+
+This prevents lintian warning pkg-config-unavailable-for-cross-compilation
+for the header only modules dune-istl, dune-localfunctions, dune-functions,
+and dune-typetree.
+--- a/cmake/modules/DuneProject.cmake
++++ b/cmake/modules/DuneProject.cmake
+@@ -224,8 +224,10 @@ endif()")
+   get_property(${ProjectName}_LIBRARIES GLOBAL PROPERTY ${ProjectName}_LIBRARIES)
+   if(${ProjectName}_LIBRARIES)
+     set(DUNE_INSTALL_LIBDIR ${CMAKE_INSTALL_LIBDIR})
++    set(DUNE_INSTALL_PKGCONFIGDIR ${CMAKE_INSTALL_LIBDIR})
+   else()
+     set(DUNE_INSTALL_LIBDIR ${DUNE_INSTALL_NONOBJECTLIBDIR})
++    set(DUNE_INSTALL_PKGCONFIGDIR ${CMAKE_INSTALL_DATAROOTDIR})
+   endif()
+   # Set the location of the doc file source. Needed by custom package configuration
+@@ -302,7 +304,7 @@ endif()
+   endif()
+   # install pkg-config files
+-  create_and_install_pkconfig(${DUNE_INSTALL_LIBDIR})
++  create_and_install_pkconfig(${DUNE_INSTALL_PKGCONFIGDIR})
+   if(${ProjectName}_EXPORT_SET)
+     # install library export set
diff --git a/patches/series b/patches/series
new file mode 100644 (file)
index 0000000..63e7448
--- /dev/null
@@ -0,0 +1,11 @@
+install-pkgconfig-without-lib-for-cross-compile
+fix-linitian-file-references-package-build-path-downstream
+fix-linitian-file-references-package-build-path
+dunemodule-version.patch
+soname.patch
+skip-dirs-starting-with-dot.patch
+disable-long-double-eigenvalue-checks.patch
+do-not-install-python-scripts.patch
+add-missing-cstdint-in-simd-loop.hh.patch
+0001-fix-use-values-that-are-representable-as-double-in-t.patch
+0002-fix-use-values-that-are-representable-as-double-in-t.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..03f23c4
--- /dev/null
@@ -0,0 +1,13 @@
+From: Ansgar Burchardt <ansgar@debian.org>
+Subject: skip directories starting with a dot when looking for dune.module
+--- a/lib/dunemodules.lib
++++ b/lib/dunemodules.lib
+@@ -274,7 +274,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..f7b2bf2
--- /dev/null
@@ -0,0 +1,46 @@
+From 0217e8c079c05bdac25c0e7d985ff24e9ed6c5eb Mon Sep 17 00:00:00 2001
+From: Markus Blatt <markus@dr-blatt.de>
+Date: Fri, 9 Dec 2022 16:01:02 +0100
+Subject: [PATCH 2/2] Always add an soversion to the library.
+
+---
+ cmake/modules/DuneAddLibrary.cmake | 9 ++++++++-
+ 1 file changed, 8 insertions(+), 1 deletion(-)
+
+diff --git a/cmake/modules/DuneAddLibrary.cmake b/cmake/modules/DuneAddLibrary.cmake
+index 98967f5b5..799ead5ff 100644
+--- a/cmake/modules/DuneAddLibrary.cmake
++++ b/cmake/modules/DuneAddLibrary.cmake
+@@ -135,7 +135,7 @@ function(dune_add_library_normal _name)
+   cmake_parse_arguments(ARG
+     "NO_EXPORT;NO_MODULE_LIBRARY;STATIC;SHARED;MODULE"
+     "COMPILE_FLAGS;COMPILE_OPTIONS;OUTPUT_NAME;EXPORT_NAME"
+-    "ADD_LIBS;LINK_LIBRARIES;SOURCES" ${ARGN})
++    "ADD_LIBS;LINK_LIBRARIES;SOURCES;SOVERSION" ${ARGN})
+   list(APPEND ARG_SOURCES ${ARG_UNPARSED_ARGUMENTS})
+   dune_expand_object_libraries(ARG_SOURCES ARG_ADD_LIBS ARG_COMPILE_FLAGS)
+   list(APPEND ARG_LINK_LIBRARIES ${ARG_ADD_LIBS})
+@@ -150,6 +150,12 @@ function(dune_add_library_normal _name)
+     set(_type "MODULE")
+   endif()
++  if(NOT ARG_SOVERSION)
++    # If no explicit version is given, we assume the ABI is not stable and
++    # changes with every release.
++    set(ARG_SOVERSION ${ProjectVersion})
++  endif()
++
+   # Create the library target
+   add_library(${_name} ${_type} ${ARG_SOURCES})
+@@ -161,6 +167,7 @@ function(dune_add_library_normal _name)
+   # Build library in ${PROJECT_BINARY_DIR}/lib
+   set_target_properties(${_name} PROPERTIES
++    SOVERSION "${ARG_SOVERSION}"
+     LIBRARY_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/lib"
+     ARCHIVE_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/lib")
+-- 
+2.30.2
+
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
diff --git a/upstream/metadata b/upstream/metadata
new file mode 100644 (file)
index 0000000..35fa64c
--- /dev/null
@@ -0,0 +1,4 @@
+Bug-Database: https://gitlab.dune-project.org/core/dune-common/-/issues
+Bug-Submit: https://gitlab.dune-project.org/core/dune-common/-/issues/new
+Repository: https://gitlab.dune-project.org/core/dune-common.git
+Repository-Browse: https://gitlab.dune-project.org/core/dune-common