diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2021-05-11 19:55:43 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2021-05-11 19:55:43 +0100 |
commit | 185fa19bbf68a4d4dca534d2b46729207a177f16 (patch) | |
tree | a8a537b82fda83a0799c2ca9887f212558363aa7 /net-libs/gtk-vnc/files/gtk-vnc-1.2.0-build-improve-with-coroutine-auto-choice.patch | |
parent | c8fd0d84af0bfd1949542adc2cbb735b1d28f9ed (diff) |
gentoo resync : 11.05.2021
Diffstat (limited to 'net-libs/gtk-vnc/files/gtk-vnc-1.2.0-build-improve-with-coroutine-auto-choice.patch')
-rw-r--r-- | net-libs/gtk-vnc/files/gtk-vnc-1.2.0-build-improve-with-coroutine-auto-choice.patch | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/net-libs/gtk-vnc/files/gtk-vnc-1.2.0-build-improve-with-coroutine-auto-choice.patch b/net-libs/gtk-vnc/files/gtk-vnc-1.2.0-build-improve-with-coroutine-auto-choice.patch new file mode 100644 index 000000000000..eba775dd3a52 --- /dev/null +++ b/net-libs/gtk-vnc/files/gtk-vnc-1.2.0-build-improve-with-coroutine-auto-choice.patch @@ -0,0 +1,59 @@ +From e540fbc34d6bbfe3e84f1d9c33deaacc2326c7c9 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Jakub=20Jank=C5=AF?= <jjanku@redhat.com> +Date: Mon, 26 Apr 2021 17:38:13 +0200 +Subject: [PATCH 1/3] build: improve --with-coroutine=auto choice +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +When the required ucontext functions aren't found, switch to gthread +coroutines instead of failing during the build. + +These functions are absent from the POSIX.1-2008. + +Fixes: https://gitlab.gnome.org/GNOME/gtk-vnc/-/issues/11 + +Signed-off-by: Jakub Janků <jjanku@redhat.com> +--- + meson.build | 17 ++++++++++++++++- + 1 file changed, 16 insertions(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index 8052d43..e9829e6 100644 +--- a/meson.build ++++ b/meson.build +@@ -43,8 +43,20 @@ cc = meson.get_compiler('c') + + coroutine = get_option('with-coroutine') + ++uctx_args = [] ++if host_machine.system() == 'darwin' ++ uctx_args += ['-D_XOPEN_SOURCE=600'] ++endif ++has_ucontext = true ++foreach uctx_func : ['makecontext', 'swapcontext', 'getcontext'] ++ if not cc.has_function(uctx_func, prefix: '#include <ucontext.h>', args: uctx_args) ++ has_ucontext = false ++ break ++ endif ++endforeach ++ + if coroutine == 'auto' +- if host_machine.system() == 'windows' ++ if host_machine.system() == 'windows' or not has_ucontext + coroutine = 'gthread' + else + coroutine = 'ucontext' +@@ -52,6 +64,9 @@ if coroutine == 'auto' + endif + + if coroutine == 'ucontext' ++ if not has_ucontext ++ error('ucontext requested, but not available') ++ endif + conf_data.set('WITH_UCONTEXT', true) + elif coroutine != 'gthread' + error('Unknown coroutine backend') +-- +2.26.3 + |