blob: 5552791fe52654c57f8dd07e9ff40ce5a40c2da2 (
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
;;; GuixSD website --- GNU's advanced distro website
;;; Copyright © 2017 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GuixSD website.
;;;
;;; GuixSD website 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.
;;;
;;; GuixSD website 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 GuixSD website. If not, see <http://www.gnu.org/licenses/>.
;; Run 'guix build -f guix.scm' to build the web site.
(use-modules (guix) (gnu)
(guix modules)
(guix git-download))
(define source
(local-file "." "guix-web-site"
#:recursive? #t
#:select? (git-predicate ".")))
(define-syntax let-package
(syntax-rules ()
((_ () body ...)
(begin body ...))
((_ ((var name) rest ...) body ...)
(let ((var (specification->package name)))
(let-package (rest ...) body ...)))))
(let-package ((guix "guix")
(guile-json "guile-json")
(haunt "haunt")
(guile-commonmark "guile-commonmark")
(guile-syntax-highlight "guile-syntax-highlight"))
(with-imported-modules (source-module-closure
'((guix build utils)))
#~(begin
(use-modules (guix build utils))
(copy-recursively #$source ".")
;; For Haunt.
(setenv "GUILE_LOAD_PATH"
(string-join (list #+guile-commonmark #+guile-json
#+guile-syntax-highlight
#+guix)
"/share/guile/site/2.2:"
'suffix))
(setenv "GUILE_LOAD_COMPILED_PATH"
#+(file-append guix "/lib/guile/2.2/site-ccache"))
;; So we can read/write UTF-8 files.
(setenv "GUIX_LOCPATH"
#+(file-append (specification->package "glibc-utf8-locales")
"/lib/locale"))
(setenv "LC_ALL" "en_US.utf8")
(and (zero? (system* #+(file-append haunt "/bin/haunt")
"build"))
(begin
(mkdir-p #$output)
(copy-recursively "site" #$output))))))
;; Local Variables:
;; eval: (put 'let-package 'scheme-indent-function 1)
;; End:
|