From c8773758536fa7cba8843b64eef173d7d828df7e Mon Sep 17 00:00:00 2001 From: Mart Raudsepp Date: Tue, 9 Apr 2019 14:33:29 +0300 Subject: sys-apps/gnome-disk-utility: add optional elogind support Closes: https://bugs.gentoo.org/682134 Package-Manager: Portage-2.3.52, Repoman-2.3.12 Signed-off-by: Mart Raudsepp --- .../gnome-disk-utility/files/elogind-support.patch | 114 +++++++++++++++++++++ .../gnome-disk-utility-3.30.2-r1.ebuild | 67 ++++++++++++ 2 files changed, 181 insertions(+) create mode 100644 sys-apps/gnome-disk-utility/files/elogind-support.patch create mode 100644 sys-apps/gnome-disk-utility/gnome-disk-utility-3.30.2-r1.ebuild diff --git a/sys-apps/gnome-disk-utility/files/elogind-support.patch b/sys-apps/gnome-disk-utility/files/elogind-support.patch new file mode 100644 index 000000000000..10ebcdc9f53d --- /dev/null +++ b/sys-apps/gnome-disk-utility/files/elogind-support.patch @@ -0,0 +1,114 @@ +From 2c09cf164f654a5ed2bc153db30710999842c7a5 Mon Sep 17 00:00:00 2001 +From: Mart Raudsepp +Date: Tue, 9 Apr 2019 13:16:46 +0300 +Subject: [PATCH] build: add elogind support for seat retrieval + +--- + meson.build | 21 ++++++++++++--------- + meson_options.txt | 3 ++- + src/libgdu/gduutils.c | 4 ++-- + src/libgdu/meson.build | 5 +---- + 4 files changed, 17 insertions(+), 16 deletions(-) + +diff --git a/meson.build b/meson.build +index a5149c8e..ac641928 100644 +--- a/meson.build ++++ b/meson.build +@@ -3,7 +3,7 @@ project( + version: '3.32.0', + license: 'GPL2.0', + default_options: 'buildtype=debugoptimized', +- meson_version: '>= 0.43.0' ++ meson_version: '>= 0.47.0' + ) + + gdu_name = 'gnome-disk-utility' +@@ -75,13 +75,16 @@ libnotify_dep = dependency('libnotify', version: '>= 0.7') + liblzma_dep = dependency('liblzma', version: '>= 5.0.5') + m_dep = cc.find_library('m') + +-# *** Check for libsystemd *** +-enable_libsystemd = get_option('libsystemd') +-if enable_libsystemd +- libsystemd_dep = dependency('libsystemd', version: '>= 209', required: false) +- config_h.set('HAVE_LIBSYSTEMD', libsystemd_dep.found(), +- description: 'Define to 1 if libsystemd is available') ++# *** Check for logind *** ++assert(not (get_option('libsystemd').enabled() and get_option('libelogind').enabled()), 'Can not support systemd and elogind at once') ++if not get_option('libelogind').enabled() ++ logind_dep = dependency('libsystemd', version: '>= 209', required: get_option('libsystemd')) + endif ++if get_option('libelogind').enabled() or not logind_dep.found() ++ logind_dep = dependency('libelogind', version: '>= 209', required: get_option('libelogind')) ++endif ++config_h.set('HAVE_LOGIND', logind_dep.found(), ++ description: 'Define to 1 if logind API is available') + + gnome = import('gnome') + i18n = import('i18n') +@@ -123,9 +126,9 @@ output += ' libexecdir: ' + gdu_libexecdir + '\n' + output += ' localedir: ' + gdu_localedir + '\n' + output += ' mandir: ' + gdu_mandir + '\n' + output += ' sysconfdir: ' + gdu_sysconfdir + '\n\n' +-output += ' Use libsystemd: ' + enable_libsystemd.to_string() + '\n' ++output += ' Use logind: ' + logind_dep.found().to_string() + '\n' + output += ' Build g-s-d plug-in: ' + enable_gsd_plugin.to_string() + '\n\n' + output += ' compiler: ' + cc.get_id() + '\n' + output += ' cflags: ' + ' '.join(compiler_flags) + '\n\n' +-output += ' (Change with: meson configure BUILDDIR -D libsystemd=true|false -D gsd_plugin=true|false)\n\n' ++output += ' (Change with: meson configure BUILDDIR -D libelogind=auto|enabled|disabled -D libsystemd=auto|enabled|disabled -D gsd_plugin=true|false)\n\n' + message(output) +diff --git a/meson_options.txt b/meson_options.txt +index 952f5d24..895fc115 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -1,2 +1,3 @@ +-option('libsystemd', type: 'boolean', value: true, description: 'build with libsystemd') ++option('libelogind', type: 'feature', value: 'auto', description: 'build with libelogind') ++option('libsystemd', type: 'feature', value: 'auto', description: 'build with libsystemd') + option('gsd_plugin', type: 'boolean', value: true, description: 'build gnome-settings-daemon plug-in') +diff --git a/src/libgdu/gduutils.c b/src/libgdu/gduutils.c +index 59a26f3a..bff70304 100644 +--- a/src/libgdu/gduutils.c ++++ b/src/libgdu/gduutils.c +@@ -19,7 +19,7 @@ + # include + #endif + +-#if defined(HAVE_LIBSYSTEMD) ++#if defined(HAVE_LOGIND) + #include + #endif + +@@ -405,7 +405,7 @@ gdu_options_update_entry_option (GtkWidget *options_entry, + g_free (opts); + } + +-#if defined(HAVE_LIBSYSTEMD) ++#if defined(HAVE_LOGIND) + + const gchar * + gdu_utils_get_seat (void) +diff --git a/src/libgdu/meson.build b/src/libgdu/meson.build +index 00f7edd7..0693b229 100644 +--- a/src/libgdu/meson.build ++++ b/src/libgdu/meson.build +@@ -17,14 +17,11 @@ deps = [ + udisk_dep, + gtk_dep, + libsecret_dep, ++ logind_dep, + pwquality_dep, + m_dep + ] + +-if enable_libsystemd +- deps += libsystemd_dep +-endif +- + cflags = [ + '-DPACKAGE_DATA_DIR="@0@"'.format(gdu_datadir), + '-DG_LOG_DOMAIN="libgdu"', +-- +2.17.0 + diff --git a/sys-apps/gnome-disk-utility/gnome-disk-utility-3.30.2-r1.ebuild b/sys-apps/gnome-disk-utility/gnome-disk-utility-3.30.2-r1.ebuild new file mode 100644 index 000000000000..bdc871e209f2 --- /dev/null +++ b/sys-apps/gnome-disk-utility/gnome-disk-utility-3.30.2-r1.ebuild @@ -0,0 +1,67 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit gnome.org gnome2-utils meson xdg + +DESCRIPTION="Disk Utility for GNOME using udisks" +HOMEPAGE="https://wiki.gnome.org/Apps/Disks" + +LICENSE="GPL-2+" +SLOT="0" +IUSE="fat elogind gnome systemd" +REQUIRED_USE="?? ( elogind systemd )" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86" + +COMMON_DEPEND=" + >=dev-libs/glib-2.31:2 + >=sys-fs/udisks-2.7.6:2 + >=x11-libs/gtk+-3.16.0:3 + >=app-crypt/libsecret-0.7 + >=dev-libs/libpwquality-1.0.0 + >=media-libs/libcanberra-0.1[gtk3] + >=media-libs/libdvdread-4.2.0 + >=x11-libs/libnotify-0.7:= + >=app-arch/xz-utils-5.0.5 + elogind? ( >=sys-auth/elogind-209 ) + systemd? ( >=sys-apps/systemd-209:0= ) +" +RDEPEND="${COMMON_DEPEND} + x11-themes/adwaita-icon-theme + fat? ( sys-fs/dosfstools ) + gnome? ( >=gnome-base/gnome-settings-daemon-3.8 ) +" +# appstream-glib for developer_name tag in appdata (gettext-0.19.8.1 own appdata.its file doesn't have it yet) +# libxml2 for xml-stripblanks in gresource +DEPEND="${COMMON_DEPEND} + dev-libs/appstream-glib + dev-libs/libxml2:2 + dev-libs/libxslt + dev-util/glib-utils + >=sys-devel/gettext-0.19.8 + virtual/pkgconfig +" + +PATCHES=( + "${FILESDIR}"/elogind-support.patch # https://gitlab.gnome.org/GNOME/gnome-disk-utility/merge_requests/15 +) + +src_configure() { + local emesonargs=( + $(meson_feature elogind libelogind) + $(meson_feature systemd libsystemd) + $(meson_use gnome gsd_plugin) + ) + meson_src_configure +} + +pkg_postinst() { + xdg_pkg_postinst + gnome2_schemas_update +} + +pkg_postrm() { + xdg_pkg_postrm + gnome2_schemas_update +} -- cgit v1.2.3-65-gdbad