gnu: linux-libre@4.9: Update to 4.9.208.
[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>
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
56from portability issues, providing a unified systems API on all platforms,
57including primitive data types, cryptography, and POSIX concepts like sockets
58and 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
96parser (execlineb) and a set of commands meant to execute one another in a
97chain-execution fashion, storing the whole script in the argument array.
98It features conditional loops, getopt-style option handling, file name
99globbing, redirection and other shell concepts, expressed as discrete commands
100rather than in special syntax, minimizing runtime footprint and
101complexity.")))
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
134supervision (a.k.a. service supervision), in the line of daemontools and
135runit, as well as various operations on processes and daemons. It is meant to
136be a toolbox for low-level process and service administration, providing
137different sets of independent tools that can be used within or without the
138framework, and that can be assembled together to achieve powerful
139functionality 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,
168as 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.
209It includes command-line client and server management, TCP access control,
210privilege escalation across UNIX domain sockets, IDENT protocol management and
211clock 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
248programs that can start and stop services, both long-running daemons and
249one-time initialization scripts, in the proper order according to a dependency
250tree. It ensures that long-running daemons are supervised by the s6
251infrastructure, and that one-time scripts are also run in a controlled
252environment.")))
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
282performing well-known tasks such as @command{cut} and @command{grep}, but
283optimized for simplicity and small size. They were designed for embedded
284systems 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
316system, including an @command{/sbin/init} binary, on a Linux kernel.
317
318It is meant to automate creation of scripts revolving around the use of other
319skarnet.org tools, especially s6, in order to provide a complete booting
320environment with integrated supervision and logging without having to hand-craft
6a7c1c43 321all 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,
351such as @command{mount}, @command{umount}, and @command{chroot} commands,
352Linux uevent listeners, a @command{devd} device hotplug daemon, and more.")))