Gentoo Archives: gentoo-commits

From: Mart Raudsepp <leio@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: gnome-base/dconf/files/, gnome-base/dconf/
Date: Sun, 08 Sep 2019 11:32:54
Message-Id: 1567942263.ca0ad966b82e1cdadd45af81c84bdb25fcf1fcb3.leio@gentoo
1 commit: ca0ad966b82e1cdadd45af81c84bdb25fcf1fcb3
2 Author: Mart Raudsepp <leio <AT> gentoo <DOT> org>
3 AuthorDate: Sun Sep 8 11:30:12 2019 +0000
4 Commit: Mart Raudsepp <leio <AT> gentoo <DOT> org>
5 CommitDate: Sun Sep 8 11:31:03 2019 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ca0ad966
7
8 gnome-base/dconf: bump to 0.32.0, drop env.d snippet and vala deps
9
10 Long ago we added a /etc/env.d/51dconf for forcing GSETTINGS_BACKEND=dconf
11 into the environment when dconf is installed - presumably to switch over to
12 it from gconf. However nowadays dconf already has the highest priority out
13 of the available gsettings backend extension points, thus this has become
14 long unnecessary, and if GSETTINGS_BACKEND is unset and dconf is installed,
15 it'll pick dconf still too.
16
17 dconf-0.32 ported its dconf command line utility away from vala to straight
18 C, and thus vala is not necessary anymore. It is necessary (the vapigen.pc
19 file in particular) upstream for finding the location where to install the
20 pregenerated dconf.vapi and dconf.deps files, but I've patched it to just
21 fallback to the well-established location of ${datadir}/vala/vapi/ and thus
22 can keep shipping vapi file without introducing a USE flag and vala deps.
23
24 Closes: https://bugs.gentoo.org/693472
25 Package-Manager: Portage-2.3.69, Repoman-2.3.12
26 Signed-off-by: Mart Raudsepp <leio <AT> gentoo.org>
27
28 gnome-base/dconf/Manifest | 1 +
29 gnome-base/dconf/dconf-0.32.0.ebuild | 67 ++++++++++++++++++++++
30 .../dconf/files/0.32.0-drop-vapigen-dep.patch | 44 ++++++++++++++
31 3 files changed, 112 insertions(+)
32
33 diff --git a/gnome-base/dconf/Manifest b/gnome-base/dconf/Manifest
34 index 62d2bd9733b..d4f2717e402 100644
35 --- a/gnome-base/dconf/Manifest
36 +++ b/gnome-base/dconf/Manifest
37 @@ -1,2 +1,3 @@
38 DIST dconf-0.26.1.tar.xz 218516 BLAKE2B ddb23a1f6519b5460903b1a91ba48242f144a768f7ec5b9e82953589474df998061a4fbfb3605027cb51db44f7e49f88c774a735600de2bedaf8889b58e050bc SHA512 4d2b4afce189e448e3bd4e9c2f9d3d5eec6c694748aec87a9a8de047296c858772a5234dbcace8e84d99c5378d2d1ba35cafb5e5ea7efca25c10a53a55b8b6da
39 DIST dconf-0.30.1.tar.xz 104376 BLAKE2B c5a90c092b6e028dafbc9aee2f29f622dc4a696e815266355de4a056fe507b0cca9eaa9b10753501ee44f74ee57d0095fd55aafc7205ffea1f0321ed705dbe0b SHA512 f7d136aec7cb75b64c7d9446d520f4c4af368e6d22346b7bb8ad66c08afaa03a72aacd44016dae7690e37b7d0deb9a16187445db176427a12a8b3cd3885c9e03
40 +DIST dconf-0.32.0.tar.xz 111700 BLAKE2B 51ac54deafc44a56aa6af1bdc8a89e1002772969881870b196a12f85d5b1a090a334b3088b051e07e085b7fe736e2e51479c17ffcc38a18e682b8238d51671ee SHA512 09ae65ad365947aed24228b94978b290060264e55b443d18a743e943627703c92e16e3a5ca8a0aaf3549f7a1d5aad77bdc285d4c8519db705d3104ec22b111a0
41
42 diff --git a/gnome-base/dconf/dconf-0.32.0.ebuild b/gnome-base/dconf/dconf-0.32.0.ebuild
43 new file mode 100644
44 index 00000000000..2175d3f9748
45 --- /dev/null
46 +++ b/gnome-base/dconf/dconf-0.32.0.ebuild
47 @@ -0,0 +1,67 @@
48 +# Copyright 1999-2019 Gentoo Authors
49 +# Distributed under the terms of the GNU General Public License v2
50 +
51 +EAPI=7
52 +inherit bash-completion-r1 gnome.org gnome2-utils meson virtualx xdg
53 +
54 +DESCRIPTION="Simple low-level configuration system"
55 +HOMEPAGE="https://wiki.gnome.org/Projects/dconf"
56 +
57 +LICENSE="LGPL-2.1+"
58 +SLOT="0"
59 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-linux"
60 +IUSE="gtk-doc"
61 +RESTRICT="!test? ( test )" # IUSE=test comes from virtualx.eclass
62 +
63 +RDEPEND="
64 + >=dev-libs/glib-2.44.0:2
65 + sys-apps/dbus
66 +"
67 +DEPEND="${RDEPEND}
68 + app-text/docbook-xml-dtd:4.2
69 + app-text/docbook-xsl-stylesheets
70 + dev-libs/libxslt
71 + dev-util/gdbus-codegen
72 + gtk-doc? ( >=dev-util/gtk-doc-1.15 )
73 + >=sys-devel/gettext-0.19.8
74 + virtual/pkgconfig
75 +"
76 +
77 +PATCHES=(
78 + "${FILESDIR}"/0.30.1-bash-completion-dir.patch
79 + "${FILESDIR}"/${PV}-drop-vapigen-dep.patch # .vapi/.deps are pregenerated, just install them without a vala dep
80 +)
81 +
82 +src_configure() {
83 + local emesonargs=(
84 + -Dbash_completion_dir="$(get_bashcompdir)"
85 + -Dman=true
86 + $(meson_use gtk-doc gtk_doc)
87 + -Dvapi=true
88 + )
89 + meson_src_configure
90 +}
91 +
92 +src_test() {
93 + virtx meson_src_test
94 +}
95 +
96 +pkg_postinst() {
97 + xdg_pkg_postinst
98 + gnome2_giomodule_cache_update
99 +
100 + # Kill existing dconf-service processes as recommended by upstream due to
101 + # possible changes in the dconf private dbus API.
102 + # dconf-service will be dbus-activated on next use.
103 + pids=$(pgrep -x dconf-service)
104 + if [[ $? == 0 ]]; then
105 + ebegin "Stopping dconf-service; it will automatically restart on demand"
106 + kill ${pids}
107 + eend $?
108 + fi
109 +}
110 +
111 +pkg_postrm() {
112 + xdg_pkg_postrm
113 + gnome2_giomodule_cache_update
114 +}
115
116 diff --git a/gnome-base/dconf/files/0.32.0-drop-vapigen-dep.patch b/gnome-base/dconf/files/0.32.0-drop-vapigen-dep.patch
117 new file mode 100644
118 index 00000000000..55959a7febf
119 --- /dev/null
120 +++ b/gnome-base/dconf/files/0.32.0-drop-vapigen-dep.patch
121 @@ -0,0 +1,44 @@
122 +From 22d4c12d73238d24b91a753c414c5f5a5a9c76b6 Mon Sep 17 00:00:00 2001
123 +From: Mart Raudsepp <leio@g.o>
124 +Date: Sun, 8 Sep 2019 14:17:20 +0300
125 +Subject: [PATCH] build: Don't hard require vapigen.pc
126 +
127 +.. by having a fallback to the well known location of packages shipped
128 +vapi files
129 +---
130 + client/meson.build | 12 ++++++++----
131 + 1 file changed, 8 insertions(+), 4 deletions(-)
132 +
133 +diff --git a/client/meson.build b/client/meson.build
134 +index f3b7122..7dbca97 100644
135 +--- a/client/meson.build
136 ++++ b/client/meson.build
137 +@@ -57,17 +57,21 @@ pkg.generate(
138 + )
139 +
140 + if get_option('vapi')
141 +- vapigen_dep = dependency('vapigen')
142 ++ vapigen_dep = dependency('vapigen', required: false)
143 +
144 + vapi_data = files(
145 + 'dconf.vapi',
146 + 'dconf.deps',
147 + )
148 +
149 +- vapi_dir = vapigen_dep.get_pkgconfig_variable(
150 +- 'vapidir',
151 +- define_variable: ['datadir', dconf_datadir]
152 ++ if vapigen_dep.found()
153 ++ vapi_dir = vapigen_dep.get_pkgconfig_variable(
154 ++ 'vapidir',
155 ++ define_variable: ['datadir', dconf_datadir]
156 + )
157 ++ else
158 ++ vapi_dir = dconf_datadir / 'vala' / 'vapi'
159 ++ endif
160 +
161 + install_data(
162 + vapi_data,
163 +--
164 +2.20.1
165 +