Gentoo Archives: gentoo-commits

From: Kristian Fiskerstrand <k_f@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: app-crypt/pinentry/
Date: Mon, 21 Sep 2015 17:42:53
Message-Id: 1442857195.964916a1fdc7c48f4c9828b0091918addd928903.k_f@gentoo
1 commit: 964916a1fdc7c48f4c9828b0091918addd928903
2 Author: Kristian Fiskerstrand <k_f <AT> gentoo <DOT> org>
3 AuthorDate: Mon Sep 21 17:39:39 2015 +0000
4 Commit: Kristian Fiskerstrand <k_f <AT> gentoo <DOT> org>
5 CommitDate: Mon Sep 21 17:39:55 2015 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=964916a1
7
8 app-crypt/pinentry: Add explicit dep for app-crypt/gcr
9
10 When gnome-keyring USE is selected
11
12 Bug: 560322
13
14 Package-Manager: portage-2.2.20.1
15
16 app-crypt/pinentry/pinentry-0.9.6-r3.ebuild | 94 +++++++++++++++++++++++++++++
17 1 file changed, 94 insertions(+)
18
19 diff --git a/app-crypt/pinentry/pinentry-0.9.6-r3.ebuild b/app-crypt/pinentry/pinentry-0.9.6-r3.ebuild
20 new file mode 100644
21 index 0000000..d60234a
22 --- /dev/null
23 +++ b/app-crypt/pinentry/pinentry-0.9.6-r3.ebuild
24 @@ -0,0 +1,94 @@
25 +# Copyright 1999-2015 Gentoo Foundation
26 +# Distributed under the terms of the GNU General Public License v2
27 +# $Id$
28 +
29 +EAPI=5
30 +
31 +inherit autotools qmake-utils multilib eutils flag-o-matic toolchain-funcs
32 +
33 +DESCRIPTION="Collection of simple PIN or passphrase entry dialogs which utilize the Assuan protocol"
34 +HOMEPAGE="http://gnupg.org/aegypten2/index.html"
35 +SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
36 +
37 +LICENSE="GPL-2"
38 +SLOT="0"
39 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
40 +IUSE="emacs gtk ncurses qt4 caps gnome-keyring static"
41 +
42 +RDEPEND="
43 + >=dev-libs/libgpg-error-1.17
44 + >=dev-libs/libassuan-2
45 + >=dev-libs/libgcrypt-1.6.3
46 + app-eselect/eselect-pinentry
47 + caps? ( sys-libs/libcap )
48 + gtk? ( x11-libs/gtk+:2 )
49 + ncurses? ( sys-libs/ncurses:0= )
50 + qt4? ( >=dev-qt/qtgui-4.4.1:4 )
51 + static? ( >=sys-libs/ncurses-5.7-r5:0=[static-libs,-gpm] )
52 +"
53 +DEPEND="${RDEPEND}
54 + sys-devel/gettext
55 + virtual/pkgconfig
56 + gnome-keyring? ( app-crypt/libsecret app-crypt/gcr )
57 +"
58 +REQUIRED_USE="
59 + || ( ncurses gtk qt4 )
60 + gtk? ( !static )
61 + qt4? ( !static )
62 + static? ( ncurses )
63 +"
64 +
65 +DOCS=( AUTHORS ChangeLog NEWS README THANKS TODO )
66 +
67 +src_prepare() {
68 + epatch "${FILESDIR}/${PN}-0.8.2-ncurses.patch"
69 + epatch "${FILESDIR}/${P}-Remove-detection-of-Qt5.patch"
70 + eautoreconf
71 +}
72 +
73 +src_configure() {
74 + use static && append-ldflags -static
75 + [[ "$(gcc-major-version)" -ge 5 ]] && append-cxxflags -std=gnu++11
76 +
77 + # Issues finding qt on multilib systems
78 + export QTLIB="${QTDIR}/$(get_libdir)"
79 +
80 + econf \
81 + --enable-pinentry-tty \
82 + $(use_enable emacs pinentry-emacs) \
83 + $(use_enable gtk pinentry-gtk2) \
84 + $(use_enable ncurses pinentry-curses) \
85 + $(use_enable ncurses fallback-curses) \
86 + $(use_enable qt4 pinentry-qt) \
87 + $(use_with caps libcap) \
88 + $(use_enable gnome-keyring libsecret) \
89 + $(use_enable gnome-keyring pinentry-gnome3) \
90 + MOC="$(qt4_get_bindir)"/moc
91 +}
92 +
93 +src_install() {
94 + default
95 + rm -f "${ED}"/usr/bin/pinentry || die
96 +
97 + if use_enable qt4; then
98 + dosym pinentry-qt /usr/bin/pinentry-qt4
99 + fi
100 +}
101 +
102 +pkg_postinst() {
103 + if ! has_version 'app-crypt/pinentry' || has_version '<app-crypt/pinentry-0.7.3'; then
104 + elog "We no longer install pinentry-curses and pinentry-qt SUID root by default."
105 + elog "Linux kernels >=2.6.9 support memory locking for unprivileged processes."
106 + elog "The soft resource limit for memory locking specifies the limit an"
107 + elog "unprivileged process may lock into memory. You can also use POSIX"
108 + elog "capabilities to allow pinentry to lock memory. To do so activate the caps"
109 + elog "USE flag and add the CAP_IPC_LOCK capability to the permitted set of"
110 + elog "your users."
111 + fi
112 +
113 + eselect pinentry update ifunset
114 +}
115 +
116 +pkg_postrm() {
117 + eselect pinentry update ifunset
118 +}