janneke pushed a commit to branch hurd-team
in repository guix.

commit 66779608ae5f1662fd6f5ee55d323aeebc9f7101
Author: Janneke Nieuwenhuizen <jann...@gnu.org>
AuthorDate: Mon Nov 4 18:29:39 2024 +0100

    gnu: libxcrypt: Support the 64bit Hurd.
    
    * gnu/packages/patches/libxcrypt-hurd64.patch: New file.
    * gnu/local.mk (dist_patch_DATA): Register it.
    * gnu/packages/crypto.scm (libxcrypt)[arguments]: When building for the 
64bit
    Hurd, use it in new phase `apply-hurd64-patch'.
    
    Change-Id: I795a591ef8282ee5b760fec43bd4ad849007f602
---
 gnu/local.mk                                |  1 +
 gnu/packages/crypto.scm                     | 13 ++++++++++
 gnu/packages/patches/libxcrypt-hurd64.patch | 38 +++++++++++++++++++++++++++++
 3 files changed, 52 insertions(+)

diff --git a/gnu/local.mk b/gnu/local.mk
index cd9ad3aebb..9a775cc160 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1730,6 +1730,7 @@ dist_patch_DATA =                                         
\
   %D%/packages/patches/libvpx-CVE-2016-2818.patch              \
   %D%/packages/patches/libvpx-CVE-2023-5217.patch              \
   %D%/packages/patches/libvpx-CVE-2023-44488.patch             \
+  %D%/packages/patches/libxcrypt-hurd64.patch                  \
   %D%/packages/patches/libxml2-xpath0-Add-option-xpath0.patch  \
   %D%/packages/patches/libwpd-gcc-compat.patch                 \
   %D%/packages/patches/libxslt-generated-ids.patch             \
diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm
index 2a298c4caf..9ef1a53fa6 100644
--- a/gnu/packages/crypto.scm
+++ b/gnu/packages/crypto.scm
@@ -27,6 +27,7 @@
 ;;; Copyright © 2022 Denis 'GNUtoo' Carikli <gnu...@cyberdimension.org>
 ;;; Copyright © 2023 Ivan Vilata-i-Balaguer <i...@selidor.net>
 ;;; Copyright © 2023 Foundation Devices, Inc. <he...@foundationdevices.com>
+;;; Copyright © 2024 Janneke Nieuwenhuizen <jann...@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1661,6 +1662,18 @@ checksum tool based on the BLAKE3 cryptographic hash 
function.")
     (build-system gnu-build-system)
     (native-inputs
      (list perl))
+    (arguments
+     (if (target-hurd64?)
+         (list
+          #:phases
+          #~(modify-phases %standard-phases
+              (add-after 'unpack 'apply-hurd64-patch
+                (lambda _
+                  (let ((patch
+                         #$(local-file
+                            (search-patch "libxcrypt-hurd64.patch"))))
+                    (invoke "patch" "--force" "-p1" "-i" patch))))))
+              '()))
     (synopsis
      "Extended crypt library for descrypt, md5crypt, bcrypt, and others")
     (description
diff --git a/gnu/packages/patches/libxcrypt-hurd64.patch 
b/gnu/packages/patches/libxcrypt-hurd64.patch
new file mode 100644
index 0000000000..9fc3018539
--- /dev/null
+++ b/gnu/packages/patches/libxcrypt-hurd64.patch
@@ -0,0 +1,38 @@
+Upstream-status: Taken from upstream:
+    
<https://github.com/besser82/libxcrypt/commit/b2c1da2e1ce2d3e72f511f5bc94a6ffa68b70917>
+
+From b2c1da2e1ce2d3e72f511f5bc94a6ffa68b70917 Mon Sep 17 00:00:00 2001
+From: Samuel Thibault <samuel.thiba...@ens-lyon.org>
+Date: Sun, 14 Jul 2024 13:13:07 +0200
+Subject: [PATCH] Add binary compatibility for x86_64 GNU/Hurd
+Content-Transfer-Encoding: 8bit
+Content-Type: text/plain; charset=UTF-8
+
+
+diff --git a/lib/libcrypt.map.in b/lib/libcrypt.map.in
+index 88ea911..a56b7bf 100644
+--- a/lib/libcrypt.map.in
++++ b/lib/libcrypt.map.in
+@@ -43,5 +43,5 @@ fcrypt                       -               GLIBC_2.0
+ %chain GLIBC_2.0 GLIBC_2.2 GLIBC_2.2.1 GLIBC_2.2.2 GLIBC_2.2.5 GLIBC_2.2.6
+ %chain GLIBC_2.3 GLIBC_2.4 GLIBC_2.12 GLIBC_2.16 GLIBC_2.17 GLIBC_2.18
+ %chain GLIBC_2.21 GLIBC_2.27 GLIBC_2.29 GLIBC_2.32 GLIBC_2.33 GLIBC_2.35
+-%chain GLIBC_2.36
++%chain GLIBC_2.36 GLIBC_2.38
+ %chain OW_CRYPT_1.0 XCRYPT_2.0 XCRYPT_4.3 XCRYPT_4.4
+diff --git a/lib/libcrypt.minver b/lib/libcrypt.minver
+index 8478077..c5a5bf2 100644
+--- a/lib/libcrypt.minver
++++ b/lib/libcrypt.minver
+@@ -51,6 +51,7 @@
+ #VERSION     SYSTEM          CPU_FAMILY    PREPROCESSOR_CHECK
+ 
+ # GNU Hurd
++GLIBC_2.38   gnu             x86_64
+ GLIBC_2.2.6  gnu             i[3-9]86
+ ERROR        gnu             .
+ 
+-- 
+Janneke Nieuwenhuizen <jann...@gnu.org>  | GNU LilyPond https://LilyPond.org
+Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
+

Reply via email to