Skip to content

Commit

Permalink
dev-perl/Digest-GOST: Fix broken linking on BigEndian bug #608214
Browse files Browse the repository at this point in the history
-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
  • Loading branch information
kentfredric committed Oct 16, 2017
1 parent 187aae6 commit a63a99f
Show file tree
Hide file tree
Showing 2 changed files with 44 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -23,3 +23,4 @@ DEPEND="${RDEPEND}
>=virtual/perl-Test-Simple-0.820.0
)
"
PATCHES=( "${FILESDIR}/${P}-bigendian-link.patch" )
43 changes: 43 additions & 0 deletions dev-perl/Digest-GOST/files/Digest-GOST-0.60.0-bigendian-link.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
From c7dda2667b15cb9cf44856bd0d8efc9321eca354 Mon Sep 17 00:00:00 2001
From: Sergei Trofimovich <[email protected]>
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 <[email protected]>
---
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

0 comments on commit a63a99f

Please sign in to comment.