diff options
author | James Le Cuirot <chewi@gentoo.org> | 2019-04-13 14:16:26 +0100 |
---|---|---|
committer | James Le Cuirot <chewi@gentoo.org> | 2019-04-13 14:16:26 +0100 |
commit | 99c47b485089d702abba2b5bb8feef72f767f1cc (patch) | |
tree | 9bca88bd80b5337698c92766187574ea06f76918 /dev-libs/libgcrypt-compat | |
parent | dev-ruby/safe_yaml: cleanup (diff) | |
download | gentoo-99c47b485089d702abba2b5bb8feef72f767f1cc.tar.gz gentoo-99c47b485089d702abba2b5bb8feef72f767f1cc.tar.bz2 gentoo-99c47b485089d702abba2b5bb8feef72f767f1cc.zip |
dev-libs/libgcrypt-compat: New libgcrypt compatibility package
Currently provides version 1.5 (slot 11), which is about to be
last-rited. This is required by some older binaries.
Package-Manager: Portage-2.3.62, Repoman-2.3.12
Signed-off-by: James Le Cuirot <chewi@gentoo.org>
Diffstat (limited to 'dev-libs/libgcrypt-compat')
5 files changed, 184 insertions, 0 deletions
diff --git a/dev-libs/libgcrypt-compat/Manifest b/dev-libs/libgcrypt-compat/Manifest new file mode 100644 index 000000000000..c7a08977556c --- /dev/null +++ b/dev-libs/libgcrypt-compat/Manifest @@ -0,0 +1 @@ +DIST libgcrypt-1.5.6.tar.bz2 1548918 BLAKE2B 14ff8dfcfd7c5345f1be6d5300b97db27c9ac3c78141cc888ee978882aee39ac386a1e90588d3840bf0595a519437e92fa53b5f73d8659e193a43cfa374dfb34 SHA512 2c16912de66bc83adfbf8f43a2a9f57e1afcc866b1774ec11a670e2a793a7c5f2029d134c0bda681c9cb95f7dcc166133782c124e520b7fbe246ec10a9e1c06a diff --git a/dev-libs/libgcrypt-compat/files/libgcrypt-1.5.0-uscore.patch b/dev-libs/libgcrypt-compat/files/libgcrypt-1.5.0-uscore.patch new file mode 100644 index 000000000000..1d4f650b6c7a --- /dev/null +++ b/dev-libs/libgcrypt-compat/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-compat/files/libgcrypt-1.5.4-clang-arm.patch b/dev-libs/libgcrypt-compat/files/libgcrypt-1.5.4-clang-arm.patch new file mode 100644 index 000000000000..ab5d844552af --- /dev/null +++ b/dev-libs/libgcrypt-compat/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-compat/libgcrypt-compat-1.5.6.ebuild b/dev-libs/libgcrypt-compat/libgcrypt-compat-1.5.6.ebuild new file mode 100644 index 000000000000..76e7e0a7adc8 --- /dev/null +++ b/dev-libs/libgcrypt-compat/libgcrypt-compat-1.5.6.ebuild @@ -0,0 +1,58 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit autotools multilib-minimal + +MY_PN="${PN%-compat}" +MY_P="${MY_PN}-${PV}" + +DESCRIPTION="Old version of libgcrypt needed by some binaries" +HOMEPAGE="http://www.gnupg.org/" +SRC_URI="mirror://gnupg/${MY_PN}/${MY_P}.tar.bz2" +LICENSE="LGPL-2.1 MIT" +SLOT="11" # soname major version +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" + +RDEPEND=">=dev-libs/libgpg-error-1.12[${MULTILIB_USEDEP}] + !dev-libs/libgcrypt:0/11 + !dev-libs/libgcrypt:11/11" + +DEPEND="${RDEPEND}" + +S="${WORKDIR}/${MY_P}" + +PATCHES=( + "${FILESDIR}"/${MY_PN}-1.5.0-uscore.patch + "${FILESDIR}"/${MY_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 -C src DESTDIR="${D}" install-libLTLIBRARIES + rm -v "${ED}"/usr/$(get_libdir)/*.{la,so} || die +} diff --git a/dev-libs/libgcrypt-compat/metadata.xml b/dev-libs/libgcrypt-compat/metadata.xml new file mode 100644 index 000000000000..54be7ff7e5d6 --- /dev/null +++ b/dev-libs/libgcrypt-compat/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>chewi@gentoo.org</email> + <name>James Le Cuirot</name> + </maintainer> +</pkgmetadata> |