mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
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>
This commit is contained in:
1
dev-libs/libgcrypt-compat/Manifest
Normal file
1
dev-libs/libgcrypt-compat/Manifest
Normal file
@@ -0,0 +1 @@
|
||||
DIST libgcrypt-1.5.6.tar.bz2 1548918 BLAKE2B 14ff8dfcfd7c5345f1be6d5300b97db27c9ac3c78141cc888ee978882aee39ac386a1e90588d3840bf0595a519437e92fa53b5f73d8659e193a43cfa374dfb34 SHA512 2c16912de66bc83adfbf8f43a2a9f57e1afcc866b1774ec11a670e2a793a7c5f2029d134c0bda681c9cb95f7dcc166133782c124e520b7fbe246ec10a9e1c06a
|
||||
33
dev-libs/libgcrypt-compat/files/libgcrypt-1.5.0-uscore.patch
Normal file
33
dev-libs/libgcrypt-compat/files/libgcrypt-1.5.0-uscore.patch
Normal file
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
58
dev-libs/libgcrypt-compat/libgcrypt-compat-1.5.6.ebuild
Normal file
58
dev-libs/libgcrypt-compat/libgcrypt-compat-1.5.6.ebuild
Normal file
@@ -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
|
||||
}
|
||||
8
dev-libs/libgcrypt-compat/metadata.xml
Normal file
8
dev-libs/libgcrypt-compat/metadata.xml
Normal file
@@ -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>
|
||||
Reference in New Issue
Block a user