summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKent Fredric <kentnl@gentoo.org>2017-10-17 11:30:54 +1300
committerKent Fredric <kentnl@gentoo.org>2017-10-17 11:34:08 +1300
commita63a99f38ca651a6a266369a360eda0189f1d116 (patch)
tree63050faa6c12bba54683cc2cae8aff3cc486f0a4 /dev-perl/Digest-GOST
parentapp-shells/hstr: Use AC_SEARCH_LIBS not AC_CHECK_LIB (bug #634428). (diff)
downloadgentoo-a63a99f38ca651a6a266369a360eda0189f1d116.tar.gz
gentoo-a63a99f38ca651a6a266369a360eda0189f1d116.tar.bz2
gentoo-a63a99f38ca651a6a266369a360eda0189f1d116.zip
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
Diffstat (limited to 'dev-perl/Digest-GOST')
-rw-r--r--dev-perl/Digest-GOST/Digest-GOST-0.60.0-r1.ebuild (renamed from dev-perl/Digest-GOST/Digest-GOST-0.60.0.ebuild)1
-rw-r--r--dev-perl/Digest-GOST/files/Digest-GOST-0.60.0-bigendian-link.patch43
2 files changed, 44 insertions, 0 deletions
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
index 126317e2ab86..e7f28397c7e3 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 000000000000..bc43f7e079a5
--- /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 <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
+