Date: Thursday, January 19, 2017 @ 19:05:54 Author: anthraxx Revision: 208052
upgpkg: powerdns-recursor 4.0.4-1 Modified: powerdns-recursor/trunk/PKGBUILD Deleted: powerdns-recursor/trunk/pdns-recursor-4.0.3-boost-context.patch -----------------------------------------+ PKGBUILD | 17 --- pdns-recursor-4.0.3-boost-context.patch | 151 ------------------------------ 2 files changed, 5 insertions(+), 163 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2017-01-19 19:04:45 UTC (rev 208051) +++ PKGBUILD 2017-01-19 19:05:54 UTC (rev 208052) @@ -5,8 +5,8 @@ # Contributor: Remi Gacogne <rgacogne[at]archlinux[dot]org> pkgname=powerdns-recursor -pkgver=4.0.3 -pkgrel=7 +pkgver=4.0.4 +pkgrel=1 pkgdesc='Resolving DNS server' url='https://www.powerdns.com/' arch=('i686' 'x86_64') @@ -17,18 +17,11 @@ provides=('pdns-recursor') conflicts=('pdns-recursor') backup=('etc/powerdns/recursor.conf') -source=(https://downloads.powerdns.com/releases/pdns-recursor-${pkgver}.tar.bz2{,.asc} - pdns-recursor-4.0.3-boost-context.patch) -sha512sums=('03c77cff58851f9802eba434fb674d9cbd19b849620996df84b8dccc97539607895e06c1beb662b1ce08146bbc2b51a72bde2d6d90ef88c929ab645d9b5a33c4' - 'SKIP' - 'e28dab595e216416c484bfbf4c597ccb0e327777e5867d05c9f2291d58bbc2835bd5dfdb47cfa7ecc46acc88dbc900bf6257c191703471354e504f4690cf62f1') +source=(https://downloads.powerdns.com/releases/pdns-recursor-${pkgver}.tar.bz2{,.asc}) +sha512sums=('9473dfe9abc509b2bb953139dd7892de2027ee1508902fa0c2cd30dd9a88878fcf44370b8372d573cbab12de32bb8c604005d3b39ea34db2ef86786e689d36ab' + 'SKIP') validpgpkeys=('B76CD4671C0968BAA87DE61C5E50715BF2FFE1A7') # Pieter Lexis <[email protected]> -prepare() { - cd pdns-recursor-${pkgver} - patch -p1 < "${srcdir}/pdns-recursor-4.0.3-boost-context.patch" -} - build() { cd pdns-recursor-${pkgver} ./configure \ Deleted: pdns-recursor-4.0.3-boost-context.patch =================================================================== --- pdns-recursor-4.0.3-boost-context.patch 2017-01-19 19:04:45 UTC (rev 208051) +++ pdns-recursor-4.0.3-boost-context.patch 2017-01-19 19:05:54 UTC (rev 208052) @@ -1,151 +0,0 @@ -diff -ruw pdns-recursor-4.0.3.orig/mtasker_fcontext.cc pdns-recursor-4.0.3/mtasker_fcontext.cc ---- pdns-recursor-4.0.3.orig/mtasker_fcontext.cc 2016-09-06 14:50:29.000000000 +0200 -+++ pdns-recursor-4.0.3/mtasker_fcontext.cc 2016-10-21 14:22:44.838171541 +0200 -@@ -23,14 +23,15 @@ - #include <exception> - #include <cassert> - #include <type_traits> --#if BOOST_VERSION > 106100 --#include <boost/context/detail/fcontext.hpp> --#else --#include <boost/context/fcontext.hpp> --#endif - #include <boost/version.hpp> -- -+#if BOOST_VERSION < 106100 -+#include <boost/context/fcontext.hpp> - using boost::context::make_fcontext; -+#else -+#include <boost/context/detail/fcontext.hpp> -+using boost::context::detail::make_fcontext; -+#endif /* BOOST_VERSION < 106100 */ -+ - - #if BOOST_VERSION < 105600 - /* Note: This typedef means functions taking fcontext_t*, like jump_fcontext(), -@@ -61,8 +62,15 @@ - } - } - #else -+ -+#if BOOST_VERSION < 106100 - using boost::context::fcontext_t; - using boost::context::jump_fcontext; -+#else -+using boost::context::detail::fcontext_t; -+using boost::context::detail::jump_fcontext; -+using boost::context::detail::transfer_t; -+#endif /* BOOST_VERSION < 106100 */ - - static_assert (std::is_pointer<fcontext_t>::value, - "Boost Context has changed the fcontext_t type again :-("); -@@ -72,7 +80,9 @@ - * jump. args_t simply provides a way to pass more by reference. - */ - struct args_t { -+#if BOOST_VERSION < 106100 - fcontext_t prev_ctx = nullptr; -+#endif - pdns_ucontext_t* self = nullptr; - boost::function<void(void)>* work = nullptr; - }; -@@ -80,7 +90,11 @@ - extern "C" { - static - void -+#if BOOST_VERSION < 106100 - threadWrapper (intptr_t const xargs) { -+#else -+threadWrapper (transfer_t const t) { -+#endif - /* Access the args passed from pdns_makecontext, and copy them directly from - * the calling stack on to ours (we're now using the MThreads stack). - * This saves heap allocating an args object, at the cost of an extra -@@ -90,11 +104,28 @@ - * the behaviour of the System V implementation, which can inherently only - * be passed ints and pointers. - */ -+#if BOOST_VERSION < 106100 - auto args = reinterpret_cast<args_t*>(xargs); -+#else -+ auto args = reinterpret_cast<args_t*>(t.data); -+#endif - auto ctx = args->self; - auto work = args->work; -+ /* we switch back to pdns_makecontext() */ -+#if BOOST_VERSION < 106100 - jump_fcontext (reinterpret_cast<fcontext_t*>(&ctx->uc_mcontext), - static_cast<fcontext_t>(args->prev_ctx), 0); -+#else -+ transfer_t res = jump_fcontext (t.fctx, 0); -+ /* we got switched back from pdns_swapcontext() */ -+ if (res.data) { -+ /* if res.data is not a nullptr, it holds a pointer to the context -+ we just switched from, and we need to fill it to be able to -+ switch back to it later. */ -+ fcontext_t* ptr = static_cast<fcontext_t*>(res.data); -+ *ptr = res.fctx; -+ } -+#endif - args = nullptr; - - try { -@@ -106,9 +137,14 @@ - - /* Emulate the System V uc_link feature. */ - auto const next_ctx = ctx->uc_link->uc_mcontext; -+#if BOOST_VERSION < 106100 - jump_fcontext (reinterpret_cast<fcontext_t*>(&ctx->uc_mcontext), - static_cast<fcontext_t>(next_ctx), - static_cast<bool>(ctx->exception)); -+#else -+ jump_fcontext (static_cast<fcontext_t>(next_ctx), 0); -+#endif -+ - #ifdef NDEBUG - __builtin_unreachable(); - #endif -@@ -129,10 +165,27 @@ - void - pdns_swapcontext - (pdns_ucontext_t& __restrict octx, pdns_ucontext_t const& __restrict ctx) { -+ /* we either switch back to threadwrapper() if it's the first time, -+ or we switch back to pdns_swapcontext(), -+ in both case we will be returning from a call to jump_fcontext(). */ -+#if BOOST_VERSION < 106100 - if (jump_fcontext (reinterpret_cast<fcontext_t*>(&octx.uc_mcontext), - static_cast<fcontext_t>(ctx.uc_mcontext), 0)) { - std::rethrow_exception (ctx.exception); - } -+#else -+ transfer_t res = jump_fcontext (static_cast<fcontext_t>(ctx.uc_mcontext), &octx.uc_mcontext); -+ if (res.data) { -+ /* if res.data is not a nullptr, it holds a pointer to the context -+ we just switched from, and we need to fill it to be able to -+ switch back to it later. */ -+ fcontext_t* ptr = static_cast<fcontext_t*>(res.data); -+ *ptr = res.fctx; -+ } -+ if (ctx.exception) { -+ std::rethrow_exception (ctx.exception); -+ } -+#endif - } - - void -@@ -146,7 +199,15 @@ - args_t args; - args.self = &ctx; - args.work = &start; -+ /* jumping to threadwrapper */ -+#if BOOST_VERSION < 106100 - jump_fcontext (reinterpret_cast<fcontext_t*>(&args.prev_ctx), - static_cast<fcontext_t>(ctx.uc_mcontext), - reinterpret_cast<intptr_t>(&args)); -+#else -+ transfer_t res = jump_fcontext (static_cast<fcontext_t>(ctx.uc_mcontext), -+ &args); -+ /* back from threadwrapper, updating the context */ -+ ctx.uc_mcontext = res.fctx; -+#endif - }
