diff options
author | David Wells | 2017-07-10 19:34:13 -0400 |
---|---|---|
committer | David Wells | 2017-07-10 19:34:13 -0400 |
commit | 5df8c86be8fc5aa63002e49a61262ba642b1899b (patch) | |
tree | 4df47ce70606b0213e0d1fe01f2680aee0b3179d | |
parent | ee4a259f0f5f5867bfa45c0daabb068dd8266d80 (diff) | |
download | aur-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-- | .SRCINFO | 2 | ||||
-rw-r--r-- | PKGBUILD | 15 | ||||
-rw-r--r-- | fix-compilation-with-BOOST-1.64.patch | 99 |
3 files changed, 113 insertions, 3 deletions
@@ -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 @@ -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 |