diff options
-rw-r--r-- | gnu/packages/gnupg.scm | 82 |
1 files changed, 48 insertions, 34 deletions
diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index 49d29ed9bd..4a9a8fbb57 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -22,6 +22,7 @@ ;;; Copyright © 2021 Nikita Domnitskii <nikita@domnitskii.me> ;;; Copyright © 2021 Aleksandr Vityazev <avityazev@posteo.org> ;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -94,40 +95,42 @@ (version "1.45") (source (origin - (method url-fetch) - (uri (string-append "mirror://gnupg/libgpg-error/libgpg-error-" - version ".tar.bz2")) - (sha256 - (base32 - "09haz1kk48b8q0hd58g98whylah0fp121yfgjms7pzsbzgj8w3sp")))) + (method url-fetch) + (uri (string-append "mirror://gnupg/libgpg-error/libgpg-error-" + version ".tar.bz2")) + (sha256 + (base32 + "09haz1kk48b8q0hd58g98whylah0fp121yfgjms7pzsbzgj8w3sp")))) (build-system gnu-build-system) (arguments - (if (%current-target-system) - `(#:modules ((guix build gnu-build-system) - (guix build utils)) - #:phases - (modify-phases %standard-phases - ;; If this is left out, some generated header - ;; files will be sprinkled with ‘\c’, which - ;; the compiler won't like. - (add-after 'unpack 'fix-gen-lock-obj.sh - (lambda _ - (substitute* "src/gen-lock-obj.sh" - (("if test -n `echo -n`") "if ! test -n `echo -n`")))) - ;; When cross-compiling, some platform specific properties cannot - ;; be detected. Create a symlink to the appropriate platform - ;; file if required. Note that these platform files depend on - ;; both the operating system and architecture! - ;; - ;; See Cross-Compiling section at: - ;; https://github.com/gpg/libgpg-error/blob/master/README - (add-after 'unpack 'cross-symlinks - (lambda _ - (define (link triplet source) - (symlink (string-append "lock-obj-pub." triplet ".h") - (string-append "src/syscfg/lock-obj-pub." - source ".h"))) - ,(let* ((target (%current-target-system)) + (cond + ((%current-target-system) + (list + #:modules '((guix build gnu-build-system) + (guix build utils)) + #:phases + #~(modify-phases %standard-phases + ;; If this is left out, some generated header + ;; files will be sprinkled with ‘\c’, which + ;; the compiler won't like. + (add-after 'unpack 'fix-gen-lock-obj.sh + (lambda _ + (substitute* "src/gen-lock-obj.sh" + (("if test -n `echo -n`") "if ! test -n `echo -n`")))) + ;; When cross-compiling, some platform specific properties cannot + ;; be detected. Create a symlink to the appropriate platform + ;; file if required. Note that these platform files depend on + ;; both the operating system and architecture! + ;; + ;; See Cross-Compiling section at: + ;; https://github.com/gpg/libgpg-error/blob/master/README + (add-after 'unpack 'cross-symlinks + (lambda _ + (define (link triplet source) + (symlink (string-append "lock-obj-pub." triplet ".h") + (string-append "src/syscfg/lock-obj-pub." + source ".h"))) + #$(let* ((target (%current-target-system)) (architecture (string-take target (string-index target #\-)))) (cond ((target-linux? target) @@ -140,8 +143,19 @@ ;; configuration, as this is not correct for ;; all architectures. (_ #t))) - (#t #t))))))) - '())) + (#t #t)))))))) + ((system-hurd?) + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'skip-tests + (lambda _ + (substitute* + "tests/t-syserror.c" + (("(^| )main *\\(.*" all) + (string-append all "{\n exit (77);//")))))))) + (else + '()))) (native-inputs (list gettext-minimal)) (home-page "https://gnupg.org") (synopsis "Library of error values for GnuPG components") |