public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: dev-libs/libgcrypt-compat/, dev-libs/libgcrypt-compat/files/
@ 2019-04-13 13:17 James Le Cuirot
  0 siblings, 0 replies; only message in thread
From: James Le Cuirot @ 2019-04-13 13:17 UTC (permalink / raw
  To: gentoo-commits

commit:     99c47b485089d702abba2b5bb8feef72f767f1cc
Author:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Sat Apr 13 13:16:26 2019 +0000
Commit:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Sat Apr 13 13:16:26 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=99c47b48

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 <AT> gentoo.org>

 dev-libs/libgcrypt-compat/Manifest                 |  1 +
 .../files/libgcrypt-1.5.0-uscore.patch             | 33 +++++++++
 .../files/libgcrypt-1.5.4-clang-arm.patch          | 84 ++++++++++++++++++++++
 .../libgcrypt-compat/libgcrypt-compat-1.5.6.ebuild | 58 +++++++++++++++
 dev-libs/libgcrypt-compat/metadata.xml             |  8 +++
 5 files changed, 184 insertions(+)

diff --git a/dev-libs/libgcrypt-compat/Manifest b/dev-libs/libgcrypt-compat/Manifest
new file mode 100644
index 00000000000..c7a08977556
--- /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 00000000000..1d4f650b6c7
--- /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 00000000000..ab5d844552a
--- /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 00000000000..76e7e0a7adc
--- /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 00000000000..54be7ff7e5d
--- /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>


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2019-04-13 13:17 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-04-13 13:17 [gentoo-commits] repo/gentoo:master commit in: dev-libs/libgcrypt-compat/, dev-libs/libgcrypt-compat/files/ James Le Cuirot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox