1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2015 Claes Wallin <claes.wallin@greatsinodevelopment.com>
3 ;;; Copyright © 2016 Eric Le Bihan <eric.le.bihan.dev@free.fr>
5 ;;; This file is part of GNU Guix.
7 ;;; GNU Guix is free software; you can redistribute it and/or modify it
8 ;;; under the terms of the GNU General Public License as published by
9 ;;; the Free Software Foundation; either version 3 of the License, or (at
10 ;;; your option) any later version.
12 ;;; GNU Guix is distributed in the hope that it will be useful, but
13 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
14 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 ;;; GNU General Public License for more details.
17 ;;; You should have received a copy of the GNU General Public License
18 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
20 (define-module (gnu packages skarnet)
21 #:use-module (gnu packages)
22 #:use-module (guix licenses)
23 #:use-module (guix packages)
24 #:use-module (guix download)
25 #:use-module (guix build-system gnu))
27 (define-public skalibs
34 (uri (string-append "http://skarnet.org/software/skalibs/skalibs-"
38 "0i7af224kl1crxgml09wx0x6q8ab79vnyrllfwv2lnq585wi9mg4"))))
39 (build-system gnu-build-system)
41 '(#:configure-flags '("--enable-force-devr") ; do not analyze /dev/random
42 #:tests? #f)) ; no tests exist
43 (home-page "http://skarnet.org/software/skalibs/")
44 (synopsis "Platform abstraction libraries for skarnet.org software")
46 "This package provides lightweight C libraries isolating the developer
47 from portability issues, providing a unified systems API on all platforms,
48 including primitive data types, cryptography, and POSIX concepts like sockets
49 and file system operations. It is used by all skarnet.org software.")
52 (define-public execline
59 (uri (string-append "http://skarnet.org/software/execline/execline-"
63 "0hhirdmyh3sj9qagkis7addmmdvyic717wkb6ym3n63kvfk0adla"))))
64 (build-system gnu-build-system)
65 (inputs `(("skalibs" ,skalibs)))
67 '(#:configure-flags (list
68 (string-append "--with-lib="
69 (assoc-ref %build-inputs "skalibs")
71 (string-append "--with-sysdeps="
72 (assoc-ref %build-inputs "skalibs")
73 "/lib/skalibs/sysdeps"))
74 #:phases (modify-phases %standard-phases
76 'install 'post-install
77 (lambda* (#:key inputs outputs #:allow-other-keys)
78 (let* ((out (assoc-ref outputs "out"))
79 (bin (string-append out "/bin")))
80 (wrap-program (string-append bin "/execlineb")
81 `("PATH" ":" prefix (,bin)))))))
82 #:tests? #f)) ; No tests exist.
83 (home-page "http://skarnet.org/software/execline/")
85 (synopsis "Non-interactive shell-like language with minimal overhead")
87 "Execline is a (non-interactive) scripting language, separated into a
88 parser (execlineb) and a set of commands meant to execute one another in a
89 chain-execution fashion, storing the whole script in the argument array.
90 It features conditional loops, getopt-style option handling, file name
91 globbing, redirection and other shell concepts, expressed as discrete commands
92 rather than in special syntax, minimizing runtime footprint and
102 (uri (string-append "http://skarnet.org/software/s6/s6-"
106 "1rp8i228zxzbia1799pdav1kkzdk96fax9bcfyf2gilkdm3s1ja9"))))
107 (build-system gnu-build-system)
108 (inputs `(("skalibs" ,skalibs)
109 ("execline" ,execline)))
111 '(#:configure-flags (list
112 (string-append "--with-lib="
113 (assoc-ref %build-inputs "skalibs")
115 (string-append "--with-lib="
116 (assoc-ref %build-inputs "execline")
118 (string-append "--with-sysdeps="
119 (assoc-ref %build-inputs "skalibs")
120 "/lib/skalibs/sysdeps"))
122 (home-page "http://skarnet.org/software/s6")
124 (synopsis "Small suite of programs for process supervision")
126 "s6 is a small suite of programs for UNIX, designed to allow process
127 supervision (a.k.a. service supervision), in the line of daemontools and
128 runit, as well as various operations on processes and daemons. It is meant to
129 be a toolbox for low-level process and service administration, providing
130 different sets of independent tools that can be used within or without the
131 framework, and that can be assembled together to achieve powerful
132 functionality with a very small amount of code.")))
134 (define-public s6-dns
141 (uri (string-append "http://skarnet.org/software/s6-dns/s6-dns-"
145 "1ji47iy8czx4jmi763dxd6lgjbnp4vqqgcijh46ym65l0a97z04w"))))
146 (build-system gnu-build-system)
147 (inputs `(("skalibs" ,skalibs)))
149 '(#:configure-flags (list
150 (string-append "--with-lib="
151 (assoc-ref %build-inputs "skalibs")
153 (string-append "--with-sysdeps="
154 (assoc-ref %build-inputs "skalibs")
155 "/lib/skalibs/sysdeps"))
157 (home-page "http://skarnet.org/software/s6-dns")
159 (synopsis "Suite of DNS client programs")
161 "s6-dns is a suite of DNS client programs and libraries for Unix systems,
162 as an alternative to the BIND, djbdns or other DNS clients.")))
164 (define-public s6-networking
166 (name "s6-networking")
171 (uri (string-append "http://skarnet.org/software/s6-networking/s6-networking-"
175 "0r8gfv0l2k449nacjy919gqlgn25q7fjxaqra5r37k7kiikkgqfw"))))
176 (build-system gnu-build-system)
177 (inputs `(("skalibs" ,skalibs)
178 ("execline" ,execline)
182 '(#:configure-flags (list
183 (string-append "--with-lib="
184 (assoc-ref %build-inputs "skalibs")
186 (string-append "--with-lib="
187 (assoc-ref %build-inputs "execline")
189 (string-append "--with-lib="
190 (assoc-ref %build-inputs "s6")
192 (string-append "--with-lib="
193 (assoc-ref %build-inputs "s6-dns")
195 (string-append "--with-sysdeps="
196 (assoc-ref %build-inputs "skalibs")
197 "/lib/skalibs/sysdeps"))
199 (home-page "http://skarnet.org/software/s6-networking")
201 (synopsis "Suite of network utilities for Unix systems")
203 "s6-networking is a suite of small networking utilities for Unix systems.
204 It includes command-line client and server management, TCP access control,
205 privilege escalation across UNIX domain sockets, IDENT protocol management and
206 clock synchronization.")))
215 (uri (string-append "http://skarnet.org/software/s6-rc/s6-rc-"
219 "0bl94lbaphbpaaj4wbb86xqgp5bcgrf3m7p80mimw1qsjrvlxfay"))))
220 (build-system gnu-build-system)
221 (inputs `(("skalibs" ,skalibs)
222 ("execline" ,execline)
225 '(#:configure-flags (list
226 (string-append "--with-lib="
227 (assoc-ref %build-inputs "skalibs")
229 (string-append "--with-lib="
230 (assoc-ref %build-inputs "execline")
232 (string-append "--with-lib="
233 (assoc-ref %build-inputs "s6")
235 (string-append "--with-sysdeps="
236 (assoc-ref %build-inputs "skalibs")
237 "/lib/skalibs/sysdeps"))
239 (home-page "http://skarnet.org/software/s6-rc")
241 (synopsis "Service manager for s6-based systems")
243 "s6-rc is a service manager for s6-based systems, i.e. a suite of
244 programs that can start and stop services, both long-running daemons and
245 one-time initialization scripts, in the proper order according to a dependency
246 tree. It ensures that long-running daemons are supervised by the s6
247 infrastructure, and that one-time scripts are also run in a controlled
250 (define-public s6-portable-utils
252 (name "s6-portable-utils")
258 "http://skarnet.org/software/s6-portable-utils/s6-portable-utils-"
262 "0jwxj0ma4zd1h6i3i98nsp0miidr54phap7dqwf6c8vafq9psfr3"))))
263 (build-system gnu-build-system)
264 (inputs `(("skalibs" ,skalibs)))
266 '(#:configure-flags (list
267 (string-append "--with-lib="
268 (assoc-ref %build-inputs "skalibs")
270 (string-append "--with-sysdeps="
271 (assoc-ref %build-inputs "skalibs")
272 "/lib/skalibs/sysdeps"))
274 (home-page "http://skarnet.org/software/s6-portable-utils")
276 (synopsis "Tiny command-line Unix utilities")
278 "s6-portable-utils is a set of tiny general Unix utilities, often
279 performing well-known tasks such as @command{cut} and @command{grep}, but
280 optimized for simplicity and small size. They were designed for embedded
281 systems and other constrained environments, but they work everywhere.")))
283 (define-public s6-linux-utils
285 (name "s6-linux-utils")
291 "http://skarnet.org/software/s6-linux-utils/s6-linux-utils-"
295 "1bby751blynb7p8wd3npjm71lf10ysmfvqrd3dqrhhajpa2bl8rm"))))
296 (build-system gnu-build-system)
297 (inputs `(("skalibs" ,skalibs)))
299 '(#:configure-flags (list
300 (string-append "--with-lib="
301 (assoc-ref %build-inputs "skalibs")
303 (string-append "--with-sysdeps="
304 (assoc-ref %build-inputs "skalibs")
305 "/lib/skalibs/sysdeps"))
307 (home-page "http://skarnet.org/software/s6-linux-utils")
309 (synopsis "Set of minimalistic Linux-specific system utilities")
311 "s6-linux-utils is a set of minimalistic Linux-specific system utilities,
312 such as @command{mount}, @command{umount}, and @command{chroot} commands,
313 Linux uevent listeners, a @command{devd} device hotplug daemon, and more.")))