blob: da10724ed749ae1250b119209268272505b8d2cf (
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
90
|
(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)"
"--eval" "(setq org-html-htmlize-output-type 'css)"
"-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)))
|