diff --git a/srcpkgs/boost/patches/aligned_alloc.patch b/srcpkgs/boost/patches/aligned_alloc.patch new file mode 100644 index 00000000000..079824a9eab --- /dev/null +++ b/srcpkgs/boost/patches/aligned_alloc.patch @@ -0,0 +1,27 @@ +commit 98ca73bfe3f574ba72232013919885bdae679e09 +Author: Daniel Kolesa +Date: Fri Sep 23 03:55:45 2022 +0200 + + use posix as a fallback for aligned_alloc + + Testing for feature test macros is a broken antipattern, and + fucks up in ugly ways under musl. Since we don't really care + for having a non-POSIX fallback, always use the POSIX code + unless forced. + +diff --git a/boost/align/aligned_alloc.hpp b/boost/align/aligned_alloc.hpp +index 1d81a13..f2b5137 100644 +--- a/boost/align/aligned_alloc.hpp ++++ b/boost/align/aligned_alloc.hpp +@@ -38,10 +38,8 @@ Distributed under the Boost Software License, Version 1.0. + #include + #elif defined(sun) || defined(__sun) + #include +-#elif (_POSIX_C_SOURCE >= 200112L) || (_XOPEN_SOURCE >= 600) +-#include + #else +-#include ++#include + #endif + + #endif diff --git a/srcpkgs/boost/patches/feature-test-macros.patch b/srcpkgs/boost/patches/feature-test-macros.patch deleted file mode 100644 index 14849a24870..00000000000 --- a/srcpkgs/boost/patches/feature-test-macros.patch +++ /dev/null @@ -1,32 +0,0 @@ -boost/align/aligned_alloc.hpp is wrong, it uses feature test macros to -determine whether something is available; -FTMs shouldn't be in user code outside of top level #define's. - -This lead to an issue on musl where libtorrent-rasterbar was including this -header (via boost asio) from two different places, and segfaulting due to -mismatched implementations -- one's the posix one using posix_memalign, the -other one's the generic one that stores a pointer to itself. - -posix_memalign is always available on the libcs we support and should always be -used, so we force that. We still leave applications with the option of forcing -boost specific behavior, if they really want it. - -Instead of patching only boost/align/aligned_alloc.hpp, which fix the -bug if boost::asio is used, but may keep other boost's code use feature tests -macro, now or later, let's patch boost/config.hpp to always define -_XOPEN_SOURCE instead. - ---- a/boost/config.hpp -+++ b/boost/config.hpp -@@ -17,6 +17,11 @@ - #ifndef BOOST_CONFIG_HPP - #define BOOST_CONFIG_HPP - -+#ifdef __linux__ -+/* for _XOPEN_SOURCE and/or _POSIX_C_SOURCE */ -+#include -+#endif -+ - // if we don't have a user config, then use the default location: - #if !defined(BOOST_USER_CONFIG) && !defined(BOOST_NO_USER_CONFIG) - # define BOOST_USER_CONFIG diff --git a/srcpkgs/boost/template b/srcpkgs/boost/template index e47bd7d251b..30290010ec3 100644 --- a/srcpkgs/boost/template +++ b/srcpkgs/boost/template @@ -1,7 +1,7 @@ # Template file for 'boost' pkgname=boost version=1.80.0 -revision=2 +revision=3 wrksrc="${pkgname}_${version//\./_}" hostmakedepends="which bzip2-devel icu-devel python3-devel pkg-config" makedepends="zlib-devel bzip2-devel icu-devel python3-devel liblzma-devel