mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-08-06 00:48:18 -07:00
gnome-base/dconf: fix compat with meson-0.52
Closes: https://bugs.gentoo.org/698144 Package-Manager: Portage-2.3.69, Repoman-2.3.12 Signed-off-by: Mart Raudsepp <leio@gentoo.org>
This commit is contained in:
83
gnome-base/dconf/dconf-0.32.0-r2.ebuild
Normal file
83
gnome-base/dconf/dconf-0.32.0-r2.ebuild
Normal file
@@ -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
gnome-base/dconf/files/0.32.0-meson-0.52-compat.patch
Normal file
35
gnome-base/dconf/files/0.32.0-meson-0.52-compat.patch
Normal file
@@ -0,0 +1,35 @@
|
||||
From cc32667c5d7d9ff95e65cc21f59905d8f9218394 Mon Sep 17 00:00:00 2001
|
||||
From: Diego Escalante Urrelo <diegoe@gnome.org>
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user