summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Väth <martin@mvath.de>2017-01-18 21:43:15 +0100
committerMartin Väth <martin@mvath.de>2017-01-18 21:43:15 +0100
commit08f40cd50c2e74542e43246f59badc3a36c7847d (patch)
treeb1a139a198b1093b20072d514ec154d81016236e /dev-libs
parentapp-portage/eix: Beta version bump (diff)
downloadmv-08f40cd50c2e74542e43246f59badc3a36c7847d.tar.gz
mv-08f40cd50c2e74542e43246f59badc3a36c7847d.tar.bz2
mv-08f40cd50c2e74542e43246f59badc3a36c7847d.zip
dev-libs/libgcrypt: Add patch from gentoo repository
Diffstat (limited to 'dev-libs')
-rw-r--r--dev-libs/libgcrypt/files/libgcrypt-1.7.5-fix-nehalem.patch41
-rw-r--r--dev-libs/libgcrypt/libgcrypt-1.7.5-r1.ebuild72
2 files changed, 113 insertions, 0 deletions
diff --git a/dev-libs/libgcrypt/files/libgcrypt-1.7.5-fix-nehalem.patch b/dev-libs/libgcrypt/files/libgcrypt-1.7.5-fix-nehalem.patch
new file mode 100644
index 00000000..25633ada
--- /dev/null
+++ b/dev-libs/libgcrypt/files/libgcrypt-1.7.5-fix-nehalem.patch
@@ -0,0 +1,41 @@
+From aada604594fd42224d366d3cb98f67fd3b989cd6 Mon Sep 17 00:00:00 2001
+From: Jussi Kivilinna <jussi.kivilinna@iki.fi>
+Date: Wed, 4 Jan 2017 12:02:36 +0200
+Subject: [PATCH 1/1] rijndael-ssse3: fix counter operand from read-only to
+ read/write
+
+* cipher/rijndael-ssse3-amd64.c (_gcry_aes_ssse3_ctr_enc): Change
+'ctrlow' operand from read-only to read-write.
+--
+
+With read-only operand, compiler is allowed to pass temporary
+register to assembly block and throw away any calculation that
+have been done on that register. On the other hand, compiler is
+also allowed to keep operand value permanently in one register
+as value is treated as read-only, and effectly operates as
+expected. Selection between these two depends on compiler
+version and used flags.
+
+Signed-off-by: Jussi Kivilinna <jussi.kivilinna@iki.fi>
+---
+ cipher/rijndael-ssse3-amd64.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/cipher/rijndael-ssse3-amd64.c b/cipher/rijndael-ssse3-amd64.c
+index a8e89d4..2adb73f 100644
+--- a/cipher/rijndael-ssse3-amd64.c
++++ b/cipher/rijndael-ssse3-amd64.c
+@@ -387,8 +387,8 @@ _gcry_aes_ssse3_ctr_enc (RIJNDAEL_context *ctx, unsigned char *outbuf,
+ ".Lno_carry%=:\n\t"
+
+ "pshufb %%xmm6, %%xmm7\n\t"
+- :
+- : [ctr] "r" (ctr), [ctrlow] "r" (ctrlow)
++ : [ctrlow] "+r" (ctrlow)
++ : [ctr] "r" (ctr)
+ : "cc", "memory");
+
+ do_vpaes_ssse3_enc (ctx, nrounds, aes_const_ptr);
+--
+2.8.0.rc3
+
diff --git a/dev-libs/libgcrypt/libgcrypt-1.7.5-r1.ebuild b/dev-libs/libgcrypt/libgcrypt-1.7.5-r1.ebuild
new file mode 100644
index 00000000..124ae02d
--- /dev/null
+++ b/dev-libs/libgcrypt/libgcrypt-1.7.5-r1.ebuild
@@ -0,0 +1,72 @@
+# Copyright 2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+AUTOTOOLS_AUTORECONF=1
+#WANT_AUTOMAKE=1.14
+
+inherit autotools-multilib flag-o-matic
+
+DESCRIPTION="General purpose crypto library based on the code used in GnuPG"
+HOMEPAGE="http://www.gnupg.org/"
+SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1 MIT"
+SLOT="0/20" # subslot = soname major version
+KEYWORDS="alpha amd64 arm ~arm64 hppa ~ia64 ~m68k ~mips ~ppc ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="doc static-libs"
+
+RDEPEND=">=dev-libs/libgpg-error-1.12[${MULTILIB_USEDEP}]
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20131008-r19
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32]
+ )"
+DEPEND="${RDEPEND}
+ doc? ( virtual/texi2dvi )"
+
+DOCS=( AUTHORS ChangeLog NEWS README THANKS TODO )
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.6.1-uscore.patch
+ "${FILESDIR}"/${PN}-multilib-syspath.patch
+ "${FILESDIR}"/${P}-fix-nehalem.patch
+)
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/libgcrypt-config
+)
+
+multilib_src_configure() {
+ if [[ ${CHOST} == *86*-solaris* ]] ; then
+ # ASM code uses GNU ELF syntax, divide in particular, we need to
+ # allow this via ASFLAGS, since we don't have a flag-o-matic
+ # function for that, we'll have to abuse cflags for this
+ append-cflags -Wa,--divide
+ fi
+ local myeconfargs=(
+ --disable-dependency-tracking
+ --enable-noexecstack
+ --disable-O-flag-munging
+ $(use_enable static-libs static)
+
+ # disabled due to various applications requiring privileges
+ # after libgcrypt drops them (bug #468616)
+ --without-capabilities
+
+ # http://trac.videolan.org/vlc/ticket/620
+ # causes bus-errors on sparc64-solaris
+ $([[ ${CHOST} == *86*-darwin* ]] && echo "--disable-asm")
+ $([[ ${CHOST} == sparcv9-*-solaris* ]] && echo "--disable-asm")
+ )
+ autotools-utils_src_configure
+}
+
+multilib_src_compile() {
+ emake
+ multilib_is_native_abi && use doc && VARTEXFONTS="${T}/fonts" emake -C doc gcrypt.pdf
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+ multilib_is_native_abi && use doc && dodoc doc/gcrypt.pdf
+}