From: Drew Parsons Date: Mon, 11 Feb 2019 08:14:25 +0000 (+0000) Subject: dolfin (2018.1.0.post1-16) unstable; urgency=medium X-Git-Tag: archive/raspbian/2019.2.0_git20200629.946dbd3-8+rpi1~1^2^2~9 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=b756b343298a3ef7360e2fea1ca4bb46b9c4bd57;p=dolfin.git dolfin (2018.1.0.post1-16) unstable; urgency=medium * use ctest --output-on-failure not -output-on-failure [dgit import unpatched dolfin 2018.1.0.post1-16] --- b756b343298a3ef7360e2fea1ca4bb46b9c4bd57 diff --cc debian/README.Debian index 0000000,0000000..7e2d279 new file mode 100644 --- /dev/null +++ b/debian/README.Debian @@@ -1,0 -1,0 +1,23 @@@ ++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). diff --cc debian/changelog index 0000000,0000000..69a76d6 new file mode 100644 --- /dev/null +++ b/debian/changelog @@@ -1,0 -1,0 +1,1115 @@@ ++dolfin (2018.1.0.post1-16) unstable; urgency=medium ++ ++ * use ctest --output-on-failure not -output-on-failure ++ ++ -- Drew Parsons 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 Mon, 01 Jun 2015 09:26:07 +0200 ++ ++dolfin (1.5.0-2) unstable; urgency=medium ++ ++ * Upload to unstable (closes: #780359). ++ ++ -- Johannes Ring 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 Mon, 07 Jun 2010 09:25:13 +0200 ++ ++dolfin (0.9.7-3) unstable; urgency=low ++ ++ * debian/rules: Remove bashism (closes: #581470). ++ ++ -- Johannes Ring 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 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 Thu, 18 Feb 2010 00:40:38 +0100 ++ ++dolfin (0.9.6-2) unstable; urgency=low ++ ++ * Disable support for Trilinos for now. ++ ++ -- Johannes Ring 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 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 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 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 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 Mon, 10 Aug 2009 16:03:52 +0200 ++ ++dolfin (0.9.2-1) unstable; urgency=low ++ ++ * Initial release (Closes: #503082) ++ ++ -- Johannes Ring Tue, 16 Sep 2008 08:41:20 +0200 ++ diff --cc debian/compat index 0000000,0000000..48082f7 new file mode 100644 --- /dev/null +++ b/debian/compat @@@ -1,0 -1,0 +1,1 @@@ ++12 diff --cc debian/control index 0000000,0000000..f88e4b1 new file mode 100644 --- /dev/null +++ b/debian/control @@@ -1,0 -1,0 +1,196 @@@ ++Source: dolfin ++Section: math ++Priority: optional ++Maintainer: Debian Science Team ++Uploaders: ++ Johannes Ring , ++ Drew Parsons ++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. diff --cc debian/copyright index 0000000,0000000..59d2334 new file mode 100644 --- /dev/null +++ b/debian/copyright @@@ -1,0 -1,0 +1,296 @@@ ++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 ++ 2017-2018 Drew Parsons ++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, ++ Gael Guennebaud, ++ Benoit Jacob ++ Garth N. Wells ++License: BSD-2-clause ++ ++Files: cmake/modules/FindEigen3.cmake ++ cmake/modules/FindMPFR.cmake ++Copyright: 2006-2010, Montel Laurent, ++ Gael Guennebaud, ++ Jitse Niesen, ++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 , ++ Dave Partyka ++License: BSD-3-clause ++ ++Files: dolfin/geometry/predicates.* ++Copyright: 1996 Jonathan Richard Shewchuk ++License: public-domain ++ Code is placed in the public domain. ++ ++Files: dolfin/io/base64.cpp ++Copyright: 2004-2008, Rene Nyffenegger ++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 ++ . ++ . ++ 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 ++ . ++ . ++ 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'. ++ diff --cc debian/docs index 0000000,0000000..24948f1 new file mode 100644 --- /dev/null +++ b/debian/docs @@@ -1,0 -1,0 +1,2 @@@ ++AUTHORS ++README.rst diff --cc debian/dolfin-bin.install index 0000000,0000000..04b2252 new file mode 100644 --- /dev/null +++ b/debian/dolfin-bin.install @@@ -1,0 -1,0 +1,10 @@@ ++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 diff --cc debian/dolfin-bin.links index 0000000,0000000..94123c0 new file mode 100644 --- /dev/null +++ b/debian/dolfin-bin.links @@@ -1,0 -1,0 +1,1 @@@ ++usr/share/man/man1/dolfin-version.1.gz usr/share/man/man1/fenics-version.1.gz diff --cc debian/dolfin-bin.manpages index 0000000,0000000..ea81be8 new file mode 100644 --- /dev/null +++ b/debian/dolfin-bin.manpages @@@ -1,0 -1,0 +1,5 @@@ ++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 diff --cc debian/dolfin-convert.1.gz index 0000000,0000000..a0bb17f new file mode 100644 Binary files differ diff --cc debian/dolfin-doc.install index 0000000,0000000..358abde new file mode 100644 --- /dev/null +++ b/debian/dolfin-doc.install @@@ -1,0 -1,0 +1,3 @@@ ++usr/share/dolfin/data ++usr/share/dolfin/demo ++python/demo/*documented usr/share/dolfin/demo-python diff --cc debian/dolfin-doc.links index 0000000,0000000..e4bae0f new file mode 100644 --- /dev/null +++ b/debian/dolfin-doc.links @@@ -1,0 -1,0 +1,1 @@@ ++usr/share/dolfin/demo-python/undocumented/pulley.xdmf usr/share/dolfin/demo/undocumented/elasticity/pulley.xdmf diff --cc debian/dolfin-get-demos.1 index 0000000,0000000..abc23d0 new file mode 100644 --- /dev/null +++ b/debian/dolfin-get-demos.1 @@@ -1,0 -1,0 +1,14 @@@ ++.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 . diff --cc debian/dolfin-order.1.gz index 0000000,0000000..0cee65f new file mode 100644 Binary files differ diff --cc debian/dolfin-plot.1.gz index 0000000,0000000..6dceec8 new file mode 100644 Binary files differ diff --cc debian/dolfin-version.1.gz index 0000000,0000000..d4fefb9 new file mode 100644 Binary files differ diff --cc debian/libdolfin-dev.install index 0000000,0000000..2cc7c04 new file mode 100644 --- /dev/null +++ b/debian/libdolfin-dev.install @@@ -1,0 -1,0 +1,5 @@@ ++usr/include/dolfin ++usr/include/dolfin.h ++usr/lib/**/*.so ++usr/lib/**/pkgconfig/dolfin.pc ++usr/share/dolfin/cmake diff --cc debian/libdolfin2018.1.install index 0000000,0000000..8755c99 new file mode 100644 --- /dev/null +++ b/debian/libdolfin2018.1.install @@@ -1,0 -1,0 +1,1 @@@ ++usr/lib/**/lib*.so.* diff --cc debian/not-installed index 0000000,0000000..819167e new file mode 100644 --- /dev/null +++ b/debian/not-installed @@@ -1,0 -1,0 +1,1 @@@ ++usr/share/dolfin/dolfin.conf diff --cc debian/patches/PETSc_3.10_SNESTEST_removed.patch index 0000000,0000000..f4e64d6 new file mode 100644 --- /dev/null +++ b/debian/patches/PETSc_3.10_SNESTEST_removed.patch @@@ -1,0 -1,0 +1,43 @@@ ++Index: dolfin/dolfin/la/PETScOptions.h ++=================================================================== ++--- dolfin.orig/dolfin/la/PETScOptions.h +++++ dolfin/dolfin/la/PETScOptions.h ++@@ -22,7 +22,7 @@ ++ ++ #include ++ #include ++-#include +++#include ++ #include ++ #include ++ #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)", diff --cc debian/patches/conditional-parmetis-in-cholmod.patch index 0000000,0000000..6abc668 new file mode 100644 --- /dev/null +++ b/debian/patches/conditional-parmetis-in-cholmod.patch @@@ -1,0 -1,0 +1,15 @@@ ++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) diff --cc debian/patches/extra_CXXFLAGS.patch index 0000000,0000000..4801f10 new file mode 100644 --- /dev/null +++ b/debian/patches/extra_CXXFLAGS.patch @@@ -1,0 -1,0 +1,15 @@@ ++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 -l form ++ foreach(_lib ${PKGCONFIG_DOLFIN_LIBS}) ++ # Add -Wl,option directives diff --cc debian/patches/mpi_prefer_mumps_not_superlu_dist.patch index 0000000,0000000..e017eb4 new file mode 100644 --- /dev/null +++ b/debian/patches/mpi_prefer_mumps_not_superlu_dist.patch @@@ -1,0 -1,0 +1,104 @@@ ++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", diff --cc debian/patches/pytest_fixtures_096217a.patch index 0000000,0000000..2221b83 new file mode 100644 --- /dev/null +++ b/debian/patches/pytest_fixtures_096217a.patch @@@ -1,0 -1,0 +1,471 @@@ ++From 096217a0a3cb710e869d7e82a3d3609c4d968b76 Mon Sep 17 00:00:00 2001 ++From: =?UTF-8?q?C=C3=A9cile=20Daversin-Catty?= ++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 ++ diff --cc debian/patches/series index 0000000,0000000..b6bb853 new file mode 100644 --- /dev/null +++ b/debian/patches/series @@@ -1,0 -1,0 +1,8 @@@ ++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 diff --cc debian/patches/skip_demo_hyperelasticity_mpi.patch index 0000000,0000000..f04b6cc new file mode 100644 --- /dev/null +++ b/debian/patches/skip_demo_hyperelasticity_mpi.patch @@@ -1,0 -1,0 +1,12 @@@ ++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 diff --cc debian/patches/test_mpi_oversubscribe.patch index 0000000,0000000..34771be new file mode 100644 --- /dev/null +++ b/debian/patches/test_mpi_oversubscribe.patch @@@ -1,0 -1,0 +1,13 @@@ ++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}) ++ """ diff --cc debian/patches/unittests_demos_include_dirs.patch index 0000000,0000000..549ccb6 new file mode 100644 --- /dev/null +++ b/debian/patches/unittests_demos_include_dirs.patch @@@ -1,0 -1,0 +1,24 @@@ ++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) diff --cc debian/python-dolfin.lintian-overrides index 0000000,0000000..98f0dd9 new file mode 100644 --- /dev/null +++ b/debian/python-dolfin.lintian-overrides @@@ -1,0 -1,0 +1,2 @@@ ++# 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 diff --cc debian/python3-dolfin.install index 0000000,0000000..7aadc9c new file mode 100644 --- /dev/null +++ b/debian/python3-dolfin.install @@@ -1,0 -1,0 +1,1 @@@ ++usr/lib/python3*/*-packages/* diff --cc debian/rules index 0000000,0000000..c2cdf35 new file mode 100755 --- /dev/null +++ b/debian/rules @@@ -1,0 -1,0 +1,250 @@@ ++#!/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) diff --cc debian/source/format index 0000000,0000000..163aaf8 new file mode 100644 --- /dev/null +++ b/debian/source/format @@@ -1,0 -1,0 +1,1 @@@ ++3.0 (quilt) diff --cc debian/source/include-binaries index 0000000,0000000..a203ce3 new file mode 100644 --- /dev/null +++ b/debian/source/include-binaries @@@ -1,0 -1,0 +1,4 @@@ ++debian/dolfin-convert.1.gz ++debian/dolfin-order.1.gz ++debian/dolfin-plot.1.gz ++debian/dolfin-version.1.gz diff --cc debian/tests/control index 0000000,0000000..6b042a8 new file mode 100644 --- /dev/null +++ b/debian/tests/control @@@ -1,0 -1,0 +1,6 @@@ ++Tests: test-dolfin-cpp, test-dolfin-python ++Depends: @, @builddeps@, ++ python3-pytest, ++ python3-decorator, ++ python3-matplotlib, ++ python3-scipy diff --cc debian/tests/test-dolfin-cpp index 0000000,0000000..161eead new file mode 100644 --- /dev/null +++ b/debian/tests/test-dolfin-cpp @@@ -1,0 -1,0 +1,45 @@@ ++# 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 .. diff --cc debian/tests/test-dolfin-python index 0000000,0000000..941be85 new file mode 100644 --- /dev/null +++ b/debian/tests/test-dolfin-python @@@ -1,0 -1,0 +1,15 @@@ ++# 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} diff --cc debian/upstream/signing-key.asc index 0000000,0000000..e0c8502 new file mode 100644 --- /dev/null +++ b/debian/upstream/signing-key.asc @@@ -1,0 -1,0 +1,30 @@@ ++-----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----- diff --cc debian/watch index 0000000,0000000..76c5420 new file mode 100644 --- /dev/null +++ b/debian/watch @@@ -1,0 -1,0 +1,4 @@@ ++version=4 ++opts=downloadurlmangle=s{downloads/.*dolfin-}{downloads/dolfin-},\ ++pgpsigurlmangle=s/$/.asc/ \ ++https://bitbucket.org/fenics-project/dolfin/downloads/ .*/dolfin-(.*)\.tar\.gz