Skip to content

Commit

Permalink
gnome-base/dconf: fix compat with meson-0.52
Browse files Browse the repository at this point in the history
Closes: https://bugs.gentoo.org/698144
Package-Manager: Portage-2.3.69, Repoman-2.3.12
Signed-off-by: Mart Raudsepp <[email protected]>
  • Loading branch information
leio committed Dec 1, 2019
1 parent b486b1d commit dd9beb4
Show file tree
Hide file tree
Showing 2 changed files with 118 additions and 0 deletions.
83 changes: 83 additions & 0 deletions gnome-base/dconf/dconf-0.32.0-r2.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=7
inherit bash-completion-r1 gnome.org gnome2-utils meson 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 ~x86-linux"
IUSE="gtk-doc"
RESTRICT="!test? ( test )" # IUSE=test comes from virtualx.eclass

RDEPEND="
>=dev-libs/glib-2.44.0:2
sys-apps/dbus
"
DEPEND="${RDEPEND}"
BDEPEND="
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}"/0.30.1-bash-completion-dir.patch
"${FILESDIR}"/${PV}-drop-vapigen-dep.patch # .vapi/.deps are pregenerated, just install them without a vala dep
"${FILESDIR}"/${PV}-meson-0.52-compat.patch # https://gitlab.gnome.org/GNOME/dconf/issues/59
)

src_configure() {
local emesonargs=(
-Dbash_completion_dir="$(get_bashcompdir)"
-Dman=true
$(meson_use gtk-doc gtk_doc)
-Dvapi=true
)
meson_src_configure
}

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
# This snippet can't be removed until gconf package is
# ensured to not install a /etc/env.d/50gconf and then
# still consider the CONFIG_PROTECT_MASK bit.
echo 'CONFIG_PROTECT_MASK="/etc/dconf"' >> 51dconf
echo 'GSETTINGS_BACKEND="dconf"' >> 51dconf
doenvd 51dconf
}

src_test() {
virtx meson_src_test
}

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
}
35 changes: 35 additions & 0 deletions gnome-base/dconf/files/0.32.0-meson-0.52-compat.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
From cc32667c5d7d9ff95e65cc21f59905d8f9218394 Mon Sep 17 00:00:00 2001
From: Diego Escalante Urrelo <[email protected]>
Date: Thu, 31 Oct 2019 05:51:22 -0500
Subject: [PATCH] build: Update use of link_whole for meson-0.52

A regression in meson-0.52 caused uses of link_whole to expose scenarios
where duplicate symbols issues could appear. In particular
libdconf_client_dep was being link_whole'd to itself, which recursively
already included libdconf_common which was also a link_whole.

This change does not modify the available symbols in libdconf.so, and is
compatible with meson-0.52 and 0.51.

See: https://github.com/mesonbuild/meson/pull/6030
Fixes: https://gitlab.gnome.org/GNOME/dconf/issues/59
---
client/meson.build | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/client/meson.build b/client/meson.build
index f3b7122..de6387e 100644
--- a/client/meson.build
+++ b/client/meson.build
@@ -28,7 +28,7 @@ libdconf_client = static_library(

libdconf_client_dep = declare_dependency(
dependencies: gio_dep,
- link_whole: libdconf_client,
+ link_with: libdconf_client,
)

libdconf = shared_library(
--
2.20.1

0 comments on commit dd9beb4

Please sign in to comment.