dev-perl/Crypt-OpenSSL-Bignum: Fix for OpenSSL 1.1.0f
authorKent Fredric <kentnl@gentoo.org>
Thu, 19 Oct 2017 01:44:28 +0000 (14:44 +1300)
committerKent Fredric <kentnl@gentoo.org>
Thu, 19 Oct 2017 01:45:23 +0000 (14:45 +1300)
Bug: https://bugs.gentoo.org/592532
Package-Manager: Portage-2.3.8, Repoman-2.3.3

dev-perl/Crypt-OpenSSL-Bignum/Crypt-OpenSSL-Bignum-0.80.0-r1.ebuild [new file with mode: 0644]
dev-perl/Crypt-OpenSSL-Bignum/files/Crypt-OpenSSL-Bignum-0.80.0-openssl1.1.patch [new file with mode: 0644]

diff --git a/dev-perl/Crypt-OpenSSL-Bignum/Crypt-OpenSSL-Bignum-0.80.0-r1.ebuild b/dev-perl/Crypt-OpenSSL-Bignum/Crypt-OpenSSL-Bignum-0.80.0-r1.ebuild
new file mode 100644 (file)
index 0000000..77e8c67
--- /dev/null
@@ -0,0 +1,24 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+DIST_AUTHOR=KMX
+DIST_VERSION=0.08
+inherit perl-module
+
+DESCRIPTION="OpenSSL's multiprecision integer arithmetic"
+
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="libressl"
+
+RDEPEND="
+       !libressl? ( dev-libs/openssl:0 )
+       libressl? ( dev-libs/libressl )
+"
+DEPEND="${RDEPEND}
+       virtual/perl-ExtUtils-MakeMaker
+       virtual/pkgconfig
+"
+PATCHES=( "${FILESDIR}/${P}-openssl1.1.patch" )
diff --git a/dev-perl/Crypt-OpenSSL-Bignum/files/Crypt-OpenSSL-Bignum-0.80.0-openssl1.1.patch b/dev-perl/Crypt-OpenSSL-Bignum/files/Crypt-OpenSSL-Bignum-0.80.0-openssl1.1.patch
new file mode 100644 (file)
index 0000000..f2c9348
--- /dev/null
@@ -0,0 +1,49 @@
+From d9ddaa210a1b91deb6ea6fcea4cb274f634e482d Mon Sep 17 00:00:00 2001
+From: Mark Wright <gienah@gentoo.org>
+Date: Tue, 17 Oct 2017 16:50:01 +1100
+Subject: Fix building with OpenSSL 1.1.0
+
+Bug: https://bugs.gentoo.org/592532
+Bug: https://rt.cpan.org/Ticket/Display.html?id=117482
+Bug: https://github.com/kmx/perl-Crypt-OpenSSL-Bignum/pull/7
+---
+ Bignum.xs | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/Bignum.xs b/Bignum.xs
+index d39dcff..149fa52 100755
+--- a/Bignum.xs
++++ b/Bignum.xs
+@@ -29,7 +29,11 @@ BIGNUM* sv2bn( SV* sv )
+ MODULE = Crypt::OpenSSL::Bignum      PACKAGE = Crypt::OpenSSL::Bignum   PREFIX = BN_
+ BOOT:
++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
++    OPENSSL_init_crypto(0, NULL);
++#else
+     ERR_load_crypto_strings();
++#endif
+ void
+ DESTROY(Crypt::OpenSSL::Bignum self)
+@@ -92,7 +96,7 @@ BN_new(CLASS)
+     BIGNUM* bn;
+   CODE:
+     checkOpenSslCall( bn = BN_new() );
+-    checkOpenSslCall( BN_zero( bn ) );
++    checkOpenSslCall( BN_set_word( bn, 0 ) );
+     RETVAL = bn;
+   OUTPUT:
+     RETVAL
+@@ -103,7 +107,7 @@ BN_zero(CLASS)
+     BIGNUM *bn;
+   CODE:
+     checkOpenSslCall( bn = BN_new() );
+-    checkOpenSslCall( BN_zero( bn ) );
++    checkOpenSslCall( BN_set_word( bn, 0 ) );
+     RETVAL = bn;
+   OUTPUT:
+     RETVAL
+-- 
+2.14.2
+