blob: ba8da13294a52bf15999b86a8950211e3cf2bf7a (
plain)
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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
|
# Copyright 1999-2004 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-crypt/gnupg/gnupg-1.2.3-r5.ebuild,v 1.8 2004/03/13 12:37:49 usata Exp $
inherit eutils flag-o-matic
DESCRIPTION="The GNU Privacy Guard, a GPL pgp replacement"
HOMEPAGE="http://www.gnupg.org/"
SRC_URI="ftp://ftp.gnupg.org/gcrypt/gnupg/${P}.tar.bz2"
SLOT="0"
LICENSE="GPL-2"
KEYWORDS="x86 ppc sparc alpha hppa amd64"
IUSE="X ldap nls static caps"
RDEPEND="!static? ( ldap? ( net-nds/openldap )
caps? ( sys-libs/libcap )
sys-libs/zlib )
X? ( || ( media-gfx/xloadimage media-gfx/xli ) )
nls? ( sys-devel/gettext )
virtual/glibc
dev-lang/perl
virtual/mta"
# XXX: libpcap earlier than 1.10-r3 did not provide libcap.a
# DEPEND="caps? ( static? ( >=sys-libs/libcap-1.10-r3 )
# !static? ( sys-libs/libcap ) )
DEPEND="caps? ( sys-libs/libcap )
ldap? ( net-nds/openldap )
nls? ( sys-devel/gettext )
!static? ( sys-libs/zlib )
virtual/glibc
dev-lang/perl"
# Certain sparc32 machines seem to have trouble building correctly with
# -mcpu enabled. While this is not a gnupg problem, it is a temporary
# fix until the gcc problem can be tracked down.
if [ "${ARCH}" == "sparc" ] && [ "${PROFILE_ARCH}" == "sparc" ]; then
filter-flags "-mcpu=supersparc -mcpu=v8 -mcpu=v7"
fi
src_unpack() {
unpack ${A}
# disable the ability to create signatures using the
# ElGamal sign+encrypt (type 20) keys as well as to remove
# the option to create such keys.
#
# http://lists.gnupg.org/pipermail/gnupg-announce/2003q4/000277.html
cd ${S}/g10; epatch ${FILESDIR}/${P}-disable-elgamal.diff
# format string error in the hkp code could lead to arbritrary code
# execution by malicious keyserver. This update from CVS.
#
# http://www.s-quadra.com/advisories/Adv-20031203.txt
cd ${S}; epatch ${FILESDIR}/${P}-hkp-format-string.diff
}
src_compile() {
# support for external HKP keyservers requested in #16457.
# gpg faq entry 3.3 reccommends using --enable-static-rnd=linux
# whenever possible.
local myconf="--enable-external-hkp --enable-static-rnd=linux --libexecdir=/usr/lib"
if ! use nls; then
myconf="${myconf} --disable-nls"
fi
if use ldap; then
myconf="${myconf} --enable-ldap"
else
myconf="${myconf} --disable-ldap"
fi
if use X; then
myconf="${myconf} --enable-photo-viewers"
else
myconf="${myconf} --disable-photo-viewers"
fi
# `USE=static` support was requested in #29299
if use static; then
myconf="${myconf} --with-included-zlib"
export LDFLAGS="${LDFLAGS} -static"
else
myconf="${myconf} --without-included-zlib"
fi
if use caps; then
myconf="${myconf} --with-capabilities"
fi
# Still needed?
# Bug #6387, --enable-m-guard causes bus error on sparcs
if ! use sparc; then
myconf="${myconf} --enable-m-guard"
fi
econf ${myconf} || die
emake || die
}
src_install() {
einstall libexecdir="${D}/usr/lib/gnupg"
# keep the documentation in /usr/share/doc/...
rm -rf "${D}/usr/share/gnupg/FAQ" "${D}/usr/share/gnupg/faq.html"
dodoc ABOUT-NLS AUTHORS BUGS COPYING ChangeLog INSTALL NEWS PROJECTS \
README THANKS TODO VERSION doc/{FAQ,HACKING,DETAILS,ChangeLog,OpenPGP,faq.raw}
newdoc ${FILESDIR}/${P}-disable-elgamal.diff README.elgamal
docinto sgml
dodoc doc/*.sgml
dohtml doc/faq.html
if ! use caps; then
chmod u+s "${D}/usr/bin/gpg"
fi
}
pkg_postinst() {
if ! use caps; then
einfo "gpg is installed suid root to make use of protected memory space"
einfo "This is needed in order to have a secure place to store your"
einfo "passphrases, etc. at runtime but may make some sysadmins nervous."
fi
}
|