-
Notifications
You must be signed in to change notification settings - Fork 2
/
guix.scm
91 lines (82 loc) · 2.57 KB
/
guix.scm
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
91
(use-modules
(gnu packages)
(guix gexp)
((guix licenses) #:prefix license:)
(guix packages)
(guix git-download)
(guix utils)
(guix build-system asdf)
(hatis packages wlroots)
(gnu packages freedesktop)
(gnu packages pkg-config)
(gnu packages xdisorg)
(gnu packages lisp-check)
(gnu packages lisp-xyz))
(define %protocols
(local-file
(dirname (current-filename))
"hatis-protocols"
#:recursive? #t
#:select? (lambda (file _) (not (string-contains file "/src/")))))
(define %source
(local-file
(dirname (current-filename))
"hatis"
#:recursive? #t
#:select? (lambda (file _) (and
(not (string-contains file "protocols.asd"))
(not (string-contains file "/protocols/"))))))
(define sbcl-wayflan/latest
(let [(commit "f56f6ec42b05100ef7353a831b9f9ad505824c95")
(hash "1l09jzji0c70xh8pv2fn0cqbrayhnfgf4bqps3s846b3dw2hzg2v")]
(package
(inherit sbcl-wayflan)
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.sr.ht/~shunter/wayflan")
(commit commit)))
(sha256 (base32 hash)))))))
(define protocols/phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* (find-files "protocols")
(("\"(.*?.xml)\"" all m)
(let* ((rel-path (string-append "/share/wayland-protocols/" m))
(abs-path (search-input-file inputs rel-path)))
(string-append "#P\"" abs-path "\""))))))))
(define-public hatis/protocols
(package
(name "hatis-protocols")
(home-page "https://github.com/shegeley/hatis")
(description "Wayflan-Spiced Wayland Protocols Needed For Hatis")
(synopsis "")
(license license:gpl3+)
(source %protocols)
(build-system asdf-build-system/sbcl)
(arguments
(list
#:tests? #f ;; looks for hatis/protocols/test
#:phases protocols/phases
#:asd-systems ''("protocols")))
(version "0.0.1")
(native-inputs (list sbcl-wayflan/latest wlroots* wayland-protocols))))
(define-public hatis
(package
(name "hatis")
(home-page "https://github.com/shegeley/hatis")
(description "This is a very early-stage project (alpha-version) + a set of experiments of building HAckable Text Input System (HATIS)")
(synopsis "")
(license license:gpl3+)
(source %source)
(build-system asdf-build-system/sbcl)
(arguments
(list
#:tests? #f ;; looks for hatis/test
#:asd-systems ''("hatis")))
(version "0.0.1-alpha")
(inputs (list sbcl-alexandria))
(native-inputs (list sbcl-wayflan/latest hatis/protocols))))
hatis