blob: 7650ef74d5592ff85cff87241985ba5c4f1b349c (
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
131
132
133
134
135
136
137
138
139
140
141
142
143
144
|
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-crypt/gnupg/gnupg-1.4.12.ebuild,v 1.2 2012/05/13 11:34:57 swift Exp $
EAPI="3"
inherit eutils flag-o-matic toolchain-funcs
ECCVER="0.2.0"
ECCVER_GNUPG="1.4.9"
ECC_PATCH="${PN}-${ECCVER_GNUPG}-ecc${ECCVER}.diff"
MY_P=${P/_/}
DESCRIPTION="The GNU Privacy Guard, a GPL pgp replacement"
HOMEPAGE="http://www.gnupg.org/"
SRC_URI="mirror://gnupg/gnupg/${P}.tar.bz2
idea? ( mirror://gentoo/idea.c.gz )"
# ecc? ( http://www.calcurco.cat/eccGnuPG/src/${ECC_PATCH}.bz2 )
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~x86-macos"
IUSE="bzip2 curl idea ldap nls readline selinux smartcard static usb zlib linguas_ru"
#IUSE="bzip2 bindist curl ecc idea ldap nls readline selinux smartcard static usb zlib linguas_ru"
COMMON_DEPEND="
ldap? ( net-nds/openldap )
bzip2? ( app-arch/bzip2 )
zlib? ( sys-libs/zlib )
curl? ( net-misc/curl )
virtual/mta
readline? ( sys-libs/readline )
smartcard? ( =virtual/libusb-0* )
usb? ( =virtual/libusb-0* )"
RDEPEND="!static? ( ${COMMON_DEPEND} )
selinux? ( sec-policy/selinux-gpg )
nls? ( virtual/libintl )"
DEPEND="${COMMON_DEPEND}
dev-lang/perl
nls? ( sys-devel/gettext )"
S="${WORKDIR}/${MY_P}"
src_prepare() {
if use idea; then
mv "${WORKDIR}"/idea.c "${S}"/cipher/idea.c || \
ewarn "failed to insert IDEA module"
fi
# if use ecc; then
# if use bindist; then
# einfo "Skipping ECC patch to comply with binary distribution (bug #148907)."
# else
# sed -i \
# "s/- VERSION='${ECCVER_GNUPG}'/- VERSION='${PV}'/" \
# "${WORKDIR}/${ECC_PATCH}"
# sed -i \
# "s/+ VERSION='${ECCVER_GNUPG}-ecc${ECCVER}'/+ VERSION='${PV}-ecc${ECCVER}'/" \
# "${WORKDIR}/${ECC_PATCH}"
#
# epatch "${WORKDIR}/${ECC_PATCH}"
# fi
# fi
# Install RU man page in right location
sed -e "/^man_MANS =/s/ gpg\.ru\.1//" -i doc/Makefile.in || die "sed doc/Makefile.in failed"
# Fix PIC definitions
sed -i -e 's:PIC:__PIC__:' mpi/i386/mpih-{add,sub}1.S intl/relocatable.c \
|| die "sed PIC failed"
sed -i -e 's:if PIC:ifdef __PIC__:' mpi/sparc32v8/mpih-mul{1,2}.S || \
die"Sed PIC failed"
}
src_configure() {
# 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
# 'USE=static' support was requested in #29299
use static &&append-ldflags -static
econf \
--docdir="${EPREFIX}/usr/share/doc/${PF}" \
$(use_enable ldap) \
--enable-mailto \
--enable-hkp \
--enable-finger \
$(use_with !zlib included-zlib) \
$(use_with curl libcurl /usr) \
$(use_enable nls) \
$(use_enable bzip2) \
$(use_enable smartcard card-support) \
$(use_enable selinux selinux-support) \
--without-capabilities \
$(use_with readline) \
$(use_with usb libusb /usr) \
--enable-static-rnd=linux \
--libexecdir="${EPREFIX}/usr/libexec" \
--enable-noexecstack \
CC_FOR_BUILD=$(tc-getBUILD_CC) \
${myconf}
}
src_install() {
emake DESTDIR="${D}" install || die "emake install failed"
# keep the documentation in /usr/share/doc/...
rm -rf "${ED}usr/share/gnupg/FAQ" "${ED}usr/share/gnupg/faq.html" || die
dodoc AUTHORS BUGS ChangeLog NEWS PROJECTS README THANKS \
TODO VERSION doc/{FAQ,HACKING,DETAILS,OpenPGP} || die
exeinto /usr/libexec/gnupg
doexe tools/make-dns-cert || die
# install RU documentation in right location
if use linguas_ru; then
cp doc/gpg.ru.1 "${T}/gpg.1" || die
doman -i18n=ru "${T}/gpg.1" || die
fi
}
pkg_postinst() {
ewarn "If you are using a non-Linux system, or a kernel older than 2.6.9,"
ewarn "you MUST make the gpg binary setuid."
echo
# if use !bindist && use ecc; then
# ewarn
# ewarn "The elliptical curves patch is experimental"
# ewarn "Further info available at http://alumnes.eps.udl.es/%7Ed4372211/index.en.html"
# fi
elog
elog "See http://www.gentoo.org/doc/en/gnupg-user.xml for documentation on gnupg"
elog
elog "If you wish to view images emerge:"
elog "media-gfx/xloadimage, media-gfx/xli or any other viewer"
elog "Remember to use photo-viewer option in configuration file to activate the right viewer"
}
|