commit:     aded35c7374e1e40e77d943a01157a5c7d6d05f0
Author:     Pacho Ramos <pacho <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 19 19:19:03 2020 +0000
Commit:     Pacho Ramos <pacho <AT> gentoo <DOT> org>
CommitDate: Sat Sep 19 19:19:14 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=aded35c7

gnome-base/gnome-keyring: Port to python3

Also fix test failures due to dbus not being run

Thanks-to: Michał Górny
Bug: https://bugs.gentoo.org/735348
Package-Manager: Portage-3.0.7, Repoman-3.0.1
Signed-off-by: Pacho Ramos <pacho <AT> gentoo.org>

 .../gnome-keyring/gnome-keyring-3.36.0-r1.ebuild   | 81 ++++++++++++++++++++++
 1 file changed, 81 insertions(+)

diff --git a/gnome-base/gnome-keyring/gnome-keyring-3.36.0-r1.ebuild 
b/gnome-base/gnome-keyring/gnome-keyring-3.36.0-r1.ebuild
new file mode 100644
index 00000000000..aa54f87539b
--- /dev/null
+++ b/gnome-base/gnome-keyring/gnome-keyring-3.36.0-r1.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+GNOME2_LA_PUNT="yes"
+PYTHON_COMPAT=( python3_{7..9} )
+
+inherit fcaps gnome2 pam python-any-r1 virtualx
+
+DESCRIPTION="Password and keyring managing daemon"
+HOMEPAGE="https://wiki.gnome.org/Projects/GnomeKeyring";
+
+LICENSE="GPL-2+ LGPL-2+"
+SLOT="0"
+IUSE="+caps pam selinux +ssh-agent test"
+RESTRICT="!test? ( test )"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 
~amd64-linux ~x86-linux ~sparc-solaris ~x86-solaris"
+
+# Replace gkd gpg-agent with pinentry[gnome-keyring] one, bug #547456
+RDEPEND="
+       >=app-crypt/gcr-3.27.90:=[gtk]
+       >=dev-libs/glib-2.44:2
+       app-misc/ca-certificates
+       >=dev-libs/libgcrypt-1.2.2:0=
+       caps? ( sys-libs/libcap-ng )
+       pam? ( sys-libs/pam )
+       selinux? ( sec-policy/selinux-gnome )
+       >=app-crypt/gnupg-2.0.28:=
+       ssh-agent? ( net-misc/openssh )
+"
+DEPEND="${RDEPEND}
+       >=app-eselect/eselect-pinentry-0.5
+       app-text/docbook-xml-dtd:4.3
+       dev-libs/libxslt
+       >=sys-devel/gettext-0.19.8
+       virtual/pkgconfig
+       test? ( ${PYTHON_DEPS} )
+"
+PDEPEND="app-crypt/pinentry[gnome-keyring]" #570512
+
+pkg_setup() {
+       use test && python-any-r1_pkg_setup
+}
+
+src_prepare() {
+       # Disable stupid CFLAGS with debug enabled
+       sed -e 's/CFLAGS="$CFLAGS -g"//' \
+               -e 's/CFLAGS="$CFLAGS -O0"//' \
+               -i configure.ac configure || die
+
+       gnome2_src_prepare
+}
+
+src_configure() {
+       gnome2_src_configure \
+               $(use_with caps libcap-ng) \
+               $(use_enable pam) \
+               $(use_with pam pam-dir $(getpam_mod_dir)) \
+               $(use_enable selinux) \
+               $(use_enable ssh-agent) \
+               --enable-doc
+}
+
+src_test() {
+       # Needs dbus-run-session to not get:
+       # ERROR: test-dbus-search process failed: -6
+        "${EROOT}${GLIB_COMPILE_SCHEMAS}" --allow-any-name "${S}/schema" || die
+        GSETTINGS_SCHEMA_DIR="${S}/schema" virtx dbus-run-session emake check
+}
+
+pkg_postinst() {
+       # cap_ipc_lock only needed if building --with-libcap-ng
+       # Never install as suid root, this breaks dbus activation, see bug 
#513870
+       use caps && fcaps -m 755 cap_ipc_lock usr/bin/gnome-keyring-daemon
+       gnome2_pkg_postinst
+
+       if ! [[ $(eselect pinentry show | grep "pinentry-gnome3") ]] ; then
+               ewarn "Please select pinentry-gnome3 as default pinentry 
provider:"
+               ewarn " # eselect pinentry set pinentry-gnome3"
+       fi
+}

Reply via email to