logo

overlay

My (experimental) gentoo overlay
commit: a0b121c8fad98446cc931f15f7254bde6e59644f
parent: 8a0e7b4124ccb06fdc8a2c9df7194f99dd3e2952
Author: Haelwenn (lanodan) Monnier <contact@hacktivis.me>
Date:   Sun, 26 Nov 2017 17:55:23 +0100

dev-libs/libgcrypt: Import from ::gentoo

Diffstat:

Adev-libs/libgcrypt/Manifest1+
Adev-libs/libgcrypt/files/libgcrypt-1.6.1-uscore.patch26++++++++++++++++++++++++++
Adev-libs/libgcrypt/files/libgcrypt-multilib-syspath.patch23+++++++++++++++++++++++
Adev-libs/libgcrypt/libgcrypt-1.8.1.ebuild77+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Adev-libs/libgcrypt/metadata.xml8++++++++
5 files changed, 135 insertions(+), 0 deletions(-)

diff --git a/dev-libs/libgcrypt/Manifest b/dev-libs/libgcrypt/Manifest @@ -0,0 +1 @@ +DIST libgcrypt-1.8.1.tar.bz2 2967344 SHA256 7a2875f8b1ae0301732e878c0cca2c9664ff09ef71408f085c50e332656a78b3 SHA512 27c9d2fd9cba5afca71d421c9299d6942463975fae0bd10d4ff42cda2d7ea213e6b73c071a40fcf23ff52a93394cc7505ab332f8a4a3321826460e471eda5b4e WHIRLPOOL 42221344abb9e6f75048bdb9aaec4f8ffe032ddaa5f6bd16dd9c218f937fd52f26b13d088806c6684f6cc6b85b768b8bb04f89255641d82e40db6cd678d62617 diff --git a/dev-libs/libgcrypt/files/libgcrypt-1.6.1-uscore.patch 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 @@ -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.8.1.ebuild 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 @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>contact@hacktivis.me</email> + <name>Haelwenn (lanodan) Monnier</name> + </maintainer> +</pkgmetadata>