summaryrefslogtreecommitdiffstats
path: root/manifest.scm
blob: 8ad577b4cca0c537bec7c4d92da203f628b04182 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
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")))))))