summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-auth/rtkit')
-rw-r--r--sys-auth/rtkit/files/rtkit-0.13_meson_rtkitctl_dir.patch25
-rw-r--r--sys-auth/rtkit/files/rtkit-0.13_meson_xxd_optional.patch59
-rw-r--r--sys-auth/rtkit/rtkit-0.13.ebuild5
3 files changed, 89 insertions, 0 deletions
diff --git a/sys-auth/rtkit/files/rtkit-0.13_meson_rtkitctl_dir.patch b/sys-auth/rtkit/files/rtkit-0.13_meson_rtkitctl_dir.patch
new file mode 100644
index 000000000000..6d48004e6dc1
--- /dev/null
+++ b/sys-auth/rtkit/files/rtkit-0.13_meson_rtkitctl_dir.patch
@@ -0,0 +1,25 @@
+From c295fa849f52b487be6433e69e08b46251950399 Mon Sep 17 00:00:00 2001
+From: Felipe Sateler <fsateler@users.noreply.github.com>
+Date: Sun, 5 Apr 2020 12:16:01 -0400
+Subject: [PATCH 1/2] meson: Install rtkitctl to sbin
+
+That is the path previously used in the autotools system
+---
+ meson.build | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/meson.build b/meson.build
+index 50e137c..02e6c73 100644
+--- a/meson.build
++++ b/meson.build
+@@ -115,6 +115,7 @@ executable(
+ 'rtkitctl',
+ 'rtkitctl.c', 'rtkit.h', config_h,
+ install: true,
++ install_dir: get_option('sbindir'),
+ dependencies: [dbus_dep],
+ )
+
+--
+2.24.1
+
diff --git a/sys-auth/rtkit/files/rtkit-0.13_meson_xxd_optional.patch b/sys-auth/rtkit/files/rtkit-0.13_meson_xxd_optional.patch
new file mode 100644
index 000000000000..17320543b9ee
--- /dev/null
+++ b/sys-auth/rtkit/files/rtkit-0.13_meson_xxd_optional.patch
@@ -0,0 +1,59 @@
+From ac157ef9c7b90d995436d999f15f41f04bff6052 Mon Sep 17 00:00:00 2001
+From: Marek Szuba <Marek.Szuba@cern.ch>
+Date: Fri, 10 Apr 2020 22:08:00 +0100
+Subject: [PATCH 2/2] Actually let meson use pre-generated introspection file
+
+Unlike autoconf, meson scripts actually aborted if the program 'xxd' was
+absent regardless of whether the pre-generated introspection file was
+found or not. Make xxd optional, and if it is not found print a warning
+and make the dependency object xml_introspection_h point at the relevant
+file in the source directory instead of generating a new one in the build
+directory. If that file does not exist either, abort.
+---
+ meson.build | 23 ++++++++++++++---------
+ 1 file changed, 14 insertions(+), 9 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index 02e6c73..68fa23c 100644
+--- a/meson.build
++++ b/meson.build
+@@ -13,7 +13,7 @@ add_project_arguments(
+
+ cc = meson.get_compiler('c')
+ sh = find_program('sh')
+-xxd = find_program('xxd')
++xxd = find_program('xxd', required: false)
+
+ dbus_dep = dependency('dbus-1')
+ libcap_dep = dependency('libcap')
+@@ -80,14 +80,19 @@ config_h = configure_file(
+ configuration: config,
+ )
+
+-xml_introspection_h = configure_file(
+- input: 'org.freedesktop.RealtimeKit1.xml',
+- output: 'xml-introspection.h',
+- command: [
+- sh, '-c', '"$1" -i < "$2" > "$3"', sh,
+- xxd, '@INPUT@', '@OUTPUT@'
+- ],
+-)
++if xxd.found()
++ xml_introspection_h = configure_file(
++ input: 'org.freedesktop.RealtimeKit1.xml',
++ output: 'xml-introspection.h',
++ command: [
++ sh, '-c', '"$1" -i < "$2" > "$3"', sh,
++ xxd, '@INPUT@', '@OUTPUT@'
++ ],
++ )
++else
++ warning('xxd not found, cannot compile introspection XML. Looking for existing one...')
++ xml_introspection_h = files('xml-introspection.h')
++endif
+
+ executable(
+ 'rtkit-daemon',
+--
+2.24.1
+
diff --git a/sys-auth/rtkit/rtkit-0.13.ebuild b/sys-auth/rtkit/rtkit-0.13.ebuild
index c5a7b3105f06..61c97841c750 100644
--- a/sys-auth/rtkit/rtkit-0.13.ebuild
+++ b/sys-auth/rtkit/rtkit-0.13.ebuild
@@ -23,6 +23,11 @@ DEPEND="acct-group/rtkit
systemd? ( sys-apps/systemd )"
RDEPEND="${DEPEND}"
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.13_meson_rtkitctl_dir.patch
+ "${FILESDIR}"/${PN}-0.13_meson_xxd_optional.patch
+)
+
pkg_pretend() {
if use kernel_linux; then
CONFIG_CHECK="~!RT_GROUP_SCHED"