summaryrefslogtreecommitdiff
path: root/vkraus/packages/blog.scm
blob: b9bcecb2fb3906e9918fab458861cc0aa5eb9ce3 (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
(define-module (vkraus packages blog)
  #:use-module (vkraus config blog-release)
  #:use-module (gnu packages)
  #:use-module (gnu packages base)
  #:use-module (gnu packages ruby)
  #:use-module (gnu packages emacs)
  #:use-module (gnu packages emacs-xyz)
  #:use-module (gnu packages bash)
  #:use-module (guix gexp)
  #:use-module (guix modules)
  #:use-module (guix records)
  #:use-module (guix packages)
  #:use-module (guix download)
  #:use-module (guix git-download)
  #:use-module (guix build-system gnu)
  #:use-module (ice-9 match)
  #:use-module (ice-9 optargs))

(define-public blog
  (package
   (name "blog")
   (version blog-version)
   (source
    (origin
     (method git-fetch)
     (uri (git-reference
           (url blog-source-url)
           (commit blog-source-commit)))
     (sha256 (base32 blog-source-hash))))
   (build-system gnu-build-system)
   (arguments
    '(#:modules ((guix build utils)
                 (guix build gnu-build-system))
      #:phases
      (modify-phases %standard-phases
        (delete 'configure)
        (delete 'build)
        (delete 'check)
        (replace 'install
          (lambda* (#:key outputs inputs #:allow-other-keys)
            (let ((out (assoc-ref outputs "out"))
                  (bash-in (search-input-file inputs "/bin/bash"))
                  (emacs-in (search-input-file inputs "/bin/emacs"))
                  (set-load-path
                   (let compose-load-path ((dirs (search-path-as-list
                                                  '("share/emacs/site-lisp")
                                                  (map cdr inputs)))
                                           (set '()))
                     (if (null? dirs)
                         set
                         (compose-load-path (cdr dirs) `("-L" ,(car dir)))))))
              (mkdir out)
              (setenv "PREFIX" out)
              (setenv "HOME" ".home")
              (mkdir ".build")
              (with-directory-excursion
                  ".build"
                (apply invoke emacs-in "--batch"
                       `(,@set-load-path
                         "--file" "../init.org"
                         "--eval" "(setq org-confirm-babel-evaluate nil)"
                         "-f" "org-babel-tangle"))
                (invoke bash-in "../build"))))))))
   (native-inputs
    (list emacs bash jekyll emacs-org emacs-htmlize))
   (synopsis "La vie trépidante d’un chat au foyer — blog personnel")
   (description "Ceci est mon blog personnel.")
   (home-page "https://vivien.planete-kraus.eu")
   (license #f)))