From e2844c0d42880449eaba30a4ebc839ad35b7feac Mon Sep 17 00:00:00 2001 From: Nicholas Fish Date: Fri, 19 Jul 2019 07:45:03 +0200 Subject: gnome-base/dconf: Add trimming DBUS dependency Signed-off-by: Nicholas Fish --- gnome-base/dconf/Manifest | 4 ++ gnome-base/dconf/dconf-0.30.1.ebuild | 80 ++++++++++++++++++++++ .../dconf/files/0.30.1-bash-completion-dir.patch | 62 +++++++++++++++++ gnome-base/dconf/metadata.xml | 8 +++ 4 files changed, 154 insertions(+) create mode 100644 gnome-base/dconf/Manifest create mode 100644 gnome-base/dconf/dconf-0.30.1.ebuild create mode 100644 gnome-base/dconf/files/0.30.1-bash-completion-dir.patch create mode 100644 gnome-base/dconf/metadata.xml diff --git a/gnome-base/dconf/Manifest b/gnome-base/dconf/Manifest new file mode 100644 index 0000000..394e751 --- /dev/null +++ b/gnome-base/dconf/Manifest @@ -0,0 +1,4 @@ +AUX 0.30.1-bash-completion-dir.patch 3222 BLAKE2B 977be3dd9cbee50bc976fbae125b058579587dcf55918b07b4bc9708dc9cc19192acddfb225c540806b4866a2e431acc42d461f91fdd935626af366341617595 SHA512 aeaba2126d4e87caf7c467118f2e2d42330fbf5c1d0786c52a2782550c64f41e482034c08e4624cc231e49ec9f39e824d29796b4078090613cfe54adbd420eaa +DIST dconf-0.30.1.tar.xz 104376 BLAKE2B c5a90c092b6e028dafbc9aee2f29f622dc4a696e815266355de4a056fe507b0cca9eaa9b10753501ee44f74ee57d0095fd55aafc7205ffea1f0321ed705dbe0b SHA512 f7d136aec7cb75b64c7d9446d520f4c4af368e6d22346b7bb8ad66c08afaa03a72aacd44016dae7690e37b7d0deb9a16187445db176427a12a8b3cd3885c9e03 +EBUILD dconf-0.30.1.ebuild 1818 BLAKE2B ace3606730256cbb64c3d60e4f590aae9c7ffcbe2f8a72239ced6e3c2c677918605cc88e195fa04fa878f28be774b0be2123b3e083650b43751977c24a212265 SHA512 9f18fb98092e15cf962f5143b3f78fe8579c730e7abfccd58c5837c2a3a62477cea838ef205efaf50819a61914e13f84f75874306b03c36bc947ad9a6eb04098 +MISC metadata.xml 249 BLAKE2B e71e1b95fee768c696704acbf7e3cf0e599ed2bc8de92bae0141d1194ef9e842bdc292798904487a9b90ddfda9b0e84abd3b76b1518576c1d288240e4e46f110 SHA512 c40662134899a5c9f0369a1017806f35adf3280a0b3c91726f7a8ca6012a073a8b471583f5bfb6fe95faac1dcf607e8e2e43f8c91d48ec46f4a8824e2f551506 diff --git a/gnome-base/dconf/dconf-0.30.1.ebuild b/gnome-base/dconf/dconf-0.30.1.ebuild new file mode 100644 index 0000000..d000f8b --- /dev/null +++ b/gnome-base/dconf/dconf-0.30.1.ebuild @@ -0,0 +1,80 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +inherit bash-completion-r1 gnome.org gnome2-utils meson vala virtualx xdg + +DESCRIPTION="Simple low-level configuration system" +HOMEPAGE="https://wiki.gnome.org/Projects/dconf" + +LICENSE="LGPL-2.1+" +SLOT="0" +KEYWORDS="alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-linux" +IUSE="gtk-doc" + +RDEPEND=" + >=dev-libs/glib-2.44.0:2 +" +DEPEND="${RDEPEND} + $(vala_depend) + app-text/docbook-xml-dtd:4.2 + app-text/docbook-xsl-stylesheets + dev-libs/libxslt + dev-util/gdbus-codegen + gtk-doc? ( >=dev-util/gtk-doc-1.15 ) + >=sys-devel/gettext-0.19.8 + virtual/pkgconfig +" + +PATCHES=( + "${FILESDIR}"/${PV}-bash-completion-dir.patch +) + +src_prepare() { + xdg_src_prepare + vala_src_prepare +} + +src_configure() { + local emesonargs=( + -Dbash_completion_dir="$(get_bashcompdir)" + -Dman=true + $(meson_use gtk-doc gtk_doc) + ) + meson_src_configure +} + +src_test() { + virtx meson_src_test +} + +src_install() { + meson_src_install + + # GSettings backend may be one of: memory, gconf, dconf + # Only dconf is really considered functional by upstream + # must have it enabled over gconf if both are installed + echo 'CONFIG_PROTECT_MASK="/etc/dconf"' >> 51dconf + echo 'GSETTINGS_BACKEND="dconf"' >> 51dconf + doenvd 51dconf +} + +pkg_postinst() { + xdg_pkg_postinst + gnome2_giomodule_cache_update + + # Kill existing dconf-service processes as recommended by upstream due to + # possible changes in the dconf private dbus API. + # dconf-service will be dbus-activated on next use. + pids=$(pgrep -x dconf-service) + if [[ $? == 0 ]]; then + ebegin "Stopping dconf-service; it will automatically restart on demand" + kill ${pids} + eend $? + fi +} + +pkg_postrm() { + xdg_pkg_postrm + gnome2_giomodule_cache_update +} diff --git a/gnome-base/dconf/files/0.30.1-bash-completion-dir.patch b/gnome-base/dconf/files/0.30.1-bash-completion-dir.patch new file mode 100644 index 0000000..5d256f7 --- /dev/null +++ b/gnome-base/dconf/files/0.30.1-bash-completion-dir.patch @@ -0,0 +1,62 @@ +From 012b92b115ed96cc66818adbd31557765078be65 Mon Sep 17 00:00:00 2001 +From: Mart Raudsepp +Date: Fri, 22 Feb 2019 22:06:18 +0200 +Subject: [PATCH] build: Allow passing bash-completion dir and have a generic + fallback + +With autotools the installation path was just hardcoded to the usual +location. In meson it was made to always check the path from +bash-completion.pc, but some downstream might want to install the +file without a bash-completion build-dep. Allow installing the +completion file to a passed directory, and add back the fallback +path if an explicit directory isn't passed and bash-completion +package isn't found. This is also what the tracker project does. +--- + meson.build | 20 ++++++++++++++++---- + meson_options.txt | 2 +- + 2 files changed, 17 insertions(+), 5 deletions(-) + +diff --git a/meson.build b/meson.build +index aa87823..a74d5c7 100644 +--- a/meson.build ++++ b/meson.build +@@ -48,10 +48,22 @@ glib_dep = dependency('glib-2.0', version: '>= 2.44.0') + gio_module_dir = gio_dep.get_pkgconfig_variable('giomoduledir', define_variable: ['libdir', dconf_libdir]) + dbus_session_service_dir = dependency('dbus-1').get_pkgconfig_variable('session_bus_services_dir', define_variable: ['datadir', dconf_datadir]) + +-enable_bash_completion = get_option('bash_completion') +-if enable_bash_completion +- # FIXME: the `.pc` file is wrong because `completionsdir` should be relative to `datadir`, not `prefix` +- completions_dir = dependency('bash-completion').get_pkgconfig_variable('completionsdir', define_variable: ['prefix', dconf_prefix]) ++enable_bash_completion = false ++if get_option('bash_completion_dir') == 'yes' or get_option('bash_completion_dir') == 'auto' ++ bash_completion_package = dependency('bash-completion', required: false) ++ if bash_completion_package.found() ++ # FIXME: the `.pc` file is wrong because `completionsdir` should be relative to `datadir`, not `prefix` ++ completions_dir = bash_completion_package.get_pkgconfig_variable('completionsdir', ++ define_variable: [ 'prefix', dconf_prefix ]) ++ else ++ completions_dir = join_paths(dconf_datadir, 'bash-completion', 'completions') ++ endif ++ enable_bash_completion = true ++elif get_option('bash_completion_dir') == 'no' or get_option('bash_completion_dir') == '' ++ enable_bash_completion = false ++else ++ enable_bash_completion = true ++ completions_dir = get_option('bash_completion_dir') + endif + + configure_file( +diff --git a/meson_options.txt b/meson_options.txt +index a2794ce..3ac4ede 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -1,4 +1,4 @@ +-option('bash_completion', type: 'boolean', value: true, description: 'install bash completion files') ++option('bash_completion_dir', type: 'string', value: 'yes', description: 'directory to install Bash completion files (or "yes" for default directory, "no" to disable installation)') + option('man', type: 'boolean', value: true, description: 'generate man pages') + option('gtk_doc', type: 'boolean', value: false, description: 'use gtk-doc to build documentation') + option('vapi', type: 'boolean', value: true, description: 'install dconf client vapi') +-- +2.17.0 + diff --git a/gnome-base/dconf/metadata.xml b/gnome-base/dconf/metadata.xml new file mode 100644 index 0000000..3998080 --- /dev/null +++ b/gnome-base/dconf/metadata.xml @@ -0,0 +1,8 @@ + + + + + gnome@gentoo.org + Gentoo GNOME Desktop + + -- cgit v1.2.3-65-gdbad