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/, gnome-base/dconf/files/
Date: Sun, 01 Dec 2019 16:20:23
Message-Id: 1575217162.dd9beb499e046d97e42c4cd4f4019eeef9e09fa1.leio@gentoo
1 commit: dd9beb499e046d97e42c4cd4f4019eeef9e09fa1
2 Author: Mart Raudsepp <leio <AT> gentoo <DOT> org>
3 AuthorDate: Sun Dec 1 16:19:00 2019 +0000
4 Commit: Mart Raudsepp <leio <AT> gentoo <DOT> org>
5 CommitDate: Sun Dec 1 16:19:22 2019 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dd9beb49
7
8 gnome-base/dconf: fix compat with meson-0.52
9
10 Closes: https://bugs.gentoo.org/698144
11 Package-Manager: Portage-2.3.69, Repoman-2.3.12
12 Signed-off-by: Mart Raudsepp <leio <AT> gentoo.org>
13
14 gnome-base/dconf/dconf-0.32.0-r2.ebuild | 83 ++++++++++++++++++++++
15 .../dconf/files/0.32.0-meson-0.52-compat.patch | 35 +++++++++
16 2 files changed, 118 insertions(+)
17
18 diff --git a/gnome-base/dconf/dconf-0.32.0-r2.ebuild b/gnome-base/dconf/dconf-0.32.0-r2.ebuild
19 new file mode 100644
20 index 00000000000..9992b900a0b
21 --- /dev/null
22 +++ b/gnome-base/dconf/dconf-0.32.0-r2.ebuild
23 @@ -0,0 +1,83 @@
24 +# Copyright 1999-2019 Gentoo Authors
25 +# Distributed under the terms of the GNU General Public License v2
26 +
27 +EAPI=7
28 +inherit bash-completion-r1 gnome.org gnome2-utils meson virtualx xdg
29 +
30 +DESCRIPTION="Simple low-level configuration system"
31 +HOMEPAGE="https://wiki.gnome.org/Projects/dconf"
32 +
33 +LICENSE="LGPL-2.1+"
34 +SLOT="0"
35 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-linux"
36 +IUSE="gtk-doc"
37 +RESTRICT="!test? ( test )" # IUSE=test comes from virtualx.eclass
38 +
39 +RDEPEND="
40 + >=dev-libs/glib-2.44.0:2
41 + sys-apps/dbus
42 +"
43 +DEPEND="${RDEPEND}"
44 +BDEPEND="
45 + app-text/docbook-xml-dtd:4.2
46 + app-text/docbook-xsl-stylesheets
47 + dev-libs/libxslt
48 + dev-util/gdbus-codegen
49 + gtk-doc? ( >=dev-util/gtk-doc-1.15 )
50 + >=sys-devel/gettext-0.19.8
51 + virtual/pkgconfig
52 +"
53 +
54 +PATCHES=(
55 + "${FILESDIR}"/0.30.1-bash-completion-dir.patch
56 + "${FILESDIR}"/${PV}-drop-vapigen-dep.patch # .vapi/.deps are pregenerated, just install them without a vala dep
57 + "${FILESDIR}"/${PV}-meson-0.52-compat.patch # https://gitlab.gnome.org/GNOME/dconf/issues/59
58 +)
59 +
60 +src_configure() {
61 + local emesonargs=(
62 + -Dbash_completion_dir="$(get_bashcompdir)"
63 + -Dman=true
64 + $(meson_use gtk-doc gtk_doc)
65 + -Dvapi=true
66 + )
67 + meson_src_configure
68 +}
69 +
70 +src_install() {
71 + meson_src_install
72 +
73 + # GSettings backend may be one of: memory, gconf, dconf
74 + # Only dconf is really considered functional by upstream
75 + # must have it enabled over gconf if both are installed
76 + # This snippet can't be removed until gconf package is
77 + # ensured to not install a /etc/env.d/50gconf and then
78 + # still consider the CONFIG_PROTECT_MASK bit.
79 + echo 'CONFIG_PROTECT_MASK="/etc/dconf"' >> 51dconf
80 + echo 'GSETTINGS_BACKEND="dconf"' >> 51dconf
81 + doenvd 51dconf
82 +}
83 +
84 +src_test() {
85 + virtx meson_src_test
86 +}
87 +
88 +pkg_postinst() {
89 + xdg_pkg_postinst
90 + gnome2_giomodule_cache_update
91 +
92 + # Kill existing dconf-service processes as recommended by upstream due to
93 + # possible changes in the dconf private dbus API.
94 + # dconf-service will be dbus-activated on next use.
95 + pids=$(pgrep -x dconf-service)
96 + if [[ $? == 0 ]]; then
97 + ebegin "Stopping dconf-service; it will automatically restart on demand"
98 + kill ${pids}
99 + eend $?
100 + fi
101 +}
102 +
103 +pkg_postrm() {
104 + xdg_pkg_postrm
105 + gnome2_giomodule_cache_update
106 +}
107
108 diff --git a/gnome-base/dconf/files/0.32.0-meson-0.52-compat.patch b/gnome-base/dconf/files/0.32.0-meson-0.52-compat.patch
109 new file mode 100644
110 index 00000000000..7b5d8c5aefc
111 --- /dev/null
112 +++ b/gnome-base/dconf/files/0.32.0-meson-0.52-compat.patch
113 @@ -0,0 +1,35 @@
114 +From cc32667c5d7d9ff95e65cc21f59905d8f9218394 Mon Sep 17 00:00:00 2001
115 +From: Diego Escalante Urrelo <diegoe@×××××.org>
116 +Date: Thu, 31 Oct 2019 05:51:22 -0500
117 +Subject: [PATCH] build: Update use of link_whole for meson-0.52
118 +
119 +A regression in meson-0.52 caused uses of link_whole to expose scenarios
120 +where duplicate symbols issues could appear. In particular
121 +libdconf_client_dep was being link_whole'd to itself, which recursively
122 +already included libdconf_common which was also a link_whole.
123 +
124 +This change does not modify the available symbols in libdconf.so, and is
125 +compatible with meson-0.52 and 0.51.
126 +
127 +See: https://github.com/mesonbuild/meson/pull/6030
128 +Fixes: https://gitlab.gnome.org/GNOME/dconf/issues/59
129 +---
130 + client/meson.build | 2 +-
131 + 1 file changed, 1 insertion(+), 1 deletion(-)
132 +
133 +diff --git a/client/meson.build b/client/meson.build
134 +index f3b7122..de6387e 100644
135 +--- a/client/meson.build
136 ++++ b/client/meson.build
137 +@@ -28,7 +28,7 @@ libdconf_client = static_library(
138 +
139 + libdconf_client_dep = declare_dependency(
140 + dependencies: gio_dep,
141 +- link_whole: libdconf_client,
142 ++ link_with: libdconf_client,
143 + )
144 +
145 + libdconf = shared_library(
146 +--
147 +2.20.1
148 +