summaryrefslogtreecommitdiff
path: root/vkraus/packages/blog.scm
blob: f9850ca6f37dd09e9bed3b9113013b760448bdae (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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
(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 (gnu packages ruby)
  #: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 (guix build-system ruby)
  #:use-module ((guix licenses) #:prefix license:)
  #:use-module (ice-9 match)
  #:use-module (ice-9 optargs))

(define ruby-minima
  (package
    (name "ruby-minima")
    (version "2.5.1")
    (source
     (origin
       (method url-fetch)
       (uri (rubygems-uri "minima" version))
       (sha256
        (base32 "1gk7jmriiswda1ykjzpsw9cpiya4m9n0yrh0h6xnrc8zcfy543jj"))))
    (build-system ruby-build-system)
    (arguments
     ;; No rakefile
     `(#:tests? #f))
    (propagated-inputs (list jekyll ruby-jekyll-feed ruby-jekyll-seo-tag))
    (synopsis "A beautiful, minimal theme for Jekyll.")
    (description "This package provides a beautiful, minimal theme for Jekyll.")
    (home-page "https://github.com/jekyll/minima")
    (license license:expat)))

(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"))
                  (gem-path
                   (search-path-as-list '("/lib/ruby/vendor_ruby")
                                        (map cdr inputs))))
              (mkdir out)
              (setenv "GEM_PATH" (string-join gem-path ":"))
              (setenv "PREFIX" out)
              (setenv "HOME" ".home")
              (mkdir ".build")
              (with-directory-excursion
                  ".build"
                (invoke emacs-in "--batch"
                        "--file" "../init.org"
                        "--eval" "(require 'org)"
                        "-l" (search-input-file inputs "/share/emacs/site-lisp/htmlize-1.56/htmlize.el")
                        "--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 ruby-minima))
   (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)))