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
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
|
# 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.4.ebuild,v 1.12 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
idea? ( ftp://ftp.gnupg.dk/pub/contrib-dk/idea.c.gz )"
SLOT="0"
LICENSE="GPL-2"
# IDEA license is rather restrictive if you're unlucky enough to
# live in a country where its patented, however it is FAIB for
# non-commercial use.
use idea && LICENCE="${LICENCE} | IDEA"
KEYWORDS="x86 ~ppc sparc alpha hppa ~amd64 ia64"
IUSE="X ldap nls static caps idea"
RDEPEND="!static? ( ldap? ( net-nds/openldap )
caps? ( sys-libs/libcap )
app-arch/bzip2
sys-libs/zlib )
X? ( || ( media-gfx/xloadimage media-gfx/xli ) )
nls? ( sys-devel/gettext )
virtual/glibc
dev-lang/perl"
# 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 )
app-arch/bzip2
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}
# Please read http://www.gnupg.org/why-not-idea.html
if use idea; then
mv ${WORKDIR}/idea.c ${S}/cipher/idea.c || ewarn "failed to insert IDEA module"
fi
}
src_compile() {
# support for external HKP keyservers requested in #16457.
local myconf="--enable-external-hkp --enable-static-rnd=linux --libexecdir=/usr/lib --enable-sha512"
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}
use idea && dodoc ${S}/cipher/idea.c
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
echo
if use idea; then
einfo "you have compiled ${PN} with support for the IDEA algorithm, this code"
einfo "is distributed under the GPL in countries where it is permitted to do so"
einfo "by law."
einfo
einfo "Please read http://www.gnupg.org/why-not-idea.html for more information."
einfo
einfo "If you are in a country where the IDEA algorithm is patented, you are permitted"
einfo "to use it at no cost for 'non revenue generating data transfer between private"
einfo "individuals'."
einfo
einfo "Countries where the patent applies are listed here"
einfo "http://www.mediacrypt.com/engl/Content/patent_info.htm"
einfo
einfo "Further information and other licenses are availble from http://www.mediacrypt.com/"
fi
}
|