summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Wells2017-07-10 19:34:13 -0400
committerDavid Wells2017-07-10 19:34:13 -0400
commit5df8c86be8fc5aa63002e49a61262ba642b1899b (patch)
tree4df47ce70606b0213e0d1fe01f2680aee0b3179d
parentee4a259f0f5f5867bfa45c0daabb068dd8266d80 (diff)
downloadaur-5df8c86be8fc5aa63002e49a61262ba642b1899b.tar.gz
Fix compilation with boost 1.64.
This commit adds a patch corresponding to commit 9c874026dee from the upcoming 9.0 release of deal.II. The patch should be removed when 9.0 is released.
-rw-r--r--.SRCINFO2
-rw-r--r--PKGBUILD15
-rw-r--r--fix-compilation-with-BOOST-1.64.patch99
3 files changed, 113 insertions, 3 deletions
diff --git a/.SRCINFO b/.SRCINFO
index e86042e81cdf..cf27dd6b06fc 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -28,7 +28,9 @@ pkgbase = deal-ii
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/v8.5.0/dealii-8.5.0.tar.gz
+ source = fix-compilation-with-BOOST-1.64.patch
sha1sums = 75076beddfd4a1b590cba9fbc78eea901c7f3ddb
+ sha1sums = 183c71c04acf715c1e2ceceb685c34d497db075c
pkgname = deal-ii
diff --git a/PKGBUILD b/PKGBUILD
index 6ac8a69e6d1b..eeaf7dbed715 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -32,13 +32,22 @@ optdepends=(
)
makedepends=('cmake')
install=deal-ii.install
-source=(https://github.com/dealii/dealii/releases/download/v$pkgver/${_realname}-$pkgver.tar.gz)
-sha1sums=('75076beddfd4a1b590cba9fbc78eea901c7f3ddb')
+source=(https://github.com/dealii/dealii/releases/download/v$pkgver/${_realname}-$pkgver.tar.gz
+ fix-compilation-with-BOOST-1.64.patch)
+sha1sums=('75076beddfd4a1b590cba9fbc78eea901c7f3ddb'
+ '183c71c04acf715c1e2ceceb685c34d497db075c')
# where to install deal.II: change to something else (e.g., /opt/deal.II/)
# if desired.
installation_prefix=/usr
+prepare() {
+ cd "${srcdir}/${_realname}-${pkgver}/"
+
+ pwd
+ patch -Np1 -i ../../fix-compilation-with-BOOST-1.64.patch
+}
+
build() {
# Since deal.II relies on a relatively large number of packages that are
# installed in nonstandard places (e.g., the PETSc AUR package is installed in
@@ -98,7 +107,7 @@ build() {
# deal.II needs about 2 GB/compilation process so use fewer jobs if your
# machine does not have the memory to support the maximum number.
- make $MAKEFLAGS
+ make -j10 $MAKEFLAGS
cd "${srcdir}/build"
echo "export DEAL_II_DIR=$installation_prefix" > ./deal-ii.sh
diff --git a/fix-compilation-with-BOOST-1.64.patch b/fix-compilation-with-BOOST-1.64.patch
new file mode 100644
index 000000000000..403f702f1aa0
--- /dev/null
+++ b/fix-compilation-with-BOOST-1.64.patch
@@ -0,0 +1,99 @@
+
+---
+ include/deal.II/base/aligned_vector.h | 10 +++++++++-
+ include/deal.II/lac/la_vector.h | 10 +++++++++-
+ include/deal.II/lac/sparsity_pattern.h | 11 ++++++++++-
+ include/deal.II/lac/vector.h | 10 +++++++++-
+ 4 files changed, 37 insertions(+), 4 deletions(-)
+
+diff --git a/include/deal.II/base/aligned_vector.h b/include/deal.II/base/aligned_vector.h
+index b8c52c0699..9ba473de83 100644
+--- a/include/deal.II/base/aligned_vector.h
++++ b/include/deal.II/base/aligned_vector.h
+@@ -23,7 +23,15 @@
+ #include <deal.II/base/memory_consumption.h>
+ #include <deal.II/base/utilities.h>
+ #include <deal.II/base/parallel.h>
+-#include <boost/serialization/array.hpp>
++
++// boost::serialization::make_array used to be in array.hpp, but was
++// moved to a different file in BOOST 1.64
++#include <boost/version.hpp>
++#if BOOST_VERSION >= 106400
++# include <boost/serialization/array_wrapper.hpp>
++#else
++# include <boost/serialization/array.hpp>
++#endif
+ #include <boost/serialization/split_member.hpp>
+
+ #include <cstring>
+diff --git a/include/deal.II/lac/la_vector.h b/include/deal.II/lac/la_vector.h
+index 18dbcf5d02..10927eb0a5 100644
+--- a/include/deal.II/lac/la_vector.h
++++ b/include/deal.II/lac/la_vector.h
+@@ -24,7 +24,15 @@
+ #include <deal.II/lac/read_write_vector.h>
+ #include <deal.II/lac/vector_space_vector.h>
+ #include <deal.II/lac/vector_type_traits.h>
+-#include <boost/serialization/array.hpp>
++
++// boost::serialization::make_array used to be in array.hpp, but was
++// moved to a different file in BOOST 1.64
++#include <boost/version.hpp>
++#if BOOST_VERSION >= 106400
++# include <boost/serialization/array_wrapper.hpp>
++#else
++# include <boost/serialization/array.hpp>
++#endif
+ #include <boost/serialization/split_member.hpp>
+
+ #include <cstdio>
+diff --git a/include/deal.II/lac/sparsity_pattern.h b/include/deal.II/lac/sparsity_pattern.h
+index 2db0dd3009..8a77764ed2 100644
+--- a/include/deal.II/lac/sparsity_pattern.h
++++ b/include/deal.II/lac/sparsity_pattern.h
+@@ -20,11 +20,20 @@
+ #include <deal.II/base/config.h>
+ #include <deal.II/base/exceptions.h>
+ #include <deal.II/base/subscriptor.h>
+-#include <boost/serialization/array.hpp>
++
++// boost::serialization::make_array used to be in array.hpp, but was
++// moved to a different file in BOOST 1.64
++#include <boost/version.hpp>
++#if BOOST_VERSION >= 106400
++# include <boost/serialization/array_wrapper.hpp>
++#else
++# include <boost/serialization/array.hpp>
++#endif
+ #include <boost/serialization/split_member.hpp>
+
+ #include <vector>
+ #include <iostream>
++#include <algorithm>
+
+ DEAL_II_NAMESPACE_OPEN
+
+diff --git a/include/deal.II/lac/vector.h b/include/deal.II/lac/vector.h
+index 4c63d2aa68..79e56bb7a2 100644
+--- a/include/deal.II/lac/vector.h
++++ b/include/deal.II/lac/vector.h
+@@ -23,7 +23,15 @@
+ #include <deal.II/base/subscriptor.h>
+ #include <deal.II/base/index_set.h>
+ #include <deal.II/lac/vector_type_traits.h>
+-#include <boost/serialization/array.hpp>
++
++// boost::serialization::make_array used to be in array.hpp, but was
++// moved to a different file in BOOST 1.64
++#include <boost/version.hpp>
++#if BOOST_VERSION >= 106400
++# include <boost/serialization/array_wrapper.hpp>
++#else
++# include <boost/serialization/array.hpp>
++#endif
+ #include <boost/serialization/split_member.hpp>
+
+ #include <cstdio>
+--
+2.13.1