;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
;;; Copyright © 2014, 2015, 2016, 2018, 2019 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2014, 2015, 2016, 2017, 2018 Eric Bavier <bavier@member.fsf.org>
+;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2020 Eric Bavier <bavier@posteo.net>
;;; Copyright © 2015, 2016 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2015 Alex Sassmannshausen <alex.sassmannshausen@gmail.com>
;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Peter Feigl <peter.feigl@nexoid.at>
;;; Copyright © 2016 John J. Foerch <jjfoerch@earthlink.net>
-;;; Copyright © 2016, 2017 ng0 <ng0@n0.is>
-;;; Copyright © 2016, 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
+;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
;;; Copyright © 2017 Ben Sturmfels <ben@sturm.com.au>
;;; Copyright © 2017 Ethan R. Jones <doubleplusgood23@gmail.com>
;;; Copyright © 2017 Christopher Allan Webber <cwebber@dustycloud.org>
-;;; Copyright © 2017, 2018 Marius Bakke <mbakke@fastmail.com>
-;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2017, 2018, 2020 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2018, 2019 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
;;; Copyright © 2018 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
-;;; Copyright © 2019 Brett Gilio <brettg@posteo.net>
-;;; Copyright © 2019 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
-;;; Copyright © 2019 Jakob L. Kreuze <zerodaysfordays@sdf.lonestar.org>
+;;; Copyright © 2019 Brett Gilio <brettg@gnu.org>
+;;; Copyright © 2019,2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
+;;; Copyright © 2019 Jakob L. Kreuze <zerodaysfordays@sdf.org>
;;; Copyright © 2019 Hartmut Goebel <h.goebel@crazy-compilers.com>
+;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
+;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
+;;; Copyright © 2019, 2020 Mathieu Othacehe <m.othacehe@gmail.com>
+;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
+;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
+;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
+;;; Copyright © 2020 Morgan Smith <Morgan.J.Smith@outlook.com>
;;;
;;; This file is part of GNU Guix.
;;;
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages admin)
- #:use-module ((guix licenses) #:prefix license:)
- #:use-module (guix packages)
- #:use-module (guix utils)
- #:use-module (guix download)
- #:use-module (guix git-download)
#:use-module (guix build-system cmake)
#:use-module (guix build-system emacs)
+ #:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
#:use-module (guix build-system perl)
#:use-module (guix build-system python)
+ #:use-module (guix build-system ruby)
#:use-module (guix build-system trivial)
+ #:use-module (guix download)
+ #:use-module (guix git-download)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix packages)
+ #:use-module (guix utils)
#:use-module (gnu packages)
#:use-module (gnu packages algebra)
+ #:use-module (gnu packages autogen)
+ #:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
+ #:use-module (gnu packages bison)
+ #:use-module (gnu packages boost)
+ #:use-module (gnu packages c)
#:use-module (gnu packages check)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages cross-base)
#:use-module (gnu packages crypto)
+ #:use-module (gnu packages cryptsetup)
#:use-module (gnu packages cyrus-sasl)
#:use-module (gnu packages dns)
+ #:use-module (gnu packages elf)
#:use-module (gnu packages file)
- #:use-module (gnu packages ncurses)
- #:use-module (gnu packages readline)
- #:use-module (gnu packages linux)
- #:use-module (gnu packages lua)
- #:use-module (gnu packages guile)
+ #:use-module (gnu packages flex)
+ #:use-module (gnu packages gawk)
#:use-module (gnu packages gettext)
+ #:use-module (gnu packages gl)
+ #:use-module (gnu packages glib)
+ #:use-module (gnu packages gnome)
+ #:use-module (gnu packages gnupg)
+ #:use-module (gnu packages golang)
+ #:use-module (gnu packages groff)
+ #:use-module (gnu packages gtk)
+ #:use-module (gnu packages guile)
+ #:use-module (gnu packages hurd)
+ #:use-module (gnu packages image)
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages inkscape)
+ #:use-module (gnu packages kerberos)
+ #:use-module (gnu packages libbsd)
+ #:use-module (gnu packages libftdi)
+ #:use-module (gnu packages libunwind)
+ #:use-module (gnu packages libusb)
+ #:use-module (gnu packages linux)
+ #:use-module (gnu packages lua)
+ #:use-module (gnu packages man)
+ #:use-module (gnu packages mcrypt)
+ #:use-module (gnu packages mpi)
+ #:use-module (gnu packages ncurses)
+ #:use-module (gnu packages openldap)
+ #:use-module (gnu packages patchutils)
+ #:use-module (gnu packages pciutils)
#:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
#:use-module (gnu packages perl-check)
- #:use-module (gnu packages tcl)
- #:use-module (gnu packages compression)
- #:use-module (gnu packages cross-base)
- #:use-module (gnu packages tls)
- #:use-module (gnu packages gnupg)
- #:use-module (gnu packages bison)
- #:use-module (gnu packages flex)
- #:use-module (gnu packages gl)
- #:use-module (gnu packages glib)
- #:use-module (gnu packages openldap)
- #:use-module (gnu packages mcrypt)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages popt)
#:use-module (gnu packages python)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
+ #:use-module (gnu packages readline)
+ #:use-module (gnu packages ruby)
+ #:use-module (gnu packages serialization)
#:use-module (gnu packages sphinx)
+ #:use-module (gnu packages tcl)
#:use-module (gnu packages terminals)
#:use-module (gnu packages texinfo)
- #:use-module (gnu packages groff)
- #:use-module (gnu packages pciutils)
- #:use-module (gnu packages libunwind)
- #:use-module (gnu packages libusb)
- #:use-module (gnu packages libftdi)
- #:use-module (gnu packages image)
- #:use-module (gnu packages xorg)
+ #:use-module (gnu packages tls)
+ #:use-module (gnu packages version-control)
+ #:use-module (gnu packages web)
#:use-module (gnu packages xdisorg)
- #:use-module (gnu packages man)
- #:use-module (gnu packages autotools)
- #:use-module (gnu packages gnome)
- #:use-module (gnu packages kerberos)
- #:use-module (gnu packages gtk)
#:use-module (gnu packages xml)
- #:use-module (gnu packages boost)
- #:use-module (gnu packages elf)
- #:use-module (gnu packages mpi)
- #:use-module (gnu packages version-control)
- #:use-module (gnu packages web))
+ #:use-module (gnu packages xorg))
+
+;; This package uses su instead of sudo (because of SpaceFM).
+(define-public ktsuss
+ (package
+ (name "ktsuss")
+ (version "2.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/nomius/ktsuss.git")
+ (commit version)))
+ (sha256
+ (base32 "0q9931f9hp47v1n8scli4bdg2rkjpf5jf8v7jj2gdn83aia1r2hz"))
+ (file-name (git-file-name name version))))
+ (build-system glib-or-gtk-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-file-names
+ (lambda _
+ (substitute* "configure.ac"
+ (("supath=`which su 2>/dev/null`")
+ "supath=/run/setuid-programs/su"))
+ #t)))))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("glib" ,glib)
+ ("gtk+" ,gtk+-2)))
+ (synopsis "Graphical front end for @command{su}")
+ (description
+ "Ktsuss stands for ``Keep the @command{su} simple, stupid''.
+It is a graphical version of @command{su} written in C and GTK+ 2, with
+simplicity in mind.")
+ (home-page "https://github.com/nomius/ktsuss")
+ (license license:bsd-3)))
(define-public aide
(package
(define-public progress
(package
(name "progress")
- (version "0.14")
+ (version "0.15")
(source
(origin
(method git-fetch)
(url "https://github.com/Xfennec/progress.git")
(commit (string-append "v" version))))
(sha256
- (base32 "1lk2v4b767klib93an4g3f7z5qrv9kdk9jf7545vw1immc4kamrl"))
+ (base32 "1cnb4ixlhshn139mj5sr42k5m6gjjbyqvkn1324c47niwrgp7dqm"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(native-inputs
`(("ncurses" ,ncurses)))
(arguments
`(#:tests? #f ; no test suite
- #:make-flags (list "CC=gcc"
- (string-append "PREFIX=" (assoc-ref %outputs "out")))
+ #:make-flags
+ (let ((target ,(%current-target-system)))
+ (list ,(string-append "CC=" (cc-for-target))
+ (string-append "PKG_CONFIG="
+ (if target
+ (string-append target "-pkg-config")
+ "pkg-config"))
+ (string-append "PREFIX=" (assoc-ref %outputs "out"))))
#:phases
(modify-phases %standard-phases
(delete 'configure)))) ; no configure script
(define-public shepherd
(package
(name "shepherd")
- (version "0.6.1")
+ (version "0.8.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/shepherd/shepherd-"
version ".tar.gz"))
(sha256
(base32
- "1xn6mb5bh8bpfgdrh09ja31jk0ln7bmxbbf0vjcqxkkixs2wl6sk"))))
+ "0x9zr0x3xvk4qkb6jnda451d5iyrl06cz1bjzjsm0lxvjj3fabyk"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--localstatedir=/var")))
`(("pkg-config" ,pkg-config)
;; This is the Guile we use as a cross-compiler...
- ("guile" ,guile-2.2)))
+ ("guile" ,guile-3.0)))
(inputs
;; ... and this is the one that appears in shebangs when cross-compiling.
- `(("guile" ,guile-2.2)
+ `(("guile" ,guile-3.0)
;; The 'shepherd' command uses Readline when used interactively. It's
;; an unusual use case though, so we don't propagate it.
(license license:gpl3+)
(home-page "https://www.gnu.org/software/shepherd/")))
+(define-public guile2.2-shepherd
+ (package
+ (inherit shepherd)
+ (name "guile2.2-shepherd")
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("guile" ,guile-2.2)))
+ (inputs
+ `(("guile" ,guile-2.2)))))
+
+(define-public guile3.0-shepherd
+ (deprecated-package "guile3.0-shepherd" shepherd))
+
+(define-public guile2.0-shepherd
+ (package
+ (inherit shepherd)
+ (name "guile2.0-shepherd")
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("guile" ,guile-2.0)))
+ (inputs
+ `(("guile" ,guile-2.0)))))
+
(define-public cloud-utils
(package
(name "cloud-utils")
graphs and can export its output to different formats.")
(license license:bsd-3)))
+(define-public facter
+ (package
+ (name "facter")
+ (version "4.0.26")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/puppetlabs/facter-ng")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0bab3by926gavbhkvp0in82vim575ybj8z6av3b12jdvla1s9rmz"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (add-after 'unpack 'delete-facter-ng-gemspec
+ (lambda _
+ ;; XXX: ruby-build-system incorrectly finds
+ ;; facter-ng.gemspec from this directory and tries to
+ ;; build that instead of the proper facter.gemspec.
+ ;; Just delete it as a workaround, as it appears to
+ ;; only exist for backwards-compatibility after the
+ ;; facter-ng->facter rename.
+ (delete-file "agent/facter-ng.gemspec")
+ #t))
+ (add-after 'unpack 'embed-iproute-reference
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((iproute (assoc-ref inputs "iproute")))
+ ;; Provide an absolute reference to the 'ip' executable
+ ;; to avoid propagating it.
+ (substitute* "lib/resolvers/networking_linux_resolver.rb"
+ (("execute\\('ip")
+ (string-append "execute('" iproute "/sbin/ip")))
+ #t)))
+ (delete 'check)
+ (add-after 'wrap 'check
+ (lambda* (#:key tests? outputs #:allow-other-keys)
+ ;; XXX: The test suite wants to run Bundler and
+ ;; complains that the gemspec is invalid. For now
+ ;; just make sure that we can run the wrapped
+ ;; executable directly.
+ (if tests?
+ (invoke (string-append (assoc-ref outputs "out")
+ "/bin/facter")
+ ;; Many facts depend on /sys, /etc/os-release,
+ ;; etc, so we only run a small sample.
+ "facterversion" "architecture"
+ "kernel" "kernelversion")
+ (format #t "tests disabled~%"))
+ #t)))))
+ (inputs
+ `(("iproute" ,iproute)
+ ("ruby-hocon" ,ruby-hocon)
+ ("ruby-sys-filesystem" ,ruby-sys-filesystem)
+ ("ruby-thor" ,ruby-thor)))
+ (synopsis "Collect and display system facts")
+ (description
+ "Facter is a tool that gathers basic facts about nodes (systems) such
+as hardware details, network settings, OS type and version, and more. These
+facts can be collected on the command line with the @command{facter} command
+or via the @code{facter} Ruby library.")
+ (home-page "https://github.com/puppetlabs/facter-ng")
+ (license license:expat)))
+
(define-public htop
(package
(name "htop")
(("\"/bin/sh\"")
(string-append "\"" bash "/bin/sh\"")))
#t))))))
- (home-page "https://www.gnu.org/software/pies/")
+ (home-page "https://www.gnu.org.ua/software/pies/")
(synopsis "Program invocation and execution supervisor")
(description
"GNU pies is a program that supervises the invocation and execution of
(method url-fetch)
(uri (string-append "mirror://gnu/inetutils/inetutils-"
version ".tar.gz"))
+ (patches (search-patches "inetutils-hurd.patch"))
(sha256
(base32
"05n65k4ixl85dc6rxc51b1b732gnmm8xnqi424dy9f1nz7ppb3xy"))))
;; cross-compiling (by default it does not.)
,@(if (%current-target-system)
'("--with-path-procnet-dev=/proc/net/dev")
+ '())
+ ,@(if (hurd-target?)
+ '("--disable-rcp"
+ "--disable-rexec"
+ "--disable-rexecd"
+ "--disable-rlogin"
+ "--disable-rlogind"
+ "--disable-rsh"
+ "--disable-rshd"
+ "--disable-uucpd"
+ "--disable-whois")
'()))
;; On some systems, 'libls.sh' may fail with an error such as:
;; "Failed to tell switch -a apart from -A".
#:parallel-tests? #f))
(inputs `(("ncurses" ,ncurses)
("readline" ,readline))) ;for 'ftp'
- (native-inputs `(("netstat" ,net-tools))) ;for tests
+ (native-inputs (if (member (%current-system)
+ (package-supported-systems net-tools))
+ `(("netstat" ,net-tools)) ;for tests
+ '()))
(home-page "https://www.gnu.org/software/inetutils/")
(synopsis "Basic networking utilities")
(description
(define-public shadow
(package
(name "shadow")
- (version "4.7")
+ (version "4.8.1")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/shadow-maint/shadow/releases/"
"download/" version "/shadow-" version ".tar.xz"))
+ (patches (search-patches "shadow-hurd-pctrl.patch"))
(sha256
(base32
- "0v71474rx38lg9kidrm4xbk35sg3icv3s5pk2b42icp3lyj9dqg5"))))
+ "0qmfq50sdhz6xilgxvinblll8j2iqfl7hwk45bq744y4plq4dbd3"))))
(build-system gnu-build-system)
(arguments
`(;; Assume System V `setpgrp (void)', which is the default on GNU
(for-each delete-file (find-files man "^groups\\."))
#t))))))
- (inputs (if (string-contains (or (%current-target-system)
- (%current-system))
- "-linux")
- `(("linux-pam" ,linux-pam))
- '()))
+ (inputs `(("linux-pam" ,linux-pam)))
(home-page "https://github.com/shadow-maint/shadow")
(synopsis "Authentication-related tools such as passwd, su, and login")
(description
`(#:phases
(modify-phases %standard-phases
(replace 'configure
- (lambda* (#:key inputs outputs #:allow-other-keys)
+ (lambda* (#:key inputs outputs target #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(man8 (string-append out "/share/man/man8"))
(sbin (string-append out "/sbin"))
(shadow (assoc-ref inputs "shadow"))
(login (string-append shadow "/bin/login")))
(substitute* "Makefile"
+ ,@(if (%current-target-system)
+ '((("CC=.*$")
+ (string-append "CC=" target "-gcc\n")))
+ '())
(("^SBINDIR.*")
(string-append "SBINDIR = " out
"/sbin\n"))
would need and has several interesting built-in capabilities.")
(license license:gpl2+)))
+(define-public netcat-openbsd
+ (package
+ (name "netcat-openbsd")
+ (version "1.217-1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://salsa.debian.org/debian/netcat-openbsd.git")
+ (commit (string-append "debian/" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0kcvi3pav2fdx5c22psjv5dggk4cmrqiaq2cklhqngsk4a7vrjan"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; no test suite
+ #:make-flags
+ (list "CC=gcc")
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (add-before 'build 'patch
+ (lambda _
+ (setenv "QUILT_PATCHES" "debian/patches")
+ (invoke "quilt" "push" "-a")
+ #t))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin"))
+ (man (string-append out "/share/man/man1"))
+ (doc (string-append out "/share/doc/netcat-openbsd-" ,version))
+ (examples (string-append doc "/examples")))
+ (install-file "nc" bin)
+ (install-file "nc.1" man)
+ (install-file "debian/copyright" doc)
+ (copy-recursively "debian/examples" examples)
+ #t))))))
+ (inputs `(("libbsd" ,libbsd)))
+ (native-inputs `(("pkg-config" ,pkg-config)
+ ("quilt" ,quilt)))
+ (home-page "https://packages.debian.org/sid/netcat-openbsd")
+ (synopsis "Read and write data over TCP/IP")
+ (description
+ "Netcat is a simple Unix utility which reads and writes data across
+network connections using TCP or UDP protocol. It is designed to be a reliable
+\"back-end\" tool that can be used directly or easily driven by other programs
+and scripts. At the same time it is a feature-rich network debugging and
+exploration tool, since it can create almost any kind of connection you would
+need and has several interesting built-in capabilities.
+
+This package contains the OpenBSD rewrite of netcat, including support for
+IPv6, proxies, and Unix sockets.")
+ (license (list license:bsd-3
+ license:bsd-2)))) ; atomicio.*, socks.c
+
(define-public sipcalc
(package
(name "sipcalc")
(base32
"0mv3wndj4z2bsshh2k8d5sy3j8wxzgf8mzmmkvj1k8gpcz37dm6g"))))
(build-system gnu-build-system)
- (home-page "http://www.routemeister.net/projects/sipcalc/")
+ (home-page "https://www.routemeister.net/projects/sipcalc/")
(synopsis "Command-line IP subnet calculator")
(description
"Sipcalc is an advanced command-line IP subnet calculator. It can take
(define-public isc-dhcp
(let* ((bind-major-version "9")
(bind-minor-version "11")
- (bind-patch-version "11")
+ (bind-patch-version "18")
(bind-release-type "") ; for patch release, use "-P"
(bind-release-version "") ; for patch release, e.g. "6"
(bind-version (string-append bind-major-version
bind-release-version)))
(package
(name "isc-dhcp")
- (version "4.4.1")
+ (version "4.4.2")
(source (origin
(method url-fetch)
(uri (string-append "https://ftp.isc.org/isc/dhcp/"
version "/dhcp-" version ".tar.gz"))
(sha256
(base32
- "025nfqx4zwdgv4b3rkw26ihcj312vir08jk6yi57ndmb4a4m08ia"))))
+ "08a5003zdxgl41b29zjkxa92h2i40zyjgxg0npvnhpkfl5jcsz0s"))))
(build-system gnu-build-system)
(arguments
`(#:parallel-build? #f
+ #:configure-flags '("--with-randomdev=/dev/random")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'replace-bundled-bind
(lambda* (#:key inputs native-inputs #:allow-other-keys)
- ;; XXX TODO: Remove the following invocation of 'patch' when
- ;; isc-dhcp is updated. It should be needed only for 4.4.1.
- (let ((patch (string-append (assoc-ref (or native-inputs inputs)
- "patch")
- "/bin/patch"))
- (the-patch (assoc-ref (or native-inputs inputs)
- "fixes-for-newer-bind.patch")))
- (format #t "applying '~a'...~%" the-patch)
- (invoke patch "--force" "--no-backup-if-mismatch"
- "-p1" "--input" the-patch))
-
(delete-file "bind/bind.tar.gz")
(copy-file (assoc-ref inputs "bind-source-tarball")
"bind/bind.tar.gz")
(("^RELEASEVER=.*")
(format #f "RELEASEVER=~a\n" ,bind-release-version)))
#t))
+ ,@(if (%current-target-system)
+ '((add-before 'configure 'fix-bind-cross-compilation
+ (lambda _
+ (substitute* "configure"
+ (("--host=\\$host")
+ "--host=$host_alias"))
+ ;; BIND needs a native compiler because the DHCP
+ ;; build system uses the built 'gen' executable.
+ (setenv "BUILD_CC" "gcc")
+ #t)))
+ '())
(add-after 'configure 'post-configure
(lambda* (#:key outputs #:allow-other-keys)
;; Point to the right client script, which will be
(native-inputs
`(("perl" ,perl)
- ("file" ,file)
-
- ;; XXX TODO: Remove the following patch, and also the 'patch'
- ;; program, when isc-dhcp is updated.
- ("fixes-for-newer-bind.patch"
- ,(search-patch "isc-dhcp-4.4.1-fixes-for-newer-bind.patch"))
- ("patch" ,patch)))
+ ("file" ,file)))
(inputs `(("inetutils" ,inetutils)
- ("net-tools" ,net-tools)
- ("iproute" ,iproute)
+ ,@(if (hurd-target?) '()
+ `(("net-tools" ,net-tools)
+ ("iproute" ,iproute)))
- ;; XXX isc-dhcp bundles a copy of bind that has security
- ;; flaws, so we use a newer version.
+ ;; isc-dhcp bundles a copy of BIND, which has proved vulnerable
+ ;; in the past. Use a BIND-VERSION of our choosing instead.
("bind-source-tarball"
,(origin
(method url-fetch)
"/bind-" bind-version ".tar.gz"))
(sha256
(base32
- "0swavslyli3vcrkcm2ip11s6p58g3k7r4gjs2b899r25cqrk0lk1"))))
+ "0vws0zzb39mkphj4hhjrgfj9dzw951lc4pfa6pqg5ll5ma51mbsr"))))
;; When cross-compiling, we need the cross Coreutils and sed.
;; Otherwise just use those from %FINAL-INPUTS.
over ssh connections.")
(license license:gpl2+)))
+(define-public hss
+ (package
+ (name "hss")
+ (version "1.8")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/six-ddc/hss.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1rpysj65j9ls30bf2c5k5hykzzjfknrihs58imp178bx1wqzw4jl"))))
+ (inputs
+ `(("readline" ,readline)))
+ (arguments
+ `(#:tests? #f ;no tests
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'set-env
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (substitute* "Makefile"
+ (("/usr/local/bin")
+ (string-append (assoc-ref outputs "out") "/bin"))
+ (("/usr/local/opt/readline")
+ (assoc-ref inputs "readline")))
+ (setenv "CC" "gcc")))
+ (delete 'configure))))
+ (build-system gnu-build-system)
+ (home-page "https://github.com/six-ddc/hss/")
+ (synopsis "Interactive SSH client for multiple servers")
+ (description "@command{hss} is an interactive SSH client for multiple
+servers. It will provide almost the same experience as in the Bash
+environment. It supports:
+
+@itemize @bullet
+@item interactive input: based on @code{libreadline}.
+@item history: responding to the @key{C-r} key.
+@item auto-completion: completion from remote server on the @key{TAB} key, for
+commands and paths.
+@end itemize
+
+Command is executed on all servers in parallel. Execution on one server does
+not need to wait for that on another server to finish before starting. So we
+can run a command on hundreds of servers at the same time.")
+ (license license:expat)))
+
(define-public rename
(package
(name "rename")
#t))))
(build-system gnu-build-system)
(arguments
- '(#:configure-flags (list "ROTT_ETCDIR=/etc/rottlog" ;rc file location
+ `(#:configure-flags (list "ROTT_ETCDIR=/etc/rottlog" ;rc file location
"--localstatedir=/var")
;; Install example config files in OUT/etc.
(substitute* "rc/rc"
(("/usr/sbin/sendmail") "sendmail"))
#t))
+ (add-after 'unpack 'fix-configure
+ (lambda* (#:key inputs native-inputs #:allow-other-keys)
+ ;; Replace outdated config.sub and config.guess:
+ (for-each (lambda (file)
+ (install-file
+ (string-append
+ (assoc-ref
+ (or native-inputs inputs) "automake")
+ "/share/automake-"
+ ,(version-major+minor
+ (package-version automake))
+ "/" file) "."))
+ '("config.sub" "config.guess"))
+ #t))
(add-after 'build 'set-packdir
(lambda _
;; Set a default location for archived logs.
(lambda _
(invoke "make" "install-info"))))))
(native-inputs `(("texinfo" ,texinfo)
+ ("automake" ,automake)
("util-linux" ,util-linux))) ; for 'cal'
(home-page "https://www.gnu.org/software/rottlog/")
(synopsis "Log rotation and management")
(define-public sudo
(package
(name "sudo")
- (version "1.8.28")
+ (version "1.9.1")
(source (origin
(method url-fetch)
(uri
version ".tar.gz")))
(sha256
(base32
- "188k3w67aflbmi4b5z23pxrvzfcfndi22b84w86gzjh8b9sglaci"))
+ "1zxd6hxwhxqrm876wsn9bfajbfc4hc6l9ivzj5rjg80hzv71ch99"))
(modules '((guix build utils)))
(snippet
'(begin
(delete-file-recursively "lib/zlib")
#t))))
(build-system gnu-build-system)
+ (outputs (list "out" "python"))
(arguments
`(#:configure-flags
- (list "--with-logpath=/var/log/sudo.log"
+ (list (string-append "--docdir=" (assoc-ref %outputs "out")
+ "/share/doc/" ,name "-" ,version)
+
+ ;; XXX: Disable Python support when cross-compiling because
+ ;; 'configure' tries to run 'python', which fails.
+ ,(if (%current-target-system)
+ "--disable-python"
+ "--enable-python") ; for plug-ins written in ~
+
+ "--with-logpath=/var/log/sudo.log"
"--with-rundir=/var/run/sudo" ; must be cleaned up at boot time
"--with-vardir=/var/db/sudo"
"--with-iologdir=/var/log/sudo-io"
;; prematurely.
(("@CONFIGURE_ARGS@") "\"\""))
(substitute* (find-files "." "Makefile\\.in")
+ ;; Allow installation as non-root.
(("-o [[:graph:]]+ -g [[:graph:]]+")
- ;; Allow installation as non-root.
"")
+ ;; Don't try to create /etc/sudoers.
(("^install: (.*)install-sudoers(.*)" _ before after)
- ;; Don't try to create /etc/sudoers.
(string-append "install: " before after "\n"))
+ ;; Don't try to create /run/sudo.
(("\\$\\(DESTDIR\\)\\$\\(rundir\\)")
- ;; Don't try to create /run/sudo.
"$(TMPDIR)/dummy")
+ ;; Install example sudo{,_logsrvd}.conf to the right place.
+ (("\\$\\(DESTDIR\\)\\$\\(sysconfdir\\)")
+ "$(DESTDIR)/$(docdir)/examples")
+ ;; Don't try to create /var/db/sudo.
(("\\$\\(DESTDIR\\)\\$\\(vardir\\)")
- ;; Don't try to create /var/db/sudo.
"$(TMPDIR)/dummy"))
- #t)))
+
+ ;; ‘Checking existing [/etc/]sudoers file for syntax errors’ is
+ ;; not the task of the build system, and fails.
+ (substitute* "plugins/sudoers/Makefile.in"
+ (("^pre-install:" match)
+ (string-append match "\ndisabled-" match)))
+ #t))
+ (add-after 'install 'separate-python-output
+ (lambda* (#:key target outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out"))
+ (out:python (assoc-ref outputs "python")))
+ (if target
+ (mkdir-p (string-append out:python "/empty"))
+ (for-each
+ (lambda (file)
+ (let ((old (string-append out "/" file))
+ (new (string-append out:python "/" file)))
+ (mkdir-p (dirname new))
+ (rename-file old new)))
+ (list "libexec/sudo/python_plugin.so"
+ "libexec/sudo/python_plugin.la")))
+ #t))))
;; XXX: The 'testsudoers' test series expects user 'root' to exist, but
;; the chroot's /etc/passwd doesn't have it. Turn off the tests.
#:tests? #f))
+ (native-inputs
+ `(("groff" ,groff)))
(inputs
- `(("groff" ,groff)
+ `(("coreutils" ,coreutils)
("linux-pam" ,linux-pam)
- ("zlib" ,zlib)
- ("coreutils" ,coreutils)))
+ ,@(if (%current-target-system)
+ '()
+ `(("python" ,python)))
+ ("zlib" ,zlib)))
(home-page "https://www.sudo.ws/")
(synopsis "Run commands as root")
(description
;; See <http://www.sudo.ws/sudo/license.html>.
(license license:x11)))
+(define-public opendoas
+ (package
+ (name "opendoas")
+ (version "6.6.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Duncaen/OpenDoas.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "07kkc5729p654jrgfsc8zyhiwicgmq38yacmwfvay2b3gmy728zn"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'configure
+ ;; The configure script doesn't accept most of the default flags.
+ (lambda* (#:key configure-flags #:allow-other-keys)
+ ;; The configure script can only be told which compiler to use
+ ;; through environment variables.
+ (setenv "CC" ,(cc-for-target))
+ (apply invoke "./configure" configure-flags)))
+ (add-before 'install 'fix-makefile
+ (lambda* (#:key outputs #:allow-other-keys)
+ (substitute* "bsd.prog.mk"
+ (("^\tchown.*$") ""))
+ #t)))
+ #:configure-flags
+ (list (string-append "--prefix=" (assoc-ref %outputs "out"))
+ ;; Nothing is done with this value (yet?) but it's supported.
+ ;; (string-append "--target=" (or ,(%current-target-system) ""))
+ "--with-timestamp")
+ ;; Compiler choice is not carried over from the configure script.
+ #:make-flags
+ (list (string-append "CC=" ,(cc-for-target)))
+ #:tests? #f)) ; no test suite
+ (native-inputs
+ `(("bison" ,bison)))
+ (home-page "https://github.com/Duncaen/OpenDoas")
+ (synopsis "Portable version of OpenBSD's doas command")
+ (description "Doas is a minimal replacement for the venerable sudo. It was
+initially written by Ted Unangst of the OpenBSD project to provide 95% of the
+features of sudo with a fraction of the codebase.")
+ (license (list license:bsd-3 ; libbsd/*
+ license:isc)))) ; everything else
+
(define-public wpa-supplicant-minimal
(package
(name "wpa-supplicant-minimal")
(define-public hostapd
(package
(name "hostapd")
- (version "2.8")
+ (version "2.9")
(source (origin
(method url-fetch)
(uri (string-append "https://w1.fi/releases/hostapd-" version
".tar.gz"))
(sha256
(base32
- "1c74rrazkhy4lr7pwgwa2igzca7h9l4brrs7672kiv7fwqmm57wj"))))
+ "1mrbvg4v7vm7mknf0n29mf88k3s4a4qj6r4d51wq8hmjj1m7s7c8"))))
(build-system gnu-build-system)
(arguments
'(#:phases
(define-public acpica
(package
(name "acpica")
- (version "20190816")
+ (version "20200528")
(source (origin
(method url-fetch)
(uri (string-append
version ".tar.gz"))
(sha256
(base32
- "0lipy3jwl498lvgwzj6xcvmg61myl7hhilpallh1cf3ppgrq13l8"))))
+ "01ajxnz9dpnvdbib7yv20dw21a1yyfgwiw3whg0xi57cf4app2md"))))
(build-system gnu-build-system)
(native-inputs `(("flex" ,flex)
("bison" ,bison)))
#:tests? #f ; no 'check' target
#:phases (modify-phases %standard-phases (delete 'configure))))
(home-page "https://acpica.org/")
- (synopsis "Tools for the development and debug of ACPI tables")
+ (synopsis "Tools for the development and debugging of ACPI tables")
(description
- "The ACPI Component Architecture (@dfn{ACPICA}) project provides an
-OS-independent reference implementation of the Advanced Configuration and
-Power Interface Specification (@dfn{ACPI}). ACPICA code contains those portions
-of ACPI meant to be directly integrated into the host OS as a kernel-resident
-subsystem, and a small set of tools to assist in developing and debugging ACPI
-tables. This package contains only the user-space tools needed for ACPI table
+ "The @acronym{ACPICA, ACPI Component Architecture} project provides an
+OS-independent reference implementation of the @acronym{ACPI, Advanced
+Configuration and Power Interface} specification. ACPICA code contains those
+portions of ACPI meant to be directly integrated into the host OS as a
+kernel-resident subsystem, and a small set of tools to assist in developing and
+debugging ACPI tables.
+
+This package contains only the user-space tools needed for ACPI table
development, not the kernel implementation of ACPI.")
(license license:gpl2))) ; dual GPLv2/ACPICA Licence
(define-public s-tui
(package
(name "s-tui")
- (version "0.8.3")
+ (version "1.0.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "s-tui" version))
(sha256
- (base32
- "00lsh2v4i8rwfyjyxx5lijd6rnk9smcfffhzg5sv94ijpcnh216m"))))
+ (base32 "1gqrb2xxii43j7kszy7kvv4f6hr8ac4p0m9q8i1xs5fhsqcx186i"))))
(build-system python-build-system)
(inputs
`(("python-psutil" ,python-psutil)
(uri (git-reference
(url "https://github.com/dharple/detox.git")
(commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
"1dd608c7g65s5lj02cddvani3q9kzirddgkjqa22ap9d4f8b9xgr"))))
(build-system gnu-build-system)
(inputs
`(("ntfs-3g" ,ntfs-3g)
- ("util-linux" ,util-linux)
+ ("util-linux" ,util-linux "lib")
("openssl" ,openssl)
;; FIXME: add reiserfs.
("zlib" ,zlib)
("e2fsprogs" ,e2fsprogs)
- ("libjpeg" ,libjpeg)
+ ("libjpeg" ,libjpeg-turbo)
("ncurses" ,ncurses)))
(home-page "https://www.cgsecurity.org/wiki/TestDisk")
(synopsis "Data recovery tool")
(string-append "SHELL=" bash "/bin/sh")))
#t))))))
- (home-page "https://www.gnu.org/software/direvent/")
+ (home-page "https://www.gnu.org.ua/software/direvent/")
(synopsis "Daemon to monitor directories for events such as file removal")
(description
"A daemon that monitors directories for events, such as creating,
(define-public smartmontools
(package
(name "smartmontools")
- (version "7.0")
+ (version "7.1")
(source (origin
(method url-fetch)
(uri (string-append
version "/smartmontools-" version ".tar.gz"))
(sha256
(base32
- "077nx2rn9szrg6isdh0938zbp7vr3dsyxl4jdyyzv1xwhqksrqg5"))))
+ "0imqb7ka4ia5573w8rnpck571pjjc9698pdjcapy9cfyk4n4swrz"))))
(build-system gnu-build-system)
(inputs `(("libcap-ng" ,libcap-ng)))
(home-page "https://www.smartmontools.org/")
(define-public ansible
(package
(name "ansible")
- (version "2.8.1")
+ (version "2.9.10")
(source
(origin
(method url-fetch)
(uri (pypi-uri "ansible" version))
(sha256
- (base32 "0ia4x17ywym3r1m96ar4h0wc2xlylhbjp6x4wzwkh4p2i0x1vmg1"))))
+ (base32 "1kfaxd7w8qiis2vv96kgrhiqh158qb0z4lspr9c8fsdi5m1z2rh8"))))
(build-system python-build-system)
(native-inputs
`(("python-bcrypt" ,python-bcrypt)
sys.argv[0] = re.sub(r'\\.([^/]*)-real$', r'\\1', sys.argv[0])
")))
#t))
- (add-after 'wrap 'fix-symlinks
+ (add-after 'install 'replace-symlinks
(lambda* (#:key outputs #:allow-other-keys)
+ ;; Replace symlinks with duplicate copies of the ansible
+ ;; executable.
(let ((out (assoc-ref outputs "out")))
(for-each
(lambda (subprogram)
- ;; The symlinks point to the ansible wrapper script. Make
- ;; them point to the real executable (.ansible-real).
- (delete-file (string-append out "/bin/.ansible-" subprogram "-real"))
- (symlink (string-append out "/bin/.ansible-real")
- (string-append out "/bin/.ansible-" subprogram "-real"))
- ;; The wrapper scripts of the symlinks invoke the ansible
- ;; wrapper script. Fix them to invoke the correct executable.
- (substitute* (string-append out "/bin/ansible-" subprogram)
- (("/bin/ansible")
- (string-append "/bin/.ansible-" subprogram "-real"))))
+ (delete-file (string-append out "/bin/ansible-" subprogram))
+ (copy-file (string-append out "/bin/ansible")
+ (string-append out "/bin/ansible-" subprogram)))
(list "config" "console" "doc" "galaxy"
"inventory" "playbook" "pull" "vault")))
#t)))))
(define-public munge
(package
(name "munge")
- (version "0.5.13")
+ (version "0.5.14")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/dun/munge/releases/"
version ".tar.xz"))
(sha256
(base32
- "1nj486bbg1adfg298zck96vgx57kchcypc1zdz1n7w540vyksxcr"))
+ "0h06sghb4rqvv1ywyd6mzsmbcgh712v6ygrff0gzm440y4ca41k6"))
(modules '((guix build utils)))
(snippet
'(begin
;; Don't insist on write access to /var.
(substitute* "src/etc/Makefile.in"
(("\\$\\(INSTALL\\)(.*)localstatedir" _ middle)
- (string-append "-$(INSTALL)" middle "localstatedir")))
+ (string-append "-$(INSTALL)" middle "localstatedir"))
+ (("\\$\\(MKDIR_P\\) .*(local|run)statedir.*")
+ ""))
#t))))
(inputs
`(("openssl" ,openssl)
("libgcrypt" ,libgcrypt)))
(build-system gnu-build-system)
- (arguments '(#:configure-flags '("--localstatedir=/var")))
+ (arguments
+ '(#:configure-flags
+ (list "--localstatedir=/var"
+ (string-append "--with-pkgconfigdir="
+ (assoc-ref %outputs "out") "/lib/pkgconfig"))
+ #:phases
+ (modify-phases %standard-phases
+ ;; XXX Many test series fail. Some might be fixable, others do no-no
+ ;; things like invoking ‘sudo’.
+ (add-after 'unpack 'skip-failing-tests
+ (lambda _
+ (for-each (lambda (test)
+ (substitute* "t/Makefile.in"
+ (((string-append test "\\.t ")) "")))
+ (list "0100-munged-lock"
+ "0010-basic"
+ "0011-munged-cmdline"
+ "0012-munge-cmdline"
+ "0013-unmunge-cmdline"
+ "0101-munged-security-socket"
+ "0102-munged-security-keyfile"
+ "0103-munged-security-logfile"
+ "0110-munged-origin-addr"))
+ #t)))))
(home-page "https://dun.github.io/munge/")
(synopsis "Cluster computing authentication service")
(description
(define-public thefuck
(package
(name "thefuck")
- (version "3.29")
+ (version "3.30")
(source
(origin
(method git-fetch)
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1qhxwjjgrzpqrqjv7l2847ywpln76lyd6j8bl9gz2r6kl0fx2fqs"))
+ (base32 "0fnf78956pwhb9cgv1jmgypnkma5xzflkivfrkfiadbgin848yfg"))
(patches (search-patches "thefuck-test-environ.patch"))))
(build-system python-build-system)
(arguments
("python-pyte" ,python-pyte)
("python-six" ,python-six)))
(native-inputs
- `(("python-mock" ,python-mock)
+ `(("go" ,go)
+ ("python-mock" ,python-mock)
("python-pytest" ,python-pytest)
("python-pytest-mock" ,python-pytest-mock)))
(home-page "https://github.com/nvbn/thefuck")
(define-public di
(package
(name "di")
- (version "4.47.1")
+ (version "4.48")
(source
(origin
(method url-fetch)
(uri (string-append "https://gentoo.com/di/di-" version ".tar.gz"))
(sha256
- (base32 "1bdbl9k3gqf4h6g21difqc0w17pjid6r587y19wi37vx36aava7f"))))
+ (base32 "0crvvfsxh8ryc0j19a2x52i9zacvggm8zi6j3kzygkcwnpz4km8r"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; obscure test failures
(delete 'configure) ; no configure script
(add-before 'build 'setup-environment
(lambda* (#:key outputs #:allow-other-keys)
- (setenv "CC" "gcc")
+ (setenv "CC" ,(cc-for-target))
(setenv "prefix" (assoc-ref outputs "out"))
#t)))
#:make-flags (list "--environment-overrides")))
- (home-page "https://www.gentoo.com/di/")
+ (home-page "https://gentoo.com/di/")
(synopsis "Advanced df like disk information utility")
(description
"@code{di} is a disk information utility, displaying everything that your
(define-public cbatticon
(package
(name "cbatticon")
- (version "1.6.9")
+ (version "1.6.10")
(source
(origin
(method git-fetch)
(url "https://github.com/valr/cbatticon.git")
(commit version)))
(sha256
- (base32 "0kw09d678sd3m18fmi4380sl4a2m5lkfmq0kps16cdmq7z80rvaf"))
+ (base32 "0ivm2dzhsa9ir25ry418r2qg2llby9j7a6m3arbvq5c3kaj8m9jr"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
(uri (string-append
"https://archives.eyrie.org/software/kerberos/"
"pam-krb5-" version ".tar.xz"))
+ (patches (search-patches "pam-krb5-CVE-2020-10595.patch"))
(sha256
(base32
"1qjp8i1s9bz7g6kiqrkzzkxn5pfspa4sy53b6z40fqmdf9przdfb"))))
;; clause requiring us to give all recipients a copy.
(license license:gpl1+)))
-(define-public sunxi-tools
- (package
- (name "sunxi-tools")
- (version "1.4.2")
- (source
+(define (sunxi-tools-source version)
(origin
(method git-fetch)
(uri (git-reference
'(begin
(delete-file-recursively "bin")
#t))
- (file-name (git-file-name name version))))
+ (file-name (git-file-name "sunxi-tools" version))))
+
+(define sunxi-target-tools
+ (package
+ (name "sunxi-target-tools")
+ (version "1.4.2")
+ (build-system gnu-build-system)
+ (source
+ (sunxi-tools-source version))
+ (arguments
+ `(#:system "armhf-linux"
+ #:tests? #f
+ #:make-flags (list (string-append "PREFIX="
+ (assoc-ref %outputs "out"))
+ (string-append "CROSS_COMPILE=")
+ "CC=gcc")
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'build
+ (lambda* (#:key make-flags #:allow-other-keys)
+ (apply invoke "make" "target-tools" make-flags)))
+ (replace 'install
+ (lambda* (#:key make-flags #:allow-other-keys)
+ (apply invoke "make" "install-target-tools"
+ make-flags))))))
+ (home-page "https://github.com/linux-sunxi/sunxi-tools")
+ (synopsis "Hardware management tools for Allwinner computers")
+ (description "This package contains tools for Allwinner devices:
+@enumerate
+@item @command{sunxi-meminfo}: Prints memory bus settings.
+@end enumerate")
+ (license license:gpl2+)))
+
+(define-public sunxi-tools
+ (package
+ (name "sunxi-tools")
+ (version "1.4.2")
+ (source
+ (sunxi-tools-source version))
(native-inputs
- `(("pkg-config" ,pkg-config)
- ("cross-gcc" ,(cross-gcc "arm-linux-gnueabihf"
- #:xbinutils (cross-binutils "arm-linux-gnueabihf")
- #:libc (cross-libc "arm-linux-gnueabihf")))
- ("cross-libc" ,(cross-libc "arm-linux-gnueabihf")) ; header files
- ("cross-libc-static" ,(cross-libc "arm-linux-gnueabihf") "static")))
+ `(("sunxi-target-tools" ,sunxi-target-tools)
+ ("pkg-config" ,pkg-config)))
(inputs
`(("libusb" ,libusb)))
(build-system gnu-build-system)
`(#:tests? #f ; no tests exist
#:make-flags (list (string-append "PREFIX="
(assoc-ref %outputs "out"))
- (string-append "CROSS_COMPILE="
- "arm-linux-gnueabihf-")
+ (string-append "CROSS_COMPILE=disabled")
"CC=gcc")
#:phases
(modify-phases %standard-phases
(delete 'configure)
- (add-before 'build 'set-environment-up
- (lambda* (#:key make-flags #:allow-other-keys)
- (define (cross? x)
- (string-contains x "cross-arm-linux"))
- (define (filter-environment! filter-predicate
- environment-variable-names)
- (for-each
- (lambda (env-name)
- (let* ((env-value (getenv env-name))
- (search-path (search-path-as-string->list env-value))
- (new-search-path (filter filter-predicate
- search-path))
- (new-env-value (list->search-path-as-string
- new-search-path ":")))
- (setenv env-name new-env-value)))
- environment-variable-names))
- (setenv "CROSS_C_INCLUDE_PATH" (getenv "C_INCLUDE_PATH"))
- (setenv "CROSS_CPLUS_INCLUDE_PATH" (getenv "CPLUS_INCLUDE_PATH"))
- (setenv "CROSS_LIBRARY_PATH" (getenv "LIBRARY_PATH"))
- (filter-environment! cross?
- '("CROSS_C_INCLUDE_PATH" "CROSS_CPLUS_INCLUDE_PATH"
- "CROSS_LIBRARY_PATH"))
- (filter-environment! (lambda (e) (not (cross? e)))
- '("C_INCLUDE_PATH" "CPLUS_INCLUDE_PATH"
- "LIBRARY_PATH"))
- #t))
(replace 'build
(lambda* (#:key make-flags #:allow-other-keys)
(apply invoke "make" "tools" "misc" make-flags)))
- (add-after 'build 'build-armhf
- (lambda* (#:key make-flags #:allow-other-keys)
- (setenv "LIBRARY_PATH" #f)
- (apply invoke "make" "target-tools" make-flags)))
(replace 'install
- (lambda* (#:key make-flags #:allow-other-keys)
- (apply invoke "make" "install-all" "install-misc"
+ (lambda* (#:key inputs outputs make-flags #:allow-other-keys)
+ ;; Those tools have been built for armhf but are part of the
+ ;; installation in the upstream package. So do the same
+ ;; here.
+ (copy-recursively (assoc-ref inputs "sunxi-target-tools")
+ (assoc-ref outputs "out"))
+ (apply invoke "make" "install-tools" "install-misc"
make-flags))))))
(home-page "https://github.com/linux-sunxi/sunxi-tools")
(synopsis "Hardware management tools for Allwinner computers")
(define-public igt-gpu-tools
(package
(name "igt-gpu-tools")
- (version "1.23")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://cgit.freedesktop.org/xorg/app/"
- "intel-gpu-tools/snapshot/"
- "igt-gpu-tools-" version ".tar.gz"))
- (sha256
- (base32
- "0vzv2i4jfv2pkbqby5k3ap9pzidkmajwqmg3s7wnv8i1h33775iq"))))
+ (version "1.24")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.freedesktop.org/drm/igt-gpu-tools.git")
+ (commit (string-append "igt-gpu-tools-" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1gpdjs5aj6vsnzwcjvw5bb120lgffvvshi4202phr0bzw3b92ky8"))))
(build-system gnu-build-system)
(arguments
- `(#:tests? #f ; many of the tests try to load kernel modules
- #:phases
- (modify-phases %standard-phases
- (replace 'bootstrap
- (lambda _
- ;; Don't run configure in this phase.
- (setenv "NOCONFIGURE" "1")
- (invoke "sh" "autogen.sh"))))))
+ `(#:tests? #f)) ; many of the tests try to load kernel modules
(inputs
`(("cairo" ,cairo)
+ ("elfutils" ,elfutils) ; libdw
("eudev" ,eudev)
("glib" ,glib)
("kmod" ,kmod)
("automake" ,automake)
("libtool" ,libtool)
("pkg-config" ,pkg-config)))
- (home-page "https://cgit.freedesktop.org/xorg/app/intel-gpu-tools/")
+ (home-page "https://gitlab.freedesktop.org/drm/igt-gpu-tools")
(synopsis "Tools for development and testing of the Intel DRM driver")
(description "IGT GPU Tools is a collection of tools for development and
testing of the Intel DRM driver. There are many macro-level test suites that
(supported-systems '("i686-linux" "x86_64-linux"))
(license license:expat)))
-(define-public intel-gpu-tools
- (deprecated-package "intel-gpu-tools" igt-gpu-tools))
-
(define-public fabric
(package
(name "fabric")
- (version "1.14.0")
+ (version "1.14.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "Fabric" version))
(sha256
(base32
- "13r0b0hllgf8j9rh6x1knmbgvingbdmx046aazv6vck2ll120mw1"))))
+ "1a3ndlpdw6bhn8fcw1jgznl117a8pnr84az9rb5fwnrypf1ph2b6"))))
(build-system python-build-system)
(arguments
`(#:python ,python-2 ; Python 2 only
("python2-bcrypt" ,python2-bcrypt)))
(propagated-inputs
`(("python2-paramiko" ,python2-paramiko)))
- (home-page "http://fabfile.org")
+ (home-page "https://www.fabfile.org/")
(synopsis "Simple Pythonic remote execution and deployment tool")
(description
"Fabric is designed to upload files and run shell commands on a number of
(define-public neofetch
(package
(name "neofetch")
- (version "6.1.0")
+ (version "7.0.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/dylanaraps/neofetch")
(commit version)))
+ (file-name (git-file-name name version))
(sha256
(base32
- "022xzn9jk18k2f4b6011d8jk5nbl84i3mw3inlz4q52p2hvk8fch"))))
+ "0xc0fdc7n5bhqirh83agqiy8r14l14zwca07czvj8vgnsnfybslr"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; there are no tests
(define-public screenfetch
(package
(name "screenfetch")
- (version "3.9.0")
+ (version "3.9.1")
(source (origin
(method git-fetch)
(uri (git-reference
(file-name (git-file-name name version))
(sha256
(base32
- "13i7dczbqwhws08zzrdraki1zkqv0qkbgx9c1r8vmg5qr9f7hfzg"))))
+ "04l8aqr474pb115nagn9f6y48jw92n1qfszgw7dbhgl4mpn95lcr"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
everyone's screenshots nowadays.")
(license license:gpl3)))
+(define-public ufetch
+ (let ((commit "98b622023e03fe24dbc137e9a68104dfe1fbd04a")
+ (revision "1"))
+ (package
+ (name "ufetch")
+ (version (git-version "0.2" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/jschx/ufetch.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "09c4zmikza16xpydinnqbi3hmcibfrrn10wij7j0j1wv1pj2sl2l"))))
+ (build-system trivial-build-system)
+ (inputs
+ `(("bash" ,bash)
+ ("tput" ,ncurses)))
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder
+ (begin
+ (use-modules (guix build utils))
+ (let* ((source (assoc-ref %build-inputs "source"))
+ (output (assoc-ref %outputs "out"))
+ (bindir (string-append output "/bin"))
+ (docdir (string-append output "/share/doc/ufetch-" ,version))
+ (tput (string-append (assoc-ref %build-inputs "tput") "/bin/tput")))
+ (install-file (string-append source "/LICENSE") docdir)
+ (setenv "PATH" (string-append (assoc-ref %build-inputs "bash") "/bin"))
+ (mkdir-p bindir)
+ (for-each (lambda (src)
+ (let ((dst (string-append bindir "/" (basename src))))
+ (copy-file src dst)
+ (patch-shebang dst)
+ (substitute* dst (("tput") tput))))
+ (find-files source "ufetch-[[:alpha:]]*$"))
+ ;; Note: the `ufetch` we create below will only work if run under
+ ;; the Guix System. I.e. a user trying to run `ufetch` on a
+ ;; foreign distro will not get great results. The `screenfetch`
+ ;; program does actual runtime detection of the operating system,
+ ;; and would be a better choice in such a situation.
+ (symlink "ufetch-guix" (string-append bindir "/ufetch"))))))
+ (home-page "https://gitlab.com/jschx/ufetch")
+ (synopsis "Tiny system info")
+ (description "This package provides a tiny system info utility.")
+ (license license:isc))))
+
+(define-public pfetch
+ (let ((commit "e18a0959ab98b963744755ec4687e59dc11db3c5")
+ (revision "0"))
+ (package
+ (name "pfetch")
+ (version (git-version "0.7.0" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/dylanaraps/pfetch")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1md40av6i3xvvwig5jzhy4kf3s5sgxxk35r0vcyrjd8qyndk927l"))))
+ (build-system trivial-build-system)
+ (inputs `(("bash" ,bash)))
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder
+ (begin
+ (use-modules (guix build utils))
+ (let* ((source (lambda (f)
+ (string-append (assoc-ref %build-inputs "source") "/" f)))
+ (output (assoc-ref %outputs "out"))
+ (docdir (string-append output "/share/doc/pfetch-" ,version)))
+ (install-file (source "LICENSE.md") docdir)
+ (install-file (source "README.md") docdir)
+ (install-file (source "pfetch") (string-append output "/bin"))
+ (patch-shebang
+ (string-append output "/bin/pfetch")
+ (list (string-append (assoc-ref %build-inputs "bash") "/bin")))
+ #t))))
+ (home-page "https://github.com/dylanaraps/pfetch")
+ (synopsis "System information tool")
+ (description "This package provides a simple, configurable system
+information tool.")
+ (license license:expat))))
+
(define-public nnn
(package
(name "nnn")
- (version "2.6")
+ (version "3.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/jarun/nnn/releases/download/v"
version "/nnn-v" version ".tar.gz"))
(sha256
- (base32 "0xb6crd9vig3xgjwl8m4bmgcs4azfmfdpx3g8pdpzs28jdg7i3rr"))))
+ (base32 "1zflz7yj5wzdnl0728g8qrld2z6dqn7sblbmkjvyqlv1fwjd1fsf"))))
(build-system gnu-build-system)
(inputs
`(("ncurses" ,ncurses)
(define-public thermald
(package
(name "thermald")
- (version "1.8")
+ (version "1.9.1")
(source
(origin
(method git-fetch)
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1g1l7k8yxj8bl1ysdx8v6anv1s7xk9j072y44gwki70dy48n7j92"))
- (patches
- (search-patches "thermald-make-int-max32-visible.patch"))))
+ (base32 "0iagc3jqpnh6q2fa1gx4wx6r8qg0556j60xr159zqg95djr4dv99"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
version "/launchmon-v" version ".tar.gz"))
(sha256
(base32
- "0fm3nd9mydm9v2bf7bh01dbgrfnpwkapxa3dsvy3x1z0rz61qc0x"))))
+ "0fm3nd9mydm9v2bf7bh01dbgrfnpwkapxa3dsvy3x1z0rz61qc0x"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; Fix build failure with GCC 7 due to a conversion error.
+ ;; Remove for versions > 1.0.2.
+ (substitute* "launchmon/src/linux/lmon_api/lmon_coloc_spawner.cxx"
+ ((" lmonpl = '\\\\0'")
+ " *lmonpl = '\\0'"))
+ #t))))
(build-system gnu-build-system)
(inputs
`(("mpi" ,openmpi)
(let ((real-name "inxi"))
(package
(name "inxi-minimal")
- (version "3.0.34-1")
+ (version "3.1.04-1")
(source
(origin
(method git-fetch)
(commit version)))
(file-name (git-file-name real-name version))
(sha256
- (base32 "0x2s40lwsan2pk292nspjgyw00f9f5fdfmwfvl50924pxhyxn2fh"))))
+ (base32 "1mirnrrqfjyl2r7fwnpjlk37i5hf8f7lxv2yxcbdfjf2b3dfbpvl"))))
(build-system trivial-build-system)
(inputs
`(("bash" ,bash-minimal)
(define-public pscircle
(package
(name "pscircle")
- (version "1.3.0")
+ (version "1.3.1")
(source
(origin
(method git-fetch)
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32
- "0qsif00dkqa8ky3vl2ycx5anx2yk62nrv47f5lrlqzclz91f00fx"))))
+ (base32 "1sm99423hh90kr4wdjqi9sdrrpk65j2vz2hzj65zcxfxyr6khjci"))))
(build-system meson-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
(define-public python-pyudev
(package
(name "python-pyudev")
- (version "0.21.0")
+ (version "0.22.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pyudev" version))
(sha256
(base32
- "0arz0dqp75sszsmgm6vhg92n1lsx91ihddx3m944f4ah0487ljq9"))))
+ "0xmj6l08iih2js9skjqpv4w7y0dhxyg91zmrs6v5aa65gbmipfv9"))))
(build-system python-build-system)
(arguments
`(#:tests? #f ; Tests require /sys
("python-mock" ,python-mock)
("python-pytest" ,python-pytest)
("python-sphinx" ,python-sphinx)))
- (home-page "http://pyudev.readthedocs.org/")
+ (home-page "https://pyudev.readthedocs.io/")
(synopsis "Python udev binding")
(description "This package provides @code{udev} bindings for Python.")
(license license:lgpl2.1)))
(("'--prefix' in sys\\.argv")
"len([x.startswith('--prefix=') for x in sys.argv]) > 0"))
#t))
- (replace 'build
- (lambda _
- (invoke "python" "setup.py" "build")))
- (add-before 'check 'setenv-PATH
+ (add-before 'build 'setenv-PATH
(lambda _
(setenv "PYTHONPATH" (string-append "lib:" (getenv "PYTHONPATH")))
#t)))))
filter logic in the same fashion as more common packet sniffing tools, such as
tcpdump and snoop.")
(license license:bsd-3)))
+
+(define-public pam-mount
+ (package
+ (name "pam-mount")
+ (version "2.16")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/pam-mount/pam_mount/"
+ version "/pam_mount-" version ".tar.xz"))
+ (sha256
+ (base32
+ "1rvi4irb7ylsbhvx1cr6islm2xxw1a4b19q6z4a9864ndkm0f0mf"))
+ (patches
+ ;; Patch adding support for encrypted volumes in LUKS2 format.
+ ;; It comes from the Gentoo package definition for sys-auth/pam_mount.
+ (search-patches "pam-mount-luks2-support.patch"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("perl" ,perl)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("cryptsetup" ,cryptsetup)
+ ("libhx" ,libhx)
+ ("libxml2" ,libxml2)
+ ("linux-pam" ,linux-pam)
+ ("lvm2" ,lvm2)
+ ("openssl" ,openssl)
+ ("pcre" ,pcre)
+ ("libmount" ,util-linux "lib")
+ ("util-linux" ,util-linux)))
+ (arguments
+ `(#:configure-flags
+ (list (string-append "--with-slibdir=" %output "/lib")
+ (string-append "--with-ssbindir=" %output "/sbin"))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-program-paths
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((util-linux (assoc-ref inputs "util-linux"))
+ (out (assoc-ref outputs "out")))
+ (substitute* "src/mtcrypt.c"
+ (("\"mount\";")
+ (string-append "\"" util-linux "/bin/mount\";"))
+ (("\"umount\";")
+ (string-append "\"" util-linux "/bin/umount\";"))
+ (("\"fsck\",")
+ (string-append "\"" util-linux "/sbin/fsck\",")))
+ (substitute* "src/rdconf1.c"
+ (("\"mount\", \"")
+ (string-append "\"" util-linux "/bin/mount\", \""))
+ (("\"umount\", \"")
+ (string-append "\"" util-linux "/bin/umount\", \""))
+ (("\"fsck\", \"")
+ (string-append "\"" util-linux "/sbin/fsck\", \""))
+ (("\"pmvarrun\", \"")
+ (string-append "\"" out "/sbin/pmvarrun\", \""))))
+ #t)))))
+ (home-page "http://pam-mount.sourceforge.net")
+ (synopsis "PAM module to mount volumes for a user session")
+ (description
+ "Pam-mount is a PAM module that can mount volumes when a user logs in.
+It supports mounting local filesystems of any kind the normal mount utility
+supports. It can also mount encrypted LUKS volumes using the password
+supplied by the user when logging in.")
+ (license (list license:gpl2+ license:lgpl2.1+))))
+
+(define-public jc
+ (package
+ (name "jc")
+ (version "1.11.8")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/kellyjonbrazil/jc.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0rkckbgm04ql4r48wjgljfiqvsz36n99yqcpcyna8lvlm8h4nmwa"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-ruamel.yaml" ,python-ruamel.yaml)
+ ("python-xmltodict" ,python-xmltodict)
+ ("python-pygments" ,python-pygments)))
+ (home-page "https://github.com/kellyjonbrazil/jc")
+ (synopsis "Convert the output of command-line tools to JSON")
+ (description "@code{jc} JSONifies the output of many CLI tools and
+file-types for easier parsing in scripts.")
+ (license license:expat)))
+
+(define-public jtbl
+ (package
+ (name "jtbl")
+ (version "1.1.6")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/kellyjonbrazil/jtbl.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1zzd7rd63xva50f22d1rfja4r302aizrafarhwm67vv181swvdya"))))
+ (build-system python-build-system)
+ (inputs
+ `(("python-tabulate" ,python-tabulate)))
+ (home-page "https://github.com/kellyjonbrazil/jtbl")
+ (synopsis "Command-line tool to print JSON data as a table in the terminal")
+ (description "@code{jtbl} accepts piped JSON data from stdin and outputs a
+text table representation to stdout.")
+ (license license:expat)))
+
+(define-public hosts
+ (package
+ (name "hosts")
+ (version "3.6.3")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/xwmx/hosts.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1ni4z89kxzgwm26hhx908g04f2h0fypy7lgfa0rvsz8d0wslgcsn"))))
+ (build-system trivial-build-system)
+ (inputs
+ `(("bats" ,bats) ;for test
+ ("awk" ,gawk)
+ ("bash" ,bash)
+ ("coreutils" ,coreutils)
+ ("diffutils" ,diffutils)
+ ("grep" ,grep)
+ ("ncurses" ,ncurses) ;tput
+ ("sed" ,sed)))
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder
+ (begin
+ (use-modules (guix build utils))
+ ;; copy source
+ (copy-recursively (assoc-ref %build-inputs "source") ".")
+ ;; patch-shebang phase
+ (setenv "PATH"
+ (string-append (assoc-ref %build-inputs "bash") "/bin"
+ ":" (assoc-ref %build-inputs "awk") "/bin"
+ ":" (assoc-ref %build-inputs "coreutils") "/bin"
+ ":" (assoc-ref %build-inputs "diffutils") "/bin"
+ ":" (assoc-ref %build-inputs "grep") "/bin"
+ ":" (assoc-ref %build-inputs "ncurses") "/bin"
+ ":" (assoc-ref %build-inputs "sed") "/bin"
+ ":" "/run/setuid-programs"
+ ":" (getenv "PATH")))
+ (substitute* "hosts"
+ (("#!/usr/bin/env bash")
+ (string-append "#!" (which "bash")
+ "\nPATH=" (getenv "PATH"))))
+ ;; check phase
+ (setenv "TERM" "linux") ;set to tty for test
+ (invoke (string-append (assoc-ref %build-inputs "bats") "/bin/bats")
+ "test")
+ ;; install phase
+ (install-file "hosts" (string-append %output "/bin"))
+ (let ((bash-completion
+ (string-append %output "/etc/bash_completion.d")))
+ (mkdir-p bash-completion)
+ (copy-file "etc/hosts-completion.bash"
+ (string-append bash-completion "/hosts")))
+ (let ((zsh-completion
+ (string-append %output "/share/zsh/site-functions")))
+ (mkdir-p zsh-completion)
+ (copy-file "etc/hosts-completion.zsh"
+ (string-append zsh-completion "/_hosts")))
+ (let ((doc (string-append %output "/share/doc/" ,name "-" ,version)))
+ (mkdir-p doc)
+ (install-file "LICENSE" doc)
+ (install-file "README.md" doc))
+ #t)))
+ (home-page "https://github.com/xwmx/hosts/")
+ (synopsis "Script for editing a foreign distro's @file{/etc/hosts} file")
+ (description "Hosts is a command line program for managing
+@file{/etc/hosts} entries. On Guix System, @file{/etc/hosts} is managed from
+the system configuration; hosts only works when using the Guix package manager
+on a foreign distro. @command{hosts} works with existing hosts files and
+entries, providing commands to add, remove, comment, and search.")
+ (license license:expat)))