aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStuart Shelton <stuart@shelton.me>2016-04-09 20:55:12 +0100
committerStuart Shelton <stuart@shelton.me>2016-04-09 20:55:12 +0100
commit3acb645aca191a226c68e14174f42da0b854f6f1 (patch)
treecce3f6273dc55670754450f98f48360c90c3233d /app-crypt
parentAdd dev-lang/php-5.5.34, dev-lang/php-5.6.20 (diff)
downloadsrcshelton-3acb645aca191a226c68e14174f42da0b854f6f1.tar.gz
srcshelton-3acb645aca191a226c68e14174f42da0b854f6f1.tar.bz2
srcshelton-3acb645aca191a226c68e14174f42da0b854f6f1.zip
Add app-crypt/gnupg-2.0.30, update README.md
Diffstat (limited to 'app-crypt')
-rw-r--r--app-crypt/gnupg/Manifest5
-rw-r--r--app-crypt/gnupg/files/gnupg-2.0.17-gpgsm-gencert.patch34
-rw-r--r--app-crypt/gnupg/files/gnupg-2.0.30-clang.patch57
-rw-r--r--app-crypt/gnupg/gnupg-2.0.30.ebuild171
4 files changed, 267 insertions, 0 deletions
diff --git a/app-crypt/gnupg/Manifest b/app-crypt/gnupg/Manifest
new file mode 100644
index 00000000..4d13d316
--- /dev/null
+++ b/app-crypt/gnupg/Manifest
@@ -0,0 +1,5 @@
+AUX gnupg-2.0.17-gpgsm-gencert.patch 1121 SHA256 fa8369a4466b3cce54215a348940422f46f4d359f9e9b3c7029a1138870888df SHA512 ecde032b205cc16c33ff21ded55b93e74058cd804d68e4a0738ac70d54b5b388b6f709d21719a5e418c662b7ee74bc4aef7a0c59de106e2d4bd06b7bc1a11138 WHIRLPOOL 5dc4d3de29290e8e274a0f4fef871cea7f49553846254d819ca776000978a72c694212559d9ad03312f94f71f406de4641c0575188d340017a7937b01753b8a0
+AUX gnupg-2.0.30-clang.patch 2224 SHA256 10321dd0c29e77ae52af7025db71cef2f43431633e72ae7de7a2f5d0bea32e52 SHA512 5104782ef4f30a58f50b40c3934ccca31a51226b0114d5a5dc39d254167d1ccb1f4f345317655f095b0c3e57fbab517b5fde76d3e2c4ee86ec1a2762c81923f8 WHIRLPOOL 59cc9573ab11fc9c6dc7585936f8313a2bee5c26ab9cf68b4b8a3d56453c5365a0be7e15ed254e6a6b58e7e3dd02540acf12ede407e7ed7e618d351ad350ea45
+DIST gnupg-2.0.30.tar.bz2 4414652 SHA256 e329785a4f366ba5d72c2c678a7e388b0892ac8440c2f4e6810042123c235d71 SHA512 e60a57f7dc74b44f884fd50d5a9c51cef7df8c098644ebab9ef7d945a40b0e4a285d0dc80b10fe39d8e4c2cc9d6cbbe800a0ddae54883180dc755fe47ced3314 WHIRLPOOL 007315882becc1204edf6833a13610284ce7e1c73429fc3b4170c35ba61c645299f811f01b1bc0506b1cf94ce0de23af4cea33f51cf97397ec61caa15ce3ac6c
+EBUILD gnupg-2.0.30.ebuild 5019 SHA256 315fc22563b44a4570e92ac3f6449e5e0fb52a2c451ed021ef0bf25db262da1c SHA512 2fa510e0736a44dbec4bdbd0c90e9759ecca9e7eb9d85c4e81cc50662d65384518bafd1a9f7ee74ded432e5afece8c9cf1592b940ef2d50b239479f41da11306 WHIRLPOOL aba6363362a1f3965f6ac4e526ab99b5b4f4aee3afd221bff0a35fbd7d267ebc178b1168d64a5075abf9bcca1a35df2fff89ebad5b99115322ac505258ad5cff
+MISC failures.txt 641 SHA256 94d7ab81b2cfc680051c23c35443cc30269dd2f22107f3522e572683bfc6919b SHA512 0ddfd28492396e7457a45fe7ebca963df7e2be004a0cffbe8b2aa5c35be06b4cef976d5f8f32afbd0b69fc7927fb881364bb9288a2d48525ded2182383a51628 WHIRLPOOL 99133ef700598de8e00b3988020e17f38b5b2ce535604028102acdfdf075caf5483afa75f65b52de8dc8b5da60c8c56686d37941b4ee8d4880fb62080df97b90
diff --git a/app-crypt/gnupg/files/gnupg-2.0.17-gpgsm-gencert.patch b/app-crypt/gnupg/files/gnupg-2.0.17-gpgsm-gencert.patch
new file mode 100644
index 00000000..9506f814
--- /dev/null
+++ b/app-crypt/gnupg/files/gnupg-2.0.17-gpgsm-gencert.patch
@@ -0,0 +1,34 @@
+From c34486a64c223bcbfbb57d9abcf107d684b815b6 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Diego=20Elio=20Petten=C3=B2?= <flameeyes@gmail.com>
+Date: Sun, 17 Apr 2011 01:34:39 +0200
+Subject: [PATCH] gpgsm-gencert.sh: make sure not to abort after creating temp
+ file.
+
+https://bugs.g10code.com/gnupg/issue1466
+
+---
+ tools/gpgsm-gencert.sh | 8 ++++----
+ 1 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/tools/gpgsm-gencert.sh b/tools/gpgsm-gencert.sh
+index b209c8e..e7c812f 100755
+--- a/tools/gpgsm-gencert.sh
++++ b/tools/gpgsm-gencert.sh
+@@ -178,10 +178,10 @@ Key-Length: $KEY_LENGTH
+ Key-Usage: $KEY_USAGE
+ Name-DN: $NAME
+ EOF
+-[ -n "$KEY_GRIP" ] && echo "Key-Grip: $KEY_GRIP"
+-[ -n "$EMAIL_ADDRESSES" ] && echo "$EMAIL_ADDRESSES"
+-[ -n "$DNS_ADDRESSES" ] && echo "$DNS_ADDRESSES"
+-[ -n "$URI_ADDRESSES" ] && echo "$URI_ADDRESSES"
++[ -n "$KEY_GRIP" ] && echo "Key-Grip: $KEY_GRIP" || true
++[ -n "$EMAIL_ADDRESSES" ] && echo "$EMAIL_ADDRESSES" || true
++[ -n "$DNS_ADDRESSES" ] && echo "$DNS_ADDRESSES" || true
++[ -n "$URI_ADDRESSES" ] && echo "$URI_ADDRESSES" || true
+ ) > "$file_parameter"
+
+
+--
+1.7.5.rc1
+
diff --git a/app-crypt/gnupg/files/gnupg-2.0.30-clang.patch b/app-crypt/gnupg/files/gnupg-2.0.30-clang.patch
new file mode 100644
index 00000000..4e026fdd
--- /dev/null
+++ b/app-crypt/gnupg/files/gnupg-2.0.30-clang.patch
@@ -0,0 +1,57 @@
+--- common/sysutils.c.dist 2016-04-09 18:54:25.000000000 +0100
++++ common/sysutils.c 2016-04-09 19:14:07.000000000 +0100
+@@ -154,8 +154,11 @@ get_session_marker( size_t *rlen )
+ * take place. Of course, we can add just more random but
+ * than we need the random generator even for verification
+ * tasks - which does not make sense. */
++#pragma clang diagnostic push
++#pragma clang diagnostic ignored "-Wuninitialized"
+ a = aa ^ (ulong)getpid();
+ b = bb ^ (ulong)time(NULL);
++#pragma clang diagnostic pop
+ memcpy( marker, &a, SIZEOF_UNSIGNED_LONG );
+ memcpy( marker+SIZEOF_UNSIGNED_LONG, &b, SIZEOF_UNSIGNED_LONG );
+ }
+--- sm/certreqgen-ui.c.dist 2016-04-09 19:04:08.000000000 +0100
++++ sm/certreqgen-ui.c 2016-04-09 19:07:46.000000000 +0100
+@@ -143,7 +143,6 @@ gpgsm_gencertreq_tty (ctrl_t ctrl, FILE
+ char *subject_name;
+ membuf_t mb_email, mb_dns, mb_uri, mb_result;
+ char *result = NULL;
+- int i;
+ const char *s, *s2;
+
+ answer = NULL;
+@@ -369,7 +368,7 @@ gpgsm_gencertreq_tty (ctrl_t ctrl, FILE
+ goto mem_error;
+
+ tty_printf (_("Parameters to be used for the certificate request:\n"));
+- for (s=result; (s2 = strchr (s, '\n')); s = s2+1, i++)
++ for (s=result; (s2 = strchr (s, '\n')); s = s2+1)
+ tty_printf (" %.*s\n", (int)(s2-s), s);
+ tty_printf ("\n");
+
+--- tools/symcryptrun.c.dist 2016-04-09 19:59:39.000000000 +0100
++++ tools/symcryptrun.c 2016-04-09 20:02:28.000000000 +0100
+@@ -531,7 +531,10 @@ confucius_process (int mode, char *infil
+ return 1;
+ }
+
++#pragma clang diagnostic push
++#pragma clang diagnostic ignored "-Wimplicit-function-declaration"
+ if (openpty (&master, &slave, NULL, NULL, NULL) == -1)
++#pragma clang diagnostic pop
+ {
+ log_error (_("could not create pty: %s\n"), strerror (errno));
+ close (cstderr[0]);
+@@ -566,7 +569,10 @@ confucius_process (int mode, char *infil
+ close (cstderr[0]);
+
+ /* Change controlling terminal. */
++#pragma clang diagnostic push
++#pragma clang diagnostic ignored "-Wimplicit-function-declaration"
+ if (login_tty (slave))
++#pragma clang diagnostic pop
+ {
+ /* It's too early to output a debug message. */
+ _exit (1);
diff --git a/app-crypt/gnupg/gnupg-2.0.30.ebuild b/app-crypt/gnupg/gnupg-2.0.30.ebuild
new file mode 100644
index 00000000..a925df0b
--- /dev/null
+++ b/app-crypt/gnupg/gnupg-2.0.30.ebuild
@@ -0,0 +1,171 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit eutils flag-o-matic toolchain-funcs
+
+DESCRIPTION="The GNU Privacy Guard, a GPL pgp replacement"
+HOMEPAGE="http://www.gnupg.org/"
+SRC_URI="mirror://gnupg/gnupg/${P}.tar.bz2"
+# SRC_URI="ftp://ftp.gnupg.org/gcrypt/${PN}/${P}.tar.bz2"
+
+LICENSE="GPL-3"
+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 ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="bzip2 doc ldap nls mta readline static selinux smartcard tools usb"
+
+COMMON_DEPEND_LIBS="
+ >=dev-libs/libassuan-2
+ >=dev-libs/libgcrypt-1.5:0=
+ >=dev-libs/libgpg-error-1.19
+ >=dev-libs/libksba-1.0.7
+ >=dev-libs/pth-1.3.7
+ >=net-misc/curl-7.10
+ sys-libs/zlib
+ bzip2? ( app-arch/bzip2 )
+ readline? ( sys-libs/readline:= )
+ smartcard? ( usb? ( virtual/libusb:0 ) )
+ ldap? ( net-nds/openldap )"
+COMMON_DEPEND_BINS="app-crypt/pinentry"
+
+# Existence of executables is checked during configuration.
+DEPEND="${COMMON_DEPEND_LIBS}
+ ${COMMON_DEPEND_BINS}
+ static? (
+ >=dev-libs/libassuan-2[static-libs]
+ >=dev-libs/libgcrypt-1.4:0=[static-libs]
+ >=dev-libs/libgpg-error-1.11[static-libs]
+ >=dev-libs/libksba-1.0.7[static-libs]
+ >=dev-libs/pth-1.3.7[static-libs]
+ >=net-misc/curl-7.10[static-libs]
+ sys-libs/zlib[static-libs]
+ bzip2? ( app-arch/bzip2[static-libs] )
+ )
+ nls? ( sys-devel/gettext )
+ doc? ( sys-apps/texinfo )"
+
+RDEPEND="!static? ( ${COMMON_DEPEND_LIBS} )
+ ${COMMON_DEPEND_BINS}
+ mta? ( virtual/mta )
+ !<=app-crypt/gnupg-2.0.1
+ selinux? ( sec-policy/selinux-gpg )
+ nls? ( virtual/libintl )"
+
+REQUIRED_USE="smartcard? ( !static )"
+
+src_prepare() {
+ epatch "${FILESDIR}/${PN}-2.0.17-gpgsm-gencert.patch"
+ epatch "${FILESDIR}/${P}-clang.patch"
+ epatch_user
+}
+
+src_configure() {
+ local myconf=()
+
+ # 'USE=static' support was requested:
+ # gnupg1: bug #29299
+ # gnupg2: bug #159623
+ use static && append-ldflags -static
+
+ if use smartcard; then
+ myconf+=(
+ --enable-scdaemon
+ $(use_enable usb ccid-driver)
+ )
+ else
+ myconf+=( --disable-scdaemon )
+ fi
+
+ if use elibc_SunOS || use elibc_AIX; then
+ myconf+=( --disable-symcryptrun )
+ else
+ myconf+=( --enable-symcryptrun )
+ fi
+
+ # glib fails and picks up clang's internal stdint.h causing weird errors
+ [[ ${CC} == *clang ]] && \
+ export gl_cv_absolute_stdint_h=/usr/include/stdint.h
+
+ econf \
+ --docdir="${EPREFIX}/usr/share/doc/${PF}" \
+ --enable-gpg \
+ --enable-gpgsm \
+ --enable-agent \
+ --enable-large-secmem \
+ --without-adns \
+ "${myconf[@]}" \
+ $(use_enable bzip2) \
+ $(use_enable nls) \
+ $(use_enable mta mailto) \
+ $(use_enable ldap) \
+ $(use_with readline) \
+ CC_FOR_BUILD="$(tc-getBUILD_CC)"
+}
+
+src_compile() {
+ default
+
+ if use doc; then
+ cd doc
+ emake html
+ fi
+}
+
+src_install() {
+ default
+
+ use tools && dobin tools/{convert-from-106,gpg-check-pattern} \
+ tools/{gpg-zip,gpgconf,gpgsplit,lspgpot,mail-signed-keys,make-dns-cert}
+
+ emake DESTDIR="${D}" -f doc/Makefile uninstall-nobase_dist_docDATA
+ # The help*txt files are read from the datadir by GnuPG directly.
+ # They do not work if compressed or moved!
+ #rm "${ED}"/usr/share/gnupg/help* || die
+
+ dodoc ChangeLog NEWS README THANKS TODO VERSION doc/FAQ doc/DETAILS \
+ doc/HACKING doc/TRANSLATE doc/OpenPGP doc/KEYSERVER doc/help*
+
+ dosym gpg2 /usr/bin/gpg
+ dosym gpgv2 /usr/bin/gpgv
+ dosym gpg2keys_hkp /usr/libexec/gpgkeys_hkp
+ dosym gpg2keys_finger /usr/libexec/gpgkeys_finger
+ dosym gpg2keys_curl /usr/libexec/gpgkeys_curl
+ if use ldap; then
+ dosym gpg2keys_ldap /usr/libexec/gpgkeys_ldap
+ fi
+ echo ".so man1/gpg2.1" > "${ED}"/usr/share/man/man1/gpg.1
+ echo ".so man1/gpgv2.1" > "${ED}"/usr/share/man/man1/gpgv.1
+
+ dodir /etc/env.d
+ echo "CONFIG_PROTECT=/usr/share/gnupg/qualified.txt" >> "${ED}"/etc/env.d/30gnupg
+
+ if use doc; then
+ dohtml doc/gnupg.html/* doc/*.png
+ fi
+}
+
+pkg_postinst() {
+ 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"
+ elog "the right viewer."
+ elog
+
+ if use smartcard; then
+ elog "To use your OpenPGP smartcard (or token) with GnuPG you need one of"
+ use usb && elog " - a CCID-compatible reader, used directly through libusb;"
+ elog " - sys-apps/pcsc-lite and a compatible reader device;"
+ elog " - dev-libs/openct and a compatible reader device;"
+ elog " - a reader device and drivers exporting either PC/SC or CT-API interfaces."
+ elog ""
+ elog "General hint: you probably want to try installing sys-apps/pcsc-lite and"
+ elog "app-crypt/ccid first."
+ fi
+
+ ewarn "Please remember to restart gpg-agent if a different version"
+ ewarn "of the agent is currently used. If you are unsure of the gpg"
+ ewarn "agent you are using please run 'killall gpg-agent',"
+ ewarn "and to start a fresh daemon just run 'gpg-agent --daemon'."
+}