forked from noctalia-dev/noctalia
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathnoctalia.scm
More file actions
139 lines (134 loc) · 4.28 KB
/
Copy pathnoctalia.scm
File metadata and controls
139 lines (134 loc) · 4.28 KB
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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
;;; Ping @rakino in case of dependency issue.
;;;
;;; This Git repository is available as a Guix channel
;;; https://guix.gnu.org/manual/devel/en/html_node/Channels.html
;;;
;;; --8<---------------cut here---------------start------------->8---
;;; (channel
;;; (name 'noctalia)
;;; (url "https://github.com/noctalia-dev/noctalia")
;;; (branch "main"))
;;; --8<---------------cut here---------------end--------------->8---
;;;
;;; It provides this (noctalia) module with the noctalia-git package.
(define-module (noctalia)
;; Utilities
#:use-module (guix gexp)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix utils)
;; Guix origin methods
#:use-module (guix git-download)
;; Guix build systems
#:use-module (guix build-system meson)
;; Guix packages
#:use-module (gnu packages calendar)
#:use-module (gnu packages cpp)
#:use-module (gnu packages crypto)
#:use-module (gnu packages curl)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gtk)
#:use-module (gnu packages image)
#:use-module (gnu packages jemalloc)
#:use-module (gnu packages linux)
#:use-module (gnu packages markup)
#:use-module (gnu packages maths)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages polkit)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages stb)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xml))
(define wayland-protocols-1.48
(package
(inherit wayland-protocols)
(name "wayland-protocols")
(version "1.48")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.freedesktop.org/wayland/wayland-protocols")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0zqnn7bwqzifchjhclrrcqnp39cpd3nnf6nbd9bav2hwhcx92mwy"))))))
(define source-checkout
(local-file "." "noctalia-checkout"
#:recursive? #t
#:select?
(or (git-predicate (current-source-directory))
(const #t))))
(define-public noctalia-git
(package
(name "noctalia-git")
(version "latest")
(source source-checkout)
(build-system meson-build-system)
(arguments
(list #:build-type "release"
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'prepare-for-build
(lambda _
;; /bin/sh doesn't exist in the build environment.
(substitute* "tests/process_test.cpp"
(("/bin/(sh)" _ cmd)
(which cmd)))
;; Adjust import paths for STB headers packaged in Guix.
(substitute* (find-files "." "\\.cpp$|^meson\\.build$")
(("\\bstb/stb_") "stb_")))))))
(native-inputs
(list pkg-config))
(inputs
(list cairo
curl
fontconfig
freetype
glib
gmp
harfbuzz
jemalloc
mpfr
(librsvg-for-system)
libjxl
libical
libqalculate
libsecret
libsndfile
libsodium
libwebp
libxkbcommon
libxml2
linux-pam
md4c
mesa
nlohmann-json
pango
pipewire
polkit
sdbus-c++
stb-image-resize2
stb-image-write
tomlplusplus
wayland
wayland-protocols-1.48
wireplumber))
(home-page "https://noctalia.dev/")
(synopsis "Wayland shell and bar")
(description
"Noctalia is a lightweight Wayland shell and bar built directly on
Wayland and OpenGL ES, with no Qt or GTK dependency.")
(license license:expat)))
;; Also return the package at the end, so that this file can be used by
;; commands that evaluate it. For example:
;;
;; guix build --file=noctalia.scm
;; guix shell --file=noctalia.scm
;; guix package --install-from-file=noctalia.scm
noctalia-git