summaryrefslogtreecommitdiffstats
path: root/manifest.scm
diff options
context:
space:
mode:
Diffstat (limited to 'manifest.scm')
-rw-r--r--manifest.scm56
1 files changed, 56 insertions, 0 deletions
diff --git a/manifest.scm b/manifest.scm
new file mode 100644
index 0000000..8ad577b
--- /dev/null
+++ b/manifest.scm
@@ -0,0 +1,56 @@
+;;; Harmonic Flow web site
+
+(use-modules (guix packages)
+ ((gnu packages package-management) #:select (guix))
+ ((gnu packages guile-xyz) #:select (haunt))
+ ((gnu packages guile) #:select (guile-3.0-latest))
+ (gnu system locale)
+ (ice-9 rdelim)
+ (srfi srfi-1))
+
+(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)))
+
+(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 guile-3.0-latest haunt)
+
+ ;; Other packages
+ (map specification->package
+ (list
+ "git"
+ "guile-syntax-highlight")))))))