From 70aa3b969e1830bce9e44b8dda0a97fcb27cce89 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Tue, 6 Apr 2021 22:16:43 +0200 Subject: [PATCH] website: Add locales in manifest. * website/manifest.scm: Add locale definition for all our translations. --- website/manifest.scm | 62 ++++++++++++++++++++++++++++++++++---------- 1 file changed, 49 insertions(+), 13 deletions(-) diff --git a/website/manifest.scm b/website/manifest.scm index eda382a..6beb78e 100644 --- a/website/manifest.scm +++ b/website/manifest.scm @@ -1,6 +1,8 @@ (use-modules (guix packages) ((gnu packages package-management) #:select (guix)) ((gnu packages guile-xyz) #:select (haunt)) + (gnu system locale) + (ice-9 rdelim) (srfi srfi-1)) (define the-good-guile @@ -14,17 +16,51 @@ `(("guile" ,the-good-guile) ,@(alist-delete "guile" (package-inputs haunt)))))) -(packages->manifest - (append - ;; Guile needs to be compatible - (list - guix - the-good-guile - haunt-the-ghost) +(define locales + (locale-directory + (call-with-input-file "po/LINGUAS" + (lambda (port) + (let loop ((line (read-line port)) + (locales '())) + (if (eof-object? line) + locales + (if (equal? (string-ref line 0) #\#) + (loop (read-line port) locales) + (loop (read-line port) + (cons + (locale-definition + (name (string-append line ".utf8")) + (source line)) + locales))))))) + #:libcs + (list glibc))) - ;; Other packages - (map specification->package - (list - "glibc-locales" - "git" - "guile-syntax-highlight")))) +(manifest + (cons + (manifest-entry + (name "locales") + (version "0") + (item (computed-file "locales" + (with-imported-modules '((guix build utils)) + #~(let ((out (string-append #$output "/lib/locale"))) + (use-modules (guix build utils)) + (mkdir-p out) + (copy-recursively #$locales out))))) + (search-paths + (list (search-path-specification + (variable "GUIX_LOCPATH") + (files '("lib/locale")))))) + (manifest-entries + (packages->manifest + (append + ;; Guile needs to be compatible + (list + guix + the-good-guile + haunt-the-ghost) + + ;; Other packages + (map specification->package + (list + "git" + "guile-syntax-highlight"))))))) -- 2.31.0