forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
/
pinentry-0.9.0.ebuild
98 lines (83 loc) · 2.74 KB
/
pinentry-0.9.0.ebuild
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
inherit autotools multilib eutils flag-o-matic
DESCRIPTION="Collection of simple PIN or passphrase entry dialogs which utilize the Assuan protocol"
HOMEPAGE="http://gnupg.org/aegypten2/index.html"
SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
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"
IUSE="gtk ncurses qt4 caps static"
RDEPEND="
app-eselect/eselect-pinentry
caps? ( sys-libs/libcap )
gtk? ( x11-libs/gtk+:2 )
ncurses? ( sys-libs/ncurses:0= )
qt4? ( >=dev-qt/qtgui-4.4.1:4 )
static? ( >=sys-libs/ncurses-5.7-r5:0=[static-libs,-gpm] )
"
DEPEND="${RDEPEND}
sys-devel/gettext
gtk? ( virtual/pkgconfig )
qt4? ( virtual/pkgconfig )
ppc-aix? ( dev-libs/gnulib )
"
REQUIRED_USE="
|| ( ncurses gtk qt4 )
gtk? ( !static )
qt4? ( !static )
static? ( ncurses )
"
DOCS=( AUTHORS ChangeLog NEWS README THANKS TODO )
src_prepare() {
if use qt4; then
local f
for f in qt4/*.moc; do
"${EPREFIX}"/usr/bin/moc ${f/.moc/.h} > ${f} || die
done
fi
epatch "${FILESDIR}/${PN}-0.8.2-ncurses.patch"
epatch "${FILESDIR}/${PN}-0.8.2-texi.patch"
eautoreconf
}
src_configure() {
use static && append-ldflags -static
if [[ ${CHOST} == *-aix* ]] ; then
append-flags -I"${EPREFIX}/usr/$(get_libdir)/gnulib/include"
append-ldflags -L"${EPREFIX}/usr/$(get_libdir)/gnulib/$(get_libdir)"
append-libs -lgnu
fi
# Issues finding qt on multilib systems
export QTLIB="${QTDIR}/$(get_libdir)"
econf \
--enable-pinentry-tty \
$(use_enable gtk pinentry-gtk2) \
$(use_enable ncurses pinentry-curses) \
$(use_enable ncurses fallback-curses) \
$(use_enable qt4 pinentry-qt4) \
$(use_with caps libcap)
}
src_compile() {
emake AR="$(tc-getAR)"
}
src_install() {
default
rm -f "${ED}"/usr/bin/pinentry || die
}
pkg_postinst() {
if ! has_version 'app-crypt/pinentry' || has_version '<app-crypt/pinentry-0.7.3'; then
elog "We no longer install pinentry-curses and pinentry-qt SUID root by default."
elog "Linux kernels >=2.6.9 support memory locking for unprivileged processes."
elog "The soft resource limit for memory locking specifies the limit an"
elog "unprivileged process may lock into memory. You can also use POSIX"
elog "capabilities to allow pinentry to lock memory. To do so activate the caps"
elog "USE flag and add the CAP_IPC_LOCK capability to the permitted set of"
elog "your users."
fi
eselect pinentry update ifunset
}
pkg_postrm() {
eselect pinentry update ifunset
}