commit:     a63a99f38ca651a6a266369a360eda0189f1d116
Author:     Kent Fredric <kentnl <AT> gentoo <DOT> org>
AuthorDate: Mon Oct 16 22:30:54 2017 +0000
Commit:     Kent Fredric <kentnl <AT> gentoo <DOT> org>
CommitDate: Mon Oct 16 22:34:08 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a63a99f3

dev-perl/Digest-GOST: Fix broken linking on BigEndian bug #608214

-r1 bump because people who previously built this withour running tests
have a silently broken install.

Closes: https://bugs.gentoo.org/608214
Package-Manager: Portage-2.3.8, Repoman-2.3.3

 ...-0.60.0.ebuild => Digest-GOST-0.60.0-r1.ebuild} |  1 +
 .../files/Digest-GOST-0.60.0-bigendian-link.patch  | 43 ++++++++++++++++++++++
 2 files changed, 44 insertions(+)

diff --git a/dev-perl/Digest-GOST/Digest-GOST-0.60.0.ebuild 
b/dev-perl/Digest-GOST/Digest-GOST-0.60.0-r1.ebuild
similarity index 90%
rename from dev-perl/Digest-GOST/Digest-GOST-0.60.0.ebuild
rename to dev-perl/Digest-GOST/Digest-GOST-0.60.0-r1.ebuild
index 126317e2ab8..e7f28397c7e 100644
--- a/dev-perl/Digest-GOST/Digest-GOST-0.60.0.ebuild
+++ b/dev-perl/Digest-GOST/Digest-GOST-0.60.0-r1.ebuild
@@ -23,3 +23,4 @@ DEPEND="${RDEPEND}
                >=virtual/perl-Test-Simple-0.820.0
        )
 "
+PATCHES=( "${FILESDIR}/${P}-bigendian-link.patch" )

diff --git a/dev-perl/Digest-GOST/files/Digest-GOST-0.60.0-bigendian-link.patch 
b/dev-perl/Digest-GOST/files/Digest-GOST-0.60.0-bigendian-link.patch
new file mode 100644
index 00000000000..bc43f7e079a
--- /dev/null
+++ b/dev-perl/Digest-GOST/files/Digest-GOST-0.60.0-bigendian-link.patch
@@ -0,0 +1,43 @@
+From c7dda2667b15cb9cf44856bd0d8efc9321eca354 Mon Sep 17 00:00:00 2001
+From: Sergei Trofimovich <sly...@gentoo.org>
+Date: Mon, 16 Oct 2017 10:27:32 +0100
+Subject: Fix link failure on big-endian platforms.
+
+On powerpc64 tests failed as:
+
+```
+    Failed 2/2 subtests
+    ===(       2;0  0/?  0/?  0/? 
)=========================================Can't load 
'.../Digest-GOST-0.06/blib/arch/auto/Digest/GOST/GOST.so' for
+    module Digest::GOST: 
.../Digest-GOST-0.06/blib/arch/auto/Digest/GOST/GOST.so: undefined symbol: 
rhash_u32_swap_copy at /usr/lib64/perl5/5.24.3/powerpc64-linux/DynaLoader.pm 
line 193.
+```
+
+rhash_u32_swap_copy() is a function local to this package.
+Seems to be used only for big-endian case.
+
+The fix is to add missing 'src/byte_order.c' file.
+
+All tests pass with patch applied.
+
+Bug: https://bugs.gentoo.org/608214
+Bug: https://rt.cpan.org/Public/Bug/Display.html?id=120092
+Bug: https://github.com/gray/digest-gost/pull/1
+Signed-off-by: Sergei Trofimovich <sly...@gentoo.org>
+---
+ GOST.xs | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/GOST.xs b/GOST.xs
+index 1dfd33c..4ea6f35 100644
+--- a/GOST.xs
++++ b/GOST.xs
+@@ -6,6 +6,7 @@
+ #include "ppport.h"
+ 
+ #include "src/gost.c"
++#include "src/byte_order.c"
+ 
+ static int
+ hex_encode (char *dest, const unsigned char *src, int len) {
+-- 
+2.14.2
+

Reply via email to