From: Markus Blatt Date: Thu, 13 Jul 2023 06:20:17 +0000 (+0100) Subject: Import dune-common_2.9.0-3.debian.tar.xz X-Git-Tag: archive/raspbian/2.9.0-6+rpi1^2^2~10^2 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=26fa287e5e9ad073d30e551071b229205ce3db04;p=dune-common.git Import dune-common_2.9.0-3.debian.tar.xz [dgit import tarball dune-common 2.9.0-3 dune-common_2.9.0-3.debian.tar.xz] --- 26fa287e5e9ad073d30e551071b229205ce3db04 diff --git a/changelog b/changelog new file mode 100644 index 0000000..a9571b3 --- /dev/null +++ b/changelog @@ -0,0 +1,442 @@ +dune-common (2.9.0-3) unstable; urgency=medium + + * d/patches: Backported upstream GCC-13 compile fix + (Closes: #1037630) + + -- Markus Blatt 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 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 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 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 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 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 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 Fri, 20 Aug 2021 09:05:19 -0400 + +dune-common (2.7.1-2) unstable; urgency=medium + + * Upload to unstable. + + -- Ansgar Mon, 11 Jan 2021 22:23:00 +0100 + +dune-common (2.7.1-1) experimental; urgency=medium + + * New upstream release. + + -- Lisa Julia Nebel Tue, 05 Jan 2021 17:51:34 +0100 + +dune-common (2.7.0-5) unstable; urgency=medium + + * Upload to unstable. + + -- Ansgar 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 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 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 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 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 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 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 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 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 Sat, 06 Jan 2018 15:50:50 +0100 + +dune-common (2.6~20171122-1) experimental; urgency=medium + + * New upstream snapshot (commit: 77b87e7c3931fc70f46be2e4cae7058127c92edf). + + -- Ansgar Burchardt 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 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 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 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 Sat, 17 Jun 2017 15:48:18 +0200 + +dune-common (2.5.0-1) unstable; urgency=medium + + * New upstream release. + + -- Ansgar Burchardt 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 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 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 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 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 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 Mon, 29 Feb 2016 10:19:18 +0100 + +dune-common (2.4.1~rc2-1) experimental; urgency=medium + + * New upstream release candidate. + + -- Ansgar Burchardt Sun, 28 Feb 2016 13:18:16 +0100 + +dune-common (2.4.0-1) unstable; urgency=medium + + * New upstream release. + + -- Ansgar Burchardt 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 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 Fri, 04 Sep 2015 14:24:36 +0200 + +dune-common (2.4~20150717rc1-1) experimental; urgency=medium + + * New upstream release candidate. + + -- Ansgar Burchardt 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 Fri, 19 Jun 2015 23:11:40 +0200 + +dune-common (2.4~20150521g15491c4-1) experimental; urgency=medium + + * New upstream snapshot. + + -- Ansgar Burchardt 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 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 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 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 Fri, 14 Feb 2014 09:12:40 +0100 + +dune-common (2.3~20140122g7a7cf2b-1) experimental; urgency=medium + + * New upstream snapshot. + + -- Ansgar Burchardt 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 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 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 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. + + * 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 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 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 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 Tue, 05 Jun 2012 10:17:59 +0200 + +dune-common (2.2~svn6684-1) experimental; urgency=low + + * New upstream snapshot. + + -- Ansgar Burchardt Sun, 06 May 2012 14:31:49 +0200 + +dune-common (2.2~svn6573-1) experimental; urgency=low + + * Initial release. (Closes: #661823) + + -- Ansgar Burchardt Sat, 17 Mar 2012 17:15:13 +0100 diff --git a/clean b/clean new file mode 100644 index 0000000..bc23c6a --- /dev/null +++ b/clean @@ -0,0 +1 @@ +cmake/scripts/__pycache__/ diff --git a/control b/control new file mode 100644 index 0000000..7d68060 --- /dev/null +++ b/control @@ -0,0 +1,46 @@ +Source: dune-common +Section: libs +Priority: optional +Standards-Version: 4.6.2 +Maintainer: Debian Science Maintainers +Uploaders: Ansgar , Markus Blatt +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 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 + 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 + Copyright (c) 2016 Trent Houliston + Copyright (c) 2016 Klemens Morgenstern + Copyright (c) 2016 Andreas Dedner + Copyright (c) 2016 Martin Nolte + 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 index 0000000..02c4059 --- /dev/null +++ b/dune-autopkgtest @@ -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 " <<< 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 index 0000000..20d1e77 --- /dev/null +++ b/dune-debian.env @@ -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 index 0000000..e5ff092 --- /dev/null +++ b/dune-debian.mk @@ -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 index 0000000..00131a1 --- /dev/null +++ b/get-orig-source @@ -0,0 +1,138 @@ +#! /bin/bash +# +# get-orig-source for dune +# +# (C) 2012, Ansgar Burchardt +# License: GPL-2 with DUNE exception + +set -e +set -u +set -o pipefail + +usage() { + echo "usage: get-orig-source [options...] [] + 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 : create orig tarball in directory + + 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 index 0000000..e33dd9b --- /dev/null +++ b/libdune-common-dev.install @@ -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 index 0000000..c3689aa --- /dev/null +++ b/libdune-common-dev.lintian-overrides @@ -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 index 0000000..fe56f80 --- /dev/null +++ b/libdune-common-doc.install @@ -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/add-missing-cstdint-in-simd-loop.hh.patch b/patches/add-missing-cstdint-in-simd-loop.hh.patch new file mode 100644 index 0000000..192695e --- /dev/null +++ b/patches/add-missing-cstdint-in-simd-loop.hh.patch @@ -0,0 +1,25 @@ +From c1e1c47284c942a4722f4ef5cecdcf1db519806a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Christoph=20Gr=C3=BCninger?= +Date: Mon, 23 Jan 2023 22:18:17 +0100 +Subject: [PATCH 2/2] Add missing 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 + #include + #include ++#include + #include + + #include +-- +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 index 0000000..cdab27b --- /dev/null +++ b/patches/disable-long-double-eigenvalue-checks.patch @@ -0,0 +1,28 @@ +--- a/dune/common/test/eigenvaluestest.cc ++++ b/dune/common/test/eigenvaluestest.cc +@@ -340,20 +340,20 @@ + testSymmetricFieldMatrix(); + testSymmetricFieldMatrix(); + testSymmetricFieldMatrix(); +- testSymmetricFieldMatrix(); +- testSymmetricFieldMatrix(); ++// testSymmetricFieldMatrix(); ++// testSymmetricFieldMatrix(); + #endif // HAVE_LAPACK + + testSymmetricFieldMatrix(); + testSymmetricFieldMatrix(); + testSymmetricFieldMatrix(); + testSymmetricFieldMatrix(); +- testSymmetricFieldMatrix(); +- testSymmetricFieldMatrix(); ++// testSymmetricFieldMatrix(); ++// testSymmetricFieldMatrix(); + + checkMultiplicity(); + checkMultiplicity(); +- checkMultiplicity(); ++// checkMultiplicity(); + + return 0; + } diff --git a/patches/do-not-install-python-scripts.patch b/patches/do-not-install-python-scripts.patch new file mode 100644 index 0000000..dda497a --- /dev/null +++ b/patches/do-not-install-python-scripts.patch @@ -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 index 0000000..12118b8 --- /dev/null +++ b/patches/dunemodule-version.patch @@ -0,0 +1,25 @@ +From 5fccff1f35c2a907207de60cf4962d9db60718a4 Mon Sep 17 00:00:00 2001 +From: Markus Blatt +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 index 0000000..d917c7e --- /dev/null +++ b/patches/fix-linitian-file-references-package-build-path @@ -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 index 0000000..92ee158 --- /dev/null +++ b/patches/fix-linitian-file-references-package-build-path-downstream @@ -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 index 0000000..9e1433f --- /dev/null +++ b/patches/install-pkgconfig-without-lib-for-cross-compile @@ -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 index 0000000..5610c10 --- /dev/null +++ b/patches/series @@ -0,0 +1,9 @@ +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 diff --git a/patches/skip-dirs-starting-with-dot.patch b/patches/skip-dirs-starting-with-dot.patch new file mode 100644 index 0000000..03f23c4 --- /dev/null +++ b/patches/skip-dirs-starting-with-dot.patch @@ -0,0 +1,13 @@ +From: Ansgar Burchardt +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 < +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 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 index 0000000..163aaf8 --- /dev/null +++ b/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/tests/basic b/tests/basic new file mode 100755 index 0000000..436fa59 --- /dev/null +++ b/tests/basic @@ -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 index 0000000..cd0b5cf --- /dev/null +++ b/tests/control @@ -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 index 0000000..35fa64c --- /dev/null +++ b/upstream/metadata @@ -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