aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeter van Dijk <peter.van.dijk@powerdns.com>2021-04-23 16:08:19 +0200
committerLeo <thinkabit.ukim@gmail.com>2021-04-23 21:29:06 +0000
commit27bb0259ac45835501bdcd3980d4920531bd93e6 (patch)
tree5d96c36bb172c33bd97a07e8283ff63241096c35
parentcd1548405cf0e2d8c7931d8be872fac5fb04605a (diff)
downloadaports-27bb0259ac45835501bdcd3980d4920531bd93e6.tar.gz
aports-27bb0259ac45835501bdcd3980d4920531bd93e6.tar.bz2
aports-27bb0259ac45835501bdcd3980d4920531bd93e6.tar.xz
community/pdns: add patch to fix container exceptions in boost 1.76
-rw-r--r--community/pdns/APKBUILD18
-rw-r--r--community/pdns/pdns-boost-containers-exceptions.patch45
2 files changed, 58 insertions, 5 deletions
diff --git a/community/pdns/APKBUILD b/community/pdns/APKBUILD
index d83ca43246..e774f2f438 100644
--- a/community/pdns/APKBUILD
+++ b/community/pdns/APKBUILD
@@ -7,12 +7,12 @@
# Maintainer: Matt Smith <mcs@darkregion.net>
pkgname=pdns
pkgver=4.4.1
-pkgrel=4
+pkgrel=5
pkgdesc="PowerDNS Authoritative Server"
-options="!check" # Failing on new boost
url="https://www.powerdns.com/"
-arch="all !aarch64 !x86_64" # Failing tests on aarch64
+arch="all !aarch64" # luajit userdata is broken on aarch64
license="GPL-2.0-only WITH OpenSSL-Exception"
+checkdepends="findutils"
makedepends="$depends_dev
boost-dev curl curl-dev geoip-dev krb5-dev openssl-dev
libsodium-dev lua-dev mariadb-connector-c-dev openldap-dev
@@ -37,6 +37,7 @@ pkggroups="pdns"
source="https://downloads.powerdns.com/releases/pdns-$pkgver.tar.bz2
$pkgname.initd
$pkgname.conf
+ pdns-boost-containers-exceptions.patch
"
# secfixes:
@@ -71,8 +72,14 @@ build() {
make
}
+_cat_found_file() {
+ local _rc="$?"
+ find . -name "$1" -type f -ls -printf '%P {{{\n' -exec cat -v -n '{}' ';' -printf '}}} %P\n'
+ return "$_rc"
+}
+
check() {
- PDNS_TEST_NO_IPV6=1 make check
+ PDNS_TEST_NO_IPV6=1 make check || _cat_found_file 'test-suite.log'
}
package() {
@@ -147,4 +154,5 @@ backend_pgsql() {
sha512sums="a6f31972f77ded8ecfb523e8810dd90e5b7aa628746fee2a9a0daae2a7935800f111ce8617ffd71d5ce3881947d4ffc36c9cb37996a7bcc514536bb4abe1f79e pdns-4.4.1.tar.bz2
3a55547e1b6407e7d2faa6e02982ed903c2364381af1b7eeb626ae3a8b0e32558dd79bf31c982b134414e5636d4868c1f3660ac523f25d2440ed6f7b436843bf pdns.initd
-3f809f3257680c3e496fa6a4c86c8a636db5d9d5b92aef96fe54c29b8266ee590deb792d13205cc171e27307fa73295dd3b101b09102fd66a2393a7cdbf9dd27 pdns.conf"
+3f809f3257680c3e496fa6a4c86c8a636db5d9d5b92aef96fe54c29b8266ee590deb792d13205cc171e27307fa73295dd3b101b09102fd66a2393a7cdbf9dd27 pdns.conf
+a8581c78d0023e57dc98514c53ee63354276e8cb97b38b1d87bd32485d268ad8a8a79151f6a888b03ad65bcb1fa2b532a264e63bdc31e324e803e485e47fec78 pdns-boost-containers-exceptions.patch"
diff --git a/community/pdns/pdns-boost-containers-exceptions.patch b/community/pdns/pdns-boost-containers-exceptions.patch
new file mode 100644
index 0000000000..e510f4e1fb
--- /dev/null
+++ b/community/pdns/pdns-boost-containers-exceptions.patch
@@ -0,0 +1,45 @@
+commit db66571e89abf601a711b4a4f3fac19f0ecce342
+Author: Peter van Dijk <peter.van.dijk@powerdns.com>
+Date: Fri Apr 23 14:12:34 2021 +0200
+
+ boost 1.76 containers: use standard exceptions
+
+ https://www.boost.org/users/history/version_1_76_0.html
+
+ > Replaced default standard exception classes with Boost.Container own classes, reducing considerably the included files overhead. Example: in MSVC 19 boost/container/vector.hpp preprocessed file size reduces from 1,5MB to 930KB. If you still want to use standard exception classes, you can define BOOST_CONTAINER_USE_STD_EXCEPTIONS before using any Boost.Container class.
+
+diff --git a/pdns/dnsname.hh b/pdns/dnsname.hh
+index 7f7ee0ad3..c27b6dde7 100644
+--- a/pdns/dnsname.hh
++++ b/pdns/dnsname.hh
+@@ -35,6 +35,7 @@
+
+ // it crashes on OSX and doesn't compile on OpenBSD
+ #if BOOST_VERSION >= 105300 && ! defined( __APPLE__ ) && ! defined(__OpenBSD__)
++#define BOOST_CONTAINER_USE_STD_EXCEPTIONS
+ #include <boost/container/string.hpp>
+ #endif
+
+diff --git a/pdns/dnswriter.cc b/pdns/dnswriter.cc
+index adad9e021..36115dc6d 100644
+--- a/pdns/dnswriter.cc
++++ b/pdns/dnswriter.cc
+@@ -24,6 +24,7 @@
+ #endif
+ #include <boost/version.hpp>
+ #if BOOST_VERSION >= 105400
++#define BOOST_CONTAINER_USE_STD_EXCEPTIONS
+ #include <boost/container/static_vector.hpp>
+ #endif
+ #include "dnswriter.hh"
+diff --git a/pdns/speedtest.cc b/pdns/speedtest.cc
+index 27205d5ff..6a67bef01 100644
+--- a/pdns/speedtest.cc
++++ b/pdns/speedtest.cc
+@@ -1,5 +1,6 @@
+ #include "config.h"
+ #include <boost/format.hpp>
++#define BOOST_CONTAINER_USE_STD_EXCEPTIONS
+ #include <boost/container/string.hpp>
+ #include "dnsparser.hh"
+ #include "sstuff.hh"