diff options
-rw-r--r-- | .SRCINFO | 13 | ||||
-rw-r--r-- | 0001-Add-a-quick-check-for-matching-boost-versions.patch | 79 | ||||
-rw-r--r-- | 0001-Added-missing-header-for-boost-1.75.0.patch | 45 | ||||
-rw-r--r-- | PKGBUILD | 49 | ||||
-rw-r--r-- | deal-ii.install | 3 |
5 files changed, 19 insertions, 170 deletions
@@ -1,7 +1,7 @@ pkgbase = deal-ii pkgdesc = An Open Source Finite Element Differential Equations Analysis Library - pkgver = 9.2.0 - pkgrel = 3 + pkgver = 9.3.1 + pkgrel = 1 url = http://www.dealii.org/ install = deal-ii.install arch = i686 @@ -18,8 +18,6 @@ pkgbase = deal-ii optdepends = lapack: Linear Algebra PACKage optdepends = metis: partitioning graphs, finite element meshes, fill reducing orderings for sparse matrices. optdepends = muparser: A fast math parser library - optdepends = nanoflann: a C++ header-only library for Nearest Neighbor (NN) search wih KD-trees - optdepends = netcdf-cxx-legacy: Legacy NetCDF C++ bindings optdepends = openmpi: High performance message passing library (MPI) optdepends = opencascade: Open CASCADE Technology, 3D modeling & numerical simulation optdepends = p4est-deal-ii: The parallel forest (p4est) library, built to work with deal.II @@ -31,10 +29,7 @@ pkgbase = deal-ii optdepends = trilinos: object-oriented software framework for the solution of large-scale, complex multi-physics engineering and scientific problems optdepends = suitesparse: A collection of sparse matrix libraries optdepends = zlib: Compression library implementing the deflate compression method found in gzip and PKZIP - source = https://github.com/dealii/dealii/releases/download/v9.2.0/dealii-9.2.0.tar.gz - source = 0001-Add-a-quick-check-for-matching-boost-versions.patch - source = 0001-Added-missing-header-for-boost-1.75.0.patch - sha1sums = fff66749d7e7e8baf569e5da5a42f93e99424a86 + source = https://github.com/dealii/dealii/releases/download/v9.3.1/dealii-9.3.1.tar.gz + sha1sums = d7aeb5aa397d2299fd9ffc8e82ba0408eeb9d8fc pkgname = deal-ii - diff --git a/0001-Add-a-quick-check-for-matching-boost-versions.patch b/0001-Add-a-quick-check-for-matching-boost-versions.patch deleted file mode 100644 index aa41c332d5a4..000000000000 --- a/0001-Add-a-quick-check-for-matching-boost-versions.patch +++ /dev/null @@ -1,79 +0,0 @@ -From c0aa1399014f70f7fe7fbc2ceefba2c6f80f3462 Mon Sep 17 00:00:00 2001 -From: David Wells <drwells@email.unc.edu> -Date: Thu, 8 Oct 2020 20:58:44 -0400 -Subject: [PATCH] Add a quick check for matching boost versions. - -This addresses a problem a user had recently with inscrutable crashes caused by -mixed boost versions. Credit goes to Daniel Jodlbauer for reporting the issue. ---- - cmake/configure/configure_2_boost.cmake | 14 ++++++++++++++ - include/deal.II/base/config.h.in | 23 +++++++++++++++++++++++ - 2 files changed, 37 insertions(+) - -diff --git a/cmake/configure/configure_2_boost.cmake b/cmake/configure/configure_2_boost.cmake -index 24463063bc..9386f2f597 100644 ---- a/cmake/configure/configure_2_boost.cmake -+++ b/cmake/configure/configure_2_boost.cmake -@@ -92,6 +92,20 @@ MACRO(FEATURE_BOOST_CONFIGURE_BUNDLED) - # We need to set this path before calling the configure function - # to be able to use the include paths in the checks. - SET(BOOST_BUNDLED_INCLUDE_DIRS ${BOOST_FOLDER}/include) -+ # -+ # We still need the version information, which is set up in the FindBoost -+ # module in the non-bundled case: -+ # -+ FILE(STRINGS "${BOOST_BUNDLED_INCLUDE_DIRS}/boost/version.hpp" -+ BOOST_VERSION_STRING -+ REGEX "#define.*BOOST_VERSION") -+ -+ STRING(REGEX REPLACE "^.*BOOST_VERSION.* ([0-9]+).*" "\\1" -+ BOOST_VERSION_NUMBER "${BOOST_VERSION_STRING}" -+ ) -+ MATH(EXPR Boost_MAJOR_VERSION "${BOOST_VERSION_NUMBER} / 100000") -+ MATH(EXPR Boost_MINOR_VERSION "${BOOST_VERSION_NUMBER} / 100 % 1000") -+ MATH(EXPR Boost_SUBMINOR_VERSION "${BOOST_VERSION_NUMBER} % 100") - - FEATURE_BOOST_CONFIGURE_COMMON() - -diff --git a/include/deal.II/base/config.h.in b/include/deal.II/base/config.h.in -index 48d4bf1a83..0c9a16b9f9 100644 ---- a/include/deal.II/base/config.h.in -+++ b/include/deal.II/base/config.h.in -@@ -230,6 +230,12 @@ - >= \ - (major)*10000 + (minor)*100 + (subminor)) - -+/* -+ * boost: -+ */ -+#define DEAL_II_BOOST_VERSION_MAJOR @Boost_MAJOR_VERSION@ -+#define DEAL_II_BOOST_VERSION_MINOR @Boost_MINOR_VERSION@ -+#define DEAL_II_BOOST_VERSION_SUBMINOR @Boost_SUBMINOR_VERSION@ - - /* - * Gmsh: -@@ -453,4 +459,21 @@ DEAL_II_ENABLE_EXTRA_DIAGNOSTICS - #include <deal.II/base/numbers.h> - #include <deal.II/base/types.h> - -+/* -+ * Include the boost version header to do a quick version check in case, by -+ * accident, we have configured with one version of boost but are compiling -+ * either the library or an external application with a different version of -+ * boost. -+ */ -+#include <boost/version.hpp> -+static_assert( -+ BOOST_VERSION == 100000 * DEAL_II_BOOST_VERSION_MAJOR + -+ 100 * DEAL_II_BOOST_VERSION_MINOR + -+ DEAL_II_BOOST_VERSION_SUBMINOR, -+ "The version number of boost that you are compiling with does not match the " -+ "version number of boost found during deal.II's configuration step. This " -+ "leads to difficult to understand bugs and is not supported. Please check " -+ "that you have set up your application with the same version of boost as " -+ "deal.II."); -+ - #endif --- -2.29.2 - diff --git a/0001-Added-missing-header-for-boost-1.75.0.patch b/0001-Added-missing-header-for-boost-1.75.0.patch deleted file mode 100644 index 2f358c04fa67..000000000000 --- a/0001-Added-missing-header-for-boost-1.75.0.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 13bc2f8a021316d38be0c0fcaa93aa177e214d86 Mon Sep 17 00:00:00 2001 -From: Marc Fehling <mafehling.git@gmail.com> -Date: Wed, 16 Dec 2020 18:59:51 -0700 -Subject: [PATCH] Added missing header for boost 1.75.0. - ---- - include/deal.II/base/bounding_box.h | 3 +++ - include/deal.II/base/config.h.in | 7 +++++++ - 2 files changed, 10 insertions(+) - -diff --git a/include/deal.II/base/bounding_box.h b/include/deal.II/base/bounding_box.h -index c842c8796a..937783de0e 100644 ---- a/include/deal.II/base/bounding_box.h -+++ b/include/deal.II/base/bounding_box.h -@@ -26,6 +26,9 @@ - DEAL_II_DISABLE_EXTRA_DIAGNOSTICS - #include <boost/geometry/algorithms/envelope.hpp> - #include <boost/geometry/geometries/multi_point.hpp> -+#if DEAL_II_BOOST_VERSION_GTE(1, 75, 0) -+# include <boost/geometry/strategies/envelope/cartesian.hpp> -+#endif - DEAL_II_ENABLE_EXTRA_DIAGNOSTICS - - DEAL_II_NAMESPACE_OPEN -diff --git a/include/deal.II/base/config.h.in b/include/deal.II/base/config.h.in -index df9b8bad0b..205c5e6952 100644 ---- a/include/deal.II/base/config.h.in -+++ b/include/deal.II/base/config.h.in -@@ -238,6 +238,13 @@ - #define DEAL_II_BOOST_VERSION_MINOR @Boost_MINOR_VERSION@ - #define DEAL_II_BOOST_VERSION_SUBMINOR @Boost_SUBMINOR_VERSION@ - -+#define DEAL_II_BOOST_VERSION_GTE(major,minor,subminor) \ -+ ((DEAL_II_BOOST_VERSION_MAJOR * 100000 + \ -+ DEAL_II_BOOST_VERSION_MINOR * 100 + \ -+ DEAL_II_BOOST_VERSION_SUBMINOR) \ -+ >= \ -+ (major)*100000 + (minor)*100 + (subminor)) -+ - /* - * Gmsh: - */ --- -2.29.2 - @@ -3,8 +3,8 @@ pkgname=deal-ii _realname=dealii -pkgver=9.2.0 -pkgrel=3 +pkgver=9.3.1 +pkgrel=1 pkgdesc="An Open Source Finite Element Differential Equations Analysis Library" arch=("i686" "x86_64") url="http://www.dealii.org/" @@ -24,8 +24,6 @@ optdepends=( 'lapack: Linear Algebra PACKage' 'metis: partitioning graphs, finite element meshes, fill reducing orderings for sparse matrices.' 'muparser: A fast math parser library' - 'nanoflann: a C++ header-only library for Nearest Neighbor (NN) search wih KD-trees' - 'netcdf-cxx-legacy: Legacy NetCDF C++ bindings' 'openmpi: High performance message passing library (MPI)' 'opencascade: Open CASCADE Technology, 3D modeling & numerical simulation' 'p4est-deal-ii: The parallel forest (p4est) library, built to work with deal.II' @@ -42,28 +40,11 @@ optdepends=( ) makedepends=('cmake') install=deal-ii.install -source=(https://github.com/dealii/dealii/releases/download/v$pkgver/${_realname}-$pkgver.tar.gz - 0001-Add-a-quick-check-for-matching-boost-versions.patch - 0001-Added-missing-header-for-boost-1.75.0.patch) -sha1sums=('fff66749d7e7e8baf569e5da5a42f93e99424a86' - 'a2e5ab873e623fc20cf2d38657047c6d64a4b471' - '0c8d0297c33ad3474b6c347cf192bc2d68d29635') +source=(https://github.com/dealii/dealii/releases/download/v$pkgver/${_realname}-$pkgver.tar.gz) +sha1sums=('d7aeb5aa397d2299fd9ffc8e82ba0408eeb9d8fc') # where to install deal.II: change to something else (e.g., /opt/deal.II/) # if desired. -installation_prefix=/usr - -prepare() { - _dir="${srcdir}/${_realname}-${pkgver}/" - # patch from c0aa1399014f70f7fe7fbc2ceefba2c6f80f3462: needed for the next patch - _patchname1="0001-Add-a-quick-check-for-matching-boost-versions.patch" - # patch from 13bc2f8a021316d38be0c0fcaa93aa177e214d86: needed for boost 1.75 - _patchname2="0001-Added-missing-header-for-boost-1.75.0.patch" - cp ../${_patchname1} ${_dir} - cp ../${_patchname2} ${_dir} - cd ${_dir} - patch --forward --strip=1 --input="${_patchname1}" - patch --forward --strip=1 --input="${_patchname2}" -} +_installation_prefix=/usr build() { # Since deal.II relies on a relatively large number of packages that are @@ -123,22 +104,20 @@ build() { sed -i '122ifedisableexcept(FE_INVALID);\n' \ ${srcdir}/${_realname}-$pkgver/tests/quick_tests/scalapack.cc - # New versions of muParser (2.3.2 and newer) have a different convention for - # numbering: - sed -i 's/#define MUP_VERSION _T/string_type ParserVersion = string_type/' \ - ${srcdir}/${_realname}-$pkgver/cmake/modules/FindMUPARSER.cmake - # Also remove from LDFLAGS if necessary LDFLAGS=$(echo $LDFLAGS | sed 's/--as-needed,//') # Skip some warnings that appear if Trilinos uses OpenMP pragmas in headers: extra_warning_flags=" -Wno-unknown-pragmas" + # Also skip warnings from compiling without optimizations (debug mode) and + # _FORTIFY_SOURCE: + extra_warning_flags="${extra_warning_flags} -Wno-cpp" # the deal.II GCC flags are already well-chosen for speed (and O3 is known to # be slightly slower than O2), so do not use flags in /etc/makepkg.conf by # default. If you want to add more flags or disable specific packages, then # refer to the deal.II manual. - cmake $cmake_configuration_flags -DCMAKE_INSTALL_PREFIX=$installation_prefix \ + cmake $cmake_configuration_flags -DCMAKE_INSTALL_PREFIX=$_installation_prefix \ -DCMAKE_INSTALL_MESSAGE=NEVER -DCMAKE_CXX_FLAGS=" $extra_warning_flags" \ -DDEAL_II_SHARE_RELDIR=share/${pkgname}/ \ -DDEAL_II_EXAMPLES_RELDIR=share/${pkgname}/examples/ \ @@ -149,7 +128,7 @@ build() { make $MAKEFLAGS cd "${srcdir}/build" - echo "export DEAL_II_DIR=$installation_prefix" > ./deal-ii.sh + echo "export DEAL_II_DIR=$_installation_prefix" > ./deal-ii.sh } check() { @@ -164,10 +143,10 @@ package() { make DESTDIR="${pkgdir}" install # delete extra files that deal.II installs into the top level directory - rm "${pkgdir}/${installation_prefix}/LICENSE.md" - rm "${pkgdir}/${installation_prefix}/README.md" - rm "${pkgdir}/${installation_prefix}/detailed.log" - rm "${pkgdir}/${installation_prefix}/summary.log" + rm "${pkgdir}/${_installation_prefix}/LICENSE.md" + rm "${pkgdir}/${_installation_prefix}/README.md" + rm "${pkgdir}/${_installation_prefix}/detailed.log" + rm "${pkgdir}/${_installation_prefix}/summary.log" install -D -m755 "${srcdir}/build/deal-ii.sh" "${pkgdir}/etc/profile.d/deal-ii.sh" install -D -m644 "${srcdir}/${_realname}-$pkgver/LICENSE.md" "${pkgdir}/usr/share/licenses/${_realname}-$pkgver/LICENSE.md" diff --git a/deal-ii.install b/deal-ii.install index b55916776fd7..8f2b8c859159 100644 --- a/deal-ii.install +++ b/deal-ii.install @@ -1,4 +1,3 @@ post_install() { - echo 'deal.II 8.5.0 has online documentation available at http://www.dealii.org/8.5.0/' - echo 'deal.II examples are provided in /usr/share/deal-ii/examples/' + echo 'deal.II 9.3.1 has online documentation available at http://www.dealii.org/9.3.0/doxygen/deal.II/index.html' } |