diff options
author | Marek Szuba <marecki@gentoo.org> | 2020-04-10 22:39:36 +0100 |
---|---|---|
committer | Marek Szuba <marecki@gentoo.org> | 2020-04-10 22:47:53 +0100 |
commit | 78468709f8de7414bb71a419074a3d53110cdbc0 (patch) | |
tree | 3eedc22bd3912d44b8eb1a885f1ce39bcfe5a518 /sys-auth | |
parent | net-im/zoom: Remove old. (diff) | |
download | gentoo-78468709f8de7414bb71a419074a3d53110cdbc0.tar.gz gentoo-78468709f8de7414bb71a419074a3d53110cdbc0.tar.bz2 gentoo-78468709f8de7414bb71a419074a3d53110cdbc0.zip |
sys-auth/rtkit: fix 0.13 meson build scripts
One, they installed rtkitctl into bin rather than, like autotools, into
sbin. Already fixed upstream.
Two, they aborted if the program 'xxd' couldn't be found without
even trying to use a pre-generated header file. I have just submitted a
pull request to fix this upstream as well.
Will stick with Meson though, in order to revert to autotools someone
would have to make it possible not to install tests and I really do not
want to hack at this particular build system any more than I absolutely
have to.
Signed-off-by: Marek Szuba <marecki@gentoo.org>
Diffstat (limited to 'sys-auth')
-rw-r--r-- | sys-auth/rtkit/files/rtkit-0.13_meson_rtkitctl_dir.patch | 25 | ||||
-rw-r--r-- | sys-auth/rtkit/files/rtkit-0.13_meson_xxd_optional.patch | 59 | ||||
-rw-r--r-- | sys-auth/rtkit/rtkit-0.13.ebuild | 5 |
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" |