gnu: libgpg-error: Fix cross compilation.

* gnu/packages/gnupg.scm (libgpg-error)[arguments]: Add a lock-obj header to
the target platform when cross-compiling,
[native-inputs]: add gettext that is needed when cross-compiling.
This commit is contained in:
Mathieu Othacehe 2019-09-20 09:30:24 +02:00
parent c3d523b048
commit e373adc139
No known key found for this signature in database
GPG key ID: 8354763531769CA6

View file

@ -96,6 +96,31 @@ (define-public libgpg-error
(("namespace=errnos") "pkg_namespace=errnos"))
#t))))
(build-system gnu-build-system)
(arguments
(if (%current-target-system)
`(#:modules ((ice-9 match)
(guix build gnu-build-system)
(guix build utils))
#:phases
(modify-phases %standard-phases
;; When cross-compiling, some platform specific properties cannot
;; be detected. Create a symlink to the appropriate platform
;; file. See Cross-Compiling section at:
;; https://github.com/gpg/libgpg-error/blob/master/README
(add-after 'unpack 'cross-symlinks
(lambda* (#:key target inputs #:allow-other-keys)
(let ((triplet
(match (string-take target
(string-index target #\-))
("armhf" "arm-unknown-linux-gnueabi")
(x
(string-append x "-unknown-linux-gnu")))))
(symlink
(string-append "lock-obj-pub." triplet ".h")
"src/syscfg/lock-obj-pub.linux-gnu.h"))
#t))))
'()))
(native-inputs `(("gettext" ,gettext-minimal)))
(home-page "https://gnupg.org")
(synopsis "Library of error values for GnuPG components")
(description