aboutsummaryrefslogtreecommitdiff
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 Ludovic Courtès <ludo@gnu.org>
;;;
;;; 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 <http://www.gnu.org/licenses/>.

(define-module (test-discovery)
  #:use-module (guix discovery)
  #:use-module (guix build-system)
  #:use-module (guix utils)
  #:use-module (srfi srfi-64)
  #:use-module (ice-9 match))

(define %top-srcdir
  (dirname (search-path %load-path "guix.scm")))

(test-begin "discovery")

(test-assert "scheme-modules"
  (match (map module-name (scheme-modules %top-srcdir "guix/import"))
    ((('guix 'import _ ...) ..1)
     #t)))

(test-assert "scheme-modules recurses in symlinks to directories"
  (call-with-temporary-directory
   (lambda (directory)
     (mkdir (string-append directory "/guix"))
     (symlink (string-append %top-srcdir "/guix/import")
              (string-append directory "/guix/import"))

     ;; DIRECTORY/guix/import is a symlink but we want to make sure
     ;; 'scheme-modules' recurses into it.
     (match (map module-name (scheme-modules directory))
       ((('guix 'import _ ...) ..1)
        #t)))))

(test-equal "scheme-modules, non-existent directory"
  '()
  (scheme-modules "/does/not/exist"))

(test-assert "all-modules"
  (match (map module-name
              (all-modules `((,%top-srcdir . "guix/build-system"))))
    ((('guix 'build-system names) ..1)
     names)))

(test-assert "fold-module-public-variables"
  (let ((modules (all-modules `((,%top-srcdir . "guix/build-system")))))
    (match (fold-module-public-variables (lambda (obj result)
                                           (if (build-system? obj)
                                               (cons obj result)
                                               result))
                                         '()
                                         modules)
      (((? build-system? bs) ..1)
       bs))))

(test-end "discovery")
OOKBOOK_PO_FILES): Add Russian and Slovak po files. Julien Lepiller 2021-05-10nls: Update translations.Maxim Cournoyer 2021-05-10nls: New nl and oc translations for the 'packages' component....* po/packages/nl.po: New file. * po/packages/oc.po: Likewise. * po/packages/LINGUAS: Register them. Maxim Cournoyer 2021-05-03nls: Do not update po files on first make invocation....We need to update the minimal gettext version to take advantage of new features. Before this patch, the first make invocation would modify po/guix and po/packages po files, and we advised to run `git checkout po` to clean the changes. * configure.ac (AM_GNU_GETTEXT_VERSION): Update to 0.19.1. * po/guix/Makevars: Set PO_DEPENDS_ON_POT to no. * po/packages/Makevars: Set PO_DEPENDS_ON_POT to no. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Julien Lepiller 2021-04-18nls: Remove 'vi' in LINGUAS...The po file is no longer available. * po/packages/LINGUAS: Remove 'vi'. Julien Lepiller 2021-04-18nls: Add Korean translation....* po/doc/guix-cookbook.ko.po: New file. * po/doc/guix-manual.ko.po: New file. * doc/local.mk (info_TEXINFOS): Add them. * po/doc/local.mk (DOC_PO_FILES, DOC_COOKBOOK_PO_FILES): Add them. * po/guix/ko.po: New file. * po/guix/LINGUAS: Add 'ko'. * po/packages/ko.po: New file. * po/packages/LINGUAS: Add 'ko'. Julien Lepiller 2021-04-18nls: Add Persian translation....* po/packages/fa.po: New file. * po/packages/LINGUAS: Add 'fa'. * po/doc/guix-cookbook.fa.po: New file. * po/doc/guix-manual.fa.po: New file. * po/doc/local.mk (DOC_PO_FILES, DOC_COOKBOOK_PO_FILES): Add them. * doc/local.mk (info_TEXINFOS): Add them. Julien Lepiller 2021-04-18nls: Add Slovak translation....* po/packages/sk.po: New file. * po/packages/LINGUAS: Add 'sk'. * po/doc/guix-manual.sk.po: New file. * doc/local.mk (info_TEXINFOS): Add it. * po/doc/local.mk (DOC_PO_FILES): Add it. Julien Lepiller 2021-04-18nls: Update 'pt_BR' translation.Julien Lepiller 2021-04-18nls: Remove Vietnamese translations of packages....No translated string is used in Guix anymore. Julien Lepiller 2021-04-18nls: Update 'zh_CN' translations.Julien Lepiller 2021-04-18nls: Update 'sr' translations.Julien Lepiller 2021-04-18nls: Update 'pl' translations.Julien Lepiller 2021-04-18nls: Update 'hu' translations.Julien Lepiller 2021-04-18nls: Update 'da' translations.Julien Lepiller 2021-04-18nls: Update 'eo' translations.Julien Lepiller 2021-04-18nls: Update 'es' translations.Julien Lepiller 2021-04-18nls: Update 'de' translations.Julien Lepiller 2021-04-18nls: Update 'fr' translations.Julien Lepiller 2021-02-12services: Add transmission-daemon service....* gnu/services/file-sharing.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * po/packages/POTFILES.in: Add it. * tests/services/file-sharing.scm: New file. * Makefile.am (SCM_TESTS): Add it. * doc/guix.texi (File-Sharing Services): New section. Signed-off-by: 宋文武 <iyzsong@member.fsf.org> Simon South 2021-01-28nls: Update 'fr' translation.Julien Lepiller 2020-11-12nls: Update string translations.Ludovic Courtès 2020-10-27nls: Update.Ludovic Courtès 2020-10-16nls: Update.Ludovic Courtès 2020-09-29nls: Fix copyright and bug address in pot files....* po/guix/Makevars: Fix COPYRIGHT_HOLDER and MSGID_BUGS_ADDRESS. * po/packages/Makevars: idem. Julien Lepiller 2020-04-14nls: Update.Ludovic Courtès 2020-04-12nls: Update.Ludovic Courtès 2020-03-23nls: Update.Ludovic Courtès 2019-05-13nls: Update 'fr' translation.Julien Lepiller 2019-05-03nls: Update da translations.Ludovic Courtès 2019-05-01nls: Update translations for de and fr.Ludovic Courtès 2019-04-25nls: Update 'es' translation.Julien Lepiller 2019-04-25nls: Update 'fr' translation.Julien Lepiller 2019-04-13nls: Update 'fr' translation.Julien Lepiller