[dgit import tarball dolfin 2018.1.0.post1-16 dolfin_2018.1.0.post1-16.debian.tar.xz]
--- /dev/null
+Conditional Support for SuperLU-Dist
+------------------------------------
+
+In principle dolfin supports SuperLU-Dist. However the superlu-dist
+package distributed by Debian is mostly useless since mc64, one of its
+core functions, cannot legally be redistributed and so has been
+removed from the Debian package. For this reason, we have given
+preference to mumps over superlu_dist.
+
+You may specify superlu_dist if desired (or if you have a local build
+of superlu_dist that includes mc64), for instance with
+ solve(a == L, u, bc, solver_parameters={'linear_solver': 'superlu_dist'})
+
+You may also successfully use superlu_dist without mc64 by specifying
+C++:
+ PETScOptions::set("-mat_superlu_dist_rowperm", "NATURAL");
+Python:
+ PETScOptions.set('-mat_superlu_dist_rowperm', 'NATURAL')
+Performance will likely be reduced.
+
+The same problem applies to superlu, from which mc64 has also been
+removed. superlu still functions successfully however (mc64 is not
+core for the serial version of SuperLU).
--- /dev/null
+dolfin (2018.1.0.post1-16) unstable; urgency=medium
+
+ * use ctest --output-on-failure not -output-on-failure
+
+ -- Drew Parsons <dparsons@debian.org> Mon, 11 Feb 2019 19:14:25 +1100
+
+dolfin (2018.1.0.post1-15) unstable; urgency=medium
+
+ * symlink man-page for fenics-version to manpage for dolfin-version
+ * run ctest with -output-on-failure to show details of test failures
+
+ -- Drew Parsons <dparsons@debian.org> Mon, 11 Feb 2019 13:58:33 +1100
+
+dolfin (2018.1.0.post1-14) unstable; urgency=medium
+
+ * add debian patch pytest_fixtures_096217a.patch
+ (upstream commit 096217a0a3cb710e869d7e82a3d3609c4d968b76)
+ to update tests for latest pytest API.
+ * debhelper compatibility level 12
+ * dolfin-bin installs /usr/bin/fenics-version
+ * usr/share/dolfin/dolfin.conf is redundant on Debian,
+ list it in debian/not-installed
+ * debian/rules:
+ - skip C++ build-time tests of demo_elastodynamics_mpi
+ (unreliable, sometimes passes, but fails with pdebuild)
+ - override dh_dwz to ignore python module .so files (already
+ stripped by python's setuptools)
+
+ -- Drew Parsons <dparsons@debian.org> Sat, 09 Feb 2019 18:07:21 +1100
+
+dolfin (2018.1.0.post1-13) unstable; urgency=medium
+
+ * Standards-Version: 4.3.0
+ * create patch PETSc_3.10_SNESTEST_removed.patch to work with
+ PETSc 3.10 (SNESTEST has been removed). Thanks Jed Brown.
+
+ -- Drew Parsons <dparsons@debian.org> Wed, 26 Dec 2018 09:14:38 +0100
+
+dolfin (2018.1.0.post1-12) unstable; urgency=medium
+
+ * apply strict versioned depends on pybind11,
+ python3-dolfin Depends: pybind11 (>= 2.2.4), pybind11 (<= 2.2.5)
+ Closes: #909407.
+ * Hardening: add dpkg-buildflags CXXFLAGS to CMAKE_CXX_FLAGS and
+ python module build
+ * use VERBOSE build of python modules
+
+ -- Drew Parsons <dparsons@debian.org> Mon, 24 Sep 2018 03:03:27 +0800
+
+dolfin (2018.1.0.post1-11) unstable; urgency=medium
+
+ * skip slow build-time tests (>500-1000 sec to complete)
+ * rebuild for pybind11 2.2.4
+
+ -- Drew Parsons <dparsons@debian.org> Sun, 23 Sep 2018 04:58:48 +0800
+
+dolfin (2018.1.0.post1-10) unstable; urgency=medium
+
+ * skip build-time tests:
+ - demo_auto-adaptive-poisson_serial test on m68k
+ - demo_cahn-hilliard_mpi and other MPI tests on mips
+ - all tests on sh4
+
+ -- Drew Parsons <dparsons@debian.org> Tue, 04 Sep 2018 03:53:23 +0800
+
+dolfin (2018.1.0.post1-9) unstable; urgency=medium
+
+ * autopkgtest: configure cpp tests with mpicc to ensure that the
+ cmake test for PetscInt passes
+ * Standards-Version: 4.2.1
+
+ -- Drew Parsons <dparsons@debian.org> Mon, 03 Sep 2018 04:17:35 +0800
+
+dolfin (2018.1.0.post1-8) unstable; urgency=medium
+
+ * mark libdolfin2018.1 as Multi-Arch: same
+ * python3-dolfin Depends: python3-six
+ * Standards-Version: 4.2.0
+
+ -- Drew Parsons <dparsons@debian.org> Fri, 17 Aug 2018 00:11:03 +0800
+
+dolfin (2018.1.0.post1-7) unstable; urgency=medium
+
+ * skip demo_stokes-taylor-hood_mpi test on mips64el
+
+ -- Drew Parsons <dparsons@debian.org> Wed, 01 Aug 2018 22:54:05 +0800
+
+dolfin (2018.1.0.post1-6) unstable; urgency=medium
+
+ * skip demo_cahn-hilliard_mpi, demo_ale_mpi, demo_poisson-disc_mpi
+ tests on mipsel
+ * skip demo_elasticity_serial test on m68k
+ * run build-time tests on mips, but skip demo_cahn-hilliard_serial,
+ demo_hyperelasticity_serial
+
+ -- Drew Parsons <dparsons@debian.org> Tue, 31 Jul 2018 15:16:58 +0800
+
+dolfin (2018.1.0.post1-5) unstable; urgency=medium
+
+ * update debian/test (autopkgtest) Depends
+ * skip demo_sym-dirichlet-bc_mpi test on ppc64el
+ * skip ALL build-time tests on mips, hurd-i386
+
+ -- Drew Parsons <dparsons@debian.org> Sat, 28 Jul 2018 22:42:00 +0800
+
+dolfin (2018.1.0.post1-4) unstable; urgency=medium
+
+ * skip demo_bcs_mpi test on mips64el
+ * update debian/tests/control Depends: @, @builddeps@
+ (to provide c++)
+
+ -- Drew Parsons <dparsons@debian.org> Fri, 27 Jul 2018 14:47:32 +0800
+
+dolfin (2018.1.0.post1-3) unstable; urgency=medium
+
+ * update skipped tests:
+ - skip demo_navier-stokes_mpi test on arm64
+ - skip demo_contact-vi-tao_mpi on mips64el
+ - skip demo_stokes-iterative_mpi on mipsel
+ - skip all MPI tests on armhf, i386, hppa, powerpc
+ * don't download fresh source for tests
+ * do copy symlink contents for C++ tests (in particular, copy
+ pulley.xdmf for demo_elasticity)
+ * tests Depends: python3-pytest
+
+ -- Drew Parsons <dparsons@debian.org> Fri, 27 Jul 2018 02:42:56 +0800
+
+dolfin (2018.1.0.post1-2) unstable; urgency=medium
+
+ * new upstream version for unstable.
+ Some minor API changes:
+ - Rename `mpi_comm_world()` to `MPI.comm_world`.
+ - Rename `ERROR`, `CRITICAL` etc. to `LogLevel.ERROR`,
+ `LogLevel.CRITICAL`.
+ * skip demo_curl-curl_mpi test on mips64el
+
+ -- Drew Parsons <dparsons@debian.org> Thu, 26 Jul 2018 01:19:42 +0800
+
+dolfin (2018.1.0.post1-1exp6) experimental; urgency=medium
+
+ * skip all MPI tests on ppc64el
+
+ -- Drew Parsons <dparsons@debian.org> Wed, 11 Jul 2018 10:39:00 +0800
+
+dolfin (2018.1.0.post1-1exp5) experimental; urgency=medium
+
+ * updates to debian/rules:
+ - identify build dir using DEB_HOST_GNU_TYPE
+ - respect the parallel flag in DEB_BUILD_OPTIONS when running tests
+ - skip cahn-hilliard, elasticity, elastodynamics MPI build tests
+ which fail or time out for: armel mips64el ppc64el
+ - skip m68k MPI tests altogether (times out)
+ * debian patch unittests_demos_include_dirs.patch ensures include
+ directories are defined for tests without reconfiguring cmake
+ * link elasticity/pulley.xdmf from python demo to cpp demo
+ * allow parallel jobs (max 8) in CI test test-dolfin-cpp
+
+ -- Drew Parsons <dparsons@debian.org> Sun, 08 Jul 2018 13:14:48 +0800
+
+dolfin (2018.1.0.post1-1exp4) experimental; urgency=medium
+
+ * Enable installation CI testing with Testsuite: autopkgtest.
+ * run build-time tests including unittests and demos
+ - use --oversubscribe with openmpi tests
+ - skip demo_hyperelasticity_mpi (it diverges)
+ * enable MPI for mpich arches. LAM arches will have to manually
+ set ENABLE_MPI=OFF in debian/rules.
+ * configure default preference for mumps or petsc over superlu_dist,
+ since superlu_dist is crippled by mc64, which cannot be
+ redistributed.
+ * Standards-Version: 4.1.5
+
+ -- Drew Parsons <dparsons@debian.org> Fri, 06 Jul 2018 23:49:43 +0800
+
+dolfin (2018.1.0.post1-1exp3) experimental; urgency=medium
+
+ * Build-Depends: python3-all-dev (build against all python3 versions)
+
+ -- Drew Parsons <dparsons@debian.org> Thu, 28 Jun 2018 11:21:07 +0800
+
+dolfin (2018.1.0.post1-1exp2) experimental; urgency=medium
+
+ * process python demo files only for doc (arch-indep) builds
+
+ -- Drew Parsons <dparsons@debian.org> Wed, 27 Jun 2018 23:45:13 +0800
+
+dolfin (2018.1.0.post1-1exp1) experimental; urgency=medium
+
+ * New corrected upstream release.
+ * install python demos with dolfin-doc
+
+ -- Drew Parsons <dparsons@debian.org> Wed, 27 Jun 2018 20:50:58 +0800
+
+dolfin (2018.1.0.post0-1exp1) experimental; urgency=medium
+
+ * Corrected upstream release.
+ - includes the fenics python module.
+ - petsc4py and other include dirs are no longer added to
+ DOLFIN_3RD_PARTY_INCLUDE_DIRS in DOLFINConfig.cmake.
+ Closes: #895419.
+ * Use override_dh_auto_test instead of DEB_BUILD_OPTIONS=nocheck
+ to skip build time tests without triggering a lintian warning.
+
+ -- Drew Parsons <dparsons@debian.org> Tue, 26 Jun 2018 01:38:04 +0800
+
+dolfin (2018.1.0-1exp1) experimental; urgency=medium
+
+ [ Nico Schlömer ]
+ * remove Python 2 package in preparation of 2018.1
+
+ [ Drew Parsons ]
+ * New upstream release.
+ - python-dolfin is now a dummy package that depends on python3-dolfin.
+ - remove debian patches applied upstream:
+ env.patch, gnuinstalldirs.patch, use-dolfin.patch
+ - no longer uses instant
+ - uses pybind11 instead of SWIG
+ * remove ancient-python-version-field X-Python3-Version: >= 3.4
+ * Standards-Version: 4.1.4
+ * Manpages for dolfin-bin scripts taken from old dolfin docs.
+
+ -- Drew Parsons <dparsons@debian.org> Fri, 15 Jun 2018 17:38:32 +0200
+
+dolfin (2017.2.0.post0-3) unstable; urgency=medium
+
+ * update petsc/slepc dependencies for PETSc/SLEPc 3.8
+ (dev package now libpetsc-real3.8-dev not libpetsc3.8.3-dev)
+
+ -- Drew Parsons <dparsons@debian.org> Sun, 04 Mar 2018 10:46:39 +0800
+
+dolfin (2017.2.0.post0-2) unstable; urgency=medium
+
+ * debian/control: update VCS tags to salsa.debian.org
+
+ -- Drew Parsons <dparsons@debian.org> Thu, 22 Feb 2018 08:56:02 +0800
+
+dolfin (2017.2.0.post0-1exp2) experimental; urgency=medium
+
+ * reorganise debian/copyright: collect core DOLFIN files and
+ contributors in one entry.
+ * Remove -dbg packages from debian/control.
+ Debug packages (-dbgsym) are built automatically.
+
+ -- Drew Parsons <dparsons@debian.org> Fri, 16 Feb 2018 15:34:44 +0800
+
+dolfin (2017.2.0.post0-1exp1) experimental; urgency=medium
+
+ * New upstream release.
+ - updated debian/upstream/signing-key.asc for signature
+ from the FEniCS Project Steering Council (key BED06106DD22BAB3)
+ - drops VTK support (no plots, but VTK files can still be created)
+ - update versions of Build-Dependencies:
+ cmake (>= 3.5), swig3.0 (>= 3.0.5),
+ petsc-dev (>= 3.7), slepc-dev (>= 3.7),
+ libboost-dev (>= 1.56), libeigen3-dev (>= 3.2.90)
+ * Standards-Version: 4.1.3
+ * Update debian.patches
+ - file encoding now included when reading files in python scripts
+ - VTK no longer supported
+ * debhelper compatibility level 11
+ * debian/control: Priority: optional not extra
+ * FEniCS version dependencies are taken as >=2017.2 and <=2017.3~
+ i.e. depend on major.minor version only
+
+ -- Drew Parsons <dparsons@debian.org> Sun, 21 Jan 2018 21:21:52 +0800
+
+dolfin (2017.1.0-4) unstable; urgency=medium
+
+ * Team upload.
+ * New upstream (new soname) version built against GCC7.
+ Closes: #871279.
+ * Builds against swig 3.0.12. Closes: #875395.
+
+ -- Drew Parsons <dparsons@debian.org> Tue, 12 Sep 2017 15:45:48 +0800
+
+dolfin (2017.1.0-3) experimental; urgency=medium
+
+ * Team upload.
+ * Add debian/patches/FindPETScSLEPc.patch to test for PETSc and
+ SLEPc at build time. The patch ensures tests link against -lmpi.
+ Thanks Johannes Ring.
+
+ -- Drew Parsons <dparsons@debian.org> Tue, 05 Sep 2017 01:20:24 +0800
+
+dolfin (2017.1.0-2) experimental; urgency=medium
+
+ * Team upload.
+ * Create debian patch conditional-parmetis-in-cholmod.patch to only
+ link cholmod support with parmetis if parmetis support is enabled.
+ Parmetis is non-free and therefore cannot routinely be supported
+ while dolfin is in Debian main.
+ * Standards-Version: 4.1.0
+ * debhelper compatibility level 10.
+
+ -- Drew Parsons <dparsons@debian.org> Mon, 28 Aug 2017 23:26:11 +0800
+
+dolfin (2017.1.0-1) experimental; urgency=medium
+
+ * New upstream release.
+ * d/control:
+ - Update package names (libdolfin2016.2 -> libdolfin2017.1
+ and libdolfin2016.2-dbg -> libdolfin2017.1-dbg).
+ - Bump minimum required version for python-dijitso and python-ffc to
+ 2017.1 in Build-Depends.
+ * Move d/libdolfin2016.2.install -> d/libdolfin2017.1.install.
+ * d/patches/python3-support.patch: removed (fixed upstream).
+
+ -- Johannes Ring <johannr@simula.no> Fri, 07 Jul 2017 11:24:50 +0200
+
+dolfin (2016.2.0-5) unstable; urgency=medium
+
+ * libdolfin-dev depends on either the python2 or python3 version of
+ modules (enables python3-only installation).
+
+ -- Drew Parsons <dparsons@debian.org> Thu, 06 Jul 2017 15:21:57 +0800
+
+dolfin (2016.2.0-4) unstable; urgency=medium
+
+ [ Johannes Ring ]
+ * d/rules:
+ - Re-generate swig interface with correct Python version
+ before build and install. Closes: #863829.
+ - Build for Python 2 after Python 3 by switching the order in
+ PYVERS, since Python 2 is default.
+ * Add patch vtk-python2-only-cmake-usefile.patch that disables the
+ vtk section in UseDOLFIN.cmake for Python 3. Closes: #863828.
+ * d/control: Add python-ffc to Depends for binary package
+ libdolfin-dev (provides ufc.h).
+
+ -- Drew Parsons <dparsons@debian.org> Wed, 07 Jun 2017 12:14:40 +0800
+
+dolfin (2016.2.0-3) unstable; urgency=medium
+
+ [ Drew Parsons ]
+ * Enable petsc/slepc dependencies on kfreebsd. Note that PETSc
+ support in dolfin on kfreebsd is not in fact active due to linking
+ problems during configuration tests, but dolfin builds
+ successfully without it. Closes: #822971.
+
+ [ Johannes Ring ]
+ * Support Python 3: new packages python3-dolfin and python3-dolfin-dbg.
+
+ -- Drew Parsons <dparsons@debian.org> Tue, 30 May 2017 16:17:28 +0800
+
+dolfin (2016.2.0-2) unstable; urgency=medium
+
+ * Dolfin depends on specific 3.7.X patch releases of PETSc and SLEPc
+ (see dolfin.pc, DOLFINConfig.cmake)
+
+ -- Drew Parsons <dparsons@debian.org> Tue, 24 Jan 2017 06:18:32 +0800
+
+dolfin (2016.2.0-1) unstable; urgency=medium
+
+ [ Drew Parsons ]
+ * Drop HDF5 Fortran configuration (it's not actually used).
+ * Tighten build and python-dolfin fenics dependencies to the
+ FENiCS minor version: (>= 2016.2.0), (<< 2016.3~)
+
+ [ Johannes Ring ]
+ * New upstream release.
+ * d/watch: Check pgp signature.
+ * d/control:
+ - Update package names (libdolfin2016.1 -> libdolfin2016.2
+ and libdolfin2016.1-dbg -> libdolfin2016.2-dbg).
+ - Bump minimum required version for python-instant, python-ufl and
+ python-ffc to 2016.2.
+ - Add python-dijitso to Build-Depends and Depends for binary package
+ python-dolfin.
+
+ -- Drew Parsons <dparsons@debian.org> Wed, 21 Dec 2016 16:47:36 +0800
+
+dolfin (2016.1.0-5) unstable; urgency=medium
+
+ * Reenable HDF5 support.
+ * patches/HDF5-configure.patch helps configure HDF5 parallel.
+
+ -- Drew Parsons <dparsons@debian.org> Fri, 16 Sep 2016 11:16:05 +0800
+
+dolfin (2016.1.0-4) unstable; urgency=medium
+
+ * Disable HDF5 support.
+ HDF5 was never actually enabled previously due to a discrepant
+ configuration between serial and parallel HDF5, but that now
+ causes dolfin to fail to build.
+
+ -- Drew Parsons <dparsons@debian.org> Wed, 14 Sep 2016 12:52:59 +0800
+
+dolfin (2016.1.0-3) unstable; urgency=medium
+
+ * Thanks Christophe Prud'homme for your uploads of the earlier
+ versions of dolfin. Removing from the Uploaders list now.
+ Closes: #835003.
+ * enable parallel build (dh $@ --parallel). Closes: #833602.
+
+ -- Drew Parsons <dparsons@debian.org> Mon, 12 Sep 2016 17:19:42 +0800
+
+dolfin (2016.1.0-2) unstable; urgency=medium
+
+ * Enable build against version of PETSc (and SLEPc) provided by
+ petsc-dev, e.g. PETSc 3.6 or 3.7.
+ * Include support for petsc4py and slepc4py.
+ * Update debian/watch (uscan).
+
+ -- Drew Parsons <dparsons@debian.org> Thu, 11 Aug 2016 23:08:05 +0800
+
+dolfin (2016.1.0-1) unstable; urgency=medium
+
+ [ Johannes Ring ]
+ * New upstream release.
+ * debian/control:
+ - Update package names for new SONAME 2016.1 (libdolfin1.6 ->
+ libdolfin2016.1 and libdolfin1.6-dbg -> libdolfin2016.1-dbg).
+ - Bump minimum required version for python-instant, python-ufl and
+ python-ffc to 2016.1.
+ * Move debian/libdolfin1.6.install -> debian/libdolfin2016.1.install.
+ * debian/rules: Add -fpermissive to CXX flags.
+
+ -- Drew Parsons <dparsons@debian.org> Tue, 05 Jul 2016 13:14:01 +0800
+
+dolfin (1.6.0-5) unstable; urgency=medium
+
+ * Depends: libpetsc3.6-dev rather than petsc-dev.
+ Likewise libslepc3.6-dev.
+ dolfin 1.6 is not compatible with petsc 3.7.
+
+ -- Drew Parsons <dparsons@debian.org> Tue, 07 Jun 2016 09:11:42 +0800
+
+dolfin (1.6.0-4) unstable; urgency=medium
+
+ [ Mattia Rizzolo ]
+ * debian/control:
+ + Update VCS fields after the move to Git.
+
+ [ Drew Parsons ]
+ * Remove python-dolfin dependency on python-netcdf. Closes: #821215.
+ * Build against vtk6 not vtk5 (source and libdolfin-dev dependencies).
+ Requires Qt4 support to be switched off (vtk6 uses Qt5).
+ Qt support has been dropped upstream. Closes: #821875.
+ * Activate support for SCOTCH.
+ * Standards-Version: 3.9.8
+
+ -- Drew Parsons <dparsons@debian.org> Tue, 26 Apr 2016 23:59:41 +0800
+
+dolfin (1.6.0-3) unstable; urgency=medium
+
+ * Team upload.
+ * Use OPENMPI_ARCHITECTURES from mpi-default-dev instead of hardcoding
+ architectures where not to use openmpi.
+
+ -- Mattia Rizzolo <mattia@debian.org> Thu, 21 Apr 2016 15:33:43 +0000
+
+dolfin (1.6.0-2) unstable; urgency=medium
+
+ * Team upload.
+ * Run wrap-and-sort -s
+ * Switch to unversioned Build-Depends on petsc-dev and slepc-dev (also for
+ the libdolfin-dev dependencies).
+
+ -- Mattia Rizzolo <mattia@debian.org> Thu, 21 Apr 2016 13:32:44 +0000
+
+dolfin (1.6.0-1) unstable; urgency=medium
+
+ * New upstream release.
+ * debian/control:
+ - Add gfortran to build dependencies.
+ - Update package names for new SONAME 1.6 (libdolfin1.5 ->
+ libdolfin1.6 and libdolfin1.5-dbg -> libdolfin1.6-dbg).
+ - Bump minimum required version for python-instant, python-ufl and
+ python-ffc to 1.6.0.
+ - Require swig3.0 (>= 3.0.3) in Build-Depends.
+ * Move debian/libdolfin1.5.install -> debian/libdolfin1.6.install.
+ * Remove patch for fixing problem with Python 2.7.10 (fixed upstream).
+ * debian/rules:
+ - Replace swig with swig3.0.
+ - Set PETSC_DIR to /usr/lib/petsc and SLEPC_DIR to /usr/lib/slepc.
+ - Explicitly disable petsc4py, slepc4py and sphinx.
+ - Help CMake find the parallel version of hdf5.
+
+ -- Johannes Ring <johannr@simula.no> Sat, 31 Oct 2015 13:30:16 +0800
+
+dolfin (1.5.0-4) unstable; urgency=medium
+
+ * debian/control: Enable libpetsc3.2-dev and libslepc3.2-dev on
+ armel, arm64 and hurd-i386 (closes: #787494).
+ * debian/rules: Enable MPI on armel.
+
+ -- Johannes Ring <johannr@simula.no> Tue, 02 Jun 2015 12:39:45 +0200
+
+dolfin (1.5.0-3) unstable; urgency=medium
+
+ * Add patch to fix issue with Python 2.7.10 (closes: #786857).
+
+ -- Johannes Ring <johannr@simula.no> Mon, 01 Jun 2015 09:26:07 +0200
+
+dolfin (1.5.0-2) unstable; urgency=medium
+
+ * Upload to unstable (closes: #780359).
+
+ -- Johannes Ring <johannr@simula.no> Wed, 13 May 2015 09:48:59 +0200
+
+dolfin (1.5.0-1) experimental; urgency=medium
+
+ * New upstream release (closes: #780359).
+ * debian/control:
+ - Bump Standards-Version to 3.9.6 (no changes needed).
+ - Bump X-Python-Version to >= 2.7.
+ - Update package names for new SONAME 1.5 (libdolfin1.4 ->
+ libdolfin1.5, libdolfin1.4-dbg -> libdolfin1.5-dbg and
+ libdolfin1.4-dev -> libdolfin1.5-dev).
+ - Bump minimum required version for python-instant, python-ufl and
+ python-ffc to 1.5.0.
+ - Add python-sympy and python-six to Depends for binary package
+ python-dolfin.
+ - Add dh-python to Build-Depends.
+ - Remove libcgal-dev from {Build-}Depends.
+ * Remove CSGCGALMeshGenerator3D-oom.patch since CGAL is no longer used
+ by DOLFIN.
+ * Move debian/libdolfin1.4.install -> debian/libdolfin1.5.install.
+ * debian/rules: No longer any non DFSG-free stuff to remove, so update
+ get-orig-source target (update debian/watch accordingly).
+ * Update debian/copyright and debian/copyright_hints.
+
+ -- Johannes Ring <johannr@simula.no> Tue, 17 Mar 2015 07:57:11 +0100
+
+dolfin (1.4.0+dfsg-4) unstable; urgency=medium
+
+ * debian/control: Disable libcgal-dev on i386, mipsel and sparc.
+ * debian/rules: Remove bad directives in pkg-config file dolfin.pc
+ (closes: #760658).
+ * Remove debian/libdolfin-dev.lintian-overrides.
+
+ -- Johannes Ring <johannr@simula.no> Mon, 22 Sep 2014 14:35:34 +0200
+
+dolfin (1.4.0+dfsg-3) unstable; urgency=medium
+
+ * debian/rules: Enable MPI on mips(el) and sparc (closes: #759182).
+ * debian/control:
+ - Disable libcgal-dev on {hurd, kfreebsd}-i386 since it requires
+ unreasonable amounts of memory (closes: #759183).
+ - Disable libpetsc3.4.2-dev and libslepc3.4.2-dev on amr64 since
+ they are not available on this architecture.
+
+ -- Johannes Ring <johannr@simula.no> Fri, 29 Aug 2014 08:28:19 +0200
+
+dolfin (1.4.0+dfsg-2) unstable; urgency=medium
+
+ * Rename libdolfin1.4-dev to libdolfin-dev and remove dolfin-dev.
+
+ -- Johannes Ring <johannr@simula.no> Mon, 18 Aug 2014 10:21:43 +0200
+
+dolfin (1.4.0+dfsg-1) unstable; urgency=medium
+
+ * New upstream release.
+ * debian/control:
+ - Update package names for new SONAME 1.3 (libdolfin1.3 ->
+ libdolfin1.4, libdolfin1.3-dbg -> libdolfin1.4-dbg and
+ libdolfin1.3-dev -> libdolfin1.4-dev).
+ - Bump minimum required version for python-instant, python-ufl and
+ python-ffc to 1.4.0.
+ - Add python-ffc (>= 1.4.0) to Build-Depends.
+ - Replace swig2.0 with swig in Build-Depends.
+ - Remove ufc and python-ufc from Build-Depends and from Depends for
+ binary package libdolfin1.4-dev and python-dolfin (closes: #755727).
+ - Add libdolfin1.3-dev in Conflicts and Replaces for binary package
+ libdolfin1.4-dev.
+ - Remove libarmadillo-dev from {Build-}Depends.
+ - Remove libptscotch-dev from {Build-}Depends (closes: #741165).
+ * Move debian/libdolfin1.3.install -> debian/libdolfin1.4.install
+ and debian/libdolfin1.3-dev.install -> debian/libdolfin1.4-dev.install.
+ * debian/rules:
+ - Enable CGAL again (accidentally disabled in last upload).
+ - No longer needed to remove .pyc files in get-orig-source target.
+ - Add "export PERL_LWP_SSL_VERIFY_HOSTNAME=0" to get-orig-source
+ target to help uscan download from Bitucket.
+ * Remove patch for bug in Boost (fixed).
+ * Add lintian override libdolfin1.4-dev: pkg-config-bad-directive.
+
+ -- Johannes Ring <johannr@simula.no> Mon, 11 Aug 2014 09:57:36 +0200
+
+dolfin (1.3.0+dfsg-2) unstable; urgency=medium
+
+ * debian/control:
+ - Disable libcgal-dev on armhf and mips since it requires
+ unreasonable amounts of memory (closes: 739697).
+ - Disable libpetsc3.4.2-dev and libslepc3.4.2-dev on hurd-i386 since
+ they are not available on this architecture.
+ * Add patch to workaround bug in boost (thanks to Peter Green).
+ * Use DEB_BUILD_MULTIARCH when installing the DOLFIN library and
+ pkg-config file.
+
+ -- Johannes Ring <johannr@simula.no> Wed, 26 Feb 2014 12:23:11 +0100
+
+dolfin (1.3.0+dfsg-1) unstable; urgency=medium
+
+ * New upstream release.
+ * Remove patches for PETSc/SLEPc 3.4 (no longer needed).
+ * debian/docs: README -> README.rst and remove TODO.
+ * debian/control:
+ - Bump Standards-Version to 3.9.5 (no changes needed).
+ - Add libeigen3-dev in Build-Depends and Depends for binary package
+ libdolfin1.3-dev.
+ - Add python-ply in Build-Depends.
+ - Update package names for new SONAME 1.3 (libdolfin1.2 ->
+ libdolfin1.3, libdolfin1.2-dbg -> libdolfin1.3-dbg and
+ libdolfin1.2-dev -> libdolfin1.3-dev).
+ - Bump minimum required version for ufc and python-ufc to 2.3.0, and
+ for python-instant, python-ufl and python-ffc to 1.3.0.
+ - Add libdolfin1.2-dev in Conflicts and Replaces for binary package
+ libdolfin1.3-dev.
+ - Add python-ply in Build-Depends.
+ * Move debian/libdolfin1.2.install -> debian/libdolfin1.3.install
+ and debian/libdolfin1.2-dev.install -> debian/libdolfin1.3-dev.install.
+ * debian/libdolfin1.3-dev.install: Remove pkg-config file dolfin.pc
+ (cmake files should be used instead).
+ * debian/rules: Remove .pyc files in get-orig-source target.
+
+ -- Johannes Ring <johannr@simula.no> Fri, 14 Feb 2014 19:11:50 +0100
+
+dolfin (1.2.0+dfsg-4) unstable; urgency=medium
+
+ * Team upload.
+ * CSGCGALMeshGenerator3D-oom.patch: new patch, workaround for FTBFS on some
+ arches due to g++ eating all the RAM.
+
+ -- Sébastien Villemot <sebastien@debian.org> Sat, 14 Dec 2013 19:16:13 +0100
+
+dolfin (1.2.0+dfsg-3) unstable; urgency=low
+
+ * Team upload.
+ * Refactor patches for PETSc/SLEPc 3.4, to fix a missing symbol in the library
+ + petsc-slepc-3.4.2.patch: remove patch
+ + {slepc,petsc}-3.4.patch: new patches taken from upstream
+
+ -- Sébastien Villemot <sebastien@debian.org> Sun, 27 Oct 2013 15:48:52 +0100
+
+dolfin (1.2.0+dfsg-2) unstable; urgency=low
+
+ * Team upload.
+ * Update (build-)dependencies to libpetsc3.4.2-dev and
+ libslepc3.4.2-dev.
+ * petsc-slepc-3.4.2.patch: new patch to adapt for the new PETSC/SLEPC.
+
+ -- Sébastien Villemot <sebastien@debian.org> Sat, 26 Oct 2013 04:33:36 +0200
+
+dolfin (1.2.0+dfsg-1) unstable; urgency=low
+
+ * New upstream release (closes: #718636, #718153).
+ * debian/control:
+ - Replace libdolfin1.1 with libdolfin1.2 and libdolfin1.1-dev with
+ libdolfin1.2-dev to follow library soname.
+ - Bump required version for ufc, python-ufc, python-ffc, python-ufl,
+ and python-instant.
+ - Add libdolfin1.1-dev to Conflicts and Replaces for binary package
+ libdolfin1.2-dev.
+ - Bump Standards-Version to 3.9.4.
+ - Remove DM-Upload-Allowed field.
+ - Bump required debhelper version in Build-Depends.
+ - Replace python-all-dev with python-dev in Build-Depends.
+ - Remove cdbs from Build-Depends.
+ - Use canonical URIs for Vcs-* fields.
+ - Disable libcgal-dev on armel.
+ - Enable libpetsc3.2-dev and libslepc3.2-dev on armhf and s390x.
+ - Enable libptscotch-dev on all arches.
+ - Add new debug package python-dolfin-dbg.
+ * debian/compat: Bump to compatibility level 9.
+ * debian/rules:
+ - Rewrite for debhelper (drop cdbs).
+ - Avoid hardcoding the swig2.0 version (closes: #692852).
+ - Update get-orig-source target to remove non DFSG-free stuff,
+ update watch file accordingly.
+ * Update debian/copyright and debian/copyright_hints.
+ * Move debian/libdolfin1.1.install to debian/libdolfin1.2.install and
+ debian/libdolfin1.1-dev.install to debian/libdolfin1.2-dev.install
+ to follow library soname.
+ * Add dolfin-get-demos in dolfin-bin.install and add manual page for it.
+ * Add all CMake files in libdolfin1.2-dev.install.
+
+ -- Johannes Ring <johannr@simula.no> Tue, 06 Aug 2013 16:49:23 +0200
+
+dolfin (1.1.0-1) UNRELEASED; urgency=low
+
+ * New upstream release.
+ * debian/control:
+ - Replace libdolfin1.0 with libdolfin1.1 and libdolfin1.0-dev with
+ libdolfin1.1-dev to follow library soname.
+ - Bump required version for ufc, python-ufc, python-ffc, python-ufl,
+ and python-instant.
+ - Add libdolfin1.0-dev to Conflicts and Depends for binary package
+ libdolfin1.1-dev.
+ - Add libvtk5-dev, libvtk5-qt4-dev, libqt4-dev, libhdf5-mpi-dev,
+ libboost-timer-dev and libboost-chrono-dev to Build-Depends and in
+ Depends field for binary package libdolfin1.1-dev.
+ - Add python-ply to Depends for binary package python-dolfin.
+ - Remove python-viper from Depends for binary package python-dolfin.
+ * debian/rules: Enable building with HDF5, VTK, and QT.
+ * Move debian/libdolfin1.0.install to debian/libdolfin1.1.install and
+ debian/libdolfin1.0-dev.install to debian/libdolfin1.1-dev.install
+ to follow library soname.
+ * debian/patches: Remove patches now fixed upstream.
+ * Determine swig2.0 version at build time (closes: #692852). Thanks to
+ Stefano Riviera for the patch.
+
+ -- Johannes Ring <johannr@simula.no> Thu, 10 Jan 2013 11:28:21 +0100
+
+dolfin (1.0.0-7) unstable; urgency=low
+
+ * debian/control:
+ - Remove Conflicts and Replaces from binary package libdolfin1.0-dbg.
+ - Update long description for all packages.
+ - Add python-netcdf to Depends for binary package python-dolfin
+ (closes: #674014).
+ - Require SWIG upstream version 2.0.7 for binary package
+ python-dolfin (closes: #675207).
+ - Require UFC >= 2.0.5-3.
+
+ -- Johannes Ring <johannr@simula.no> Fri, 29 Jun 2012 09:45:28 +0200
+
+dolfin (1.0.0-6) unstable; urgency=low
+
+ * debian/rules: Set default Python version to fix FTBFS when Python3
+ is available (closes: #672952).
+ * debian/control: Remove Provides: libdolfin0-dev from
+ libdolfin1.0-dev (and same to -dbg package).
+
+ -- Johannes Ring <johannr@simula.no> Mon, 21 May 2012 10:09:59 +0200
+
+dolfin (1.0.0-5) unstable; urgency=low
+
+ * Add patches to fix problems with SWIG 2.0.5 and GCC 4.7.
+ * debian/control: Require UFC >= 2.0.5-2.
+
+ -- Johannes Ring <johannr@simula.no> Mon, 14 May 2012 11:25:47 +0200
+
+dolfin (1.0.0-4) unstable; urgency=low
+
+ * debian/watch: Replace http with https in URL.
+ * debian/control:
+ - Add libcgal-dev to Build-Depends and Depends for binary package
+ libdolfin1.0-dev.
+ - Bump Standards-Version to 3.9.3 (no changes needed).
+ * debian/rules:
+ - Enable CGAL support.
+ - Call dh_numpy in binary-install/python-dolfin target to fix
+ lintian error missing-dependency-on-numpy-abi.
+
+ -- Johannes Ring <johannr@simula.no> Tue, 20 Mar 2012 14:47:27 +0100
+
+dolfin (1.0.0-3) unstable; urgency=low
+
+ * Disable building with PETSc, SLEPc and SCOTCH on some arches.
+
+ -- Johannes Ring <johannr@simula.no> Tue, 14 Feb 2012 11:46:11 +0100
+
+dolfin (1.0.0-2) unstable; urgency=low
+
+ * debian/control:
+ - Replace libpetsc3.1-dev and libslepc3.1-dev with libpetsc3.2-dev
+ and libslepc3.2-dev, respectively.
+ - Require libptscotch-dev, libpetsc3.2-dev and libslepc3.2-dev on
+ all arches.
+ * debian/rules: Help CMake find version 3.2 of PETSc and SLEPc by
+ defining PETSC_DIR and SLEPC_DIR variables, respectively.
+
+ -- Johannes Ring <johannr@simula.no> Mon, 30 Jan 2012 11:45:31 +0100
+
+dolfin (1.0.0-1) unstable; urgency=low
+
+ * New upstream release.
+ * debian/control:
+ - Bump version numbers for python-ufc, python-ffc, python-viper,
+ python-ufl and python-instant in Depends field for binary package
+ python-dolfin.
+ - Bump version numbers for ufc and python-ufc in Build-Depends and
+ in Depends field for binary package libdolfin1.0-dev.
+
+ -- Johannes Ring <johannr@simula.no> Thu, 08 Dec 2011 08:47:31 +0100
+
+dolfin (1.0-rc2-1) unstable; urgency=low
+
+ * New upstream release.
+ * debian/control: Bump version for ufc and python-ufc to 2.0.4.
+
+ -- Johannes Ring <johannr@simula.no> Tue, 29 Nov 2011 11:44:52 +0100
+
+dolfin (1.0-rc1-1) unstable; urgency=low
+
+ * New upstream release.
+ * debian/control:
+ - Update Homepage field.
+ - Add libboost-math-dev to Build-Depends and in Depends field for
+ binary package libdolfin1.0-dev.
+ * Disable Trilinos support (version >= 10.8.1 now required).
+ * Remove patch for building with Trilinos.
+ * Update debian/copyright and debian/copyright_hints.
+
+ -- Johannes Ring <johannr@simula.no> Tue, 22 Nov 2011 12:10:02 +0100
+
+dolfin (1.0-beta2-1) unstable; urgency=low
+
+ * New upstream release.
+ * Add lintian override dolfin-dev: empty-binary-package.
+ * debian/control:
+ - Add libboost-mpi-dev in Build-Depends and in Depends field for
+ binary package libdolfin1.0-dev.
+ - Bump version numbers for dependencies ufc, python-ufc, python-ffc,
+ and python-ufl.
+ * debian/patches: Remove patch for importing PyTrilinos before DOLFIN
+ as this is now fixed upstream.
+
+ -- Johannes Ring <johannr@simula.no> Thu, 27 Oct 2011 13:17:47 +0200
+
+dolfin (1.0-beta-1) unstable; urgency=low
+
+ * New upstream release. This release fixes a large number of bugs and
+ brings many improvements. The most notable changes are improved
+ support for parallel computing and a redesigned and simplified
+ interface for solving variational problems.
+ * debian/control:
+ - Add libboost-iostreams-dev to Build-Depends and to Depends in -dev
+ package.
+ - Replace libdolfin0 with libdolfin1.0 and libdolfin0-dev with
+ libdolfin1.0-dev to follow library soname.
+ - Bump required version for ufc, python-ufc, python-ffc,
+ python-viper, python-ufl, and python-instant.
+ - Add provide, replace and conflict on libdolfin0-dev for binary
+ package libdolfin1.0-dev. Similarly for libdolfin1.0-dbg.
+ * Add patch for importing PyTrilinos before dolfin (closes: #631589).
+ * Rename libdolfin0.install to libdolfin1.0.install and
+ libdolfin0-dev.install to libdolfin1.0-dev.install to follow library
+ soname.
+
+ -- Johannes Ring <johannr@simula.no> Wed, 17 Aug 2011 12:01:58 +0200
+
+dolfin (0.9.11-1) unstable; urgency=low
+
+ * New upstream release. This release moves to SWIG 2.0 and it
+ incorporates a significant number of bug fixes.
+ * debian/control:
+ - Bump Standards-Version to 3.9.2 (no changes needed).
+ - Replace swig with swig2.0 in Build-Depends.
+ - Add swig2.0 to Depends for binary package python-dolfin.
+ - Bump required version for ufc and python-ufc in Build-Depends.
+ - Bump required version for ufc, python-ufc, python-ffc, python-ufl
+ and python-instant in Depends for binary packages libdolfin0-dev
+ and python-dolfin.
+ * debian/rules:
+ - Set SWIG_EXECUTABLE to /usr/bin/swig2.0.
+ - Use DEB_COMPRESS_EXCLUDE_ALL instead of deprecated
+ DEB_COMPRESS_EXCLUDE.
+ - Include cdbs utils.mk rule for automated copyright checks.
+ * debian/copyright:
+ - Update for upstream license change to LGPLv3.
+ - Switch to DEP-5 format.
+ * Remove custom cdbs rules and licensecheck script for copyright check.
+ * Disable MPI on lam architectures (closes: #627172).
+ * Add patch to fix FTBFS when Trilinos is enabled (closes: #624925).
+
+ -- Johannes Ring <johannr@simula.no> Wed, 18 May 2011 13:30:21 +0200
+
+dolfin (0.9.10-2) unstable; urgency=low
+
+ * Move from python-central to dh_python2 (closes: #616793).
+ - Remove python-central from Build-Depends.
+ - Bump minimum required python-all-dev package version to 2.6.6-3~.
+ - Remove XB-Python-Version line.
+ - Bump minimum required cdbs version to 0.4.90~.
+ - Replace XS-Python-Version with X-Python-Version.
+ - Replace call to dh_pycentral with dh_python2 in debian/rules.
+ * Build for all supported Python versions.
+ * Remove some unnecessary packages in Depends for binary packages
+ libdolfin0 and libdolfin0-dev.
+ * Add ufc and python-ufc in Depends for binary package libdolfin0-dev.
+ * Add python-ufc, python-ffc, python-viper, python-ufl python-instant,
+ and python-numpy in Depends for binary package python-dolfin.
+ * Disable building with PETSc and SLEPc on some architectures.
+ * Remove old Provides field for binary package python-dolfin.
+
+ -- Johannes Ring <johannr@simula.no> Fri, 15 Apr 2011 09:17:37 +0200
+
+dolfin (0.9.10-1) unstable; urgency=low
+
+ * New upstream release. This release fixes bug "FTBFS: error:
+ 'SCOTCH_Dgraph' was not declared in this scope" (closes: #612602).
+ * debian/control:
+ - Add libslepc3.1-dev and libboost-thread-dev to Build-Depends and
+ Depends field in binary package libdolfin0-dev.
+ - Bump build dependency on python-ufc to >= 2.0.0.
+ - Remove Build-Depends-Indep field as upstream no longer ships the
+ user manual.
+ - Remove old fields Conflicts, Provides, and Replaces from
+ libdolfin0-dev, libdolfin0, libdolfin0-dbg, and python-dolfin.
+ * Remove all patches as they are now incorporated upstream.
+ * Add dolfin-plot and dolfin-version to debian/dolfin-bin.install.
+ * Remove .doc-base file since the user manual is removed by upstream.
+ * Remove targets clean and install/dolfin-doc from debian/rules since
+ they are no longer needed.
+
+ -- Johannes Ring <johannr@simula.no> Thu, 24 Feb 2011 10:34:44 +0100
+
+dolfin (0.9.9-4) unstable; urgency=low
+
+ * Update Homepage field in debian/control and Maintainer field in
+ debian/copyright.
+ * Add patch for generating correct pkg-config file dolfin.pc.
+
+ -- Johannes Ring <johannr@simula.no> Tue, 11 Jan 2011 12:36:55 +0100
+
+dolfin (0.9.9-3) unstable; urgency=low
+
+ * Add patch from upstream to fix problem with the CMake config file
+ (dolfin-config.cmake) having the wrong path to the DOLFIN library.
+
+ -- Johannes Ring <johannr@simula.no> Tue, 14 Sep 2010 18:45:39 +0200
+
+dolfin (0.9.9-2) unstable; urgency=low
+
+ * debian/rules: Make CMake skip adding runtime paths.
+
+ -- Johannes Ring <johannr@simula.no> Tue, 14 Sep 2010 10:49:24 +0200
+
+dolfin (0.9.9-1) unstable; urgency=low
+
+ * New upstream release.
+ * Switch to CMake CDBS class:
+ - Replace scons with cmake in Build-Depends and in Suggests for
+ binary package dolfin-doc.
+ - Add cmake to Depends field for binary package libdolfin0-dev.
+ - Install CMake config file for DOLFIN with package libdolfin0-dev.
+ * debian/control:
+ - Update version for python-ufc in Build-Depends field.
+ - Update version for python-ufl in Depends field for binary package
+ libdolfin0-dev.
+ - Update version for ufc and python-ffc in Depends field for binary
+ package libdolfin0-dev.
+ - Bump Standards-Version to 3.9.1 (no changes needed).
+ * Add patches from upstream to help CMake find PETSc, SLEPc, and
+ Trilinos and for installing some missing utilities (dolfin-convert
+ and dolfin-order) and manual pages.
+ * Update debian/copyright and debian/copyright_hints.
+
+ -- Johannes Ring <johannr@simula.no> Mon, 13 Sep 2010 11:45:17 +0200
+
+dolfin (0.9.8-3) unstable; urgency=low
+
+ * Disable Trilinos on non-supported platforms (closes: #590100).
+
+ -- Johannes Ring <johannr@simula.no> Wed, 04 Aug 2010 16:47:38 +0200
+
+dolfin (0.9.8-2) unstable; urgency=low
+
+ * Fix generation of pkg-config file dolfin.pc.
+
+ -- Johannes Ring <johannr@simula.no> Sun, 04 Jul 2010 20:41:45 +0200
+
+dolfin (0.9.8-1) unstable; urgency=low
+
+ * New upstream release.
+ * debian/control:
+ - Update version for python-ufc in Build-Depends field.
+ - Update version for python-ufl in Depends field for binary package
+ libdolfin0-dev.
+ - Update version for ufc, python-ffc, and python-viper in Depends
+ field for binary package libdolfin0-dev.
+ - Add libarmadillo-dev to Build-Depends and Depends for binary
+ package libdolfin0-dev.
+ * Allow building against either version 3.0.0 or 3.1 of PETSc.
+ * Remove patches (added upstream).
+ * Switch to dpkg-source 3.0 (quilt) format.
+ * Update debian/copyright and debian/copyright_hints.
+ * Enable Trilinos support.
+
+ -- Johannes Ring <johannr@simula.no> Fri, 02 Jul 2010 13:24:21 +0200
+
+dolfin (0.9.7-5) unstable; urgency=low
+
+ * Add patch from upstream to detect and build with SCOTCH.
+
+ -- Johannes Ring <johannr@simula.no> Mon, 14 Jun 2010 13:15:04 +0200
+
+dolfin (0.9.7-4) unstable; urgency=low
+
+ * Add support for PETSc 3.1 (closes: #583419).
+ * Minor fix in Vcs fields in debian/control.
+
+ -- Johannes Ring <johannr@simula.no> Mon, 07 Jun 2010 09:25:13 +0200
+
+dolfin (0.9.7-3) unstable; urgency=low
+
+ * debian/rules: Remove bashism (closes: #581470).
+
+ -- Johannes Ring <johannr@simula.no> Thu, 20 May 2010 10:27:06 +0200
+
+dolfin (0.9.7-2) unstable; urgency=low
+
+ * Package moved from pkg-scicomp to Debian Science.
+ * Enable building for multiple Python versions.
+ * debian/control:
+ - Replace python-dev with python-all-dev in Build-Depends.
+ - Update version dependencies for python-ufc, ufc, python-ffc, and
+ python-viper (closes: #571780).
+ - Replace libscotch-dev with libptscotch-dev in Build-Depends and in
+ Depends for binary package libdolfin0-dev.
+ * Add configure target to cdbs tweaks for scons.
+ * Rename binary package python-pydolfin0 to python-dolfin.
+
+ -- Johannes Ring <johannr@simula.no> Tue, 27 Apr 2010 17:21:22 +0200
+
+dolfin (0.9.7-1) unstable; urgency=low
+
+ * New upstream release.
+ * debian/control: Add pkg-config to Build-Depends and Depends in
+ binary package libdolfin0-dev.
+ * Do not build with GTS (support was removed upstream).
+ * Keep debian/copyright and debian/copyright_hints up to date.
+
+ -- Johannes Ring <johannr@simula.no> Thu, 18 Feb 2010 00:40:38 +0100
+
+dolfin (0.9.6-2) unstable; urgency=low
+
+ * Disable support for Trilinos for now.
+
+ -- Johannes Ring <johannr@simula.no> Sat, 13 Feb 2010 09:55:48 +0100
+
+dolfin (0.9.6-1) unstable; urgency=low
+
+ * New upstream release.
+ * debian/control:
+ - Add libtrilinos-dev to Build-Depends and Depends for binary
+ package libdolfin0-dev.
+ - Add python-pytrilinos to Build-Depends and Depends for binary
+ package python-pydolfin0.
+ - Bump Standards-Version to 3.8.4 (no changes needed).
+ * debian/rules:
+ - Enable building with Trilinos.
+ - Remove some old lintian fixes.
+ - Fix problem when generating pkg-config dolfin.pc in
+ install/libdolfin0-dev target.
+ * debian/copyright: Keep up-to-date with new and removed files.
+
+ -- Johannes Ring <johannr@simula.no> Fri, 12 Feb 2010 10:27:02 +0100
+
+dolfin (0.9.5-1) unstable; urgency=low
+
+ * New upstream release. This release simplifies the use of Constants
+ and Expressions in both the C++ and Python interfaces, with the
+ automatic selection of function spaces from Python. Support for
+ computing eigenvalues of symmetric matrices has been improved and a
+ number of small bugs have been fixed.
+ * debian/watch: Update download URL.
+ * debian/copyright: Update for new and removed files.
+ * debian/rules:
+ - Include new adaptivity demos in dolfin-doc package.
+ - Disable ParMETIS and MTL4 explicitly.
+ * Add debian/dolfin-doc.doc-base for DOLFIN user manual.
+ * debian/control: Slight modifications in package descriptions.
+ * debian/python-pydolfin0.install: Allow both site-packages and
+ dist-packages.
+
+ -- Johannes Ring <johannr@simula.no> Thu, 10 Dec 2009 11:53:04 +0100
+
+dolfin (0.9.4-1) unstable; urgency=low
+
+ * New upstream release. This version cleans up the design of the
+ function class by adding a new abstraction for user-defined
+ functions called Expression. A number of minor bugfixes and
+ improvements have also been made.
+ * debian/watch: Update for new flat directory structure.
+ * Update debian/copyright.
+ * debian/rules: Use explicit paths to PETSc 3.0.0 and SLEPc 3.0.0.
+
+ -- Johannes Ring <johannr@simula.no> Mon, 12 Oct 2009 14:13:18 +0200
+
+dolfin (0.9.3-1) unstable; urgency=low
+
+ * New upstream release. This version provides many new features,
+ improvements and bug fixes, including improved XML file handling,
+ improved Python support and compressed VTK file output. Experimental
+ parallel assembly and solve is now available, with fully distributed
+ meshes, parallel mesh partitioning and parallel IO.
+ * debian/control:
+ - Add DM-Upload-Allowed: yes.
+ - Bump debhelper version to 7.
+ - Bump Standards-Version to 3.8.3 (no changes needed).
+ - Add libboost-program-options-dev and libboost-filesystem-dev to
+ Build-Depends and to Depends for binary package libdolfin0-dev.
+ * debian/rules:
+ - Update for new 3 step build process.
+ - Build documentation.
+ * Update debian/copyright.
+ * Remove old patches (now included upstream).
+ * Remove (temporary) support for Trilinos because of #529807.
+
+ -- Johannes Ring <johannr@simula.no> Mon, 28 Sep 2009 09:21:05 +0200
+
+dolfin (0.9.2-2) unstable; urgency=low
+
+ * debian/control:
+ - add build-dependency on libtrilinos-dev and
+ libboost-serialization-dev (closes: #540118).
+ - add libtrilinos-dev to Depends field for -dev package.
+ - add python-pytrilinos to Depends field for python- package.
+ - change -dbg package section to debug (removes lintian warning).
+ - update Standard-Version to 3.8.2.
+ * debian/rules: enable building against Trilinos.
+ * debian/patches: add patch for build system to find Trilinos (taken
+ from upstream development repository).
+
+ -- Johannes Ring <johannr@simula.no> Mon, 10 Aug 2009 16:03:52 +0200
+
+dolfin (0.9.2-1) unstable; urgency=low
+
+ * Initial release (Closes: #503082)
+
+ -- Johannes Ring <johannr@simula.no> Tue, 16 Sep 2008 08:41:20 +0200
+
--- /dev/null
+Source: dolfin
+Section: math
+Priority: optional
+Maintainer: Debian Science Team <debian-science-maintainers@lists.alioth.debian.org>
+Uploaders:
+ Johannes Ring <johannr@simula.no>,
+ Drew Parsons <dparsons@debian.org>
+Build-Depends:
+ cmake (>= 3.5),
+ debhelper (>= 12),
+ dh-python,
+ gfortran,
+ chrpath,
+ libboost-chrono-dev,
+ libboost-dev (>= 1.56),
+ libboost-filesystem-dev,
+ libboost-iostreams-dev,
+ libboost-math-dev,
+ libboost-mpi-dev,
+ libboost-program-options-dev,
+ libboost-serialization-dev,
+ libboost-thread-dev,
+ libboost-timer-dev,
+ libeigen3-dev (>= 3.2.90),
+ libhdf5-mpi-dev,
+ libsuitesparse-dev,
+ libscotch-dev,
+ libxml2-dev,
+ mpi-default-dev,
+ petsc-dev (>= 3.7),
+ slepc-dev (>= 3.7),
+ pybind11-dev (>= 2.2.0),
+ python3-setuptools,
+ python3-petsc4py,
+ python3-slepc4py,
+ pkg-config,
+ python3-all-dev,
+ python3-pkg-resources,
+ python3-ffc (>= 2018.1), python3-ffc (<< 2018.2),
+ python3-dijitso (>= 2018.1), python3-dijitso (<< 2018.2),
+ python3-numpy,
+ python3-ply
+Standards-Version: 4.3.0
+Homepage: http://fenicsproject.org
+Vcs-Git: https://salsa.debian.org/science-team/fenics/dolfin.git
+Vcs-Browser: https://salsa.debian.org/science-team/fenics/dolfin
+
+Package: libdolfin-dev
+Section: libdevel
+Architecture: any
+Depends:
+ cmake (>= 2.8.0),
+ libboost-chrono-dev,
+ libboost-dev,
+ libboost-filesystem-dev,
+ libboost-iostreams-dev,
+ libboost-math-dev,
+ libboost-mpi-dev,
+ libboost-program-options-dev,
+ libboost-serialization-dev,
+ libboost-thread-dev,
+ libboost-timer-dev,
+ libdolfin2018.1 (= ${binary:Version}),
+ libeigen3-dev,
+ libhdf5-mpi-dev,
+ libsuitesparse-dev,
+ libscotch-dev,
+ libxml2-dev,
+ pkg-config,
+ python3-ffc (>= ${fenics:Upstream-Version}), python3-ffc (<< ${fenics:Next-Upstream-Version}),
+ ${petsc:Depends},
+ ${misc:Depends}
+Conflicts:
+ libdolfin0-dev,
+ libdolfin1.0-dev,
+ libdolfin1.1-dev,
+ libdolfin1.2-dev,
+ libdolfin1.3-dev,
+ libdolfin1.4-dev
+Replaces:
+ libdolfin0-dev,
+ libdolfin1.0-dev,
+ libdolfin1.1-dev,
+ libdolfin1.2-dev,
+ libdolfin1.3-dev,
+ libdolfin1.4-dev
+Description: Shared links and header files for DOLFIN
+ DOLFIN is the Python and C++ interface of the FEniCS project for the
+ automated solution of differential equations, providing a consistent
+ PSE (Problem Solving Environment) for solving ordinary and partial
+ differential equations. Key features include a simple, consistent and
+ intuitive object-oriented API; automatic and efficient evaluation of
+ variational forms; automatic and efficient assembly of linear
+ systems; and support for general families of finite elements.
+ .
+ This package contains the development files.
+
+Package: libdolfin2018.1
+Section: libs
+Architecture: any
+Multi-Arch: same
+Depends: ${misc:Depends}, ${shlibs:Depends}
+Suggests: dolfin-doc, python3-dolfin
+Description: Shared libraries for DOLFIN
+ DOLFIN is the Python and C++ interface of the FEniCS project for the
+ automated solution of differential equations, providing a consistent
+ PSE (Problem Solving Environment) for solving ordinary and partial
+ differential equations. Key features include a simple, consistent and
+ intuitive object-oriented API; automatic and efficient evaluation of
+ variational forms; automatic and efficient assembly of linear
+ systems; and support for general families of finite elements.
+ .
+ This package contains the shared libraries.
+
+Package: python3-dolfin
+Section: python
+Architecture: any
+Depends:
+ libdolfin-dev (= ${binary:Version}),
+ libdolfin2018.1 (= ${binary:Version}),
+ python3-dijitso (>= ${fenics:Upstream-Version}), python3-dijitso (<< ${fenics:Next-Upstream-Version}),
+ python3-ffc (>= ${fenics:Upstream-Version}), python3-ffc (<< ${fenics:Next-Upstream-Version}),
+ python3-ufl (>= ${fenics:Upstream-Version}), python3-ufl (<< ${fenics:Next-Upstream-Version}),
+ python3-numpy,
+ python3-ply,
+ python3-pybind11 (>= ${pybind11:Upstream-Version}), python3-pybind11 (<< ${pybind11:Next-Upstream-Version}),
+ python3-six,
+ python3-sympy,
+ ${python3-petsc4py:Depends},
+ ${misc:Depends},
+ ${python3:Depends},
+ ${shlibs:Depends}
+Suggests: dolfin-doc
+Description: Python interface for DOLFIN (Python 3)
+ DOLFIN is the Python and C++ interface of the FEniCS project for the
+ automated solution of differential equations, providing a consistent
+ PSE (Problem Solving Environment) for solving ordinary and partial
+ differential equations. Key features include a simple, consistent and
+ intuitive object-oriented API; automatic and efficient evaluation of
+ variational forms; automatic and efficient assembly of linear
+ systems; and support for general families of finite elements.
+ .
+ This package contains the Python interface for DOLFIN (Python 3).
+
+Package: python-dolfin
+Section: python
+Architecture: all
+Depends:
+ python3-dolfin (>= ${fenics:Upstream-Version}), ${misc:Depends}
+Description: Python interface for DOLFIN
+ DOLFIN is the Python and C++ interface of the FEniCS project for the
+ automated solution of differential equations, providing a consistent
+ PSE (Problem Solving Environment) for solving ordinary and partial
+ differential equations. Key features include a simple, consistent and
+ intuitive object-oriented API; automatic and efficient evaluation of
+ variational forms; automatic and efficient assembly of linear
+ systems; and support for general families of finite elements.
+ .
+ This is a dummy package that depends on python3-dolfin.
+ (DOLFIN no longer supports Python 2).
+
+Package: dolfin-doc
+Architecture: all
+Section: doc
+Depends:
+ libdolfin-dev (>= ${source:Version}),
+ python3-dolfin (>= ${source:Version}),
+ ${misc:Depends}
+Suggests: cmake (>= 2.8.0)
+Description: Documentation and demo programs for DOLFIN
+ DOLFIN is the Python and C++ interface of the FEniCS project for the
+ automated solution of differential equations, providing a consistent
+ PSE (Problem Solving Environment) for solving ordinary and partial
+ differential equations. Key features include a simple, consistent and
+ intuitive object-oriented API; automatic and efficient evaluation of
+ variational forms; automatic and efficient assembly of linear
+ systems; and support for general families of finite elements.
+ .
+ This package contains documentation and demo programs for DOLFIN.
+
+Package: dolfin-bin
+Architecture: all
+Depends:
+ python3-dolfin (>= ${source:Version}),
+ ${misc:Depends},
+ ${python3:Depends}
+Description: Executable scripts for DOLFIN
+ DOLFIN is the Python and C++ interface of the FEniCS project for the
+ automated solution of differential equations, providing a consistent
+ PSE (Problem Solving Environment) for solving ordinary and partial
+ differential equations. Key features include a simple, consistent and
+ intuitive object-oriented API; automatic and efficient evaluation of
+ variational forms; automatic and efficient assembly of linear
+ systems; and support for general families of finite elements.
+ .
+ This package contains executable scripts for DOLFIN.
--- /dev/null
+Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: DOLFIN
+Upstream-Contact: fenics@fenicsproject.org
+ https://fenicsproject.org/community/
+Source: https://bitbucket.org/fenics-project/dolfin
+
+Files: *
+Copyright: 2001-2017, Johan Hake,
+ Anders Logg,
+ Garth N. Wells,
+ Johan Hoffman,
+ Jim Tilander,
+ Jan Blechta,
+ Johan Jansson,
+ Ola Skavhaug,
+ Magne Nordaas,
+ Kristian B. Oelgaard,
+ Martin Sandve Alnæs,
+ Magnus Vikstrøm,
+ Evan Lezar,
+ Ilmar Wilbers,
+ Kent-Andre Mardal,
+ Rolv Erlend Bredesen,
+ Solveig Bruvoll,
+ Niclas Jansson,
+ Dag Lindbo,
+ Ilmar Wilbers,
+ Joachim B. Haga,
+ Fredrik Valdmanis,
+ Andre Massing,
+ Bartosz Sawicki,
+ Mirko Maraldi,
+ Harish Narayanan,
+ Stefano Zampini,
+ Marie E. Rognes,
+ Chris Richardson,
+ Arve Knudsen,
+ Harish Narayanan,
+ Corrado Maurini,
+ David Ham, Imperial College London,
+ Mikael Mortensen,
+ Patrick E. Farrell,
+ August Johansson,
+ Aslak Wigdahl Bergersen,
+ Matthias Liertzer,
+ Tianyi Li,
+ Benjamin Kehlet,
+ Tormod Landet,
+ Ettie Unwin,
+ Jørgen Schartum Dokken,
+ Nathan Sime,
+ Peter Scott,
+ Quang T. Ha,
+ Simon Funke,
+ Michal Habera
+License: LGPL-3+
+
+Files: debian/*
+Copyright: 2008-2017, Johannes Ring <johannr@simula.no>
+ 2017-2018 Drew Parsons <dparsons@debian.org>
+License: GPL-2+
+
+Files: cmake/modules/FindAMD.cmake
+ cmake/modules/FindBLASHeader.cmake
+ cmake/modules/FindCHOLMOD.cmake
+ cmake/modules/FindNumPy.cmake
+ cmake/modules/FindPETSc.cmake
+ cmake/modules/FindParMETIS.cmake
+ cmake/modules/FindSCOTCH.cmake
+ cmake/modules/FindSLEPc.cmake
+ cmake/modules/FindSphinx.cmake
+Copyright: 2010-2016, Garth N. Wells,
+ Anders Logg,
+ Johannes Ring,
+ Marie Rognes,
+ Lawrence Mitchell
+License: BSD-2-clause
+
+Files: cmake/modules/FindPETSc4py.cmake
+ cmake/modules/FindSLEPc4py.cmake
+ python/cmake/FindPETSc4py.cmake
+Copyright: 2013 Lawrence Mitchell
+License: BSD-2-clause
+
+Files: cmake/modules/FindEigen3.cmake
+Copyright: 2006-2009, Montel Laurent, <montel@kde.org>
+ Gael Guennebaud, <g.gael@free.fr>
+ Benoit Jacob <jacob.benoit.1@gmail.com>
+ Garth N. Wells <gnw20@cam.ac.uk>
+License: BSD-2-clause
+
+Files: cmake/modules/FindEigen3.cmake
+ cmake/modules/FindMPFR.cmake
+Copyright: 2006-2010, Montel Laurent, <montel@kde.org>
+ Gael Guennebaud, <g.gael@free.fr>
+ Jitse Niesen, <jitse@maths.leeds.ac.uk>
+License: BSD-2-clause
+
+Files: cmake/modules/FindBLAS.cmake
+ cmake/modules/FindLAPACK.cmake
+Copyright: 2007-2009 Kitware, Inc.,
+License: BSD-3-clause
+
+Files: cmake/modules/FindMPI.cmake
+Copyright: 2001-2011 Kitware, Inc.,
+ Todd Gamblin <tgamblin@llnl.gov>,
+ Dave Partyka
+License: BSD-3-clause
+
+Files: dolfin/geometry/predicates.*
+Copyright: 1996 Jonathan Richard Shewchuk <jrs@cs.cmu.edu>
+License: public-domain
+ Code is placed in the public domain.
+
+Files: dolfin/io/base64.cpp
+Copyright: 2004-2008, Rene Nyffenegger <rene.nyffenegger@adp-gmbh.ch>
+License: Zlib
+
+Files: dolfin/io/pugiconfig.hpp
+Copyright: 2003, Kristen Wegner (kristen@tima.net)
+ 2006-2012, Arseny Kapoulkine (arseny.kapoulkine@gmail.com)
+License: Expat
+
+Files: site-packages/dolfin_utils/cppparser/CppHeaderParser.py
+Copyright: 2011, Jashua R. Cloutier
+License: BSD-3-clause
+
+Files: site-packages/dolfin_utils/ordereddict.py
+Copyright: 2009, Raymond Hettinger
+License: Expat
+
+Files: test/unit/cpp/catch/catch.hpp
+Copyright: 2012 Two Blue Cubes Ltd
+License: Boost-1.0
+
+Files: utils/pylit/*
+Copyright: 2005, 2009 GĂĽnter Milde
+License: GPL-2+
+
+Files: utils/x3dom/*
+Copyright: 2016 Peter Scott
+License: LGPL-3+
+
+License: LGPL-3+
+ This software is free software; you can redistribute it and/or modify
+ it under the terms of the GNU Lesser General Public License as
+ published by the Free Software Foundation; either version 3 of the
+ License, or (at your option) any later version.
+ .
+ This software is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+ .
+ You should have received a copy of the GNU Lesser General Public
+ License along with this software. If not, see
+ <http://www.gnu.org/licenses/>.
+ .
+ On Debian systems the full text of the GNU Lesser General Public
+ License, version 3 can be found in the file
+ '/usr/share/common-licenses/LGPL-3'.
+
+License: BSD-2-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.
+ .
+ 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.
+
+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 copyright
+ notice, this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+ 3. The name of the author may not be used to endorse or promote products
+ derived from this software without specific prior written permission.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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.
+
+License: Zlib
+ This source code is provided 'as-is', without any express or implied
+ warranty. In no event will the author be held liable for any damages
+ arising from the use of this software.
+ .
+ Permission is granted to anyone to use this software for any purpose,
+ including commercial applications, and to alter it and redistribute it
+ freely, subject to the following restrictions:
+ .
+ 1. The origin of this source code must not be misrepresented; you must not
+ claim that you wrote the original source code. If you use this source code
+ in a product, an acknowledgment in the product documentation would be
+ appreciated but is not required.
+ .
+ 2. Altered source versions must be plainly marked as such, and must not be
+ misrepresented as being the original source code.
+ .
+ 3. This notice may not be removed or altered from any source distribution.
+
+License: Expat
+ Permission is hereby granted, free of charge, to any person
+ obtaining a copy of this software and associated documentation
+ files (the "Software"), to deal in the Software without
+ restriction, including without limitation the rights to use,
+ copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the
+ Software is furnished to do so, subject to the following
+ conditions:
+ .
+ The above copyright notice and this permission notice shall be
+ included in all copies or substantial portions of the Software.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ OTHER DEALINGS IN THE SOFTWARE.
+
+License: Boost-1.0
+ Boost Software License - Version 1.0 - August 17th, 2003
+ .
+ Permission is hereby granted, free of charge, to any person or organization
+ obtaining a copy of the software and accompanying documentation covered by
+ this license (the "Software") to use, reproduce, display, distribute,
+ execute, and transmit the Software, and to prepare derivative works of the
+ Software, and to permit third-parties to whom the Software is furnished to
+ do so, all subject to the following:
+ .
+ The copyright notices in the Software and this entire statement, including
+ the above license grant, this restriction and the following disclaimer,
+ must be included in all copies of the Software, in whole or in part, and
+ all derivative works of the Software, unless such copies or derivative
+ works are solely in the form of machine-executable object code generated by
+ a source language processor.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
+ SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
+ FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
+ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ DEALINGS IN THE SOFTWARE.
+
+License: GPL-2+
+ This software is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as
+ published by the Free Software Foundation; either version 2 of the
+ License, or (at your option) any later version.
+ .
+ This software is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+ .
+ You should have received a copy of the GNU General Public
+ License along with this software. If not, see
+ <http://www.gnu.org/licenses/>.
+ .
+ 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'.
+
--- /dev/null
+AUTHORS
+README.rst
--- /dev/null
+usr/bin/dolfin-convert
+usr/bin/dolfin-get-demos
+usr/bin/dolfin-order
+usr/bin/dolfin-plot
+usr/bin/dolfin-version
+usr/bin/fenics-version
+# usr/share/man/man1/dolfin-convert.1.gz
+# usr/share/man/man1/dolfin-order.1.gz
+# usr/share/man/man1/dolfin-plot.1.gz
+# usr/share/man/man1/dolfin-version.1.gz
--- /dev/null
+usr/share/man/man1/dolfin-version.1.gz usr/share/man/man1/fenics-version.1.gz
\ No newline at end of file
--- /dev/null
+debian/dolfin-get-demos.1
+debian/dolfin-convert.1.gz
+debian/dolfin-order.1.gz
+debian/dolfin-plot.1.gz
+debian/dolfin-version.1.gz
--- /dev/null
+usr/share/dolfin/data
+usr/share/dolfin/demo
+python/demo/*documented usr/share/dolfin/demo-python
--- /dev/null
+usr/share/dolfin/demo-python/undocumented/pulley.xdmf usr/share/dolfin/demo/undocumented/elasticity/pulley.xdmf
--- /dev/null
+.TH "DOLFIN-GET-DEMOS" 1
+
+.SH NAME
+dolfin-get-demos - install DOLFIN demos in user's home direcotry
+
+.SH SYNOPSIS
+.B dolfin-get-demos
+
+.SH BUGS
+.TP
+For comments, questions, bug reports etc. see http://fenicsproject.org/support.
+
+.SH AUTHOR
+dolfin-get-demos was written by Anders Logg <logg@chalmers.se>.
--- /dev/null
+usr/include/dolfin
+usr/include/dolfin.h
+usr/lib/**/*.so
+usr/lib/**/pkgconfig/dolfin.pc
+usr/share/dolfin/cmake
--- /dev/null
+usr/lib/**/lib*.so.*
--- /dev/null
+usr/share/dolfin/dolfin.conf
--- /dev/null
+Index: dolfin/dolfin/la/PETScOptions.h
+===================================================================
+--- dolfin.orig/dolfin/la/PETScOptions.h
++++ dolfin/dolfin/la/PETScOptions.h
+@@ -22,7 +22,7 @@
+
+ #include <string>
+ #include <boost/lexical_cast.hpp>
+-#include <petscoptions.h>
++#include <petscsys.h>
+ #include <dolfin/common/SubSystemsManager.h>
+ #include <dolfin/log/log.h>
+ #include "PETScObject.h"
+Index: dolfin/dolfin/la/PETScVector.cpp
+===================================================================
+--- dolfin.orig/dolfin/la/PETScVector.cpp
++++ dolfin/dolfin/la/PETScVector.cpp
+@@ -749,7 +749,11 @@ void PETScVector::gather(GenericVector&
+
+ // Perform scatter
+ VecScatter scatter;
++#if PETSC_VERSION_GE(3,11,0)
++ ierr = VecScatterCreateWithData(_x, from, _y.vec(), to, &scatter);
++#else
+ ierr = VecScatterCreate(_x, from, _y.vec(), to, &scatter);
++#endif
+ CHECK_ERROR("VecScatterCreate");
+ ierr = VecScatterBegin(scatter, _x, _y.vec(), INSERT_VALUES,
+ SCATTER_FORWARD);
+Index: dolfin/dolfin/nls/PETScSNESSolver.cpp
+===================================================================
+--- dolfin.orig/dolfin/nls/PETScSNESSolver.cpp
++++ dolfin/dolfin/nls/PETScSNESSolver.cpp
+@@ -48,7 +48,9 @@ PETScSNESSolver::_methods
+ = { {"default", {"default SNES method", ""}},
+ {"newtonls", {"Line search method", SNESNEWTONLS}},
+ {"newtontr", {"Trust region method", SNESNEWTONTR}},
++#if PETSC_VERSION_LT(3,10,0)
+ {"test", {"Tool to verify Jacobian approximation", SNESTEST}},
++#endif
+ {"ngmres", {"Nonlinear generalised minimum residual method",
+ SNESNGMRES}},
+ {"nrichardson", {"Richardson nonlinear method (Picard iteration)",
--- /dev/null
+Index: dolfin/cmake/modules/FindCHOLMOD.cmake
+===================================================================
+--- dolfin.orig/cmake/modules/FindCHOLMOD.cmake
++++ dolfin/cmake/modules/FindCHOLMOD.cmake
+@@ -42,7 +42,9 @@ set(CMAKE_LIBRARY_PATH ${LAPACK_DIR}/lib
+ find_package(AMD QUIET)
+ find_package(BLAS QUIET)
+ find_package(LAPACK QUIET)
+-find_package(ParMETIS 4.0.2 QUIET)
++if (DOLFIN_ENABLE_PARMETIS)
++ find_package(ParMETIS 4.0.2 QUIET)
++endif()
+
+ # FIXME: Should we have separate FindXX modules for CAMD, COLAMD, and CCOLAMD?
+ # FIXME: find_package(CAMD)
--- /dev/null
+Index: dolfin/dolfin/CMakeLists.txt
+===================================================================
+--- dolfin.orig/dolfin/CMakeLists.txt
++++ dolfin/dolfin/CMakeLists.txt
+@@ -307,6 +307,10 @@ endforeach()
+ string(REPLACE ";" " " PKG_CXXFLAGS "${CMAKE_CXX_FLAGS}")
+ string(REPLACE ";" " " PKG_LINKFLAGS "${CMAKE_EXE_LINKER_FLAGS}")
+
++# DOLFIN_EXTRA_CXX_FLAGS are used for the build (by adding to CMAKE_CXX_FLAGS)
++# but should not be included in the pkgconfig file (i.e. don't add to PKG_CXXFLAGS above)
++set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${DOLFIN_EXTRA_CXX_FLAGS}")
++
+ # Convert libraries to -L<libdir> -l<lib> form
+ foreach(_lib ${PKGCONFIG_DOLFIN_LIBS})
+ # Add -Wl,option directives
--- /dev/null
+Index: dolfin/dolfin/nls/PETScSNESSolver.cpp
+===================================================================
+--- dolfin.orig/dolfin/nls/PETScSNESSolver.cpp
++++ dolfin/dolfin/nls/PETScSNESSolver.cpp
+@@ -560,16 +560,16 @@ void PETScSNESSolver::set_linear_solver_
+ }
+ else
+ {
+- #if PETSC_HAVE_SUPERLU_DIST
+- lu_method = "superlu_dist";
+- #elif PETSC_HAVE_PASTIX
++ #if PETSC_HAVE_PASTIX
+ lu_method = "pastix";
+ #elif PETSC_HAVE_MUMPS
+ lu_method = "mumps";
++ #elif PETSC_HAVE_SUPERLU_DIST
++ lu_method = "superlu_dist";
+ #else
+ dolfin_error("PETScSNESSolver.cpp",
+ "solve linear system using PETSc LU solver",
+- "No suitable solver for parallel LU found. Consider configuring PETSc with MUMPS or SuperLU_dist");
++ "No suitable solver for parallel LU found. Consider configuring PETSc with MUMPS (preferred) or SuperLU_dist");
+ #endif
+ }
+ }
+Index: dolfin/dolfin/nls/PETScTAOSolver.cpp
+===================================================================
+--- dolfin.orig/dolfin/nls/PETScTAOSolver.cpp
++++ dolfin/dolfin/nls/PETScTAOSolver.cpp
+@@ -519,16 +519,16 @@ void PETScTAOSolver::set_ksp_options()
+ }
+ else
+ {
+- #if PETSC_HAVE_SUPERLU_DIST
+- lu_method = "superlu_dist";
+- #elif PETSC_HAVE_PASTIX
++ #if PETSC_HAVE_PASTIX
+ lu_method = "pastix";
+ #elif PETSC_HAVE_MUMPS
+ lu_method = "mumps";
++ #elif PETSC_HAVE_SUPERLU_DIST
++ lu_method = "superlu_dist";
+ #else
+ dolfin_error("PETScTAOSolver.cpp",
+ "solve linear system using PETSc LU solver",
+- "No suitable solver for parallel LU found. Consider configuring PETSc with MUMPS or SuperLU_dist");
++ "No suitable solver for parallel LU found. Consider configuring PETSc with MUMPS (preferred) or SuperLU_dist");
+ #endif
+ }
+ }
+Index: dolfin/dolfin/la/PETScLUSolver.cpp
+===================================================================
+--- dolfin.orig/dolfin/la/PETScLUSolver.cpp
++++ dolfin/dolfin/la/PETScLUSolver.cpp
+@@ -329,22 +329,17 @@ const MatSolverType PETScLUSolver::selec
+ {
+ #if PETSC_HAVE_UMFPACK || PETSC_HAVE_SUITESPARSE
+ method = "umfpack";
+- #elif PETSC_HAVE_SUPERLU_DIST
+- method = "superlu_dist";
++ // superlu_dist does not work efficiently since mc64 cannot be redistributed. So use PETSc in preference to superlu_dist
+ #else
+ method = "petsc";
+- warning("Using PETSc native LU solver. Consider configuring PETSc with an efficient LU solver (e.g. Umfpack, SuperLU_dist).");
++ warning("Using PETSc native LU solver. Consider configuring PETSc with an efficient LU solver (e.g. Umfpack).");
+ #endif
+ }
+ else
+ {
+- #if PETSC_HAVE_SUPERLU_DIST
+- method = "superlu_dist";
+- #else
++ // superlu_dist does not work efficiently since mc64 cannot be redistributed. So use PETSc in preference to superlu_dist
+ method = "petsc";
+- warning("Using PETSc native LU solver. Consider configuring PETSc with an efficient LU solver (e.g. SuperLU_dist).");
+- #endif
+-
++ warning("Using PETSc native LU solver. Consider specifying a more efficient LU solver (e.g.umfpack) if available.");
+ }
+ #else
+ if (dolfin::MPI::size(comm) == 1)
+@@ -357,8 +352,7 @@ const MatSolverType PETScLUSolver::selec
+ method = "pastix";
+ #elif PETSC_HAVE_SUPERLU
+ method = "superlu";
+- #elif PETSC_HAVE_SUPERLU_DIST
+- method = "superlu_dist";
++ // superlu_dist does not work efficiently since mc64 cannot be redistributed. So use PETSc in preference to superlu_dist
+ #else
+ method = "petsc";
+ warning("Using PETSc native LU solver. Consider configuring PETSc with an efficient LU solver (e.g. UMFPACK, MUMPS).");
+@@ -368,10 +362,10 @@ const MatSolverType PETScLUSolver::selec
+ {
+ #if PETSC_HAVE_MUMPS
+ method = "mumps";
+- #elif PETSC_HAVE_SUPERLU_DIST
+- method = "superlu_dist";
+ #elif PETSC_HAVE_PASTIX
+ method = "pastix";
++ #elif PETSC_HAVE_SUPERLU_DIST
++ method = "superlu_dist";
+ #else
+ dolfin_error("PETScLUSolver.cpp",
+ "solve linear system using PETSc LU solver",
--- /dev/null
+From 096217a0a3cb710e869d7e82a3d3609c4d968b76 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?C=C3=A9cile=20Daversin-Catty?= <cecile@simula.no>
+Date: Tue, 20 Nov 2018 11:19:52 +0100
+Subject: [PATCH] Pytest fixes - update unit tests to fit with last pytest
+ version
+
+---
+ python/dolfin_utils/test/fixtures.py | 5 +-
+ python/test/unit/fem/test_dofmap.py | 16 ++--
+ python/test/unit/fem/test_finite_element.py | 2 +-
+ .../unit/fem/test_symbolic_geometry_assembly.py | 101 ++++++++++++---------
+ python/test/unit/function/test_function_space.py | 4 +-
+ python/test/unit/la/test_lu_solver.py | 2 +-
+ python/test/unit/la/test_nullspace.py | 2 +-
+ python/test/unit/mesh/test_mesh.py | 14 +--
+ .../unit/multimesh/test_multimesh_cell_types.py | 18 ++--
+ python/test/unit/multimesh/test_multimesh_solve.py | 29 +++---
+ 10 files changed, 109 insertions(+), 84 deletions(-)
+
+diff --git a/python/dolfin_utils/test/fixtures.py b/python/dolfin_utils/test/fixtures.py
+index 790aa2f..a39b8aa 100644
+--- a/python/dolfin_utils/test/fixtures.py
++++ b/python/dolfin_utils/test/fixtures.py
+@@ -82,8 +82,6 @@ def gc_barrier():
+ if MPI.size(MPI.comm_world) > 1:
+ MPI.barrier(MPI.comm_world)
+
+-
+-@pytest.fixture
+ def worker_id(request):
+ """Returns thread id when running with pytest-xdist in parallel."""
+ if hasattr(request.config, 'slaveinput'):
+@@ -91,6 +89,9 @@ def worker_id(request):
+ else:
+ return 'master'
+
++@pytest.fixture
++def worker_id_fixture(request):
++ return worker_id(request)
+
+ @pytest.yield_fixture(scope="function")
+ def gc_barrier_fixture():
+diff --git a/python/test/unit/fem/test_dofmap.py b/python/test/unit/fem/test_dofmap.py
+index 2689ae5..7bf649d 100644
+--- a/python/test/unit/fem/test_dofmap.py
++++ b/python/test/unit/fem/test_dofmap.py
+@@ -41,8 +41,8 @@ reorder_dofs = set_parameters_fixture("reorder_dofs_serial", [True, False])
+ (UnitCubeMesh, (2, 2, 2)),
+ # cell.contains(Point) does not work correctly
+ # for quad/hex cells once it is fixed, this test will pass
+- xfail((UnitSquareMesh.create, (4, 4, CellType.Type.quadrilateral))),
+- xfail((UnitCubeMesh.create, (2, 2, 2, CellType.Type.hexahedron)))])
++ pytest.param(((UnitSquareMesh.create, (4, 4, CellType.Type.quadrilateral))), marks=xfail),
++ pytest.param(((UnitCubeMesh.create, (2, 2, 2, CellType.Type.hexahedron))), marks=xfail)])
+ def test_tabulate_all_coordinates(mesh_factory):
+ func, args = mesh_factory
+ mesh = func(*args)
+@@ -516,16 +516,16 @@ xfail_ffc = pytest.mark.xfail(raises=Exception, strict=True)
+ "FunctionSpace(UnitCubeMesh.create(2, 2, 2, CellType.Type.hexahedron), 'DQ', 2)",
+ "FunctionSpace(UnitSquareMesh.create(6, 6, CellType.Type.triangle), 'N1curl', 1)",
+ "FunctionSpace(UnitCubeMesh.create(2, 2, 2, CellType.Type.tetrahedron), 'N1curl', 1)",
+- xfail_ffc("FunctionSpace(UnitSquareMesh.create(6, 6, CellType.Type.quadrilateral), 'N1curl', 1)"),
+- xfail_ffc("FunctionSpace(UnitCubeMesh.create(2, 2, 2, CellType.Type.hexahedron), 'N1curl', 1)"),
++ pytest.param(("FunctionSpace(UnitSquareMesh.create(6, 6, CellType.Type.quadrilateral), 'N1curl', 1)"), marks=xfail_ffc),
++ pytest.param(("FunctionSpace(UnitCubeMesh.create(2, 2, 2, CellType.Type.hexahedron), 'N1curl', 1)"), marks=xfail_ffc),
+ "FunctionSpace(UnitSquareMesh.create(6, 6, CellType.Type.triangle), 'N1curl', 2)",
+ "FunctionSpace(UnitCubeMesh.create(2, 2, 2, CellType.Type.tetrahedron), 'N1curl', 2)",
+- xfail_ffc("FunctionSpace(UnitSquareMesh.create(6, 6, CellType.Type.quadrilateral), 'N1curl', 2)"),
+- xfail_ffc("FunctionSpace(UnitCubeMesh.create(2, 2, 2, CellType.Type.hexahedron), 'N1curl', 2)"),
++ pytest.param(("FunctionSpace(UnitSquareMesh.create(6, 6, CellType.Type.quadrilateral), 'N1curl', 2)"), marks=xfail_ffc),
++ pytest.param(("FunctionSpace(UnitCubeMesh.create(2, 2, 2, CellType.Type.hexahedron), 'N1curl', 2)"), marks=xfail_ffc),
+ "FunctionSpace(UnitSquareMesh.create(6, 6, CellType.Type.triangle), 'RT', 1)",
+ "FunctionSpace(UnitCubeMesh.create(2, 2, 2, CellType.Type.tetrahedron), 'RT', 1)",
+- xfail_ffc("FunctionSpace(UnitSquareMesh.create(6, 6, CellType.Type.quadrilateral), 'RT', 1)"),
+- xfail_ffc("FunctionSpace(UnitCubeMesh.create(2, 2, 2, CellType.Type.hexahedron), 'RT', 1)"),
++ pytest.param(("FunctionSpace(UnitSquareMesh.create(6, 6, CellType.Type.quadrilateral), 'RT', 1)"), marks=xfail_ffc),
++ pytest.param(("FunctionSpace(UnitCubeMesh.create(2, 2, 2, CellType.Type.hexahedron), 'RT', 1)"), marks=xfail_ffc),
+ ])
+ def test_dofs_dim(space):
+ """Test function GenericDofMap::dofs(mesh, dim)"""
+diff --git a/python/test/unit/fem/test_finite_element.py b/python/test/unit/fem/test_finite_element.py
+index 0693f26..dee876c 100644
+--- a/python/test/unit/fem/test_finite_element.py
++++ b/python/test/unit/fem/test_finite_element.py
+@@ -34,7 +34,7 @@ xfail = pytest.mark.xfail(strict=True)
+ (UnitSquareMesh.create, (4, 4, CellType.Type.quadrilateral)),
+ # cell_normal has not been implemented for hex cell
+ # cell.orientation() does not work
+- xfail((UnitCubeMesh.create, (2, 2, 2, CellType.Type.hexahedron)))])
++ pytest.param(((UnitCubeMesh.create, (2, 2, 2, CellType.Type.hexahedron))), marks=xfail)])
+ def test_evaluate_dofs(mesh_factory):
+
+ func, args = mesh_factory
+diff --git a/python/test/unit/fem/test_symbolic_geometry_assembly.py b/python/test/unit/fem/test_symbolic_geometry_assembly.py
+index f0597f9..3f89f7b 100644
+--- a/python/test/unit/fem/test_symbolic_geometry_assembly.py
++++ b/python/test/unit/fem/test_symbolic_geometry_assembly.py
+@@ -107,26 +107,20 @@ intervals.
+
+ line_resolution = 8
+
+-
+-@fixture
+-def line1d(request):
++def line1d_impl(request):
+ n = line_resolution
+ us = [i/float(n-1) for i in range(n)]
+ vertices = [(u**2,) for u in us]
+ return create_line_mesh(vertices)
+
+-
+-@fixture
+-def rline1d(request):
++def rline1d_impl(request):
+ n = line_resolution
+ us = [i/float(n-1) for i in range(n)]
+ vertices = [(u**2,) for u in us]
+ vertices = list(reversed(vertices)) # same as line1d, just reversed here
+ return create_line_mesh(vertices)
+
+-
+-@fixture
+-def line2d(request):
++def line2d_impl(request):
+ n = line_resolution
+ us = [i/float(n-1) for i in range(n)]
+ vertices = [(cos(DOLFIN_PI*u), sin(DOLFIN_PI*u)) for u in us]
+@@ -134,9 +128,7 @@ def line2d(request):
+ mesh.init_cell_orientations(Expression(("0.0", "1.0"), degree=0))
+ return mesh
+
+-
+-@fixture
+-def rline2d(request):
++def rline2d_impl(request):
+ n = line_resolution
+ us = [i/float(n-1) for i in range(n)]
+ vertices = [(cos(DOLFIN_PI*u), sin(DOLFIN_PI*u)) for u in us]
+@@ -145,9 +137,7 @@ def rline2d(request):
+ mesh.init_cell_orientations(Expression(("0.0", "1.0"), degree=0))
+ return mesh
+
+-
+-@fixture
+-def line3d(request):
++def line3d_impl(request):
+ n = line_resolution
+ us = [i/float(n-1) for i in range(n)]
+ vertices = [(cos(4.0*DOLFIN_PI*u),
+@@ -156,9 +146,7 @@ def line3d(request):
+ mesh = create_line_mesh(vertices)
+ return mesh
+
+-
+-@fixture
+-def rline3d(request):
++def rline3d_impl(request):
+ n = line_resolution
+ us = [i/float(n-1) for i in range(n)]
+ vertices = [(cos(4.0*DOLFIN_PI*u),
+@@ -168,9 +156,7 @@ def rline3d(request):
+ mesh = create_line_mesh(vertices)
+ return mesh
+
+-
+-@fixture
+-def square2d(request):
++def square2d_impl(request):
+ cellname = "triangle"
+ side = sqrt(sqrt(3.0))
+ vertices = [
+@@ -186,9 +172,7 @@ def square2d(request):
+ mesh = create_mesh(vertices, cells)
+ return mesh
+
+-
+-@fixture
+-def square3d(request):
++def square3d_impl(request):
+ cellname = "triangle"
+ vertices = [
+ (0.0, 0.0, 1.0),
+@@ -205,6 +189,37 @@ def square3d(request):
+
+ return mesh
+
++@fixture
++def line1d(request):
++ return line1d_impl(request)
++
++@fixture
++def rline1d(request):
++ return rline1d_impl(request)
++
++@fixture
++def line2d(request):
++ return line2d_impl(request)
++
++@fixture
++def rline2d(request):
++ return rline2d_impl(request)
++
++@fixture
++def line3d(request):
++ return line3d_impl(request)
++
++@fixture
++def rline3d(request):
++ return rline3d_impl(request)
++
++@fixture
++def square2d(request):
++ return square2d_impl(request)
++
++@fixture
++def square3d(request):
++ return square3d_impl(request)
+
+ @skip_in_parallel
+ def test_line_meshes(line1d, line2d, line3d, rline1d, rline2d, rline3d):
+@@ -238,14 +253,14 @@ def test_write_line_meshes_to_files(line1d, line2d, line3d, rline1d, rline2d,
+ "DG", 0))
+
+
+-@skip_in_parallel
+ @pytest.mark.parametrize("mesh", [
+- line1d(None),
+- line2d(None),
+- line3d(None),
+- rline1d(None),
+- rline2d(None),
+- rline3d(None), ])
++ line1d_impl(None),
++ line2d_impl(None),
++ line3d_impl(None),
++ rline1d_impl(None),
++ rline2d_impl(None),
++ rline3d_impl(None), ])
++@skip_in_parallel
+ def test_manifold_line_geometry(mesh, uflacs_representation_only):
+ assert uflacs_representation_only == "uflacs"
+ assert parameters["form_compiler"]["representation"] == "uflacs"
+@@ -907,21 +922,21 @@ xfail_jit = pytest.mark.xfail(raises=Exception, strict=True)
+ (UnitCubeMesh, (2, 2, 2)),
+ (UnitSquareMesh.create, (4, 4, CellType.Type.quadrilateral)),
+ (UnitCubeMesh.create, (2, 2, 2, CellType.Type.hexahedron)),
+- (line1d, (None,)),
+- (line2d, (None,)),
+- (line3d, (None,)),
+- (rline1d, (None,)),
+- (rline2d, (None,)),
+- (rline3d, (None,)),
+- (square2d, (None,)),
+- (square3d, (None,)),
++ (line1d_impl, (None,)),
++ (line2d_impl, (None,)),
++ (line3d_impl, (None,)),
++ (rline1d_impl, (None,)),
++ (rline2d_impl, (None,)),
++ (rline3d_impl, (None,)),
++ (square2d_impl, (None,)),
++ (square3d_impl, (None,)),
+ # Tested geometric quantities are not implemented for higher-order cells
+- xfail_jit((UnitDiscMesh.create, (MPI.comm_world, 4, 2, 2))),
+- xfail_jit((UnitDiscMesh.create, (MPI.comm_world, 4, 2, 3))),
+- xfail_jit((SphericalShellMesh.create, (MPI.comm_world, 2,))),
+-])
++ pytest.param(((UnitDiscMesh.create, (MPI.comm_world, 4, 2, 2))), marks=xfail_jit),
++ pytest.param(((UnitDiscMesh.create, (MPI.comm_world, 4, 2, 3))), marks=xfail_jit),
++ pytest.param(((SphericalShellMesh.create, (MPI.comm_world, 2,))), marks=xfail_jit)])
+ @skip_in_parallel
+ def test_geometric_quantities(uflacs_representation_only, mesh_factory):
++
+ func, args = mesh_factory
+ mesh = func(*args)
+
+diff --git a/python/test/unit/function/test_function_space.py b/python/test/unit/function/test_function_space.py
+index 3c97227..66cfe0e 100755
+--- a/python/test/unit/function/test_function_space.py
++++ b/python/test/unit/function/test_function_space.py
+@@ -165,13 +165,13 @@ def test_sub_equality(W, Q):
+ assert Q.sub(0) == Q.extract_sub_space([0])
+
+
+-def test_in_operator(f, g, V, V2, W, W2):
++def test_in_operator(f, g, V, V2, W, W2, mesh):
+ assert f in V
+ assert f in V2
+ assert g in W
+ assert g in W2
+ with pytest.raises(RuntimeError):
+- mesh() in V
++ mesh in V
+
+
+ def test_collapse(W, V):
+diff --git a/python/test/unit/la/test_lu_solver.py b/python/test/unit/la/test_lu_solver.py
+index aed2762..82790e9 100755
+--- a/python/test/unit/la/test_lu_solver.py
++++ b/python/test/unit/la/test_lu_solver.py
+@@ -21,7 +21,7 @@ from dolfin import *
+ import pytest
+ from dolfin_utils.test import skip_if_not_PETSc, skip_in_parallel
+
+-backends = ["PETSc", skip_in_parallel("Eigen")]
++backends = ["PETSc", pytest.param(("Eigen"), marks=skip_in_parallel)]
+
+ @pytest.mark.parametrize('backend', backends)
+ def test_lu_solver(backend):
+diff --git a/python/test/unit/la/test_nullspace.py b/python/test/unit/la/test_nullspace.py
+index e60680a..a406947 100755
+--- a/python/test/unit/la/test_nullspace.py
++++ b/python/test/unit/la/test_nullspace.py
+@@ -21,7 +21,7 @@ from dolfin import *
+ import pytest
+ from dolfin_utils.test import *
+
+-backends = ["PETSc", skip_in_parallel("Eigen")]
++backends = ["PETSc", pytest.param(("Eigen"), marks=skip_in_parallel)]
+
+ def build_elastic_nullspace(V, x):
+ """Function to build nullspace for 2D/3D elasticity"""
+diff --git a/python/test/unit/mesh/test_mesh.py b/python/test/unit/mesh/test_mesh.py
+index af7a3ad..d33673c 100644
+--- a/python/test/unit/mesh/test_mesh.py
++++ b/python/test/unit/mesh/test_mesh.py
+@@ -557,16 +557,16 @@ mesh_factories_broken_shared_entities = [
+ (UnitIntervalMesh, (8,)),
+ (UnitSquareMesh, (4, 4)),
+ # FIXME: Problem in test_shared_entities
+- xfail_in_parallel((UnitDiscMesh.create, (MPI.comm_world, 10, 1, 2))),
+- xfail_in_parallel((UnitDiscMesh.create, (MPI.comm_world, 10, 2, 2))),
+- xfail_in_parallel((UnitDiscMesh.create, (MPI.comm_world, 10, 1, 3))),
+- xfail_in_parallel((UnitDiscMesh.create, (MPI.comm_world, 10, 2, 3))),
+- xfail_in_parallel((SphericalShellMesh.create, (MPI.comm_world, 1,))),
+- xfail_in_parallel((SphericalShellMesh.create, (MPI.comm_world, 2,))),
++ pytest.param(((UnitDiscMesh.create, (MPI.comm_world, 10, 1, 2))), marks=xfail_in_parallel),
++ pytest.param(((UnitDiscMesh.create, (MPI.comm_world, 10, 2, 2))), marks=xfail_in_parallel),
++ pytest.param(((UnitDiscMesh.create, (MPI.comm_world, 10, 1, 3))), marks=xfail_in_parallel),
++ pytest.param(((UnitDiscMesh.create, (MPI.comm_world, 10, 2, 3))), marks=xfail_in_parallel),
++ pytest.param(((SphericalShellMesh.create, (MPI.comm_world, 1,))), marks=xfail_in_parallel),
++ pytest.param(((SphericalShellMesh.create, (MPI.comm_world, 2,))), marks=xfail_in_parallel),
+ (UnitCubeMesh, (2, 2, 2)),
+ (UnitSquareMesh.create, (4, 4, CellType.Type.quadrilateral)),
+ (UnitCubeMesh.create, (2, 2, 2, CellType.Type.hexahedron)),
+- xfail_in_parallel((create_two_good_quads, ())),
++ pytest.param(((create_two_good_quads, ())), marks=xfail_in_parallel),
+ ]
+
+ # FIXME: Fix this xfail
+diff --git a/python/test/unit/multimesh/test_multimesh_cell_types.py b/python/test/unit/multimesh/test_multimesh_cell_types.py
+index 76599f1..64ef136 100644
+--- a/python/test/unit/multimesh/test_multimesh_cell_types.py
++++ b/python/test/unit/multimesh/test_multimesh_cell_types.py
+@@ -25,8 +25,7 @@ import pytest
+ from dolfin_utils.test import skip_in_parallel
+
+ # test case with interface-edge overlap
+-@pytest.fixture
+-def test_case_1(M, N):
++def case_1_impl(M, N):
+ multimesh = MultiMesh()
+ mesh0 = UnitSquareMesh(M, M)
+ mesh1 = RectangleMesh(Point(0.25, 0.25), Point(0.75, 0.75), N, N)
+@@ -36,8 +35,7 @@ def test_case_1(M, N):
+ return multimesh
+
+ # test case with squares on the diagonal
+-@pytest.fixture
+-def test_case_2(width, offset, Nx):
++def case_2_impl(width, offset, Nx):
+
+ # Mesh width (must be less than 1)
+ assert width < 1
+@@ -65,8 +63,16 @@ def test_case_2(width, offset, Nx):
+ multimesh.build()
+ return multimesh
+
+-test_cases = [test_case_1(4,3),
+- test_case_2(DOLFIN_PI/5, 0.1111, 3)]
++@pytest.fixture
++def case_1(M, N):
++ return case_1_impl(M,N)
++
++@pytest.fixture
++def case_2(width, offset, Nx):
++ return case_2_impl(width, offset, Nx)
++
++test_cases = [case_1_impl(4,3),
++ case_2_impl(DOLFIN_PI/5, 0.1111, 3)]
+
+ @skip_in_parallel
+ @pytest.mark.parametrize("multimesh", test_cases)
+diff --git a/python/test/unit/multimesh/test_multimesh_solve.py b/python/test/unit/multimesh/test_multimesh_solve.py
+index 4530505..5edad0f 100644
+--- a/python/test/unit/multimesh/test_multimesh_solve.py
++++ b/python/test/unit/multimesh/test_multimesh_solve.py
+@@ -25,17 +25,13 @@ from dolfin import *
+
+ from dolfin_utils.test import skip_in_parallel, fixture
+
+-@fixture
+-def exactsolution_2d():
++def exactsolution_2d_impl():
+ return Expression("x[0] + x[1]", degree=1)
+
+-@fixture
+-def exactsolution_3d():
++def exactsolution_3d_impl():
+ return Expression("x[0] + x[1] + x[2]", degree=1)
+
+-@fixture
+ def solve_multimesh_poisson(mesh_0, mesh_1, exactsolution):
+-
+ # Build multimesh
+ multimesh = MultiMesh()
+ multimesh.add(mesh_0)
+@@ -81,9 +77,17 @@ def solve_multimesh_poisson(mesh_0, mesh_1, exactsolution):
+
+ return uh
+
++@fixture
++def exactsolution_2d():
++ return exactsolution_2d_impl()
++
++@fixture
++def exactsolution_3d():
++ return exactsolution_3d_impl()
++
+ @pytest.mark.slow
+ @skip_in_parallel
+-def test_multimesh_poisson_2d():
++def test_multimesh_poisson_2d(exactsolution_2d):
+ # This tests solves a Poisson problem on two meshes in 2D with u =
+ # x+y as exact solution
+
+@@ -94,18 +98,17 @@ def test_multimesh_poisson_2d():
+ mesh_1 = RectangleMesh(Point(0.1*DOLFIN_PI, 0.1*DOLFIN_PI),
+ Point(0.2*DOLFIN_PI, 0.2*DOLFIN_PI),
+ 2, 2)
+-
+ # Solve multimesh Poisson
+- uh = solve_multimesh_poisson(mesh_0, mesh_1, exactsolution_2d())
++ uh = solve_multimesh_poisson(mesh_0, mesh_1, exactsolution_2d)
+
+ # Check error
+- assert errornorm(exactsolution_2d(), uh, 'L2', degree_rise=1) < DOLFIN_EPS_LARGE
++ assert errornorm(exactsolution_2d, uh, 'L2', degree_rise=1) < DOLFIN_EPS_LARGE
+
+ @pytest.mark.slow
+ @pytest.mark.skip
+ @skip_in_parallel
+ @pytest.mark.skipif(True, reason="3D not fully implemented")
+-def test_multimesh_poisson_3d():
++def test_multimesh_poisson_3d(exactsolution_3d):
+ # This tests solves a Poisson problem on two meshes in 3D with u =
+ # x+y+z as exact solution
+
+@@ -118,7 +121,7 @@ def test_multimesh_poisson_3d():
+ 2, 2, 2)
+
+ # Solve multimesh Poisson
+- uh = solve_multimesh_poisson(mesh_0, mesh_1, exactsolution_3d())
++ uh = solve_multimesh_poisson(mesh_0, mesh_1, exactsolution_3d)
+
+ # Check error
+- assert errornorm(exactsolution_3d(), uh, 'L2', degree_rise=1) < DOLFIN_EPS_LARGE
++ assert errornorm(exactsolution_3d, uh, 'L2', degree_rise=1) < DOLFIN_EPS_LARGE
+--
+2.10.5
+
--- /dev/null
+conditional-parmetis-in-cholmod.patch
+test_mpi_oversubscribe.patch
+mpi_prefer_mumps_not_superlu_dist.patch
+skip_demo_hyperelasticity_mpi.patch
+unittests_demos_include_dirs.patch
+extra_CXXFLAGS.patch
+PETSc_3.10_SNESTEST_removed.patch
+pytest_fixtures_096217a.patch
--- /dev/null
+Index: dolfin/python/demo/test.py
+===================================================================
+--- dolfin.orig/python/demo/test.py
++++ dolfin/python/demo/test.py
+@@ -57,6 +57,7 @@ def test_demos(mpiexec, num_proc, path,
+ 'demo_time-series.py',
+ 'demo_poisson1D-in-2D.py',
+ 'demo_coordinates.py',
++ 'demo_hyperelasticity.py',
+ ]
+ if name in broken:
+ return
--- /dev/null
+Index: dolfin/cmake/scripts/generate-cmakefiles.py
+===================================================================
+--- dolfin.orig/cmake/scripts/generate-cmakefiles.py
++++ dolfin/cmake/scripts/generate-cmakefiles.py
+@@ -64,7 +64,7 @@ endif()
+ %(target_libraries)s
+
+ # Test targets
+-set(test_parameters -np 3 "./${PROJECT_NAME}")
++set(test_parameters -np 3 ${MPIEXEC_PARAMS} "./${PROJECT_NAME}")
+ add_test(NAME ${PROJECT_NAME}_mpi COMMAND "mpirun" ${test_parameters})
+ add_test(NAME ${PROJECT_NAME}_serial COMMAND ${PROJECT_NAME})
+ """
--- /dev/null
+Index: dolfin/test/unit/cpp/CMakeLists.txt
+===================================================================
+--- dolfin.orig/test/unit/cpp/CMakeLists.txt
++++ dolfin/test/unit/cpp/CMakeLists.txt
+@@ -31,6 +31,7 @@ set(TEST_SOURCES
+
+ add_executable(unittests ${TEST_SOURCES})
+ target_link_libraries(unittests PRIVATE Catch dolfin)
++target_include_directories(unittests PRIVATE ${DOLFIN_SOURCE_DIR} ${DOLFIN_SOURCE_DIR}/dolfin ${DOLFIN_BINARY_DIR})
+
+ # Test target
+ add_test(unittests unittests)
+Index: dolfin/demo/CMakeLists.txt
+===================================================================
+--- dolfin.orig/demo/CMakeLists.txt
++++ dolfin/demo/CMakeLists.txt
+@@ -6,6 +6,7 @@ cmake_minimum_required(VERSION 3.5)
+ # Find DOLFIN config file (not used here, but check that the demo will
+ # be able to find it
+ #find_package(DOLFIN PATHS ${CMAKE_BINARY_DIR} REQUIRED)
++include_directories(${DOLFIN_SOURCE_DIR} ${DOLFIN_SOURCE_DIR}/dolfin ${DOLFIN_BINARY_DIR})
+
+ # Documented demos
+ add_subdirectory(documented/auto-adaptive-poisson/cpp)
--- /dev/null
+# python-dolfin is a dummy package, the dependency is intentional, to aid upgrades
+python-dolfin: python-package-depends-on-package-from-other-python-variant Depends: python3-dolfin
--- /dev/null
+usr/lib/python3*/*-packages/*
--- /dev/null
+#!/usr/bin/make -f
+
+DEB_SOURCE_PACKAGE := $(strip $(shell egrep '^Source: ' debian/control | cut -f 2 -d ':'))
+DEB_VERSION := $(shell dpkg-parsechangelog | egrep '^Version:' | cut -f 2 -d ' ')
+DEB_NOEPOCH_VERSION := $(shell echo $(DEB_VERSION) | cut -d: -f2-)
+DEB_UPSTREAM_VERSION := $(shell echo $(DEB_NOEPOCH_VERSION) | sed 's/-[^-]*$$//')
+DEB_STRIPPED_UPSTREAM_VERSION = $(shell echo $(DEB_UPSTREAM_VERSION) | sed -e 's/\+dfsg.*$$//p')
+
+FENICS_RELEASE_VERSION=$(DEB_STRIPPED_UPSTREAM_VERSION)
+FENICS_MAJOR_VERSION=$(shell echo $(FENICS_RELEASE_VERSION) | sed "s/^\([^.]*\)\..*$$/\1/")
+FENICS_MINOR_VERSION=$(shell echo $(FENICS_RELEASE_VERSION) | sed "s/^\([^.]*\)\.\([^.]*\)\..*$$/\2/")
+FENICS_VERSION=$(FENICS_MAJOR_VERSION).$(FENICS_MINOR_VERSION)
+FENICS_NEXT_VERSION=$(FENICS_MAJOR_VERSION).$(shell echo $$(( $(FENICS_MINOR_VERSION) + 1 )) )
+
+# dolfin has a strict dependency on the pybind11 version it was built against,
+# if pybind11.h will be used in C++ code fragments in python scripts.
+# Extract pybind11 version from pybind11-dev
+PYBIND11_DEB_VERSION=$(shell dpkg -s pybind11-dev | awk '/Version:/ {print $$2}')
+# extract the current pybind11 version X.Y.Z (drop epoch and debian package version)
+PYBIND11_UPSTREAM_VERSION=$(shell echo $(PYBIND11_DEB_VERSION) | sed "s/^.[^:]*://; s/-[^-]*$$//")
+PYBIND11_X_Y_VERSION=$(shell echo $(PYBIND11_UPSTREAM_VERSION) | sed "s/^\(.*\)\.\([^.]*\)$$/\1/")
+PYBIND11_Z_VERSION=$(shell echo $(PYBIND11_UPSTREAM_VERSION) | sed "s/^\(.*\)\.\([^.]*\)$$/\2/")
+PYBIND11_NEXT_UPSTREAM_VERSION=$(PYBIND11_X_Y_VERSION).$(shell echo $$(( $(PYBIND11_Z_VERSION) + 1 )) )
+
+# Allow test programs that uses OpenMPI to run
+export OMPI_MCA_plm_rsh_agent=/bin/false
+
+DEB_BUILD_ARCH ?= $(shell dpkg-architecture -qDEB_BUILD_ARCH)
+DEB_BUILD_MULTIARCH ?= $(shell dpkg-architecture -qDEB_BUILD_MULTIARCH)
+
+include /usr/share/mpi-default-dev/debian_defaults
+ENABLE_MPI=ON
+ifeq ($(findstring $(DEB_BUILD_ARCH),$(OPENMPI_ARCHITECTURES)),)
+MPIEXEC_PARAMS=
+else
+MPIEXEC_PARAMS=--oversubscribe
+endif
+
+DOLFIN_HOME = $(CURDIR)/$(DEB_SRCDIR)
+USCAN_DESTDIR := $(CURDIR)
+PY3VERS := $(shell py3versions --requested debian/control | tac -s' ')
+PYVERS = $(PY3VERS)
+
+BUILDDIR = obj-$(DEB_HOST_GNU_TYPE)
+TESTDIR = build-tests
+
+NPROC := $(shell nproc)
+PARALLEL = $(subst parallel=,,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
+N_CPU = $(or $(PARALLEL),$(NPROC),1)
+# MPI tests are set up to run on 3 processes. Spread them leanly over the available processors (don't have more than 2 tests using one processor).
+# e.g. run 1 MPI test at a time over 1-3 processors, or 2 tests at a time over 4-6 processors, or 3 tests over 7-9 processors, etc.
+N_MPI := 3
+N_MPI_TESTS = $(shell echo $$(( ($(N_CPU)+$(N_MPI)-1)/$(N_MPI) )) )
+
+# hyperelasticity fails (diverges) on all arches (pivot factors too large, not enough memory assigned)
+# elastodynamics passes with dpkg-buildpackage but fails with pdebuild (on amd64). Unreliable, so skip.
+ARCH_ALL_SKIP_MPI_TEST = demo_hyperelasticity_mpi demo_elastodynamics_mpi
+
+# Some arches fail the same MPI tests
+# e.g. cahn-hilliard, navier-stokes, elasticity, fails or exceeds allowed time
+# So skip these tests on the failing arches
+ARCH_SKIP_MPI_TEST_LIST = i386 mips64el ppc64el
+ARCH_SKIP_MPI_TEST = demo_cahn-hilliard_mpi demo_navier-stokes_mpi demo_elasticity_mpi
+
+# skip more MPI tests for some specific arches
+ifeq (arm64, $(DEB_HOST_ARCH))
+ ARCH_SPECIFIC_SKIP_MPI_TEST = demo_navier-stokes_mpi
+else ifeq (mips, $(DEB_HOST_ARCH))
+ ARCH_SPECIFIC_SKIP_MPI_TEST = demo_cahn-hilliard_mpi demo_stokes-iterative_mpi demo_ale_mpi demo_poisson-disc_mpi
+else ifeq (mips64el, $(DEB_HOST_ARCH))
+ ARCH_SPECIFIC_SKIP_MPI_TEST = demo_bcs_mpi demo_stokes-iterative_mpi demo_stokes-taylor-hood_mpi demo_curl-curl_mpi demo_contact-vi-tao_mpi
+else ifeq (mipsel, $(DEB_HOST_ARCH))
+ ARCH_SPECIFIC_SKIP_MPI_TEST = demo_cahn-hilliard_mpi demo_stokes-iterative_mpi demo_ale_mpi demo_poisson-disc_mpi
+else ifeq (ppc64el, $(DEB_HOST_ARCH))
+ ARCH_SPECIFIC_SKIP_MPI_TEST = demo_poisson_mpi demo_singular-poisson_mpi demo_sym-dirichlet-bc_mpi
+else
+ ARCH_SPECIFIC_SKIP_MPI_TEST =
+endif
+
+# m68k and mips need some help to pass serial tests
+ifeq (m68k, $(DEB_HOST_ARCH))
+ ARCH_SPECIFIC_SKIP_SERIAL_TEST = demo_auto-adaptive-poisson_serial demo_elasticity_serial
+else ifeq (mips, $(DEB_HOST_ARCH))
+ ARCH_SPECIFIC_SKIP_SERIAL_TEST = demo_cahn-hilliard_serial demo_hyperelasticity_serial
+else
+ ARCH_SPECIFIC_SKIP_SERIAL_TEST =
+endif
+
+# skip slow tests (> 500-1000 sec to complete)
+ifeq (armel, $(DEB_HOST_ARCH))
+ ARCH_SKIP_SLOW_TEST = demo_stokes-iterative_serial demo_auto-adaptive-navier-stokes_serial demo_hyperelasticity_serial demo_cahn-hilliard_serial
+else ifeq (mips, $(DEB_HOST_ARCH))
+ ARCH_SKIP_SLOW_TEST = demo_eigenvalue_serial demo_navier-stokes_serial demo_auto-adaptive-poisson_serial demo_stokes-taylor-hood_serial demo_auto-adaptive-navier-stokes_serial demo_curl-curl_serial demo_elasticity_serial demo_stokes-iterative_serial demo_eval_serial demo_sym-dirichlet-bc_serial demo_elastodynamics_serial demo_eigenvalue_mpi demo_navier-stokes_mpi demo_curl-curl_mpi demo_elasticity_mpi demo_elastodynamics_mpi demo_sym-dirichlet-bc_mpi
+else ifeq (mips64el, $(DEB_HOST_ARCH))
+ ARCH_SKIP_SLOW_TEST = demo_cahn-hilliard_serial demo_hyperelasticity_serial
+else ifeq (mipsel, $(DEB_HOST_ARCH))
+ ARCH_SKIP_SLOW_TEST = demo_cahn-hilliard_serial demo_hyperelasticity_serial
+else ifeq (hppa, $(DEB_HOST_ARCH))
+ ARCH_SKIP_SLOW_TEST = demo_cahn-hilliard_serial demo_hyperelasticity_serial
+else ifeq (m68k, $(DEB_HOST_ARCH))
+ ARCH_SKIP_SLOW_TEST = demo_cahn-hilliard_serial demo_hyperelasticity_serial
+else ifeq (riscv64, $(DEB_HOST_ARCH))
+ ARCH_SKIP_SLOW_TEST = demo_cahn-hilliard_serial demo_hyperelasticity_serial demo_cahn-hilliard_mpi demo_elastodynamics_mpi
+else ifeq (sparc64, $(DEB_HOST_ARCH))
+ ARCH_SKIP_SLOW_TEST = demo_cahn-hilliard_serial demo_hyperelasticity_serial demo_stokes-iterative_serial demo_cahn-hilliard_mpi demo_elastodynamics_mpi
+else
+ ARCH_SKIP_SLOW_TEST =
+endif
+
+# other arches fail or time out on too many tests, so skip all their MPI tests
+ARCH_SKIP_ALL_MPI_TESTS_LIST=armel armhf i386 hppa m68k powerpc
+
+# some arches just aren't keeping up at all, and fail non-MPI tests
+ARCH_SKIP_ALL_TESTS_LIST = hurd-i386 m68k sh4
+
+# extract PETSc version from petsc-dev
+PETSC_DEB_VERSION=$(shell dpkg -s petsc-dev | awk '/Version:/ {print $2}')
+# extract the current PETSc version
+PETSC_UPSTREAM_VERSION=$(shell pkg-config --modversion PETSc)
+# "Major" version is the first number in the upstream version (major.minor.release)
+PETSC_MAJOR_VERSION=$(shell echo $(PETSC_UPSTREAM_VERSION) | sed "s/^\([^.]*\)\..*$$/\1/")
+# "Minor" version is the second number in the upstream version (major.minor.release)
+PETSC_MINOR_VERSION=$(shell echo $(PETSC_UPSTREAM_VERSION) | sed "s/^\([^.]*\)\.\([^.]*\)\..*$$/\2/")
+PETSC_VERSION=$(PETSC_MAJOR_VERSION).$(PETSC_MINOR_VERSION)
+PETSC_VERSION_NEXT=$(shell echo $(PETSC_MAJOR_VERSION).$$(($(PETSC_MINOR_VERSION)+1)))
+
+SLEPC_UPSTREAM_VERSION=$(shell pkg-config --modversion SLEPc)
+# SLEPc version must match PETSc
+SLEPC_VERSION=$(PETSC_VERSION)
+SLEPC_VERSION_NEXT=$(PETSC_VERSION_NEXT)
+
+PETSC_DIR=/usr/lib/petscdir/petsc$(PETSC_VERSION)/$(DEB_HOST_MULTIARCH)-real
+SLEPC_DIR=/usr/lib/slepcdir/slepc$(SLEPC_VERSION)/$(DEB_HOST_MULTIARCH)-real
+
+
+DEB_CXXFLAGS := $(shell dpkg-buildflags --get CXXFLAGS)
+
+CMAKE_OPTS := \
+ -D CMAKE_BUILD_TYPE:STRING=RelWithDebInfo \
+ -D BUILD_SHARED_LIBS:BOOL=ON \
+ -D CMAKE_SKIP_RPATH:BOOL=ON \
+ -D CMAKE_INSTALL_RPATH_USE_LINK_PATH:BOOL=OFF \
+ -D PETSC_DIR:PATH=$(PETSC_DIR) \
+ -D SLEPC_DIR:PATH=$(SLEPC_DIR) \
+ -D DOLFIN_ENABLE_TRILINOS:BOOL=OFF \
+ -D DOLFIN_ENABLE_HDF5:BOOL=ON \
+ -D HDF5_C_COMPILER_EXECUTABLE:FILEPATH=/usr/bin/h5pcc \
+ -D DOLFIN_ENABLE_PARMETIS:BOOL=OFF \
+ -D DOLFIN_ENABLE_SCOTCH:BOOL=ON \
+ -D DOLFIN_ENABLE_DOCS:BOOL=OFF \
+ -D DOLFIN_ENABLE_MPI:BOOL=$(ENABLE_MPI) \
+ -D MPIEXEC_PARAMS:STRING="$(MPIEXEC_PARAMS)" \
+ -D CMAKE_CXX_FLAGS:STRING="-fpermissive" \
+ -D DOLFIN_EXTRA_CXX_FLAGS:STRING="$(DEB_CXXFLAGS)" \
+ $(DOLFIN_HOME)
+
+%:
+ dh $@ --buildsystem=cmake --with python3
+
+override_dh_compress:
+ dh_compress -X.py -X.cpp -X.h -X.pdf -X.ufl
+
+override_dh_auto_clean:
+ rm -rf $(INSTALLATION_BUILDDIR) $(TESTDIR)
+ dh_auto_clean
+
+override_dh_auto_configure:
+ dh_auto_configure -- $(CMAKE_OPTS)
+
+override_dh_auto_install:
+ dh_auto_install
+ dh_numpy3
+ for v in $(PYVERS); do \
+ cd python; \
+ PATH=$(CURDIR)/debian/tmp/usr/bin:$$PATH \
+ CXXFLAGS="$(DEB_CXXFLAGS) -isystem $(CURDIR)/debian/tmp/usr/include" \
+ VERBOSE=1 \
+ $$v setup.py install --root=$(CURDIR)/debian/tmp --install-layout=deb; \
+ done;
+ chrpath -d $(CURDIR)/debian/tmp/usr/lib/python*/dist-packages/dolfin/*.so
+ sed -i "s/-D_FORTIFY_SOURCE=2//g" $(CURDIR)/debian/tmp/usr/lib/$(DEB_BUILD_MULTIARCH)/pkgconfig/dolfin.pc
+ sed -i "s|-DNDEBUG||g" $(CURDIR)/debian/tmp/usr/lib/$(DEB_BUILD_MULTIARCH)/pkgconfig/dolfin.pc
+
+# make a separate copy of the build directory while testing, or else local flags (-I$(DOLFIN_HOME)) get written into dolfin.pc
+INSTALLATION_BUILDDIR = installation-build
+override_dh_auto_test-arch:
+ case " $(ARCH_SKIP_ALL_TESTS_LIST) " in \
+ *\ $(DEB_HOST_ARCH)\ *) echo "ALL tests have been disabled on $(DEB_HOST_ARCH)";; \
+ *) set -e; \
+ cp -ra $(BUILDDIR) $(INSTALLATION_BUILDDIR); \
+ cd $(BUILDDIR); \
+ make -j$(N_CPU) unittests; \
+ make -j$(N_CPU) demos; \
+ case " $(ARCH_SKIP_MPI_TEST_LIST) " in \
+ *\ $(DEB_HOST_ARCH)\ *) IGNORE_MPI_TESTS="$(ARCH_ALL_SKIP_MPI_TEST) $(ARCH_SKIP_MPI_TEST) $(ARCH_SPECIFIC_SKIP_MPI_TEST)";; \
+ *) IGNORE_MPI_TESTS="$(ARCH_ALL_SKIP_MPI_TEST) $(ARCH_SPECIFIC_SKIP_MPI_TEST)";; \
+ esac; \
+ echo "set(CTEST_CUSTOM_TESTS_IGNORE $${IGNORE_MPI_TESTS} $(ARCH_SPECIFIC_SKIP_SERIAL_TEST) $(ARCH_SKIP_SLOW_TEST) )" >> CTestCustom.cmake; \
+ echo "Run C++ unit tests (serial)"; \
+ LD_LIBRARY_PATH=$(DOLFIN_HOME)/$(BUILDDIR)/dolfin:$${LD_LIBRARY_PATH} ctest --output-on-failure -R unittests; \
+ echo "Run C++ regressions tests (serial)"; \
+ LD_LIBRARY_PATH=$(DOLFIN_HOME)/$(BUILDDIR)/dolfin:$${LD_LIBRARY_PATH} ctest --output-on-failure -j$(N_CPU) -R demo -R serial; \
+ echo "Run C++ regression tests (MPI)"; \
+ case " $(ARCH_SKIP_ALL_MPI_TESTS_LIST) " in \
+ *\ $(DEB_HOST_ARCH)\ *) echo "MPI tests have been disabled on $(DEB_HOST_ARCH)";; \
+ *) LD_LIBRARY_PATH=$(DOLFIN_HOME)/$(BUILDDIR)/dolfin:$${LD_LIBRARY_PATH} ctest --output-on-failure -j$(N_MPI_TESTS) -R demo -R mpi;; \
+ esac; \
+ cd ..; \
+ mv $(BUILDDIR) $(TESTDIR); \
+ mv $(INSTALLATION_BUILDDIR) $(BUILDDIR);; \
+ esac
+
+override_dh_auto_test-indep:
+
+override_dh_install-indep:
+ cd python/demo; \
+ python3 generate-demo-files.py
+ dh_install -X*.rst
+
+override_dh_fixperms-indep:
+ dh_fixperms
+ chmod a-x debian/dolfin-doc/usr/share/dolfin/demo-python/*/*/*.py
+
+# set petsc:Depends to something like "libpetsc-real3.8-dev, libslepc-real3.8-dev, python-petsc4py (>= 3.8), python-petsc4py (<< 3.9), python-slepc4py (>= 3.8), python-slepc4py (<< 3.9)"
+PETSC_DEV_DEPENDS="libpetsc-real$(PETSC_VERSION)-dev | libpetsc$(PETSC_UPSTREAM_VERSION)-dev, libslepc-real$(SLEPC_VERSION)-dev | libslepc$(SLEPC_UPSTREAM_VERSION)-dev"
+# slepc4py version must match petsc4py (using the PETSc minor version, not the patch release)
+PETSC4PY_DEPENDS_PY3=python3-petsc4py (>= $(PETSC_VERSION)), python3-petsc4py (<< $(PETSC_VERSION_NEXT)), python3-slepc4py (>= $(SLEPC_VERSION)), python3-slepc4py (<< $(SLEPC_VERSION_NEXT))
+override_dh_gencontrol:
+ echo "python3-petsc4py:Depends=$(PETSC4PY_DEPENDS_PY3)" >> debian/python3-dolfin.substvars
+ echo "python-petsc4py-alt:Depends=$(PETSC4PY_DEPENDS_PY3)" >> debian/libdolfin-dev.substvars
+ dh_gencontrol -- -Vpetsc:Depends=$(PETSC_DEV_DEPENDS) -Vfenics:Upstream-Version=$(FENICS_VERSION) -Vfenics:Next-Upstream-Version=$(FENICS_NEXT_VERSION)~ \
+ -Vpybind11:Upstream-Version=$(PYBIND11_UPSTREAM_VERSION) -Vpybind11:Next-Upstream-Version=$(PYBIND11_NEXT_UPSTREAM_VERSION)
+
+# dbgsym-migration was introduced for dolfin 2017.2 (don't update the version to a later version)
+override_dh_strip:
+ dh_strip --package=libdolfin$(FENICS_VERSION) --dbgsym-migration='libdolfin2017.2-dbg (<< 2017.2.0.post0-1~)' -Xpython
+ dh_strip --package=python3-dolfin --dbgsym-migration='python3-dolfin-dbg (<< 2017.2.0.post0-1~)' -Xpython2
+
+# python module so files are already stripped by setup.py (setuptools)
+override_dh_dwz:
+ dh_dwz -Xcpp.cpython
+
+# https://stackoverflow.com/a/18793112/353337
+override_dh_shlibdeps:
+ dh_shlibdeps --dpkg-shlibdeps-params=--ignore-missing-info
+
+
+.PHONY: get-orig-source override_dh_strip
+get-orig-source:
+ uscan --force-download --verbose --destdir $(USCAN_DESTDIR)
--- /dev/null
+3.0 (quilt)
--- /dev/null
+debian/dolfin-convert.1.gz
+debian/dolfin-order.1.gz
+debian/dolfin-plot.1.gz
+debian/dolfin-version.1.gz
--- /dev/null
+Tests: test-dolfin-cpp, test-dolfin-python
+Depends: @, @builddeps@,
+ python3-pytest,
+ python3-decorator,
+ python3-matplotlib,
+ python3-scipy
--- /dev/null
+# allow parallel jobs, but don't load up more than 8
+NPROC=$( nproc )
+MAX_CPU=8
+N_CPU=$(( NPROC > MAX_CPU ? MAX_CPU : NPROC ))
+
+# MPI tests are set up to run on 3 processes. Spread them leanly over the available processors (don't have more than 2 tests using one processor).
+# e.g. run 1 MPI test at a time over 1-3 processors, or 2 tests at a time over 4-6 processors, or 3 tests over 7-9 processors, etc.
+N_MPI=3
+N_MPI_TESTS=$(( (N_CPU+N_MPI-1)/N_MPI ))
+
+export OMPI_MCA_plm_rsh_agent=/bin/false
+export OMPI_MCA_rmaps_base_oversubscribe=1
+
+DEMO_DIR=./dolfin-demo
+
+rm -rf $DEMO_DIR
+cp -rL /usr/share/dolfin/demo $DEMO_DIR
+
+cd $DEMO_DIR
+cmake -DCMAKE_C_COMPILER=mpicc .
+make -j${N_CPU} all
+
+DEMO_LIST=`find . -executable -name demo*[^.dir]`
+
+# construct ctest scripts
+# (cf. add_test in source cmake/scripts/generate-cmakefiles.py)
+CTESTFILE=CTestTestfile.cmake
+for d in ${DEMO_LIST}; do
+ demo_bin=`basename $d`
+ dir=`dirname $d`
+ echo -e "subdirs(\"${dir}\")" >> $CTESTFILE
+ echo -e "add_test(${demo_bin}_mpi \"mpirun\" \"-np\" \"${N_MPI}\" \"./${demo_bin}\")" >> $dir/$CTESTFILE
+ echo "add_test(${demo_bin}_serial \"./${demo_bin}\")" >> $dir/$CTESTFILE
+done
+
+# demo_hyperelasticity_mpi diverges, so skip
+echo "set(CTEST_CUSTOM_TESTS_IGNORE demo_hyperelasticity_mpi)" > CTestCustom.cmake
+
+echo "running C++ demos (serial)"
+ctest --output-on-failure -j${N_CPU} -R serial
+
+echo "running C++ demos (MPI)"
+ctest --output-on-failure -j${N_MPI_TESTS} -R mpi
+
+cd ..
--- /dev/null
+# MPI tests are set up to run on 3 processes.
+N_MPI=3
+export OMPI_MCA_plm_rsh_agent=/bin/false
+export OMPI_MCA_rmaps_base_oversubscribe=1
+
+echo "=== python unit test (serial) ==="
+python3 -m pytest python/test/unit/
+echo "=== python unit test (MPI) ==="
+mpirun -n ${N_MPI} python3 -m pytest python/test/unit/
+
+python3 python/demo/generate-demo-files.py
+echo "=== python demo test (serial) ==="
+python3 -m pytest -v python/demo/test.py
+echo "=== python demo test (MPI) ==="
+python3 -m pytest -v python/demo/test.py --mpiexec=mpiexec --num-proc=${N_MPI}
--- /dev/null
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+mQENBFm3qPYBCADLVRsKIH2xwxzrRyax3SXsd3pcV1K0fAXC8C1P32wh5o8NLX80
+QGNWKIln4kdrYtL5MHChZipNFmYCRT/vrFOaVftj/TM2QebOBwoGVIhQ2ueIQ9mO
+GYTKKwNLPugUTf04l/+37B/WX/t8JsWfo1EVQ6FRjdY1P7iQpWDzhSMouKJE3+Xy
+SH3Okh/OiumPSM/fNGLN6b/OE0K6BBH/RWWJVT/cbdSm3FrjYflTPPtP9yLWRj0o
+TW81E7lYiKPL6pzi7kVtxicUu8MzOPpESBDty8M/xUmkdVzUU5E7NkRFnkCjhoJF
+scLwdpdLRWaaLqAYp6W5puU/95X6Ddn9utLFABEBAAG0SkZFbmlDUyBQcm9qZWN0
+IFN0ZWVyaW5nIENvdW5jaWwgPGZlbmljcy1zdGVlcmluZy1jb3VuY2lsQGdvb2ds
+ZWdyb3Vwcy5jb20+iQE+BBMBAgAoBQJZt6j2AhsDBQkDwmcABgsJCAcDAgYVCAIJ
+CgsEFgIDAQIeAQIXgAAKCRC+0GEG3SK6szJ2B/9Zxea+l83Q9il/Z21VFZRWBETx
+y189cqlOeVsMPJm/KpSDtjAC1iJWi9ogN2zyZej/m8Su+eAJ7QUHgz8StJUXOO6J
+Y7OZ/v/SlJbf6ADcT9p981H9gFzufzU6NqjynFQRLjaApToZtSiAM4lsL21zk8Z+
+B7SMSouKGGn/ODWuZeVA1QT6pJTAX31lT1oFbdPRHc4j41qU+ogyjcwPh2dYFOBc
+ZEp5XyU+7ZCGK1A2p/0i6orXBUVKw/1zm9jCSwxgd5FpEvnB6BXvHV3lXdiqxJuN
+Xr+3OBoq0k5vQPkBKTDhvCf3UFEODJ98mFAKD1zezLTex+3yzOSmXpoLXTEcuQEN
+BFm3qPYBCACqGoAPALpcUGwMgullThXVEEUJ2WY7wXoNvX6qAZ0gyf/vkJnuNyQH
+Qd6ZJJVLzP28vHGLkftqcyjVLlu6Ok7dTrFobXTEeR9GO2cqxccfVTUUbURQ65kl
+QhL6g+w/MeLtvMdAomClODvz7jRGAZUsezQcWrFnT8R25S94O4kPfky7fP+gNcwM
+YT4SyScFvFTFGy6PSjnGIzGQUchBQRam56K8tP2FrCOMIWryeXjTcyixJPFfzmc3
+N3ifnTQPtu7VQtUkmq6L6dBtf8cCvi42Cnscq6HmcgGqkZTm81af/FPOI5SoY+gZ
+8Oiur4KnOhkHJDg0+MzM8sKYVHmUf84hABEBAAGJASUEGAECAA8FAlm3qPYCGwwF
+CQPCZwAACgkQvtBhBt0iurPTYwgAyIKm3ySpEcJlIVquiq9Xx52yCtdaNfIkwLOo
+GwoTF4uIxGLWHNZn7nMn3HNMLxohNpuVmbDW++bK1ui0eqzeAFkvjCULwFU5RRsW
+lVgN5xxtmjuSsVZBuE4KZMQevv6HcUUe6nEMERHUnujJdJKydXPOrWC3/+B/NYUR
+8KoUFPL1+4si2wIdFOQZ8194Ic/JA4/FBhwMKG/rNNvRU2MNAzWzZCP7V0FeRLUs
+fIsWs/CSG7SnPKs3o45D9tSiKVcBUilTbJYwmUnmTCwYD71OWa3q8t1ZmvHY/XMk
+BSGJR5XcHeZKG/tjm5aSVp8yLsP4xEiRZcAFapBcMnaSDOTWOA==
+=vY8l
+-----END PGP PUBLIC KEY BLOCK-----
--- /dev/null
+version=4
+opts=downloadurlmangle=s{downloads/.*dolfin-}{downloads/dolfin-},\
+pgpsigurlmangle=s/$/.asc/ \
+https://bitbucket.org/fenics-project/dolfin/downloads/ .*/dolfin-(.*)\.tar\.gz