;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013 Cyril Roelandt ;;; Copyright © 2016 Efraim Flashner ;;; ;;; 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 iso-codes) #:use-module ((guix licenses) #:select (gpl2+)) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) #:use-module (gnu packages gettext) #:use-module (gnu packages perl) #:use-module (gnu packages python)) (define-public iso-codes (package (name "iso-codes") (version "3.67") (source (origin (method url-fetch) (uri (string-append "https://pkg-isocodes.alioth.debian.org/downloads/iso-codes-" version ".tar.xz")) (sha256 (base32 "037hmfs5pk3g36psm378vap1mbrkk86vv8wsdnv65mzbnph52gv0")))) (build-system gnu-build-system) (inputs `(("gettext" ,gettext-minimal) ("perl" ,perl) ("python" ,python-wrapper))) (home-page "https://pkg-isocodes.alioth.debian.org/") (synopsis "Various ISO standards") (description "This package provides lists of various ISO standards (e.g. country, language, language scripts, and currency names) in one place, rather than repeated in many programs throughout the system. Currently there are lists of languages and countries embedded in several different programs, which leads to dozens of lists of 200 languages, translated into more than 30 languages... not very efficient. With this package, we create a single \"gettext domain\" for every supported ISO standard which contains the translations of that domain. It is easy for a programmer to re-use those translations instead of maintaining their own translation infrastructure. Moreover, the programmer does not need to follow changes in the ISO standard and will not work with outdated information.") ; Some bits use the lgpl2 (license gpl2+))) href='/guix/commit/tests/discovery.scm?id=960c6ce96d746cf19829ad26e092ec5dad2a5c62'>discovery: Recurse into directories pointed to by a symlink....Reported by Christopher Baines <mail@cbaines.net> and Alex Kost <alezost@gmail.com> at <https://lists.gnu.org/archive/html/guix-devel/2017-06/msg00290.html>. * guix/discovery.scm (scheme-files): When ENTRY is a symlink that doesn't end in '.scm', call 'stat' and recurse if it points to a directory. * tests/discovery.scm ("scheme-modules recurses in symlinks to directories"): New test. Ludovic Courtès 2017-06-18discovery: 'scheme-files' returns '() for a non-accessible directory....Fixes a regression introduced in d27cc3bfaafe6b5b0831e88afb1c46311d382a0b. Reported by Ricardo Wurmus <rekado@elephly.net>. * guix/discovery.scm (scheme-files): Catch 'scandir*' system errors. Return '() and optionally raise a warning upon 'system-error'. * tests/discovery.scm ("scheme-modules, non-existent directory"): New test. Ludovic Courtès 2017-05-03Add (guix discovery)....* guix/discovery.scm, tests/discovery.scm: New files. * gnu/packages.scm (scheme-files, file-name->module-name) (scheme-modules, all-package-modules): Remove. (fold-packages): Rewrite in terms of 'fold-module-public-variables'. * gnu/tests.scm: Use (guix discovery). * Makefile.am (MODULES): Add guix/discovery.scm. (SCM_TESTS): Add tests/discovery.scm. Ludovic Courtès