diff options
Diffstat (limited to 'dev-libs')
-rw-r--r-- | dev-libs/Manifest.gz | bin | 97938 -> 97940 bytes | |||
-rw-r--r-- | dev-libs/libevent/Manifest | 3 | ||||
-rw-r--r-- | dev-libs/libevent/files/libevent-2.2.1-disable-signalfd.patch | 152 | ||||
-rw-r--r-- | dev-libs/libevent/libevent-2.2.1-r2.ebuild (renamed from dev-libs/libevent/libevent-2.2.1-r1.ebuild) | 8 | ||||
-rw-r--r-- | dev-libs/tinyxml2/Manifest | 3 | ||||
-rw-r--r-- | dev-libs/tinyxml2/files/tinyxml2-9.0.0-musl-1.2.4.patch | 51 | ||||
-rw-r--r-- | dev-libs/tinyxml2/tinyxml2-9.0.0-r1.ebuild | 4 |
7 files changed, 218 insertions, 3 deletions
diff --git a/dev-libs/Manifest.gz b/dev-libs/Manifest.gz Binary files differindex 79759cebcedc..8bd4bea2dd82 100644 --- a/dev-libs/Manifest.gz +++ b/dev-libs/Manifest.gz diff --git a/dev-libs/libevent/Manifest b/dev-libs/libevent/Manifest index 16bc7bccd513..e29df131a5dd 100644 --- a/dev-libs/libevent/Manifest +++ b/dev-libs/libevent/Manifest @@ -1,10 +1,11 @@ AUX libevent-2.1.12-clang16.patch 3562 BLAKE2B d2cf6b7d9499330f0ea5abddd935b2370da2f82e8941a82b81ed9821297d77f1ac39195b12f7966edd06f909491e6ab519fc28c11d97fe6014a646e6431eb038 SHA512 e6d2dbd3e0db9afc4d60a23c7302d56be74aed355d975b6a401fec1c33d7252f67854354249683a0722cccb0176f554e641d2366e9ac00c47edf7d381fbe3de3 AUX libevent-2.1.12-libressl.patch 1237 BLAKE2B 796e4138fa97ff99c6431ee0de84f8ff23469d2b761f83190679b1c7bf19a3354087948707fbcf1b5e6172e65c91b0848acf701e907ab7b08f6a3e712208ce15 SHA512 491311429b0ec63b90c27228271830d55590090623cac4b4400bec4b46bed3f0e7542ef671f467afc1732e3b76eec448179734c2c642d13cbccf8508fae1bf20 +AUX libevent-2.2.1-disable-signalfd.patch 4755 BLAKE2B b4154198a4a0687a89a2ba35361a1e7ecd2095dc9074fe21b0905abf025a1e79d45ac0085ee0a42c3d7121d9e5addd7d0e9e1ef244d96f166db5c1816d0514fe SHA512 bc5389c4d735d19ed19019c41e436f1474fd486b11494cc3724cf4fdb38419b9e6a7f651817ce9aff95c8aff51040c90e237213eff61cbb3c1e8f1f14407aa03 DIST libevent-2.1.12-stable.tar.gz 1100847 BLAKE2B bc1ace15f639ecef2e6b3f95976b8830c1d86f1d06606dd949e2978611fdf9859ed4eb9292d13e6e90e3835063edb94aae64a15c518d5dabe680f37d5a7f5290 SHA512 88d8944cd75cbe78bc4e56a6741ca67c017a3686d5349100f1c74f8a68ac0b6410ce64dff160be4a4ba0696ee29540dfed59aaf3c9a02f0c164b00307fcfe84f DIST libevent-2.1.12-stable.tar.gz.asc 488 BLAKE2B 629109913fe57110d0d78f5a7f18f36a7556b6b438ca65d9ce7c8f1d46e04cb9af4df8d7504d31165b510869154ea3a546e55a83bd7b1247bcfdf7c7d9509312 SHA512 841b57a0f6ba645b1871f257b9929093b11b7d6fd03332e6339adceddda233e78f6190faa2339e2b67b26dc2a56ddd7ce622792820b582168b31a2d1d1854f1f DIST libevent-2.2.1-alpha-dev.tar.gz 1166550 BLAKE2B 4ab460a521aab90852ade14c937c06a21f8e5649a1a1dc4114f978a99272deb77b4e05923861e979f4ee5f50e04149d7b8f8e38294279757f27779597f407d79 SHA512 3e0ef283979a30cce11065c3b9a1078f3f006dbab86e8b49f75dc3aac2384085cb74477d95e5bc4e88c0d81ee2359fcd1cf292107d4791de87191019f2fcdfa5 DIST libevent-2.2.1-alpha-dev.tar.gz.asc 488 BLAKE2B d3e2b2782edd3bcabe42183b5b6647b6e55cd52292813901015a96c6eeec40e1ce57e9be731b2bd027c787f22b8ac5a587b7bed1dff95993bedde8b88fc1e89c SHA512 af720bce0829e806fb8bbb043eaf973fa6765ee17f059367b72344ce111a68f878b7a2fe361e4a3db61c7b4724c7dff19f960636b98e4208e7e27a2a077b8848 EBUILD libevent-2.1.12-r1.ebuild 2015 BLAKE2B a8fe8d23b918969de69f419c3f4ed6d444b26e5f195e628a32e00e5d097068dbd6c03ad6fdb42278ff93cee45df5b1825fe5aaa1cba0fa5d75656d7dff58f1f2 SHA512 9ce251a11c6c598a3f9bf9f03d818bd54a25c367b1bf3f012b7ad846f48d709c0f35a74eeaa6bcadf3f2bbd6b98aed6ec881bd259d27ded97db3580b0727c04a -EBUILD libevent-2.2.1-r1.ebuild 1761 BLAKE2B a65f600e2f01af7ce54127e9587f836fc8cac15726922e509e4e91f92ec7f771ae378aa91148fecedb92e265eba402fd5047fbb817f72b1841c6ffe1e8da6030 SHA512 aef8ffa4cadd6c0002f4fa2f5fa9b0a95f8351de9f4f44983b5f97d4261526ad1b567106347d92e8cd914a581cf7c220bbfcb3d1547d9691c0896f2854a398e5 +EBUILD libevent-2.2.1-r2.ebuild 1925 BLAKE2B 446fd9abfcf1497af8909e373bd3aef4c00903338c8c0c01811fb87d9c42145a41b290e4ebf21caa0fed5f3fef20a4bbec0328141f8e30a601010309d08670be SHA512 cbc195813136ed7eccacbe6ca58bc63bd3049896f04d0a3c6a6c547ec13ff4f5e6b202332f60f85fdca4f9ea8759b1ce993bd98ec2d0c656a1568fb7c2e094ad EBUILD libevent-9999.ebuild 1394 BLAKE2B f1c6080e3315545c7af5341498f8e8d3df9eeb71fc57e22ec7b6471be61a969a4a65e4b7a47a269cad258adbeb8fbd97fd0c6c5d67ff97bd8f4ee68c2c6cc840 SHA512 685ce4c93fefb5d08c005e4f3002749d2a6a71a3e8ad8806da16b870f609a1e0d75dcb8de9bbbeffcc393532a83713fbc21138be0a2d504c1004dc2e539ab304 MISC metadata.xml 935 BLAKE2B 45e1677dd467a0b9f0de89bf9966cec3368da090bc330c7b31aa8528d19440e3523ef3afb67d27102cbf4b40ad8343dc03d040f5961629e2a43d55fe46d7e5a6 SHA512 a7a5ac5c59e2a767bbb511c4eefb53535d894a936d5cd0e9206c176a4f50dfc90387a46a35ece2b48740974f9352793ab56026573678ab74e3e1e5250799bdcf diff --git a/dev-libs/libevent/files/libevent-2.2.1-disable-signalfd.patch b/dev-libs/libevent/files/libevent-2.2.1-disable-signalfd.patch new file mode 100644 index 000000000000..6dfce3db3497 --- /dev/null +++ b/dev-libs/libevent/files/libevent-2.2.1-disable-signalfd.patch @@ -0,0 +1,152 @@ +From 594ab34f1dfc73db85e8f95ec51892cadecaa76c Mon Sep 17 00:00:00 2001 +From: Azat Khuzhin <azat@libevent.org> +Date: Mon, 10 Jul 2023 10:40:49 +0200 +Subject: [PATCH] Disable signalfd by default + +signalfd may behave differently to sigaction/signal, so to avoid +breaking libevent users (like [1], [2]) disable it by default. + + [1]: https://github.com/tmux/tmux/pull/3621 + [2]: https://github.com/tmux/tmux/pull/3626 + +Also signalfd is not that perfect: +- you need to SIG_BLOCK the signal before + - blocked signals are not reset on exec + - blocked signals are allowed to coalesce - so in case of multiple + signals sent you may get the signal only once (ok for most of the + signals, but may be a problem for SIGCHLD, though you may call + waitpid() in a loop or use pidfd) +- and also one implementation problem - + sigprocmask is unspecified in a multithreaded process + +Refs: +- https://lwn.net/Articles/415684/ +- https://ldpreload.com/blog/signalfd-is-useless + +Refs: https://github.com/libevent/libevent/issues/1460 +Refs: #1342 (cc @dmantipov) +--- + CMakeLists.txt | 1 + + include/event2/event.h | 6 ++++-- + signalfd.c | 4 ++-- + test/include.am | 2 ++ + test/test.sh | 11 +++++++++-- + 5 files changed, 18 insertions(+), 6 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index cd41d16e57..9c402ec0c1 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1509,6 +1509,7 @@ if (NOT EVENT__DISABLE_TESTS) + else() + add_backend_test(${BACKEND} "${BACKEND_ENV_VARS}") + endif() ++ add_backend_test(signalfd_${BACKEND} "${BACKEND_ENV_VARS};EVENT_USE_SIGNALFD=1") + endforeach() + + # +diff --git a/include/event2/event.h b/include/event2/event.h +index 384a84178b..9b971edf1d 100644 +--- a/include/event2/event.h ++++ b/include/event2/event.h +@@ -599,9 +599,11 @@ enum event_base_config_flag { + */ + EVENT_BASE_FLAG_EPOLL_DISALLOW_TIMERFD = 0x40, + +- /** Do not use signalfd(2) to handle signals even if supported. ++ /** Use signalfd(2) to handle signals over sigaction/signal. ++ * ++ * But note, that in some edge cases signalfd() may works differently. + */ +- EVENT_BASE_FLAG_DISALLOW_SIGNALFD = 0x80, ++ EVENT_BASE_FLAG_USE_SIGNALFD = 0x80, + }; + + /** +diff --git a/signalfd.c b/signalfd.c +index 376a04d539..ed31014e5f 100644 +--- a/signalfd.c ++++ b/signalfd.c +@@ -205,8 +205,8 @@ sigfd_del(struct event_base *base, int signo, short old, short events, void *p) + int sigfd_init_(struct event_base *base) + { + EVUTIL_ASSERT(base != NULL); +- if ((base->flags & EVENT_BASE_FLAG_DISALLOW_SIGNALFD) || +- getenv("EVENT_DISALLOW_SIGNALFD")) ++ if (!(base->flags & EVENT_BASE_FLAG_USE_SIGNALFD) && ++ !getenv("EVENT_USE_SIGNALFD")) + return -1; + base->evsigsel = &sigfdops; + return 0; +diff --git a/test/include.am b/test/include.am +index e061c937b7..9b50759da7 100644 +--- a/test/include.am ++++ b/test/include.am +@@ -80,6 +80,8 @@ test_runner_changelist: $(top_srcdir)/test/test.sh + $(top_srcdir)/test/test.sh -b "" -c + test_runner_timerfd_changelist: $(top_srcdir)/test/test.sh + $(top_srcdir)/test/test.sh -b "" -T ++test_runner_timerfd_changelist: $(top_srcdir)/test/test.sh ++ $(top_srcdir)/test/test.sh -b "" -S + + DISTCLEANFILES += test/regress.gen.c test/regress.gen.h + +diff --git a/test/test.sh b/test/test.sh +index dfdd2bf098..79362888c5 100755 +--- a/test/test.sh ++++ b/test/test.sh +@@ -50,6 +50,7 @@ setup () { + done + unset EVENT_EPOLL_USE_CHANGELIST + unset EVENT_PRECISE_TIMER ++ unset EVENT_USE_SIGNALFD + } + + announce () { +@@ -138,10 +139,12 @@ do_test() { + EVENT_EPOLL_USE_CHANGELIST=yes; export EVENT_EPOLL_USE_CHANGELIST + elif test "$2" = "(timerfd)" ; then + EVENT_PRECISE_TIMER=1; export EVENT_PRECISE_TIMER ++ elif test "$2" = "(signalfd)" ; then ++ EVENT_USE_SIGNALFD=1; export EVENT_USE_SIGNALFD + elif test "$2" = "(timerfd+changelist)" ; then + EVENT_EPOLL_USE_CHANGELIST=yes; export EVENT_EPOLL_USE_CHANGELIST + EVENT_PRECISE_TIMER=1; export EVENT_PRECISE_TIMER +- fi ++ fi + + run_tests + } +@@ -153,6 +156,7 @@ usage() + -t - run timerfd test + -c - run changelist test + -T - run timerfd+changelist test ++ -S - run signalfd test + EOL + } + main() +@@ -161,13 +165,15 @@ main() + timerfd=0 + changelist=0 + timerfd_changelist=0 ++ signalfd=0 + +- while getopts "b:tcT" c; do ++ while getopts "b:tcTS" c; do + case "$c" in + b) backends="$OPTARG";; + t) timerfd=1;; + c) changelist=1;; + T) timerfd_changelist=1;; ++ S) signalfd=1;; + ?*) usage && exit 1;; + esac + done +@@ -179,6 +185,7 @@ main() + [ $timerfd_changelist -eq 0 ] || do_test EPOLL "(timerfd+changelist)" + for i in $backends; do + do_test $i ++ [ $signalfd -eq 0 ] || do_test $i "(signalfd)" + done + + if test "$FAILED" = "yes"; then diff --git a/dev-libs/libevent/libevent-2.2.1-r1.ebuild b/dev-libs/libevent/libevent-2.2.1-r2.ebuild index 63ff06976ccb..ea1d05922dfd 100644 --- a/dev-libs/libevent/libevent-2.2.1-r1.ebuild +++ b/dev-libs/libevent/libevent-2.2.1-r2.ebuild @@ -21,7 +21,7 @@ SRC_URI=" S=${WORKDIR}/${MY_P} LICENSE="BSD" -SLOT="0/2.2" +SLOT="0/2.2.1-r2" KEYWORDS="" IUSE=" +clock-gettime debug malloc-replacement mbedtls +ssl static-libs @@ -49,6 +49,12 @@ MULTILIB_WRAPPED_HEADERS=( ) VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/libevent.asc +PATCHES=( + # signalfd-by-default breaks at least app-misc/tmux + # https://github.com/libevent/libevent/pull/1486 + "${FILESDIR}/${P}-disable-signalfd.patch" +) + multilib_src_configure() { # fix out-of-source builds mkdir -p test || die diff --git a/dev-libs/tinyxml2/Manifest b/dev-libs/tinyxml2/Manifest index d2533565abf6..5e22ae727e44 100644 --- a/dev-libs/tinyxml2/Manifest +++ b/dev-libs/tinyxml2/Manifest @@ -1,3 +1,4 @@ +AUX tinyxml2-9.0.0-musl-1.2.4.patch 1565 BLAKE2B 135e0582ac59bb42667b23151f112717f224e81bbb9dd9f296d89cc09f1c3cdeba63470df4d3d0cfed912db1279901cdc7b925107150b6c8671450f350bfaac0 SHA512 0aa980e8f189e71db2cdac4de542b95018bbf7e0b5b54b6649274d7773737acc888c81e1a03d63836330196375f9022e95ca2e8bf6c803773c4fdb74e383bd08 DIST tinyxml2-9.0.0.tar.gz 619734 BLAKE2B 9a7bb8b8158417aa505e3d9fcc246b0bede52d6d4d5ff1b5cee891c2b72d1ee43d00ccea001ac24500f52c36320994b3446f3898ab2be1997940dbff526bc78e SHA512 9c5ce8131984690df302ca3e32314573b137180ed522c92fd631692979c942372a28f697fdb3d5e56bcf2d3dc596262b724d088153f3e1d721c9536f2a883367 -EBUILD tinyxml2-9.0.0-r1.ebuild 627 BLAKE2B 299afb05f839a7b282e96b51080b106b38c6c2269b2ccdfa2a540f632539de96f6686c2c091200235dce059c4e2c8573e40f1ef9e3dfb975b8481d1095af697f SHA512 a22927da5a452c1cbb42273b817436a1214d7dbca4b840bf5579753f212a6ca2cfa9af8c31df980893a2d979b8730fc720f8a3d2aba60bc4ae9ea5d667b07185 +EBUILD tinyxml2-9.0.0-r1.ebuild 677 BLAKE2B 5abb0ca2424f04d593b431cc4104ae59d88d257ab5e9759f90178b709200878762e78083a2f1914d2683ed872e07a30ea7056d28bef1b0e8382d2f706c426171 SHA512 4bc0601ba52237a8fd74aa85b99b942f6bfeb26b4bc2a73d12913ce5947f79e3dd75bece2b063abe8cb3543235115be2e805b81739846577a53bf2b6d67cc147 MISC metadata.xml 355 BLAKE2B 6be5c6bba810888d84a8e4c04a01116b36d2bce9ee5bbdfdb291312fa77e3cc85671e72aa3fe1d5c495d036bfd96930e8b5b3c782b9cc71ecef97729823c0241 SHA512 3c40ff5e22cfa8a3ea1c54e132f6c1d6698fa87659a14862e52267c0f80109527d7a872f92b8dcbcabc6ecbec11b3e51ce4b8329325857d465114c4600c8eed6 diff --git a/dev-libs/tinyxml2/files/tinyxml2-9.0.0-musl-1.2.4.patch b/dev-libs/tinyxml2/files/tinyxml2-9.0.0-musl-1.2.4.patch new file mode 100644 index 000000000000..2670d4ffa913 --- /dev/null +++ b/dev-libs/tinyxml2/files/tinyxml2-9.0.0-musl-1.2.4.patch @@ -0,0 +1,51 @@ +Bug: https://bugs.gentoo.org/905999 +Upstream: https://leethomason/tinyxml2/pull/945 + +From dfcb914e8bbbb2dca146a3cee62f66fff7ea163b Mon Sep 17 00:00:00 2001 +From: Violet Purcell <vimproved@inventati.org> +Date: Thu, 8 Jun 2023 15:19:41 +0000 +Subject: [PATCH] Remove LFS64 calls and set _FILE_OFFSET_BITS=64 + +Musl 1.2.4 made the LFS64 interfaces only available when +_LARGEFILE64_SOURCE is defined, and they will be removed altogether in +Musl 1.2.5. This commit replaces the LFS64 calls with their non-LFS64 +versions and defines _FILE_OFFSET_BITS=64, which makes all interfaces +64-bit. + +Bug: https://bugs.gentoo.org/905999 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -31,6 +31,7 @@ target_compile_definitions( + PUBLIC $<$<CONFIG:Debug>:TINYXML2_DEBUG>
+ INTERFACE $<$<BOOL:${BUILD_SHARED_LIBS}>:TINYXML2_IMPORT>
+ PRIVATE $<$<CXX_COMPILER_ID:MSVC>:_CRT_SECURE_NO_WARNINGS>
++ PUBLIC _FILE_OFFSET_BITS=64
+ )
+
+ set_target_properties(
+--- a/Makefile ++++ b/Makefile +@@ -10,7 +10,7 @@ ARFLAGS = cr + RM = rm -f + RANLIB = ranlib + MKDIR = mkdir -p +-CXXFLAGS = -fPIC ++CXXFLAGS = -D_FILE_OFFSET_BITS=64 -fPIC + + INSTALL = install + INSTALL_PROGRAM = $(INSTALL) +--- a/tinyxml2.cpp ++++ b/tinyxml2.cpp +@@ -106,9 +106,6 @@ distribution. + #elif defined(__APPLE__) || defined(__FreeBSD__) || defined(__ANDROID__)
+ #define TIXML_FSEEK fseeko
+ #define TIXML_FTELL ftello
+-#elif defined(__unix__) && defined(__x86_64__)
+- #define TIXML_FSEEK fseeko64
+- #define TIXML_FTELL ftello64
+ #else
+ #define TIXML_FSEEK fseek
+ #define TIXML_FTELL ftell
+-- +2.41.0 + diff --git a/dev-libs/tinyxml2/tinyxml2-9.0.0-r1.ebuild b/dev-libs/tinyxml2/tinyxml2-9.0.0-r1.ebuild index c7e2537dcb14..628efc0dcde4 100644 --- a/dev-libs/tinyxml2/tinyxml2-9.0.0-r1.ebuild +++ b/dev-libs/tinyxml2/tinyxml2-9.0.0-r1.ebuild @@ -16,6 +16,10 @@ KEYWORDS="amd64 arm arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv sparc x86" IUSE="test" RESTRICT="!test? ( test )" +PATCHES=( + "${FILESDIR}/${P}-musl-1.2.4.patch" +) + src_configure() { local mycmakeargs=( -DBUILD_TESTING=$(usex test) |