123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324 |
- ;;; GNU Guix --- Functional package management for GNU
- ;;; Copyright © 2015 Claes Wallin <claes.wallin@greatsinodevelopment.com>
- ;;; Copyright © 2016 Eric Le Bihan <eric.le.bihan.dev@free.fr>
- ;;; Copyright © 2017 Z. Ren <zren@dlut.edu.cn>
- ;;;
- ;;; This file is part of GNU Guix.
- ;;;
- ;;; GNU Guix is free software; you can redistribute it and/or modify it
- ;;; under the terms of the GNU General Public License as published by
- ;;; the Free Software Foundation; either version 3 of the License, or (at
- ;;; your option) any later version.
- ;;;
- ;;; GNU Guix is distributed in the hope that it will be useful, but
- ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
- ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- ;;; GNU General Public License for more details.
- ;;;
- ;;; You should have received a copy of the GNU General Public License
- ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
- (define-module (gnu packages skarnet)
- #:use-module (gnu packages)
- #:use-module (guix licenses)
- #:use-module (guix packages)
- #:use-module (guix download)
- #:use-module (guix build-system gnu))
- (define-public skalibs
- (package
- (name "skalibs")
- (version "2.3.10.0")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "http://skarnet.org/software/skalibs/skalibs-"
- version ".tar.gz"))
- (sha256
- (base32
- "0i7af224kl1crxgml09wx0x6q8ab79vnyrllfwv2lnq585wi9mg4"))))
- (build-system gnu-build-system)
- (arguments
- '(#:configure-flags '("--enable-force-devr") ; do not analyze /dev/random
- #:tests? #f ; no tests exist
- #:phases (modify-phases %standard-phases
- (add-after 'unpack 'reproducible
- (lambda _
- ;; Sort source files deterministically so that the *.a
- ;; and *.so files are reproducible.
- (substitute* "Makefile"
- (("\\$\\(ALL_SRCS:%.c=%.o\\)")
- "$(sort $(ALL_SRCS:%.c=%.o))"))
- #t)))))
- (home-page "http://skarnet.org/software/skalibs/")
- (synopsis "Platform abstraction libraries for skarnet.org software")
- (description
- "This package provides lightweight C libraries isolating the developer
- from portability issues, providing a unified systems API on all platforms,
- including primitive data types, cryptography, and POSIX concepts like sockets
- and file system operations. It is used by all skarnet.org software.")
- (license isc)))
- (define-public execline
- (package
- (name "execline")
- (version "2.1.5.0")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "http://skarnet.org/software/execline/execline-"
- version ".tar.gz"))
- (sha256
- (base32
- "0hhirdmyh3sj9qagkis7addmmdvyic717wkb6ym3n63kvfk0adla"))))
- (build-system gnu-build-system)
- (inputs `(("skalibs" ,skalibs)))
- (arguments
- '(#:configure-flags (list
- (string-append "--with-lib="
- (assoc-ref %build-inputs "skalibs")
- "/lib/skalibs")
- (string-append "--with-sysdeps="
- (assoc-ref %build-inputs "skalibs")
- "/lib/skalibs/sysdeps"))
- #:phases (modify-phases %standard-phases
- (add-after
- 'install 'post-install
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (bin (string-append out "/bin")))
- (wrap-program (string-append bin "/execlineb")
- `("PATH" ":" prefix (,bin)))))))
- #:tests? #f)) ; No tests exist.
- (home-page "http://skarnet.org/software/execline/")
- (license isc)
- (synopsis "Non-interactive shell-like language with minimal overhead")
- (description
- "Execline is a (non-interactive) scripting language, separated into a
- parser (execlineb) and a set of commands meant to execute one another in a
- chain-execution fashion, storing the whole script in the argument array.
- It features conditional loops, getopt-style option handling, file name
- globbing, redirection and other shell concepts, expressed as discrete commands
- rather than in special syntax, minimizing runtime footprint and
- complexity.")))
- (define-public s6
- (package
- (name "s6")
- (version "2.3.0.0")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "http://skarnet.org/software/s6/s6-"
- version ".tar.gz"))
- (sha256
- (base32
- "1rp8i228zxzbia1799pdav1kkzdk96fax9bcfyf2gilkdm3s1ja9"))))
- (build-system gnu-build-system)
- (inputs `(("skalibs" ,skalibs)
- ("execline" ,execline)))
- (arguments
- '(#:configure-flags (list
- (string-append "--with-lib="
- (assoc-ref %build-inputs "skalibs")
- "/lib/skalibs")
- (string-append "--with-lib="
- (assoc-ref %build-inputs "execline")
- "/lib/execline")
- (string-append "--with-sysdeps="
- (assoc-ref %build-inputs "skalibs")
- "/lib/skalibs/sysdeps"))
- #:tests? #f))
- (home-page "http://skarnet.org/software/s6")
- (license isc)
- (synopsis "Small suite of programs for process supervision")
- (description
- "s6 is a small suite of programs for UNIX, designed to allow process
- supervision (a.k.a. service supervision), in the line of daemontools and
- runit, as well as various operations on processes and daemons. It is meant to
- be a toolbox for low-level process and service administration, providing
- different sets of independent tools that can be used within or without the
- framework, and that can be assembled together to achieve powerful
- functionality with a very small amount of code.")))
- (define-public s6-dns
- (package
- (name "s6-dns")
- (version "2.0.1.0")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "http://skarnet.org/software/s6-dns/s6-dns-"
- version ".tar.gz"))
- (sha256
- (base32
- "1ji47iy8czx4jmi763dxd6lgjbnp4vqqgcijh46ym65l0a97z04w"))))
- (build-system gnu-build-system)
- (inputs `(("skalibs" ,skalibs)))
- (arguments
- '(#:configure-flags (list
- (string-append "--with-lib="
- (assoc-ref %build-inputs "skalibs")
- "/lib/skalibs")
- (string-append "--with-sysdeps="
- (assoc-ref %build-inputs "skalibs")
- "/lib/skalibs/sysdeps"))
- #:tests? #f))
- (home-page "http://skarnet.org/software/s6-dns")
- (license isc)
- (synopsis "Suite of DNS client programs")
- (description
- "s6-dns is a suite of DNS client programs and libraries for Unix systems,
- as an alternative to the BIND, djbdns or other DNS clients.")))
- (define-public s6-networking
- (package
- (name "s6-networking")
- (version "2.1.1.0")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "http://skarnet.org/software/s6-networking/s6-networking-"
- version ".tar.gz"))
- (sha256
- (base32
- "0r8gfv0l2k449nacjy919gqlgn25q7fjxaqra5r37k7kiikkgqfw"))))
- (build-system gnu-build-system)
- (inputs `(("skalibs" ,skalibs)
- ("execline" ,execline)
- ("s6" ,s6)
- ("s6-dns" ,s6-dns)))
- (arguments
- '(#:configure-flags (list
- (string-append "--with-lib="
- (assoc-ref %build-inputs "skalibs")
- "/lib/skalibs")
- (string-append "--with-lib="
- (assoc-ref %build-inputs "execline")
- "/lib/execline")
- (string-append "--with-lib="
- (assoc-ref %build-inputs "s6")
- "/lib/s6")
- (string-append "--with-lib="
- (assoc-ref %build-inputs "s6-dns")
- "/lib/s6-dns")
- (string-append "--with-sysdeps="
- (assoc-ref %build-inputs "skalibs")
- "/lib/skalibs/sysdeps"))
- #:tests? #f))
- (home-page "http://skarnet.org/software/s6-networking")
- (license isc)
- (synopsis "Suite of network utilities for Unix systems")
- (description
- "s6-networking is a suite of small networking utilities for Unix systems.
- It includes command-line client and server management, TCP access control,
- privilege escalation across UNIX domain sockets, IDENT protocol management and
- clock synchronization.")))
- (define-public s6-rc
- (package
- (name "s6-rc")
- (version "0.0.3.0")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "http://skarnet.org/software/s6-rc/s6-rc-"
- version ".tar.gz"))
- (sha256
- (base32
- "0bl94lbaphbpaaj4wbb86xqgp5bcgrf3m7p80mimw1qsjrvlxfay"))))
- (build-system gnu-build-system)
- (inputs `(("skalibs" ,skalibs)
- ("execline" ,execline)
- ("s6" ,s6)))
- (arguments
- '(#:configure-flags (list
- (string-append "--with-lib="
- (assoc-ref %build-inputs "skalibs")
- "/lib/skalibs")
- (string-append "--with-lib="
- (assoc-ref %build-inputs "execline")
- "/lib/execline")
- (string-append "--with-lib="
- (assoc-ref %build-inputs "s6")
- "/lib/s6")
- (string-append "--with-sysdeps="
- (assoc-ref %build-inputs "skalibs")
- "/lib/skalibs/sysdeps"))
- #:tests? #f))
- (home-page "http://skarnet.org/software/s6-rc")
- (license isc)
- (synopsis "Service manager for s6-based systems")
- (description
- "s6-rc is a service manager for s6-based systems, i.e. a suite of
- programs that can start and stop services, both long-running daemons and
- one-time initialization scripts, in the proper order according to a dependency
- tree. It ensures that long-running daemons are supervised by the s6
- infrastructure, and that one-time scripts are also run in a controlled
- environment.")))
- (define-public s6-portable-utils
- (package
- (name "s6-portable-utils")
- (version "2.0.6.0")
- (source
- (origin
- (method url-fetch)
- (uri (string-append
- "http://skarnet.org/software/s6-portable-utils/s6-portable-utils-"
- version ".tar.gz"))
- (sha256
- (base32
- "0jwxj0ma4zd1h6i3i98nsp0miidr54phap7dqwf6c8vafq9psfr3"))))
- (build-system gnu-build-system)
- (inputs `(("skalibs" ,skalibs)))
- (arguments
- '(#:configure-flags (list
- (string-append "--with-lib="
- (assoc-ref %build-inputs "skalibs")
- "/lib/skalibs")
- (string-append "--with-sysdeps="
- (assoc-ref %build-inputs "skalibs")
- "/lib/skalibs/sysdeps"))
- #:tests? #f))
- (home-page "http://skarnet.org/software/s6-portable-utils")
- (license isc)
- (synopsis "Tiny command-line Unix utilities")
- (description
- "s6-portable-utils is a set of tiny general Unix utilities, often
- performing well-known tasks such as @command{cut} and @command{grep}, but
- optimized for simplicity and small size. They were designed for embedded
- systems and other constrained environments, but they work everywhere.")))
- (define-public s6-linux-utils
- (package
- (name "s6-linux-utils")
- (version "2.1.0.0")
- (source
- (origin
- (method url-fetch)
- (uri (string-append
- "http://skarnet.org/software/s6-linux-utils/s6-linux-utils-"
- version ".tar.gz"))
- (sha256
- (base32
- "1bby751blynb7p8wd3npjm71lf10ysmfvqrd3dqrhhajpa2bl8rm"))))
- (build-system gnu-build-system)
- (inputs `(("skalibs" ,skalibs)))
- (arguments
- '(#:configure-flags (list
- (string-append "--with-lib="
- (assoc-ref %build-inputs "skalibs")
- "/lib/skalibs")
- (string-append "--with-sysdeps="
- (assoc-ref %build-inputs "skalibs")
- "/lib/skalibs/sysdeps"))
- #:tests? #f))
- (home-page "http://skarnet.org/software/s6-linux-utils")
- (license isc)
- (synopsis "Set of minimalistic Linux-specific system utilities")
- (description
- "s6-linux-utils is a set of minimalistic Linux-specific system utilities,
- such as @command{mount}, @command{umount}, and @command{chroot} commands,
- Linux uevent listeners, a @command{devd} device hotplug daemon, and more.")))
|