dev-perl/Digest-GOST: Fix broken linking on BigEndian bug #608214
authorKent Fredric <kentnl@gentoo.org>
Mon, 16 Oct 2017 22:30:54 +0000 (11:30 +1300)
committerKent Fredric <kentnl@gentoo.org>
Mon, 16 Oct 2017 22:34:08 +0000 (11:34 +1300)
-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

dev-perl/Digest-GOST/Digest-GOST-0.60.0-r1.ebuild [moved from dev-perl/Digest-GOST/Digest-GOST-0.60.0.ebuild with 90% similarity]
dev-perl/Digest-GOST/files/Digest-GOST-0.60.0-bigendian-link.patch [new file with mode: 0644]

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 126317e2ab86862247ec4870c7b6c5e3c72e1923..e7f28397c7e3ac90f0289a00e35c60a28e432125 100644 (file)
@@ -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 (file)
index 0000000..bc43f7e
--- /dev/null
@@ -0,0 +1,43 @@
+From c7dda2667b15cb9cf44856bd0d8efc9321eca354 Mon Sep 17 00:00:00 2001
+From: Sergei Trofimovich <slyfox@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 <slyfox@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
+