diff options
author | Jory Pratt <anarchy@gentoo.org> | 2021-03-12 09:06:33 -0600 |
---|---|---|
committer | Jory Pratt <anarchy@gentoo.org> | 2021-03-12 09:06:47 -0600 |
commit | a76defdd03f53949133c2a18dec2ec2b8aa07ef6 (patch) | |
tree | 999654075c168f28db77a0cdaa520a80dc1a3d53 /sys-libs/liburing | |
parent | www-client/qutebrowser: verbump to 2.1.0 (diff) | |
download | gentoo-a76defdd03f53949133c2a18dec2ec2b8aa07ef6.tar.gz gentoo-a76defdd03f53949133c2a18dec2ec2b8aa07ef6.tar.bz2 gentoo-a76defdd03f53949133c2a18dec2ec2b8aa07ef6.zip |
sys-libs/liburing: add support to detect ucontext.h
Closes: https://bugs.gentoo.org/713528
Closes: https://github.com/gentoo/musl/issues/379
Package-Manager: Portage-3.0.17, Repoman-3.0.2
Signed-off-by: Jory Pratt <anarchy@gentoo.org>
Diffstat (limited to 'sys-libs/liburing')
-rw-r--r-- | sys-libs/liburing/files/liburing-0.7-ucontext_h-detection.patch | 72 | ||||
-rw-r--r-- | sys-libs/liburing/liburing-0.7-r1.ebuild | 6 |
2 files changed, 77 insertions, 1 deletions
diff --git a/sys-libs/liburing/files/liburing-0.7-ucontext_h-detection.patch b/sys-libs/liburing/files/liburing-0.7-ucontext_h-detection.patch new file mode 100644 index 000000000000..24b847d919df --- /dev/null +++ b/sys-libs/liburing/files/liburing-0.7-ucontext_h-detection.patch @@ -0,0 +1,72 @@ +From 1cf969dfcba797a02d74540965677b92d3884cfa Mon Sep 17 00:00:00 2001 +From: Simon Zeni <simon@bl4ckb0ne.ca> +Date: Tue, 27 Oct 2020 22:31:21 -0400 +Subject: [PATCH] examples: disable ucontext-cp if ucontext.h is not available + +The header file `ucontext.h` is not available on musl based distros. The +example `ucontext-cp` is not built if `configure` fails to locate the +header. + +Signed-off-by: Simon Zeni <simon@bl4ckb0ne.ca> +Signed-off-by: Jens Axboe <axboe@kernel.dk> +--- + configure | 21 +++++++++++++++++++++ + examples/Makefile | 6 +++++- + 2 files changed, 26 insertions(+), 1 deletion(-) + +diff --git a/configure b/configure +index c911f59..3b96cde 100755 +--- a/configure ++++ b/configure +@@ -287,6 +287,24 @@ if compile_prog_cxx "" "" "C++"; then + fi + print_config "C++" "$has_cxx" + ++########################################## ++# check for ucontext support ++has_ucontext="no" ++cat > $TMPC << EOF ++#include <ucontext.h> ++int main(int argc, char **argv) ++{ ++ ucontext_t ctx; ++ getcontext(&ctx); ++ return 0; ++} ++EOF ++if compile_prog "" "" "has_ucontext"; then ++ has_ucontext="yes" ++fi ++print_config "has_ucontext" "$has_ucontext" ++ ++ + ############################################################################# + + if test "$__kernel_rwf_t" = "yes"; then +@@ -304,6 +322,9 @@ fi + if test "$has_cxx" = "yes"; then + output_sym "CONFIG_HAVE_CXX" + fi ++if test "$has_ucontext" = "yes"; then ++ output_sym "CONFIG_HAVE_UCONTEXT" ++fi + + echo "CC=$cc" >> $config_host_mak + print_config "CC" "$cc" +diff --git a/examples/Makefile b/examples/Makefile +index 0eec627..60c1b71 100644 +--- a/examples/Makefile ++++ b/examples/Makefile +@@ -10,7 +10,11 @@ ifneq ($(MAKECMDGOALS),clean) + include ../config-host.mak + endif + +-all_targets += io_uring-test io_uring-cp link-cp ucontext-cp ++all_targets += io_uring-test io_uring-cp link-cp ++ ++ifdef CONFIG_HAVE_UCONTEXT ++all_targets += ucontext-cp ++endif + + all: $(all_targets) + diff --git a/sys-libs/liburing/liburing-0.7-r1.ebuild b/sys-libs/liburing/liburing-0.7-r1.ebuild index dc6b60760777..715212503eba 100644 --- a/sys-libs/liburing/liburing-0.7-r1.ebuild +++ b/sys-libs/liburing/liburing-0.7-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -21,6 +21,10 @@ IUSE="static-libs" # fsync test hangs forever RESTRICT="test" +PATCHES=( + "${FILESDIR}"/${PN}-0.7-ucontext_h-detection.patch +) + src_prepare() { default multilib_copy_sources |