summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMart Raudsepp <leio@gentoo.org>2019-04-09 14:33:29 +0300
committerMart Raudsepp <leio@gentoo.org>2019-04-09 14:40:55 +0300
commitc8773758536fa7cba8843b64eef173d7d828df7e (patch)
tree721516aaa57aa939a274beb3b68d389c1defa389
parentsys-fs/udisks: fix LICENSE, ebuild touchups (diff)
downloadgentoo-c8773758536fa7cba8843b64eef173d7d828df7e.tar.gz
gentoo-c8773758536fa7cba8843b64eef173d7d828df7e.tar.bz2
gentoo-c8773758536fa7cba8843b64eef173d7d828df7e.zip
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 <leio@gentoo.org>
-rw-r--r--sys-apps/gnome-disk-utility/files/elogind-support.patch114
-rw-r--r--sys-apps/gnome-disk-utility/gnome-disk-utility-3.30.2-r1.ebuild67
2 files changed, 181 insertions, 0 deletions
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 <leio@gentoo.org>
+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 <features.h>
+ #endif
+
+-#if defined(HAVE_LIBSYSTEMD)
++#if defined(HAVE_LOGIND)
+ #include <systemd/sd-login.h>
+ #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
+}