summaryrefslogtreecommitdiff
path: root/dev-libs/libgcrypt
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs/libgcrypt')
-rw-r--r--dev-libs/libgcrypt/Manifest11
-rw-r--r--dev-libs/libgcrypt/files/libgcrypt-1.5.0-uscore.patch33
-rw-r--r--dev-libs/libgcrypt/files/libgcrypt-1.5.4-clang-arm.patch84
-rw-r--r--dev-libs/libgcrypt/files/libgcrypt-1.6.1-uscore.patch26
-rw-r--r--dev-libs/libgcrypt/files/libgcrypt-multilib-syspath.patch23
-rw-r--r--dev-libs/libgcrypt/libgcrypt-1.5.6-r101.ebuild64
-rw-r--r--dev-libs/libgcrypt/libgcrypt-1.8.1.ebuild77
-rw-r--r--dev-libs/libgcrypt/metadata.xml12
8 files changed, 330 insertions, 0 deletions
diff --git a/dev-libs/libgcrypt/Manifest b/dev-libs/libgcrypt/Manifest
new file mode 100644
index 000000000000..86b6b3d83cc8
--- /dev/null
+++ b/dev-libs/libgcrypt/Manifest
@@ -0,0 +1,11 @@
+AUX libgcrypt-1.5.0-uscore.patch 981 SHA256 4cbb34cebce02531b9b940494b78b7186b2fd05b802866d9ecb42d478e88e845 SHA512 716e182684886c905525ab9218b3453fd968ee8f73da83d3ba97ca84a868e18eb1c1c9bb3891a1e4b25f870eb3d762a5e8a415168c9804e9367d8dd12090a601 WHIRLPOOL 6b6b1944539127c9c41fda46c54d8e331597d249ab91a0024a38d60a907a0fba114fb064c8d956c90a91e27e6ae30aa2e6dd4a3b61b2e8d771e53499b9810016
+AUX libgcrypt-1.5.4-clang-arm.patch 4189 SHA256 d552c1f2083739e76b58a7a1ec296aeff34b2bfc912554f9bfd6ca1bca5d4ea5 SHA512 86d462340595420a70977d697237a8bb87583750e90c8368ce783ca0fbfed8816c646dd5e40b8e929fbce29917a2b05bb48a0a492d271605958fcb98faf4caa4 WHIRLPOOL 330495240d44de5f16a8ca3805de2518c45ad01d28d0e8e8f9c70c86d8bc5a70f8efdf1d25adfde302274ecfe9e7df3eafff0951759c4b6a3af65e748fe9cff1
+AUX libgcrypt-1.6.1-uscore.patch 843 SHA256 458ebc904185a5d08ef89f0c8ac797b87eec619341b4c0f8130fde2af8749459 SHA512 971814ac34f17464a96fbc110fe995923d873981949a0126e50c206d39499d6146fd00414e837774e6932e4b491cc68c4147278d6216dda630fb876bc8f61791 WHIRLPOOL bbadf4816e081929e8739fbbd3574bd291d9de86c4fe2344dba2c1ceb5f84d3e0bdede194efadefbcbf7409c44c218ab28f48d05b367c225b1687fced7565e15
+AUX libgcrypt-multilib-syspath.patch 588 SHA256 a3fc53f24b9cd0355a5267bc3ca8e88c397878473046536068c8ae4ae0b526eb SHA512 913c1a474aba50ec3589fb5a991f65204ba2cc28203b92353fdef8fb092350c3be814a57f29a26a2176627509a4f573f6db02ebdbcde3f04a2f1d632879293dc WHIRLPOOL 8d066987dc3cfa1dd686047fd5332b11199e5add63f82e397a34b22b5ce2f97af17d60042681c1eb50617402189a0d7fca5db48db7d41f4ef0f1cbe1acc645ab
+DIST libgcrypt-1.5.6.tar.bz2 1548918 SHA256 301826b5e521c867056fd630aad6f0a60e176d18a017da6bc24b1695df3abe79 SHA512 2c16912de66bc83adfbf8f43a2a9f57e1afcc866b1774ec11a670e2a793a7c5f2029d134c0bda681c9cb95f7dcc166133782c124e520b7fbe246ec10a9e1c06a WHIRLPOOL d1d556268fafdf7cd19dc0442e25a24b732748b47ce4edd42ce03b039f42e0c409a4711af6759aa04bbcdd94d0dd1c64a20ede89731458d099ea7864c70c24b4
+DIST libgcrypt-1.8.1.tar.bz2 2967344 SHA256 7a2875f8b1ae0301732e878c0cca2c9664ff09ef71408f085c50e332656a78b3 SHA512 27c9d2fd9cba5afca71d421c9299d6942463975fae0bd10d4ff42cda2d7ea213e6b73c071a40fcf23ff52a93394cc7505ab332f8a4a3321826460e471eda5b4e WHIRLPOOL 42221344abb9e6f75048bdb9aaec4f8ffe032ddaa5f6bd16dd9c218f937fd52f26b13d088806c6684f6cc6b85b768b8bb04f89255641d82e40db6cd678d62617
+EBUILD libgcrypt-1.5.6-r101.ebuild 1819 SHA256 7e44e5ba32f7d0bd1cd678e1a3ff677d3afa81911127fbf488822a1ca6ba8b97 SHA512 c6f34489fa52dd333fcbcbb3ece2c0256e59653a7461e0531802ac477a19ef1cbe69266349e18ccbbe6b1cf98bff792c40e47594a644c26ce2360d29e251356c WHIRLPOOL a19ba8123b0d071e7a80f81723245de5f2bcabec7cd6d6345661ed970beb10e38cdff95d271c734d666f68da53c31ab2dd83a410e63b976d15ea40b8cda1d53f
+EBUILD libgcrypt-1.8.1.ebuild 2242 SHA256 12a50418406bdf29c5a8ea4e7ac20c589f0b489d44aabcc0a44fd5eaedf13034 SHA512 08798fdc1e444767a01804984d3dd7421cb866314cf9cd8b4048ea50f46954437be6515811e3fb45c0724619d310cce9efd2a11d37fbc1a73aed784be266d6af WHIRLPOOL 4906edf641dffd3e42d252bf5ac57a52ae34786e11355d79bbe31dde0775a0055b205e29570eb5a373c797faddca814285f8d4bfb4c2c275cb632f76a9e26663
+MISC ChangeLog 17545 SHA256 1406391c8664a2dc965f4d3ca6511eabdd7086efbc81f829b3c9951255d2e195 SHA512 dbbdd353d661ebc8550388cc459d93720e05dcdee20bf60e0a8652bdd74159d63b6915d9d63e9615ed05cf01f459f5aefd0aac081ca754571fc38f3b6fc5b929 WHIRLPOOL 21c1b52560dc710f6eaff1969a75426e947b6400cb2b28f474be0c0ec11436539e80cadc90cfa359563c68b74da2f3fde29235749f907f9cf68c32cbfe5f1696
+MISC ChangeLog-2015 34986 SHA256 b1ceefb45f2ad67aa9960063c9a6c259436f4d43e5e1ce8703bcebcb133500c5 SHA512 0a0959162d3edb06ab04b5df3950701c8857d8867905582449583abe50d43a5cdaa762adba4556103e90f07ea0d9b3426bc6f9b828e74966734415c69afd80fc WHIRLPOOL 6f5a7a1f357a9e4a4101fd188d303bd62a2fdaefd51ba506c702b431f7ff1df66ebc19863b8a90994907ec988bf557c0fb7435fac8263976649149b8c2b73cde
+MISC metadata.xml 370 SHA256 2bae37f915b580692c25c23e0e6db7cbf37352a14c0bf4f892b04d2e4c0a584d SHA512 fd4fd5082194b236049c6f4118d6d1b6650661d89fa048e284b017fa13c61a2b76780177d2ca08b89a32ae216d71431085896e2028970683e02976db303ccce0 WHIRLPOOL 6685eded0db8cc6cd9bfbe1b73ed9876388cdd16e27bc6879e6c16ce3909decfc99731f992bba1074895ffb2d02a9d9bd599b6e8f4d99972dd6d26ecf1337a66
diff --git a/dev-libs/libgcrypt/files/libgcrypt-1.5.0-uscore.patch b/dev-libs/libgcrypt/files/libgcrypt-1.5.0-uscore.patch
new file mode 100644
index 000000000000..1d4f650b6c7a
--- /dev/null
+++ b/dev-libs/libgcrypt/files/libgcrypt-1.5.0-uscore.patch
@@ -0,0 +1,33 @@
+The version taken from GnuPG 1.4 assumes any cross-compiled package have
+prefixed underscores, which is not the case; by using libtool's own macro,
+we can avoid the whole issue.
+
+diff --git a/configure.ac b/configure.ac
+index ab160c3..6df49bf 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -886,7 +886,7 @@ fi
+ #
+ # Setup assembler stuff.
+ #
+-GNUPG_SYS_SYMBOL_UNDERSCORE()
++LT_SYS_SYMBOL_USCORE
+ AC_ARG_ENABLE(mpi-path,
+ AC_HELP_STRING([--enable-mpi-path=EXTRA_PATH],
+ [prepend EXTRA_PATH to list of CPU specific optimizations]),
+diff --git a/mpi/config.links b/mpi/config.links
+index 7e910ee..9696828 100644
+--- a/mpi/config.links
++++ b/mpi/config.links
+@@ -291,7 +291,7 @@ fi
+
+ # Make sysdep.h
+ echo '/* created by config.links - do not edit */' >./mpi/sysdep.h
+-if test x$ac_cv_sys_symbol_underscore = xyes; then
++if test x$sys_symbol_underscore = xyes; then
+ cat <<EOF >>./mpi/sysdep.h
+ #if __STDC__
+ #define C_SYMBOL_NAME(name) _##name
+--
+1.7.6.1
+
diff --git a/dev-libs/libgcrypt/files/libgcrypt-1.5.4-clang-arm.patch b/dev-libs/libgcrypt/files/libgcrypt-1.5.4-clang-arm.patch
new file mode 100644
index 000000000000..ab5d844552af
--- /dev/null
+++ b/dev-libs/libgcrypt/files/libgcrypt-1.5.4-clang-arm.patch
@@ -0,0 +1,84 @@
+fix from upstream
+
+From e67c67321ce240c93dd0fa2b21c649c0a8e233f7 Mon Sep 17 00:00:00 2001
+From: Jussi Kivilinna <jussi.kivilinna@iki.fi>
+Date: Tue, 22 Oct 2013 17:07:53 +0300
+Subject: [PATCH] mpi: allow building with clang on ARM
+
+* mpi/longlong.h [__arm__] (add_ssaaaa, sub_ddmmss, umul_ppmm)
+(count_leading_zeros): Do not cast assembly output arguments.
+[__arm__] (umul_ppmm): Remove the extra '%' ahead of assembly comment.
+[_ARM_ARCH >= 4] (umul_ppmm): Use correct inputs and outputs instead of
+registers.
+--
+
+Signed-off-by: Jussi Kivilinna <jussi.kivilinna@iki.fi>
+---
+ mpi/longlong.h | 27 +++++++++++++--------------
+ 1 file changed, 13 insertions(+), 14 deletions(-)
+
+diff --git a/mpi/longlong.h b/mpi/longlong.h
+index c2ab9c5..8c8260e 100644
+--- a/mpi/longlong.h
++++ b/mpi/longlong.h
+@@ -188,8 +188,8 @@ extern UDItype __udiv_qrnnd ();
+ #define add_ssaaaa(sh, sl, ah, al, bh, bl) \
+ __asm__ ("adds %1, %4, %5\n" \
+ "adc %0, %2, %3" \
+- : "=r" ((USItype)(sh)), \
+- "=&r" ((USItype)(sl)) \
++ : "=r" ((sh)), \
++ "=&r" ((sl)) \
+ : "%r" ((USItype)(ah)), \
+ "rI" ((USItype)(bh)), \
+ "%r" ((USItype)(al)), \
+@@ -197,15 +197,15 @@ extern UDItype __udiv_qrnnd ();
+ #define sub_ddmmss(sh, sl, ah, al, bh, bl) \
+ __asm__ ("subs %1, %4, %5\n" \
+ "sbc %0, %2, %3" \
+- : "=r" ((USItype)(sh)), \
+- "=&r" ((USItype)(sl)) \
++ : "=r" ((sh)), \
++ "=&r" ((sl)) \
+ : "r" ((USItype)(ah)), \
+ "rI" ((USItype)(bh)), \
+ "r" ((USItype)(al)), \
+ "rI" ((USItype)(bl)))
+ #if defined __ARM_ARCH_2__ || defined __ARM_ARCH_3__
+ #define umul_ppmm(xh, xl, a, b) \
+- __asm__ ("%@ Inlined umul_ppmm\n" \
++ __asm__ ("@ Inlined umul_ppmm\n" \
+ "mov %|r0, %2, lsr #16 @ AAAA\n" \
+ "mov %|r2, %3, lsr #16 @ BBBB\n" \
+ "bic %|r1, %2, %|r0, lsl #16 @ aaaa\n" \
+@@ -218,20 +218,19 @@ extern UDItype __udiv_qrnnd ();
+ "addcs %|r2, %|r2, #65536\n" \
+ "adds %1, %|r1, %|r0, lsl #16\n" \
+ "adc %0, %|r2, %|r0, lsr #16" \
+- : "=&r" ((USItype)(xh)), \
+- "=r" ((USItype)(xl)) \
++ : "=&r" ((xh)), \
++ "=r" ((xl)) \
+ : "r" ((USItype)(a)), \
+ "r" ((USItype)(b)) \
+ : "r0", "r1", "r2")
+ #else
+ #define umul_ppmm(xh, xl, a, b) \
+- __asm__ ("%@ Inlined umul_ppmm\n" \
+- "umull %r1, %r0, %r2, %r3" \
+- : "=&r" ((USItype)(xh)), \
+- "=r" ((USItype)(xl)) \
++ __asm__ ("@ Inlined umul_ppmm\n" \
++ "umull %1, %0, %2, %3" \
++ : "=&r" ((xh)), \
++ "=r" ((xl)) \
+ : "r" ((USItype)(a)), \
+- "r" ((USItype)(b)) \
+- : "r0", "r1")
++ "r" ((USItype)(b)))
+ #endif
+ #define UMUL_TIME 20
+ #define UDIV_TIME 100
+--
+2.4.4
+
diff --git a/dev-libs/libgcrypt/files/libgcrypt-1.6.1-uscore.patch b/dev-libs/libgcrypt/files/libgcrypt-1.6.1-uscore.patch
new file mode 100644
index 000000000000..22bfac3104bc
--- /dev/null
+++ b/dev-libs/libgcrypt/files/libgcrypt-1.6.1-uscore.patch
@@ -0,0 +1,26 @@
+The version taken from GnuPG 1.4 assumes any cross-compiled package have
+prefixed underscores, which is not the case; by using libtool's own macro,
+we can avoid the whole issue.
+
+--- libgcrypt-1.6.1/configure.ac
++++ libgcrypt-1.6.1/configure.ac
+@@ -1022,7 +1022,7 @@
+ # Check whether underscores in symbols are required. This needs to be
+ # done before setting up the assembler stuff.
+ #
+-GNUPG_SYS_SYMBOL_UNDERSCORE()
++LT_SYS_SYMBOL_USCORE
+
+
+ #################################
+--- libgcrypt-1.6.1/mpi/config.links
++++ libgcrypt-1.6.1/mpi/config.links
+@@ -362,7 +362,7 @@
+
+ # Make sysdep.h
+ echo '/* created by config.links - do not edit */' >./mpi/sysdep.h
+-if test x$ac_cv_sys_symbol_underscore = xyes; then
++if test x$sys_symbol_underscore = xyes; then
+ cat <<EOF >>./mpi/sysdep.h
+ #if __STDC__
+ #define C_SYMBOL_NAME(name) _##name
diff --git a/dev-libs/libgcrypt/files/libgcrypt-multilib-syspath.patch b/dev-libs/libgcrypt/files/libgcrypt-multilib-syspath.patch
new file mode 100644
index 000000000000..7859851ccc4a
--- /dev/null
+++ b/dev-libs/libgcrypt/files/libgcrypt-multilib-syspath.patch
@@ -0,0 +1,23 @@
+diff --git a/src/libgcrypt-config.in b/src/libgcrypt-config.in
+index c052638..4c8ddc3 100644
+--- a/src/libgcrypt-config.in
++++ b/src/libgcrypt-config.in
+@@ -154,9 +154,12 @@ if test "$echo_libs" = "yes"; then
+ libs_final="$libs"
+
+ # Set up `libdirs'.
+- if test "x$libdir" != "x/usr/lib" -a "x$libdir" != "x/lib"; then
+- libdirs="-L$libdir"
+- fi
++ case "$libdir" in
++ /usr/lib|/usr/lib64|/lib|/lib64) ;;
++ *)
++ libdirs="-L$libdir"
++ ;;
++ esac
+
+ # Set up `libs_final'.
+ libs_final="$libs_final $gpg_error_libs"
+--
+1.7.6.1
+
diff --git a/dev-libs/libgcrypt/libgcrypt-1.5.6-r101.ebuild b/dev-libs/libgcrypt/libgcrypt-1.5.6-r101.ebuild
new file mode 100644
index 000000000000..c4e5f08cc2d4
--- /dev/null
+++ b/dev-libs/libgcrypt/libgcrypt-1.5.6-r101.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools ltprune multilib-minimal
+
+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="11/11" # 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 ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+
+RDEPEND=">=dev-libs/libgpg-error-1.12[${MULTILIB_USEDEP}]
+ !dev-libs/libgcrypt:0/11
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20131008-r19
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32]
+ )"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.5.0-uscore.patch
+ "${FILESDIR}"/${PN}-multilib-syspath.patch
+ "${FILESDIR}"/${PN}-1.5.4-clang-arm.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ --disable-padlock-support # bug 201917
+ --disable-dependency-tracking
+ --enable-noexecstack
+ --disable-O-flag-munging
+
+ # 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")
+ )
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+
+ rm -r "${ED%/}"/usr/{bin,include,lib*/*.so,share} || die
+}
+
+multilib_src_install_all() {
+ default
+ prune_libtool_files
+}
diff --git a/dev-libs/libgcrypt/libgcrypt-1.8.1.ebuild b/dev-libs/libgcrypt/libgcrypt-1.8.1.ebuild
new file mode 100644
index 000000000000..9a4550d388b0
--- /dev/null
+++ b/dev-libs/libgcrypt/libgcrypt-1.8.1.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools flag-o-matic ltprune multilib-minimal
+
+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 ~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.25[${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 )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.6.1-uscore.patch
+ "${FILESDIR}"/${PN}-multilib-syspath.patch
+)
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/libgcrypt-config
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+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")
+ )
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_compile() {
+ default
+ 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
+}
+
+multilib_src_install_all() {
+ default
+ prune_libtool_files
+}
diff --git a/dev-libs/libgcrypt/metadata.xml b/dev-libs/libgcrypt/metadata.xml
new file mode 100644
index 000000000000..6d1eb56e4dd1
--- /dev/null
+++ b/dev-libs/libgcrypt/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>k_f@gentoo.org</email>
+ <name>Kristian Fiskerstrand</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>crypto@gentoo.org</email>
+ <name>Crypto</name>
+ </maintainer>
+</pkgmetadata>