Commit | Line | Data |
---|---|---|
4e2bd414 CW |
1 | ;;; GNU Guix --- Functional package management for GNU |
2 | ;;; Copyright © 2015 Claes Wallin <claes.wallin@greatsinodevelopment.com> | |
918cee46 | 3 | ;;; Copyright © 2016 Eric Le Bihan <eric.le.bihan.dev@free.fr> |
0e4d822e | 4 | ;;; Copyright © 2017 Z. Ren <zren@dlut.edu.cn> |
de8022ec | 5 | ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> |
4e2bd414 CW |
6 | ;;; |
7 | ;;; This file is part of GNU Guix. | |
8 | ;;; | |
9 | ;;; GNU Guix is free software; you can redistribute it and/or modify it | |
10 | ;;; under the terms of the GNU General Public License as published by | |
11 | ;;; the Free Software Foundation; either version 3 of the License, or (at | |
12 | ;;; your option) any later version. | |
13 | ;;; | |
14 | ;;; GNU Guix is distributed in the hope that it will be useful, but | |
15 | ;;; WITHOUT ANY WARRANTY; without even the implied warranty of | |
16 | ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
17 | ;;; GNU General Public License for more details. | |
18 | ;;; | |
19 | ;;; You should have received a copy of the GNU General Public License | |
20 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | |
21 | ||
22 | (define-module (gnu packages skarnet) | |
23 | #:use-module (gnu packages) | |
24 | #:use-module (guix licenses) | |
25 | #:use-module (guix packages) | |
26 | #:use-module (guix download) | |
27 | #:use-module (guix build-system gnu)) | |
28 | ||
29 | (define-public skalibs | |
30 | (package | |
31 | (name "skalibs") | |
8afab7ed | 32 | (version "2.8.1.0") |
4e2bd414 CW |
33 | (source |
34 | (origin | |
35 | (method url-fetch) | |
36 | (uri (string-append "http://skarnet.org/software/skalibs/skalibs-" | |
37 | version ".tar.gz")) | |
38 | (sha256 | |
8afab7ed | 39 | (base32 "1fk6n402ywn4kpy6ng7sfnnqcg0mp6wq2hrv8sv3kxd0nh3na723")))) |
4e2bd414 CW |
40 | (build-system gnu-build-system) |
41 | (arguments | |
c8e4b5d0 | 42 | '(#:tests? #f ; no tests exist |
0e4d822e R |
43 | #:phases (modify-phases %standard-phases |
44 | (add-after 'unpack 'reproducible | |
45 | (lambda _ | |
46 | ;; Sort source files deterministically so that the *.a | |
47 | ;; and *.so files are reproducible. | |
48 | (substitute* "Makefile" | |
73138fd1 R |
49 | (("\\$\\(wildcard src/lib\\*/\\*.c\\)") |
50 | "$(sort $(wildcard src/lib*/*.c))")) | |
0e4d822e | 51 | #t))))) |
d1e8408f | 52 | (home-page "https://skarnet.org/software/skalibs/") |
4e2bd414 CW |
53 | (synopsis "Platform abstraction libraries for skarnet.org software") |
54 | (description | |
55 | "This package provides lightweight C libraries isolating the developer | |
56 | from portability issues, providing a unified systems API on all platforms, | |
57 | including primitive data types, cryptography, and POSIX concepts like sockets | |
58 | and file system operations. It is used by all skarnet.org software.") | |
59 | (license isc))) | |
e662d644 CW |
60 | |
61 | (define-public execline | |
62 | (package | |
63 | (name "execline") | |
5c9bf737 | 64 | (version "2.5.1.0") |
e662d644 CW |
65 | (source |
66 | (origin | |
67 | (method url-fetch) | |
68 | (uri (string-append "http://skarnet.org/software/execline/execline-" | |
69 | version ".tar.gz")) | |
70 | (sha256 | |
5c9bf737 | 71 | (base32 "0xr6yb50wm6amj1wc7jmxyv7hvlx2ypbnww1vc288j275625d9xi")))) |
e662d644 CW |
72 | (build-system gnu-build-system) |
73 | (inputs `(("skalibs" ,skalibs))) | |
74 | (arguments | |
75 | '(#:configure-flags (list | |
76 | (string-append "--with-lib=" | |
77 | (assoc-ref %build-inputs "skalibs") | |
78 | "/lib/skalibs") | |
79 | (string-append "--with-sysdeps=" | |
80 | (assoc-ref %build-inputs "skalibs") | |
81 | "/lib/skalibs/sysdeps")) | |
82 | #:phases (modify-phases %standard-phases | |
83 | (add-after | |
84 | 'install 'post-install | |
85 | (lambda* (#:key inputs outputs #:allow-other-keys) | |
86 | (let* ((out (assoc-ref outputs "out")) | |
87 | (bin (string-append out "/bin"))) | |
88 | (wrap-program (string-append bin "/execlineb") | |
89 | `("PATH" ":" prefix (,bin))))))) | |
6b7fae5f | 90 | #:tests? #f)) ; no tests exist |
d1e8408f | 91 | (home-page "https://skarnet.org/software/execline/") |
e662d644 CW |
92 | (license isc) |
93 | (synopsis "Non-interactive shell-like language with minimal overhead") | |
94 | (description | |
95 | "Execline is a (non-interactive) scripting language, separated into a | |
96 | parser (execlineb) and a set of commands meant to execute one another in a | |
97 | chain-execution fashion, storing the whole script in the argument array. | |
98 | It features conditional loops, getopt-style option handling, file name | |
99 | globbing, redirection and other shell concepts, expressed as discrete commands | |
100 | rather than in special syntax, minimizing runtime footprint and | |
101 | complexity."))) | |
918cee46 ELB |
102 | |
103 | (define-public s6 | |
104 | (package | |
105 | (name "s6") | |
813bb1a1 | 106 | (version "2.8.0.1") |
918cee46 ELB |
107 | (source |
108 | (origin | |
109 | (method url-fetch) | |
110 | (uri (string-append "http://skarnet.org/software/s6/s6-" | |
111 | version ".tar.gz")) | |
112 | (sha256 | |
813bb1a1 | 113 | (base32 "1n1i3jm3kp9ii54cxj1sgh89m6nyna7vhy8714ma6py1frdqzq6v")))) |
918cee46 ELB |
114 | (build-system gnu-build-system) |
115 | (inputs `(("skalibs" ,skalibs) | |
116 | ("execline" ,execline))) | |
117 | (arguments | |
118 | '(#:configure-flags (list | |
119 | (string-append "--with-lib=" | |
120 | (assoc-ref %build-inputs "skalibs") | |
121 | "/lib/skalibs") | |
122 | (string-append "--with-lib=" | |
123 | (assoc-ref %build-inputs "execline") | |
124 | "/lib/execline") | |
125 | (string-append "--with-sysdeps=" | |
126 | (assoc-ref %build-inputs "skalibs") | |
127 | "/lib/skalibs/sysdeps")) | |
5dc4b940 | 128 | #:tests? #f)) ; no tests exist |
d1e8408f | 129 | (home-page "https://skarnet.org/software/s6") |
918cee46 ELB |
130 | (license isc) |
131 | (synopsis "Small suite of programs for process supervision") | |
132 | (description | |
133 | "s6 is a small suite of programs for UNIX, designed to allow process | |
134 | supervision (a.k.a. service supervision), in the line of daemontools and | |
135 | runit, as well as various operations on processes and daemons. It is meant to | |
136 | be a toolbox for low-level process and service administration, providing | |
137 | different sets of independent tools that can be used within or without the | |
138 | framework, and that can be assembled together to achieve powerful | |
139 | functionality with a very small amount of code."))) | |
140 | ||
798b776d ELB |
141 | (define-public s6-dns |
142 | (package | |
143 | (name "s6-dns") | |
ce3262e9 | 144 | (version "2.3.0.2") |
798b776d ELB |
145 | (source |
146 | (origin | |
147 | (method url-fetch) | |
148 | (uri (string-append "http://skarnet.org/software/s6-dns/s6-dns-" | |
149 | version ".tar.gz")) | |
150 | (sha256 | |
ce3262e9 | 151 | (base32 "1y9bhvx8bqsb2xq5lmlfnc1hw2b3jyqg11i9r4lj0n6vvaqwh1j8")))) |
798b776d ELB |
152 | (build-system gnu-build-system) |
153 | (inputs `(("skalibs" ,skalibs))) | |
154 | (arguments | |
155 | '(#:configure-flags (list | |
156 | (string-append "--with-lib=" | |
157 | (assoc-ref %build-inputs "skalibs") | |
158 | "/lib/skalibs") | |
159 | (string-append "--with-sysdeps=" | |
160 | (assoc-ref %build-inputs "skalibs") | |
161 | "/lib/skalibs/sysdeps")) | |
0241dc18 | 162 | #:tests? #f)) ; no tests exist |
d1e8408f | 163 | (home-page "https://skarnet.org/software/s6-dns") |
798b776d ELB |
164 | (license isc) |
165 | (synopsis "Suite of DNS client programs") | |
166 | (description | |
167 | "s6-dns is a suite of DNS client programs and libraries for Unix systems, | |
168 | as an alternative to the BIND, djbdns or other DNS clients."))) | |
169 | ||
7c6bdeec ELB |
170 | (define-public s6-networking |
171 | (package | |
172 | (name "s6-networking") | |
8722fd43 | 173 | (version "2.3.0.4") |
7c6bdeec ELB |
174 | (source |
175 | (origin | |
176 | (method url-fetch) | |
177 | (uri (string-append "http://skarnet.org/software/s6-networking/s6-networking-" | |
178 | version ".tar.gz")) | |
179 | (sha256 | |
8722fd43 | 180 | (base32 "00kqp0mcp8c7f0z5s4399rd1haxasxkqgd6ds0j0607hvi56mqqa")))) |
7c6bdeec ELB |
181 | (build-system gnu-build-system) |
182 | (inputs `(("skalibs" ,skalibs) | |
183 | ("execline" ,execline) | |
184 | ("s6" ,s6) | |
185 | ("s6-dns" ,s6-dns))) | |
186 | (arguments | |
187 | '(#:configure-flags (list | |
188 | (string-append "--with-lib=" | |
189 | (assoc-ref %build-inputs "skalibs") | |
190 | "/lib/skalibs") | |
191 | (string-append "--with-lib=" | |
192 | (assoc-ref %build-inputs "execline") | |
193 | "/lib/execline") | |
194 | (string-append "--with-lib=" | |
195 | (assoc-ref %build-inputs "s6") | |
196 | "/lib/s6") | |
197 | (string-append "--with-lib=" | |
198 | (assoc-ref %build-inputs "s6-dns") | |
199 | "/lib/s6-dns") | |
200 | (string-append "--with-sysdeps=" | |
201 | (assoc-ref %build-inputs "skalibs") | |
202 | "/lib/skalibs/sysdeps")) | |
33cd88ac | 203 | #:tests? #f)) ; no tests exist |
d1e8408f | 204 | (home-page "https://skarnet.org/software/s6-networking") |
7c6bdeec ELB |
205 | (license isc) |
206 | (synopsis "Suite of network utilities for Unix systems") | |
207 | (description | |
208 | "s6-networking is a suite of small networking utilities for Unix systems. | |
209 | It includes command-line client and server management, TCP access control, | |
210 | privilege escalation across UNIX domain sockets, IDENT protocol management and | |
211 | clock synchronization."))) | |
35977a88 ELB |
212 | |
213 | (define-public s6-rc | |
214 | (package | |
215 | (name "s6-rc") | |
0953b09a | 216 | (version "0.5.0.0") |
35977a88 ELB |
217 | (source |
218 | (origin | |
219 | (method url-fetch) | |
220 | (uri (string-append "http://skarnet.org/software/s6-rc/s6-rc-" | |
221 | version ".tar.gz")) | |
222 | (sha256 | |
0953b09a | 223 | (base32 "0p97p49i8m44lfiffycgn7xi08yzxkrs5dyb03svdhd6clwh6zyb")))) |
35977a88 ELB |
224 | (build-system gnu-build-system) |
225 | (inputs `(("skalibs" ,skalibs) | |
226 | ("execline" ,execline) | |
227 | ("s6" ,s6))) | |
228 | (arguments | |
229 | '(#:configure-flags (list | |
230 | (string-append "--with-lib=" | |
231 | (assoc-ref %build-inputs "skalibs") | |
232 | "/lib/skalibs") | |
233 | (string-append "--with-lib=" | |
234 | (assoc-ref %build-inputs "execline") | |
235 | "/lib/execline") | |
236 | (string-append "--with-lib=" | |
237 | (assoc-ref %build-inputs "s6") | |
238 | "/lib/s6") | |
239 | (string-append "--with-sysdeps=" | |
240 | (assoc-ref %build-inputs "skalibs") | |
241 | "/lib/skalibs/sysdeps")) | |
510a83fb | 242 | #:tests? #f)) ; no tests exist |
d1e8408f | 243 | (home-page "https://skarnet.org/software/s6-rc") |
35977a88 ELB |
244 | (license isc) |
245 | (synopsis "Service manager for s6-based systems") | |
246 | (description | |
247 | "s6-rc is a service manager for s6-based systems, i.e. a suite of | |
248 | programs that can start and stop services, both long-running daemons and | |
249 | one-time initialization scripts, in the proper order according to a dependency | |
250 | tree. It ensures that long-running daemons are supervised by the s6 | |
251 | infrastructure, and that one-time scripts are also run in a controlled | |
252 | environment."))) | |
915db95f ELB |
253 | |
254 | (define-public s6-portable-utils | |
255 | (package | |
256 | (name "s6-portable-utils") | |
b673d2d7 | 257 | (version "2.2.1.3") |
915db95f ELB |
258 | (source |
259 | (origin | |
260 | (method url-fetch) | |
261 | (uri (string-append | |
262 | "http://skarnet.org/software/s6-portable-utils/s6-portable-utils-" | |
263 | version ".tar.gz")) | |
264 | (sha256 | |
b673d2d7 | 265 | (base32 "1ibjns1slyg1p7jl9irzlrjz8b01f506iw87g3s7db5arhf17vv2")))) |
915db95f ELB |
266 | (build-system gnu-build-system) |
267 | (inputs `(("skalibs" ,skalibs))) | |
268 | (arguments | |
269 | '(#:configure-flags (list | |
270 | (string-append "--with-lib=" | |
271 | (assoc-ref %build-inputs "skalibs") | |
272 | "/lib/skalibs") | |
273 | (string-append "--with-sysdeps=" | |
274 | (assoc-ref %build-inputs "skalibs") | |
275 | "/lib/skalibs/sysdeps")) | |
5350d0cd | 276 | #:tests? #f)) ; no tests exist |
d1e8408f | 277 | (home-page "https://skarnet.org/software/s6-portable-utils") |
915db95f ELB |
278 | (license isc) |
279 | (synopsis "Tiny command-line Unix utilities") | |
280 | (description | |
281 | "s6-portable-utils is a set of tiny general Unix utilities, often | |
282 | performing well-known tasks such as @command{cut} and @command{grep}, but | |
283 | optimized for simplicity and small size. They were designed for embedded | |
284 | systems and other constrained environments, but they work everywhere."))) | |
cf04df07 | 285 | |
c14dcc0c TGR |
286 | (define-public s6-linux-init |
287 | (package | |
288 | (name "s6-linux-init") | |
8dc458bb | 289 | (version "0.4.0.1") |
c14dcc0c TGR |
290 | (source |
291 | (origin | |
292 | (method url-fetch) | |
293 | (uri (string-append | |
294 | "http://skarnet.org/software/s6-linux-init/s6-linux-init-" | |
295 | version ".tar.gz")) | |
296 | (sha256 | |
8dc458bb | 297 | (base32 "0i79b0r3amhsf1xqr9k9v9bxmm4imlakfpsybviwhlj8dlawldxm")))) |
c14dcc0c TGR |
298 | (build-system gnu-build-system) |
299 | (inputs | |
300 | `(("skalibs" ,skalibs))) | |
301 | (arguments | |
302 | '(#:configure-flags | |
303 | (list | |
304 | (string-append "--with-lib=" | |
305 | (assoc-ref %build-inputs "skalibs") | |
306 | "/lib/skalibs") | |
307 | (string-append "--with-sysdeps=" | |
308 | (assoc-ref %build-inputs "skalibs") | |
309 | "/lib/skalibs/sysdeps")) | |
c43f5b80 | 310 | #:tests? #f)) ; no tests exist |
c14dcc0c TGR |
311 | (home-page "https://skarnet.org/software/s6-linux-init") |
312 | (license isc) | |
313 | (synopsis "Minimalistic tools to create an s6-based init system on Linux") | |
314 | (description | |
6a7c1c43 | 315 | "s6-linux-init is a set of minimalistic tools to create a s6-based init |
c14dcc0c TGR |
316 | system, including an @command{/sbin/init} binary, on a Linux kernel. |
317 | ||
318 | It is meant to automate creation of scripts revolving around the use of other | |
319 | skarnet.org tools, especially s6, in order to provide a complete booting | |
320 | environment with integrated supervision and logging without having to hand-craft | |
6a7c1c43 | 321 | all the details."))) |
c14dcc0c | 322 | |
cf04df07 ELB |
323 | (define-public s6-linux-utils |
324 | (package | |
325 | (name "s6-linux-utils") | |
e445bd16 | 326 | (version "2.5.0.1") |
cf04df07 ELB |
327 | (source |
328 | (origin | |
329 | (method url-fetch) | |
330 | (uri (string-append | |
331 | "http://skarnet.org/software/s6-linux-utils/s6-linux-utils-" | |
332 | version ".tar.gz")) | |
333 | (sha256 | |
e445bd16 | 334 | (base32 "0bpcaah3rbz4i013bkarr7wxmfvisjyxg0z78xg5zfbgajpgjxx1")))) |
cf04df07 ELB |
335 | (build-system gnu-build-system) |
336 | (inputs `(("skalibs" ,skalibs))) | |
337 | (arguments | |
338 | '(#:configure-flags (list | |
339 | (string-append "--with-lib=" | |
340 | (assoc-ref %build-inputs "skalibs") | |
341 | "/lib/skalibs") | |
342 | (string-append "--with-sysdeps=" | |
343 | (assoc-ref %build-inputs "skalibs") | |
344 | "/lib/skalibs/sysdeps")) | |
ed6c3dad | 345 | #:tests? #f)) ; no tests exist |
d1e8408f | 346 | (home-page "https://skarnet.org/software/s6-linux-utils") |
cf04df07 ELB |
347 | (license isc) |
348 | (synopsis "Set of minimalistic Linux-specific system utilities") | |
349 | (description | |
350 | "s6-linux-utils is a set of minimalistic Linux-specific system utilities, | |
351 | such as @command{mount}, @command{umount}, and @command{chroot} commands, | |
352 | Linux uevent listeners, a @command{devd} device hotplug daemon, and more."))) |