;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès ;;; Copyright © 2013, 2015, 2018 Andreas Enge ;;; Copyright © 2014, 2018 Eric Bavier ;;; Copyright © 2014, 2015, 2016, 2020 Mark H Weaver ;;; Copyright © 2015 Paul van der Walt ;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner ;;; Copyright © 2015, 2016, 2017, 2019 Ricardo Wurmus ;;; Copyright © 2016 Christine Lemmer-Webber ;;; Copyright © 2016, 2017 Nikita ;;; Copyright © 2016 Christopher Baines ;;; Copyright © 2016 Mike Gerwitz ;;; Copyright © 2016 Troy Sankey ;;; Copyright © 2017, 2020 Leo Famulari ;;; Copyright © 2017 Petter ;;; Copyright © 2018–2022 Tobias Geerinckx-Rice ;;; Copyright © 2018, 2019, 2022 Marius Bakke ;;; Copyright © 2018 Björn Höfling ;;; Copyright © 2019 Mathieu Othacehe ;;; Copyright © 2020 Fredrik Salomonsson ;;; Copyright © 2021 Maxime Devos ;;; Copyright © 2021 Nikita Domnitskii ;;; Copyright © 2021 Aleksandr Vityazev ;;; Copyright © 2022 Maxim Cournoyer ;;; Copyright © 2023 Janneke Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. ;;; ;;; GNU Guix is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 3 of the License, or (at ;;; your option) any later version. ;;; ;;; GNU Guix is distributed in the hope that it will be useful, but ;;; WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see . (define-module (gnu packages gnupg) #:use-module ((guix licenses) #:prefix license:) #:use-module (gnu packages) #:use-module (gnu packages adns) #:use-module (gnu packages autotools) #:use-module (gnu packages base) #:use-module (gnu packages curl) #:use-module (gnu packages crypto) #:use-module (gnu packages emacs) #:use-module (gnu packages enlightenment) #:use-module (gnu packages gettext) #:use-module (gnu packages guile) #:use-module (gnu packages openldap) #:use-module (gnu packages perl) #:use-module (gnu packages perl-check) #:use-module (gnu packages pth) #:use-module (gnu packages python) #:use-module (gnu packages python-xyz) #:use-module (gnu packages qt) #:use-module (gnu packages readline) #:use-module (gnu packages compression) #:use-module (gnu packages gtk) #:use-module (gnu packages glib) #:use-module (gnu packages gnome) #:use-module (gnu packages pkg-config) #:use-module (gnu packages ncurses) #:use-module (gnu packages security-token) #:use-module (gnu packages sqlite) #:use-module (gnu packages swig) #:use-module (gnu packages texinfo) #:use-module (gnu packages tls) #:use-module (gnu packages tor) #:use-module (gnu packages web) #:use-module (gnu packages xorg) #:use-module (gnu packages xdisorg) #:use-module (gnu packages xml) #:use-module (gnu packages popt) #:use-module (gnu packages xdisorg) #:use-module (guix gexp) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix utils) #:use-module (guix git-download) #:use-module (guix build-system gnu) #:use-module (guix build-system perl) #:use-module (guix build-system python) #:use-module (ice-9 match) #:use-module (guix build-system meson) #:use-module (srfi srfi-1)) (define-public libgpg-error (package (name "libgpg-error") (version "1.45") (source (origin (method url-fetch) (uri (string-append "mirror://gnupg/libgpg-error/libgpg-error-" version ".tar.bz2")) (sha256 (base32 "09haz1kk48b8q0hd58g98whylah0fp121yfgjms7pzsbzgj8w3sp")))) (build-system gnu-build-system) (arguments (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) (match architecture ("armhf" `(link "arm-unknown-linux-gnueabi" "linux-gnu")) ("mips64el" `(link "mips-unknown-linux-gnu" "linux-gnu")) ;; Don't always link to the "linux-gnu"