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