;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013 Andreas Enge ;;; Copyright © 2015, 2016 Mark H Weaver ;;; ;;; 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 icu4c) #:use-module (gnu packages) #:use-module (gnu packages perl) #:use-module (guix licenses) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu)) (define-public icu4c (package (name "icu4c") (version "55.1") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/icu/ICU4C/" version "/icu4c-" (string-map (lambda (x) (if (char=? x #\.) #\_ x)) version) "-src.tgz")) (sha256 (base32 "0ys5f5spizg45qlaa31j2lhgry0jka2gfha527n4ndfxxz5j4sz1")) (patches (search-patches "icu4c-CVE-2014-6585.patch" "icu4c-CVE-2015-1270.patch" "icu4c-CVE-2015-4760.patch")))) (build-system gnu-build-system) (inputs `(("perl" ,perl))) (arguments `(#:configure-flags '("--enable-rpath" ,@(if (let ((s (or (%current-target-system) (%current-system)))) (or (string-prefix? "arm" s) (string-prefix? "mips" s))) '("--with-data-packaging=archive") '())) #:phases (alist-cons-after 'unpack 'chdir-to-source (lambda _ (chdir "source")) (alist-cons-before 'configure 'patch-configure (lambda _ ;; patch out two occurrences of /bin/sh from configure script ;; that might have disappeared in a release later than 54.1 (substitute* "configure" (("`/bin/sh") (string-append "`" (which "bash"))))) %standard-phases)))) (synopsis "International Components for Unicode") (description "ICU is a set of C/C++ and Java libraries providing Unicode and globalisation support for software applications. This package contains the C/C++ part.") (license x11) (home-page "http://site.icu-project.org/"))) >* gnu/system/nss.scm (%mdns-host-lookup-nss): New variable. * doc/guix.texi (Name Service Switch): Document it. Ludovic Courtès 2015-02-04system: Add bindings to configure libc's NSS....* gnu/system/nss.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add it. * gnu.scm (%public-modules): Add it. * gnu/system.scm (<operating-system>)[name-service-switch]: New field. (etc-directory): Add #:nss parameter and honor it. (operating-system-etc-directory): Adjust call accordingly. * doc/guix.texi (operating-system Reference): Document 'name-service-switch'. (Name Service Switch): New section. Ludovic Courtès