diff options
author | Jan Nieuwenhuizen <janneke@gnu.org> | 2016-05-03 18:49:33 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2016-12-07 10:23:16 +0100 |
commit | 4dab8c590650af0e78647e6e13fb9ac772e51db7 (patch) | |
tree | 1531db92cab4e4c17b6d14440b79607cedafeac8 | |
parent | cba36e6482a39d9b7e3a61fb2251664a86cb492e (diff) | |
download | guix-4dab8c590650af0e78647e6e13fb9ac772e51db7.tar.gz |
gnu: Add function libiconv-if-needed.
* gnu/packages/base.scm (libiconv-if-needed): New function.
-rw-r--r-- | gnu/packages/base.scm | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 1c01874bb0..8b8134c822 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -46,7 +46,8 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system trivial) #:use-module (ice-9 match) - #:export (glibc)) + #:export (glibc + libiconv-if-needed)) ;;; Commentary: ;;; @@ -1032,6 +1033,16 @@ program. It supports a wide variety of different encodings.") (home-page "http://www.gnu.org/software/libiconv/") (license lgpl3+))) +(define* (libiconv-if-needed #:optional (target (%current-target-system))) + "Return either a libiconv package specification to include in a dependency +list for platforms that have an incomplete libc, or the empty list. If a +package needs iconv ,@(libiconv-if-needed) should be added." + ;; POSIX C libraries provide iconv. Platforms with an incomplete libc + ;; without iconv, such as MinGW, must return the then clause. + (if (target-mingw? target) + `(("libiconv" ,libiconv)) + '())) + (define-public (canonical-package package) ;; Avoid circular dependency by lazily resolving 'commencement'. (let* ((iface (resolve-interface '(gnu packages commencement))) |