diff options
Diffstat (limited to 'gnu/packages/admin.scm')
-rw-r--r-- | gnu/packages/admin.scm | 1115 |
1 files changed, 622 insertions, 493 deletions
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 93a1d354c4..ed66e358ea 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com> ;;; Copyright © 2014, 2015, 2016, 2018, 2019, 2020 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2020, 2021 Eric Bavier <bavier@posteo.net> @@ -9,7 +9,7 @@ ;;; Copyright © 2016, 2017, 2020 Leo Famulari <leo@famulari.name> ;;; Copyright © 2016 Pjotr Prins <pjotr.guix@thebird.nl> ;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net> -;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021, 2022 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 Nikita <nikita@n0.is> @@ -35,6 +35,7 @@ ;;; Copyright © 2020, 2021 Michael Rohleder <mike@rohleder.de> ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; Copyright © 2020 Morgan Smith <Morgan.J.Smith@outlook.com> +;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2021 Zheng Junjie <873216071@qq.com> ;;; Copyright © 2021 Stefan Reichör <stefan@xsteve.at> ;;; Copyright © 2021 qblade <qblade@protonmail.com> @@ -44,6 +45,8 @@ ;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re> ;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> +;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com> +;;; Copyright © 2021 Artyom V. Poptsov <poptsov.artyom@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -73,6 +76,7 @@ #:use-module (guix build-system trivial) #:use-module (guix download) #:use-module (guix git-download) + #:use-module (guix gexp) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix utils) @@ -116,6 +120,7 @@ #:use-module (gnu packages libusb) #:use-module (gnu packages linux) #:use-module (gnu packages lua) + #:use-module (gnu packages m4) #:use-module (gnu packages mail) #:use-module (gnu packages man) #:use-module (gnu packages mcrypt) @@ -128,6 +133,7 @@ #:use-module (gnu packages perl) #:use-module (gnu packages perl-check) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages polkit) #:use-module (gnu packages popt) #:use-module (gnu packages python) #:use-module (gnu packages python-crypto) @@ -177,13 +183,9 @@ "supath=/run/setuid-programs/su")) #t))))) (native-inputs - `(("autoconf" ,autoconf) - ("automake" ,automake) - ("libtool" ,libtool) - ("pkg-config" ,pkg-config))) + (list autoconf automake libtool pkg-config)) (inputs - `(("glib" ,glib) - ("gtk+" ,gtk+-2))) + (list glib gtk+-2)) (synopsis "Graphical front end for @command{su}") (description "Ktsuss stands for ``Keep the @command{su} simple, stupid''. @@ -205,16 +207,15 @@ simplicity in mind.") (base32 "15xp47sz7kk1ciffw3f5xw2jg2mb2lqrbr3q6p4bkbz5dap9iy8p")))) (build-system gnu-build-system) (native-inputs - `(("bison" ,bison) - ("flex" ,flex))) + (list bison flex)) (inputs - `(("libgcrypt" ,libgcrypt) - ("libgpg-error" ,libgpg-error) - ("libmhash" ,libmhash) - ("pcre:static" ,pcre "static") - ("pcre" ,pcre) - ("zlib:static" ,zlib "static") - ("zlib" ,zlib))) + (list libgcrypt + libgpg-error + libmhash + `(,pcre "static") + pcre + `(,zlib "static") + zlib)) (synopsis "File and directory integrity checker") (description "AIDE (Advanced Intrusion Detection Environment) is a file and directory @@ -241,10 +242,9 @@ usual file attributes can be checked for inconsistencies.") (file-name (git-file-name name version)))) (build-system gnu-build-system) (native-inputs - `(("pkg-config" ,pkg-config) - ("which" ,which))) + (list pkg-config which)) (inputs - `(("ncurses" ,ncurses))) + (list ncurses)) (arguments `(#:tests? #f ; no test suite #:make-flags @@ -276,23 +276,28 @@ and provides a \"top-like\" mode (monitoring).") version ".tar.gz")) (sha256 (base32 - "0x9zr0x3xvk4qkb6jnda451d5iyrl06cz1bjzjsm0lxvjj3fabyk")))) + "0x9zr0x3xvk4qkb6jnda451d5iyrl06cz1bjzjsm0lxvjj3fabyk")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Build with -O1 to work around <https://bugs.gnu.org/48368>. + (substitute* "Makefile.in" + (("compile --target") + "compile -O1 --target")))))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--localstatedir=/var") #:make-flags '("GUILE_AUTO_COMPILE=0"))) (native-inputs - `(("pkg-config" ,pkg-config) - - ;; This is the Guile we use as a cross-compiler... - ("guile" ,guile-3.0))) + (list pkg-config + ;; This is the Guile we use as a cross-compiler... + guile-3.0)) (inputs ;; ... and this is the one that appears in shebangs when cross-compiling. - `(("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. - ("guile-readline" ,guile-readline))) + (list guile-3.0 + ;; The 'shepherd' command uses Readline when used interactively. It's + ;; an unusual use case though, so we don't propagate it. + guile-readline)) (synopsis "System service manager") (description "The GNU Shepherd is a daemon-managing daemon, meaning that it supervises @@ -307,25 +312,18 @@ interface and is based on GNU Guile.") (inherit shepherd) (name "guile2.2-shepherd") (native-inputs - `(("pkg-config" ,pkg-config) - ("guile" ,guile-2.2))) + (list pkg-config guile-2.2)) (inputs - `(("guile" ,guile-2.2) - ("guile2.2-readline" ,guile2.2-readline))))) - -(define-public guile3.0-shepherd - (deprecated-package "guile3.0-shepherd" shepherd)) + (list guile-2.2 guile2.2-readline)))) (define-public guile2.0-shepherd (package (inherit shepherd) (name "guile2.0-shepherd") (native-inputs - `(("help2man" ,help2man) - ("pkg-config" ,pkg-config) - ("guile" ,guile-2.0))) + (list help2man pkg-config guile-2.0)) (inputs - `(("guile" ,guile-2.0))) + (list guile-2.0)) (arguments `(#:phases (modify-phases %standard-phases @@ -402,8 +400,7 @@ inspired by @command{vi}.") ,(dirname (which "readlink")))))) #t))))) (inputs - `(("python" ,python) - ("util-linux" ,util-linux))) ; contains sfdisk for growpart + (list python util-linux)) ; contains sfdisk for growpart (home-page "https://launchpad.net/cloud-utils") (synopsis "Set of utilities for cloud computing environments") (description @@ -637,7 +634,7 @@ console.") (define-public htop (package (name "htop") - (version "3.1.0") + (version "3.1.2") (source (origin (method git-fetch) @@ -645,14 +642,13 @@ console.") (url "https://github.com/htop-dev/htop") (commit version))) (sha256 - (base32 "1ngvidaka6xbfb3l4zxmlksk2ms93fy3sb76w7917kjgn9mh53zz")) + (base32 "024qhrlmqgwmn6bwb5yiff9bhhdabryiphzx8y654k8r8vqi59j4")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (inputs - `(("ncurses" ,ncurses))) + (list ncurses)) (native-inputs - `(("autoconf" ,autoconf) - ("automake" ,automake))) + (list autoconf automake python-minimal-wrapper)) ; for scripts/MakeHeader.py (home-page "https://htop.dev") (synopsis "Interactive process viewer") (description @@ -687,19 +683,21 @@ memory, disks, network and processes.") (define-public bpytop (package (name "bpytop") - (version "1.0.67") + (version "1.0.68") (source (origin (method url-fetch) (uri (pypi-uri "bpytop" version)) (sha256 - (base32 "1fwmiwvs8ax9az3hbp1p79x6m3wq73pn3vkbhcg9jvps4wv8wcwb")))) + (base32 "1clvajbv7pzlya9s1xs6dvjic8rv3kx7aqiwnjxapiypx246gdjk")))) (build-system python-build-system) (inputs - `(("python-psutil" ,python-psutil))) + (list python-psutil)) (arguments `(#:phases (modify-phases %standard-phases + ;; sanity-check phase fail, but the application seems to be working + (delete 'sanity-check) (add-after 'install 'install-themes (lambda* (#:key outputs #:allow-other-keys) (let ((themes (string-append (assoc-ref outputs "out") @@ -720,7 +718,7 @@ memory, disks, network and processes. It's a Python port and continuation of (define-public pies (package (name "pies") - (version "1.6") + (version "1.7") (source (origin (method url-fetch) @@ -728,7 +726,7 @@ memory, disks, network and processes. It's a Python port and continuation of version ".tar.bz2")) (sha256 (base32 - "0ad5bg1czwmr4qw33aszxzc6ll99a9lfs32lyfb1wl5x9s1cc7az")))) + "0ajcah2y6n55qc0ckspcx0hfpm1yb2xa1apcyij7mclic4q2y330")))) (build-system gnu-build-system) (arguments '(#:phases (modify-phases %standard-phases @@ -739,8 +737,7 @@ memory, disks, network and processes. It's a Python port and continuation of (let ((bash (assoc-ref inputs "bash"))) (substitute* '("src/progman.c" "src/comp.c") (("\"/bin/sh\"") - (string-append "\"" bash "/bin/sh\""))) - #t)))))) + (string-append "\"" bash "/bin/sh\""))))))))) (home-page "https://www.gnu.org.ua/software/pies/") (synopsis "Program invocation and execution supervisor") (description @@ -753,15 +750,14 @@ re-executing them as necessary.") (define-public inetutils (package (name "inetutils") - (version "1.9.4") + (version "2.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/inetutils/inetutils-" version ".tar.gz")) - (patches (search-patches "inetutils-hurd.patch")) (sha256 (base32 - "05n65k4ixl85dc6rxc51b1b732gnmm8xnqi424dy9f1nz7ppb3xy")))) + "0j1nb69bhg29cm4xkqqjh2ln1zqcj2lnpm92v638lpwrs11dypxl")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--localstatedir=/var" @@ -782,10 +778,17 @@ re-executing them as necessary.") "--disable-uucpd" "--disable-whois") '())) + ;; Make sure that canonical "coreutils" package is not referred. + #:make-flags + (list (string-append "CPPFLAGS=-DPATHDEF_CP=\\\"" + (assoc-ref %build-inputs "coreutils*") + "/bin/cp\\\"")) ;; 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) + (inputs `(("coreutils*" ,coreutils) + ("shadow" ,shadow) ;for login (used in telnetd and rlogind) + ("ncurses" ,ncurses) ("readline" ,readline))) ;for 'ftp' (native-inputs (if (member (%current-system) (package-supported-systems net-tools)) @@ -802,16 +805,15 @@ hostname.") (define-public shadow (package (name "shadow") - (version "4.8.1") + (version "4.9") (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")) + "download/v" version "/shadow-" version ".tar.xz")) (sha256 (base32 - "0qmfq50sdhz6xilgxvinblll8j2iqfl7hwk45bq744y4plq4dbd3")))) + "0i4iijbshnwnsrskxzrh18xgmzff0hdpsnnkmyc2gdn1x4n1zv7y")))) (build-system gnu-build-system) (arguments `(;; Assume System V `setpgrp (void)', which is the default on GNU @@ -822,9 +824,16 @@ hostname.") '("--with-libpam")) "shadow_cv_logdir=/var/log" "ac_cv_func_setpgrp_void=yes") - #:phases (modify-phases %standard-phases + (add-after 'unpack 'fix-linking-to-pam + (lambda _ + ;; There's a build system problem in 4.9 that causes link + ;; failures with the pam libraries (see: + ;; https://github.com/shadow-maint/shadow/issues/407). + (substitute* "libsubid/Makefile.in" + (("\\$\\(LIBTCB\\)" all) + (string-append all " $(LIBPAM)"))))) ,@(if (%current-target-system) '((add-before 'configure 'set-runtime-shell (lambda* (#:key inputs #:allow-other-keys) @@ -845,8 +854,7 @@ hostname.") "libc")))) (substitute* "lib/nscd.c" (("/usr/sbin/nscd") - (string-append libc "/sbin/nscd"))) - #t))) + (string-append libc "/sbin/nscd")))))) (add-after 'install 'remove-groups (lambda* (#:key outputs #:allow-other-keys) ;; Remove `groups', which is already provided by Coreutils. @@ -854,9 +862,7 @@ hostname.") (bin (string-append out "/bin")) (man (string-append out "/share/man"))) (delete-file (string-append bin "/groups")) - (for-each delete-file (find-files man "^groups\\.")) - #t)))))) - + (for-each delete-file (find-files man "^groups\\.")))))))) (inputs `(,@(if (hurd-target?) '() @@ -917,7 +923,7 @@ login, passwd, su, groupadd, and useradd.") (mkdir-p man8)) #t))) #:tests? #f)) ; no tests - (inputs `(("shadow" ,shadow))) + (inputs (list shadow)) (home-page "https://sourceforge.net/projects/mingetty") (synopsis "Getty for the text console") @@ -942,6 +948,11 @@ to allow automatic login and starting any app.") (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) + ;; This package consists solely of architecture-independent + ;; tables. Cross-compilation is pointless! Make sure we'll + ;; always get the same derivation. + #:target #f + #:allowed-references () #:builder (begin (use-modules (guix build utils) (srfi srfi-26)) @@ -961,8 +972,7 @@ to allow automatic login and starting any app.") (map (cut string-append etc "/" <>) '("services" "protocols" "rpc"))) #t)))) - (native-inputs `(("tar" ,tar) - ("xz" ,xz))) + (native-inputs (list tar xz)) (synopsis "IANA protocol, port, and RPC number assignments") (description "This package provides the /etc/services, /etc/protocols, and /etc/rpc @@ -1004,7 +1014,7 @@ would need and has several interesting built-in capabilities.") (define-public netcat-openbsd (package (name "netcat-openbsd") - (version "1.217-2") + (version "1.218-2") (source (origin (method git-fetch) (uri (git-reference @@ -1013,7 +1023,7 @@ would need and has several interesting built-in capabilities.") (file-name (git-file-name name version)) (sha256 (base32 - "19sr52ix14w344pv13ppb0c1wyg5dxhic1fw2q0s3qfmx57b9hhp")))) + "1rj4nx0jdism1idc4fghahqbafhv72cpk7zlyq9czgvbps10d1kh")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no test suite @@ -1025,8 +1035,7 @@ would need and has several interesting built-in capabilities.") (add-before 'build 'patch (lambda _ (setenv "QUILT_PATCHES" "debian/patches") - (invoke "quilt" "push" "-a") - #t)) + (invoke "quilt" "push" "-a"))) (replace 'install (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -1037,11 +1046,9 @@ would need and has several interesting built-in capabilities.") (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))) + (copy-recursively "debian/examples" examples))))))) + (inputs (list libbsd)) + (native-inputs (list pkg-config quilt)) (home-page "https://packages.debian.org/sid/netcat-openbsd") (synopsis "Read and write data over TCP/IP") (description @@ -1123,7 +1130,7 @@ recursive runs on the generated subnets. (also IPv6) (let ((out (assoc-ref outputs "out"))) (install-file "prips" (string-append out "/bin")))))))) - (native-inputs `(("perl-test-harness" ,perl-test-harness))) + (native-inputs (list perl-test-harness)) (synopsis "Tool that prints the IP addresses in a given range") (description "Prips can be used to print all of the IP addresses in a given range. This allows the enhancement of tools only work @@ -1134,18 +1141,21 @@ recursive runs on the generated subnets. (also IPv6) (define-public alive (package (name "alive") - (version "2.0.3") + (version "2.0.5") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/alive/alive-" - version ".tar.xz")) + version ".tar.lz")) (sha256 (base32 - "053hfp7s66lnilm1ii4jrjmy44wpa2cwwh6f0sl8cyz0mm813x4b")))) + "12ahlxbbrynm6md8qc872qr795lqpfkr8kwlsig40i4nznzkvkwl")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("alive_cv_nice_ping=yes"))) - (inputs `(("guile" ,guile-2.0) - ("inetutils" ,inetutils))) + (inputs + (list guile-3.0 + inetutils)) + (native-inputs + (list lzip)) (home-page "https://www.gnu.org/software/alive/") (synopsis "Autologin and keep-alive daemon") (description @@ -1156,7 +1166,7 @@ connection alive.") (define-public isc-dhcp (let* ((bind-major-version "9") (bind-minor-version "11") - (bind-patch-version "32") + (bind-patch-version "36") (bind-release-type "") ; for patch release, use "-P" (bind-release-version "") ; for patch release, e.g. "6" (bind-version (string-append bind-major-version @@ -1199,8 +1209,7 @@ connection alive.") (("^RELEASETYPE=.*") (format #f "RELEASETYPE=~a\n" ,bind-release-type)) (("^RELEASEVER=.*") - (format #f "RELEASEVER=~a\n" ,bind-release-version))) - #t)) + (format #f "RELEASEVER=~a\n" ,bind-release-version))))) ,@(if (%current-target-system) '((add-before 'configure 'fix-bind-cross-compilation (lambda _ @@ -1209,8 +1218,7 @@ connection alive.") "--host=$host_alias")) ;; BIND needs a native compiler because the DHCP ;; build system uses the built 'gen' executable. - (setenv "BUILD_CC" "gcc") - #t))) + (setenv "BUILD_CC" "gcc")))) '()) (add-after 'configure 'post-configure (lambda* (#:key outputs #:allow-other-keys) @@ -1248,11 +1256,7 @@ connection alive.") "--owner=root:0" "--group=root:0"))))) (add-after 'install 'post-install - ;; TODO(core-updates): native-inputs isn't required anymore. - (lambda* (#:key ,@(if (%current-target-system) - '(native-inputs) - '()) - inputs outputs #:allow-other-keys) + (lambda* (#:key inputs outputs #:allow-other-keys) ;; Install the dhclient script for GNU/Linux and make sure ;; if finds all the programs it needs. (let* ((out (assoc-ref outputs "out")) @@ -1263,8 +1267,7 @@ connection alive.") (sed (assoc-ref inputs "sed*"))) (substitute* "client/scripts/linux" (("/sbin/ip") - (string-append (assoc-ref inputs "iproute") - "/sbin/ip"))) + (search-input-file inputs "/sbin/ip"))) (mkdir-p libexec) (copy-file "client/scripts/linux" @@ -1276,32 +1279,13 @@ connection alive.") ,(map (lambda (dir) (string-append dir "/bin:" dir "/sbin")) - (list inetutils net-tools coreutils sed)))) - ;; TODO(core-updates): should not be required anymore, - ;; once <https://issues.guix.gnu.org/49290> has been merged. - ,@(if (%current-target-system) - '((for-each - (lambda (file) - (substitute* file - (((assoc-ref native-inputs "bash")) - (assoc-ref inputs "bash")))) - (list (string-append libexec - "/dhclient-script") - (string-append libexec - "/.dhclient-script-real")))) - '()) - #t)))))) + (list inetutils net-tools coreutils sed)))))))))) (native-inputs - `(("perl" ,perl) - ("file" ,file))) + (list perl file)) (inputs `(("inetutils" ,inetutils) - ;; TODO(core-updates): simply make this unconditional - ,@(if (%current-target-system) - ;; for wrap-program - `(("bash" ,(canonical-package bash-minimal))) - '()) + ("bash" ,(canonical-package bash-minimal)) ;for wrap-program ,@(if (hurd-target?) '() `(("net-tools" ,net-tools) ("iproute" ,iproute))) @@ -1316,7 +1300,7 @@ connection alive.") "/bind-" bind-version ".tar.gz")) (sha256 (base32 - "0hhkb4d14hvly2751cxl2s2xyim3bri8qaisgkcm456xfi5wpy6b")))) + "108nh7hha4r0lb5hf1fn7lqaascvhsrghpz6afm5lf9vf2vgqly9")))) ("coreutils*" ,coreutils) ("sed*" ,sed))) @@ -1345,12 +1329,12 @@ tools: server, client, and relay agent.") (base32 "1df827m3vkjq2bcs5y9wg2cygvpdwl8ppl446qqhyym584gz54nl")))) (build-system gnu-build-system) (native-inputs - `(("autoconf" ,autoconf) - ("automake" ,automake) - ("bison" ,bison) - ("check" ,check) - ("flex" ,flex) - ("pkg-config" ,pkg-config))) + (list autoconf + automake + bison + check + flex + pkg-config)) (arguments `(#:configure-flags '("--with-check"))) (home-page "https://radvd.litech.org/") @@ -1375,8 +1359,7 @@ message. These messages are required for IPv6 stateless autoconfiguration.") "1m5x26vlbymp90k1qh0w3nj2nxzyvfrmfmwpj17k81dgri55ya7d")))) (build-system gnu-build-system) (native-inputs - `(("bison" ,bison) - ("flex" ,flex))) + (list bison flex)) (arguments ;; There are some tests in testprogs/, but no automated test suite. `(#:tests? #f @@ -1410,9 +1393,8 @@ network statistics collection, security monitoring, network debugging, etc.") (base32 "1ghfs5gifzrk3813zf9zalfbjs70wg6llz6q31k180r7zf2nkcvr")))) (build-system gnu-build-system) - (inputs `(("libpcap" ,libpcap) - ("openssl" ,openssl))) - (native-inputs `(("perl" ,perl))) ; for tests + (inputs (list libpcap openssl)) + (native-inputs (list perl)) ; for tests (home-page "https://www.tcpdump.org/") (synopsis "Network packet analyzer") (description @@ -1435,11 +1417,9 @@ through the network interface controller.") "1855np7c4b0bqzhf1l1dyzxb90fpnvrirdisajhci5am6als31z9")))) (build-system gnu-build-system) (native-inputs - `(("pkg-config" ,pkg-config))) + (list pkg-config)) (inputs - `(("glib" ,glib) - ("ncurses" ,ncurses) - ("libpcap" ,libpcap))) + (list glib ncurses libpcap)) (home-page "https://web.archive.org/web/20160703195221/http://jnettop.kubs.info/wiki/") (synopsis "Visualize network traffic by bandwidth use") @@ -1508,26 +1488,26 @@ by bandwidth they use.") (find-files "." ".*"))) #t)))))) (native-inputs - `(("perl-cpan-changes" ,perl-cpan-changes) - ("perl-file-slurp" ,perl-file-slurp) - ("perl-file-which" ,perl-file-which) - ("perl-module-build" ,perl-module-build) - ("perl-readonly" ,perl-readonly) - ("perl-test-differences" ,perl-test-differences) - ("perl-test-distmanifest" ,perl-test-distmanifest) - ("perl-test-perltidy" ,perl-test-perltidy) - ("perl-test-pod" ,perl-test-pod) - ("perl-test-pod-coverage" ,perl-test-pod-coverage) - ("perl-test-trap" ,perl-test-trap) - ("perltidy" ,perltidy))) + (list perl-cpan-changes + perl-file-slurp + perl-file-which + perl-module-build + perl-readonly + perl-test-differences + perl-test-distmanifest + perl-test-perltidy + perl-test-pod + perl-test-pod-coverage + perl-test-trap + perltidy)) (inputs - `(("perl-exception-class" ,perl-exception-class) - ("perl-sort-naturally" ,perl-sort-naturally) - ("perl-tk" ,perl-tk) - ("perl-try-tiny" ,perl-try-tiny) - ("perl-x11-protocol" ,perl-x11-protocol) - ("perl-x11-protocol-other" ,perl-x11-protocol-other) - ("xterm" ,xterm))) + (list perl-exception-class + perl-sort-naturally + perl-tk + perl-try-tiny + perl-x11-protocol + perl-x11-protocol-other + xterm)) ;; The clusterssh.sourceforge.net address requires login to view (home-page "https://sourceforge.net/projects/clusterssh/") (synopsis "Secure concurrent multi-server terminal control") @@ -1537,6 +1517,53 @@ console window to allow commands to be interactively run on multiple servers over ssh connections.") (license license:gpl2+))) +(define-public realmd + (package + (name "realmd") + (version "0.17.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/freedesktop/realmd") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1c6q2a86kk2f1akzc36nh52hfwsmmc0mbp6ayyjxj4zsyk9zx5bf")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags '("--with-systemd-unit-dir=no" + "--with-systemd-journal=no" + "--with-distro=GNU guix" + "--disable-doc") + #:phases + (modify-phases %standard-phases + (add-before 'install 'fix-service + (lambda* (#:key outputs #:allow-other-keys) + ;; GNU Guix does not have service config file, therefore we remove + ;; the line that copies the file. + (substitute* "Makefile" + ((".*/service/realmd-.*") ""))))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("glib-bin" ,glib "bin") + ("intltool" ,intltool) + ("pkg-config" ,pkg-config) + ("python" ,python))) + (inputs + (list glib mit-krb5 openldap polkit)) + (synopsis "DBus service for network authentication") + (description "This package provides an on demand system DBus service. +It allows callers to configure network authentication and domain membership +in a standard way. Realmd discovers information about the domain or realm +automatically and does not require complicated configuration in order to join +a domain or realm. Dbus system service that manages discovery and enrollment in +realms/domains like Active Directory or IPA.") + (home-page "https://www.freedesktop.org/software/realmd/") + (license license:lgpl2.1+))) + (define-public rename (package (name "rename") @@ -1567,9 +1594,7 @@ over ssh connections.") (find-files "." ".*"))) #t)))))) (native-inputs - `(("perl-module-build" ,perl-module-build) - ("perl-test-pod" ,perl-test-pod) - ("perl-test-pod-coverage" ,perl-test-pod-coverage))) + (list perl-module-build perl-test-pod perl-test-pod-coverage)) (home-page "https://metacpan.org/pod/distribution/File-Rename/rename.PL") (synopsis "Perl extension for renaming multiple files") (description @@ -1615,8 +1640,7 @@ at once based on a Perl regular expression.") (lambda* (#:key inputs #:allow-other-keys) (substitute* "rc/rc" (("/usr/sbin/sendmail") - (string-append (assoc-ref inputs "mailutils") - "/bin/mail"))) + (search-input-file inputs "/bin/mail"))) #t)) (add-after 'unpack 'fix-configure (lambda* (#:key inputs native-inputs #:allow-other-keys) @@ -1652,9 +1676,7 @@ at once based on a Perl regular expression.") (add-after 'install 'install-info (lambda _ (invoke "make" "install-info")))))) - (native-inputs `(("texinfo" ,texinfo) - ("automake" ,automake) - ("util-linux" ,util-linux))) ; for 'cal' + (native-inputs (list texinfo automake util-linux)) ; for 'cal' (inputs `(("coreutils*" ,coreutils) ("mailutils" ,mailutils))) (home-page "https://www.gnu.org/software/rottlog/") @@ -1743,10 +1765,7 @@ system administrator.") ;; the chroot's /etc/passwd doesn't have it. Turn off the tests. #:tests? #f)) (native-inputs - ;; XXX TODO: Remove on next rebuild cycle. - (if (hurd-target?) - '() - `(("groff" ,groff)))) + (list groff)) (inputs `(("coreutils" ,coreutils) ,@(if (hurd-target?) @@ -1810,7 +1829,7 @@ commands and their arguments.") (list (string-append "CC=" ,(cc-for-target))) #:tests? #f)) ; no test suite (native-inputs - `(("bison" ,bison))) + (list 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 @@ -1822,7 +1841,7 @@ features of sudo with a fraction of the codebase.") (define-public wpa-supplicant-minimal (package (name "wpa-supplicant-minimal") - (version "2.9") + (version "2.10") (source (origin (method url-fetch) (uri (string-append @@ -1830,7 +1849,7 @@ features of sudo with a fraction of the codebase.") version ".tar.gz")) (sha256 (base32 - "05qzak1mssnxcgdrafifxh9w86a4ha69qabkg4bsigk499xyxggw")) + "0bvvw7bx149a57llzrwzlpggyym84f8jdd4abwsk0f2b2pjpmpr0")) (modules '((guix build utils))) (snippet '(begin @@ -1838,10 +1857,7 @@ features of sudo with a fraction of the codebase.") ;; Disable D-Bus to save ~14MiB on the closure size. (("^CONFIG_CTRL_IFACE_DBUS" line _) (string-append "#" line))) - #t)) - (patches - (search-patches "wpa-supplicant-CVE-2021-27803.patch" - "wpa-supplicant-CVE-2021-30004.patch")))) + #t)))) (build-system gnu-build-system) (arguments `(#:phases @@ -1905,11 +1921,9 @@ features of sudo with a fraction of the codebase.") "/lib")) #:tests? #f)) (inputs - `(("readline" ,readline) - ("libnl" ,libnl) - ("openssl" ,openssl))) + (list readline libnl openssl)) (native-inputs - `(("pkg-config" ,pkg-config))) + (list pkg-config)) (home-page "https://w1.fi/wpa_supplicant/") (synopsis "Connecting to WPA and WPA2-protected wireless networks") (description @@ -1930,8 +1944,8 @@ command.") (define-public wpa-supplicant (package (inherit wpa-supplicant-minimal) (name "wpa-supplicant") - (inputs `(("dbus" ,dbus) - ,@(package-inputs wpa-supplicant-minimal))) + (inputs (modify-inputs (package-inputs wpa-supplicant-minimal) + (prepend dbus))) (arguments (substitute-keyword-arguments (package-arguments wpa-supplicant-minimal) ((#:phases phases) @@ -1957,14 +1971,12 @@ command.") (package (inherit wpa-supplicant) (name "wpa-supplicant-gui") - (inputs `(("qtbase" ,qtbase-5) - ("qtsvg" ,qtsvg) - ,@(package-inputs wpa-supplicant))) + (inputs (modify-inputs (package-inputs wpa-supplicant) + (prepend qtbase-5 qtsvg))) (native-inputs ;; For icons. - `(("imagemagick" ,imagemagick) - ("inkscape" ,inkscape) - ,@(package-native-inputs wpa-supplicant))) + (modify-inputs (package-native-inputs wpa-supplicant) + (prepend imagemagick inkscape))) (arguments `(#:phases (modify-phases %standard-phases (add-after 'unpack 'chdir @@ -1998,69 +2010,55 @@ command.") (define-public hostapd (package (name "hostapd") - (version "2.9") + (version "2.10") (source (origin (method url-fetch) (uri (string-append "https://w1.fi/releases/hostapd-" version ".tar.gz")) (sha256 (base32 - "1mrbvg4v7vm7mknf0n29mf88k3s4a4qj6r4d51wq8hmjj1m7s7c8")) - (patches - (search-patches "wpa-supplicant-CVE-2021-27803.patch" - "wpa-supplicant-CVE-2021-30004.patch")))) + "0pcik0a6yin9nib02frjhaglmg44hwik086iwg1751b7kdwpqvi0")))) (build-system gnu-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (replace 'configure - (lambda _ - ;; This is mostly copied from 'wpa-supplicant' above. - (chdir "hostapd") - (copy-file "defconfig" ".config") - (let ((port (open-file ".config" "al"))) - (display " - CONFIG_LIBNL32=y - CONFIG_IEEE80211R=y - CONFIG_IEEE80211N=y - CONFIG_IEEE80211AC=y\n" port) - (close-port port)) - #t)) - (add-after 'unpack 'patch-pkg-config - (lambda _ - (substitute* "src/drivers/drivers.mak" - (("pkg-config") - (or (which "pkg-config") - (string-append ,(%current-target-system) - "-pkg-config")))) - #t)) - (add-after 'install 'install-man-pages - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (man (string-append out "/share/man")) - (man1 (string-append man "/man1")) - (man8 (string-append man "/man8"))) - (define (copy-man-page target) - (lambda (file) - (install-file file target))) - - (for-each (copy-man-page man1) - (find-files "." "\\.1")) - (for-each (copy-man-page man8) - (find-files "." "\\.8")) - #t)))) - - #:make-flags (list (string-append "CC=" ,(cc-for-target)) - (string-append "BINDIR=" (assoc-ref %outputs "out") - "/sbin") - (string-append "LIBDIR=" (assoc-ref %outputs "out") - "/lib")) - #:tests? #f)) - (native-inputs `(("pkg-config" ,pkg-config))) + (list #:phases + #~(modify-phases %standard-phases + (replace 'configure + (lambda _ + ;; This is mostly copied from 'wpa-supplicant' above. + (chdir "hostapd") + (copy-file "defconfig" ".config") + (let ((port (open-file ".config" "al"))) + (display "CONFIG_LIBNL32=y + CONFIG_IEEE80211R=y + CONFIG_IEEE80211N=y + CONFIG_IEEE80211AC=y\n" port) + (close-port port)))) + (add-after 'unpack 'patch-pkg-config + (lambda _ + (substitute* "src/drivers/drivers.mak" + (("pkg-config") + #$(pkg-config-for-target))))) + (add-after 'install 'install-man-pages + (lambda* (#:key outputs #:allow-other-keys) + (let* ((man (string-append #$output "/share/man")) + (man1 (string-append man "/man1")) + (man8 (string-append man "/man8"))) + (define (copy-man-page target) + (lambda (file) + (install-file file target))) + (for-each (copy-man-page man1) + (find-files "." "\\.1")) + (for-each (copy-man-page man8) + (find-files "." "\\.8")))))) + #:make-flags + #~(list (string-append "CC=" #$(cc-for-target)) + (string-append "BINDIR=" #$output "/sbin") + (string-append "LIBDIR=" #$output "/lib")) + #:tests? #f)) + (native-inputs (list pkg-config)) ;; There's an optional dependency on SQLite. - (inputs `(("openssl" ,openssl) - ("libnl" ,libnl))) + (inputs (list openssl libnl)) (home-page "https://w1.fi/hostapd/") (synopsis "Daemon for Wi-Fi access points and authentication servers") (description @@ -2145,7 +2143,7 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).") (define-public acpica (package (name "acpica") - (version "20210730") + (version "20211217") (source (origin (method url-fetch) (uri (string-append @@ -2153,10 +2151,9 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).") version ".tar.gz")) (sha256 (base32 - "02z0492vrpk001m7xcy72lp7sd968lja3wp6jn3q6k9nm46h4v7h")))) + "0521hmaw2zhi0mpgnaf2i83dykfgql4bx98cg7xqy8wmj649z194")))) (build-system gnu-build-system) - (native-inputs `(("flex" ,flex) - ("bison" ,bison))) + (native-inputs (list flex bison)) (arguments `(#:make-flags (list (string-append "PREFIX=" %output) (string-append "CC=" ,(cc-for-target)) @@ -2181,17 +2178,16 @@ development, not the kernel implementation of ACPI.") (define-public s-tui (package (name "s-tui") - (version "1.1.1") + (version "1.1.3") (source (origin (method url-fetch) (uri (pypi-uri "s-tui" version)) (sha256 - (base32 "1clk59wf6v1lq33h4x5qwxvz5ng9mfkp1s6ynxa58w2raq8dbmy5")))) + (base32 "1l2ik5iwmb8vxa2aqdy62zfy3zfzbpq5a0pgpka2vvlw9ivpqy5p")))) (build-system python-build-system) (inputs - `(("python-psutil" ,python-psutil) - ("python-urwid" ,python-urwid))) + (list python-psutil python-urwid)) (home-page "https://github.com/amanusk/s-tui") (synopsis "Interactive terminal stress test and monitoring tool") (description @@ -2202,15 +2198,17 @@ utilization, temperature and power.") (define-public stress (package (name "stress") - (version "1.0.4") + (version "1.0.5") (source (origin (method url-fetch) (uri (string-append "mirror://debian/pool/main/s/stress/stress_" version ".orig.tar.gz")) (sha256 (base32 - "0nw210jajk38m3y7h8s130ps2qsbz7j75wab07hi2r3hlz14yzh5")))) + "09shpd85g8dvpiw0mnwykss676g0s7lbi8ab37xjinb5lfff960p")))) (build-system gnu-build-system) + (native-inputs + (list autoconf automake)) (home-page "https://packages.debian.org/sid/stress") (synopsis "Impose load on and stress test a computer system") (description @@ -2225,6 +2223,74 @@ the classes of bugs which only or more frequently manifest themselves when the system is under heavy load.") (license license:gpl2+))) +(define-public stress-ng + (package + (name "stress-ng") + (version "0.13.10") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ColinIanKing/stress-ng") + (commit (string-append "V" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1z9vjn2131iv3pwrh04z6r5ygi1qgad5bi3jhghcvc3v1b4k5ran")))) + (build-system gnu-build-system) + (arguments + (list #:make-flags + #~(list (string-append "CC=" #$(cc-for-target)) + (string-append "BINDIR=" #$output "/bin") + ;; XXX Really: MAN1DIR, or man pages won't be found. + (string-append "MANDIR=" #$output "/share/man/man1") + (string-append "JOBDIR=" #$output + "/share/stress-ng/example-jobs") + (string-append "BASHDIR=" #$output + "/share/bash-completion/completions")) + #:test-target "lite-test" + #:phases + #~(modify-phases %standard-phases + (delete 'configure) ; no configure script + (add-after 'check 'check-a-little-harder + ;; XXX Guix supports only one #:test-target. Run more tests. + (lambda* (#:key tests? #:allow-other-keys #:rest args) + (when tests? + (substitute* "debian/tests/fast-test-all" + (("EXCLUDE=\"" exclude=) + (string-append exclude= + ;; Fails if host kernel denies ptracing. + "ptrace "))) + (apply (assoc-ref %standard-phases 'check) + `(,@args #:test-target "fast-test-all")))))))) + (inputs + (list keyutils + kmod + libaio + libbsd + libcap + libgcrypt + zlib)) + (home-page "https://github.com/ColinIanKing/stress-ng") + (synopsis "Load and stress-test a computer system in various ways") + (description + "stress-ng stress-tests a computer system by exercising both physical +subsystems as operating system kernel interfaces. It can stress the CPU, cache, +disk, memory, socket and pipe I/O, scheduling, and much more, in various +selectable ways. This can trip hardware issues such as thermal overruns as well +as operating system bugs that occur only when a system is being thrashed hard. + +You can also measure test throughput rates, which can be useful to observe +performance changes across different operating system releases or types of +hardware. However, stress-ng is not a benchmark. Use it with caution: some of +the tests can make poorly designed hardware run dangerously hot or make the +whole system lock up. + +Compared to its inspiration, @command{stress}, @command{stress-ng} offers many +additional options such as the number of bogo operations to run, execution +metrics, verification of memory and computational operations, and considerably +more stress mechanisms.") + (license license:gpl2+))) + (define-public detox (package (name "detox") @@ -2240,9 +2306,7 @@ system is under heavy load.") "116bgpbkh3c96h6vq0880rmnpb5kbnnlvvkpsrcib6928bj8lfvi")))) (build-system gnu-build-system) (native-inputs - `(("autoconf" ,autoconf) - ("automake" ,automake) - ("flex" ,flex))) + (list autoconf automake flex)) (arguments `(#:phases (modify-phases %standard-phases (add-after 'unpack 'delete-configure @@ -2276,14 +2340,14 @@ characters can be replaced as well, as can UTF-8 characters.") "1zlh44w67py416hkvw6nrfmjickc2d43v51vcli5p374d5sw84ql")))) (build-system gnu-build-system) (inputs - `(("ntfs-3g" ,ntfs-3g) - ("util-linux" ,util-linux "lib") - ("openssl" ,openssl) - ;; FIXME: add reiserfs. - ("zlib" ,zlib) - ("e2fsprogs" ,e2fsprogs) - ("libjpeg" ,libjpeg-turbo) - ("ncurses" ,ncurses))) + (list ntfs-3g + `(,util-linux "lib") + openssl + ;; FIXME: add reiserfs. + zlib + e2fsprogs + libjpeg-turbo + ncurses)) (home-page "https://www.cgsecurity.org/wiki/TestDisk") (synopsis "Data recovery tool") (description @@ -2294,20 +2358,24 @@ recover lost partitions and/or make non-booting disks bootable again.") (define-public tree (package (name "tree") - (version "1.8.0") + (version "2.0.1") (source (origin (method url-fetch) (uri (string-append "http://mama.indstate.edu/users/ice/tree/src/tree-" version ".tgz")) (sha256 - (base32 "1hmpz6k0mr6salv0nprvm1g0rdjva1kx03bdf1scw8a38d5mspbi")))) + (base32 "0f92vx6gpz7v29wi9clklzah57v7lgx5kv0m1w4b9xjc35d9qcz3")))) (build-system gnu-build-system) (arguments - '(#:phases (modify-phases %standard-phases (delete 'configure)) - #:tests? #f ; no check target - #:make-flags (let ((out (assoc-ref %outputs "out"))) - (list (string-append "prefix=" out))))) + (list + #:phases + #~(modify-phases %standard-phases + (delete 'configure)) ; No configure script. + #:tests? #f ; No check target. + #:make-flags + #~(list (string-append "PREFIX=" #$output) + (string-append "CC=" #$(cc-for-target))))) (synopsis "Recursively list the contents of a directory") (description "Tree is a recursive directory listing command that produces a depth @@ -2346,39 +2414,33 @@ features of ls(1), find(1), stat(1) and du(1).") (define-public direvent (package (name "direvent") - (version "5.2") + (version "5.3") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/direvent/direvent-" version ".tar.gz")) (sha256 (base32 - "0m9vi01b1km0cpknflyzsjnknbava0s1n6393b2bpjwyvb6j5613")) - (modules '((guix build utils))) - (snippet '(begin - (substitute* "tests/testsuite" - (("#![[:blank:]]?/bin/sh") - "#!$SHELL")) - #t)))) + "15y4jk5vlcd003bvf42c6z9zd4gz4pwqpwaapqmyk7x4gnksh1cl")))) (build-system gnu-build-system) (arguments - '(#:phases - (modify-phases %standard-phases - (add-before 'build 'patch-/bin/sh - (lambda* (#:key inputs #:allow-other-keys) - ;; Use the right shell when executing the watcher and - ;; user-provided shell commands. - (let ((bash (assoc-ref inputs "bash"))) - (substitute* '("src/direvent.c" "src/progman.c") - (("\"/bin/sh\"") - (string-append "\"" bash "/bin/sh\""))) - - ;; Adjust the 'shell.at' test accordingly. - (substitute* "tests/testsuite" - (("SHELL=/bin/sh") - (string-append "SHELL=" bash "/bin/sh"))) - - #t)))))) + (list #:phases + #~(modify-phases %standard-phases + (add-before 'build 'substitute-file-names + (lambda* (#:key inputs #:allow-other-keys) + ;; Use the right shell when executing the watcher and + ;; user-provided shell commands. + (let ((bash (assoc-ref inputs "bash"))) + (substitute* '("src/direvent.c" "src/progman.c") + (("\"/bin/sh\"") + (string-append "\"" bash "/bin/sh\"")))) + + ;; Adjust the test suite similarly. + (substitute* "tests/testsuite" + (("(SHELL=|#![[:space:]]*)/bin/sh" _ prefix) + (string-append prefix (which "sh"))) + (("/bin/kill") + (which "kill")))))))) (home-page "https://www.gnu.org.ua/software/direvent/") (synopsis "Daemon to monitor directories for events such as file removal") (description @@ -2432,7 +2494,7 @@ various ways that may be running with too much privilege.") (base32 "1mlc25sd5rgj5xmzcllci47inmfdw7cp185fday6hc9rwqkqmnaw")))) (build-system gnu-build-system) - (inputs `(("libcap-ng" ,libcap-ng))) + (inputs (list libcap-ng)) (home-page "https://www.smartmontools.org/") (synopsis "S.M.A.R.T. harddisk control and monitoring tools") (description @@ -2457,8 +2519,7 @@ degradation and failure.") (base32 "1g9p50xhi2sp0hqxml4w2k0kq9jv988q2yxm347z5349dlxvap6d")))) (build-system gnu-build-system) (inputs - `(("ncurses" ,ncurses) - ("pcre2" ,pcre2))) + (list ncurses pcre2)) (home-page "https://github.com/adrianlopezroche/fdupes") (synopsis "Identify duplicate files") (description @@ -2505,14 +2566,13 @@ of supported upstream metrics systems simultaneously.") (define-public ansible-core (package (name "ansible-core") - (version "2.11.4") + (version "2.11.6") (source (origin (method url-fetch) (uri (pypi-uri "ansible-core" version)) (sha256 - (base32 - "0jgahcv2pyc5ky0wir55a1h9q9d6rgqj60rqmvlpbj76vz1agsi2")))) + (base32 "0fih7nxszni8imi5sywsifd976v77ydhip43pzg7dd65qy1h5mck")))) (build-system python-build-system) (arguments `(#:modules ((guix build python-build-system) @@ -2552,7 +2612,7 @@ sys.argv[0] = re.sub(r'\\.([^/]*)-real$', r'\\1', sys.argv[0]) (lambda _ (substitute* "test/lib/ansible_test/_internal/ansible_util.py" (("PYTHONPATH=get_ansible_python_path\\(args\\)" all) - (string-append all "+ ':' + os.environ['PYTHONPATH']"))))) + (string-append all "+ ':' + os.environ['GUIX_PYTHONPATH']"))))) (add-after 'unpack 'patch-paths (lambda* (#:key inputs outputs #:allow-other-keys) (substitute* "lib/ansible/module_utils/compat/selinux.py" @@ -2589,27 +2649,24 @@ sys.argv[0] = re.sub(r'\\.([^/]*)-real$', r'\\1', sys.argv[0]) ;; devel/test/utils/shippable/shippable.sh. (invoke "ansible-test" "units" "-v"))))))) (native-inputs - `(("openssh" ,openssh) - ("openssl" ,openssl) - ("python-mock" ,python-mock) - ("python-pycrypto" ,python-pycrypto) - ("python-pytest" ,python-pytest) - ("python-pytest-forked" ,python-pytest-forked) - ("python-pytest-mock" ,python-pytest-mock) - ("python-pytest-xdist" ,python-pytest-xdist) - ("python-pytz" ,python-pytz))) + (list openssh + openssl + python-mock + python-pycrypto + python-pytest + python-pytest-forked + python-pytest-mock + python-pytest-xdist + python-pytz)) (inputs ;optional dependencies captured in wrap scripts - `(("libselinux" ,libselinux) - ("python-paramiko" ,python-paramiko) - ("python-passlib" ,python-passlib) - ("python-pexpect" ,python-pexpect) - ("sshpass" ,sshpass))) + (list libselinux python-paramiko python-passlib python-pexpect + sshpass)) (propagated-inputs ;core dependencies listed in egg-info/requires.txt - `(("python-cryptography" ,python-cryptography) - ("python-jinja2" ,python-jinja2) - ("python-pyyaml" ,python-pyyaml) - ("python-packaging" ,python-packaging) ;for version number parsing - ("python-resolvelib" ,python-resolvelib-0.5))) + (list python-cryptography + python-jinja2 + python-pyyaml + python-packaging ;for version number parsing + python-resolvelib-0.5)) (home-page "https://www.ansible.com/") (synopsis "Radically simple IT automation") (description "Ansible aims to be a radically simple IT automation system. @@ -2636,16 +2693,16 @@ provides the following commands: (define-public ansible (package (name "ansible") - (version "4.4.0") + (version "4.7.0") (source (origin (method url-fetch) (uri (pypi-uri "ansible" version)) (sha256 - (base32 "031n22j0lsmh69x6i6gkva81j68b4yzh1pbg3q2h4bknl85q46ag")))) + (base32 "0aab9id6dqfw2111r731c7y1p77dpzczynmgl4d989p3a7n54z0b")))) (build-system python-build-system) (propagated-inputs - `(("ansible-core" ,ansible-core))) + (list ansible-core)) ;; The Ansible collections are found by ansible-core via PYTHONPATH; the ;; following search path ensures that they are found even when Python is ;; not present in the profile. @@ -2655,7 +2712,7 @@ provides the following commands: ;; variable in the tests/cpan.scm test. (list (search-path-specification (variable "PYTHONPATH") - (files (list "lib/python3.8/site-packages"))))) + (files (list "lib/python3.9/site-packages"))))) (home-page "https://www.ansible.com/") (synopsis "Radically simple IT automation") (description "Ansible aims to be a radically simple IT automation system. @@ -2685,18 +2742,17 @@ modules and plugins that extend Ansible.") "debops-debops-defaults-fall-back-to-less.patch")))) (build-system python-build-system) (native-inputs - `(("git" ,git))) + (list git)) (inputs - `(("ansible" ,ansible) - ("encfs" ,encfs) - ("fuse" ,fuse) - ("util-linux" ,util-linux) ;; for umount - ("findutils" ,findutils) - ("gnupg" ,gnupg) - ("which" ,which))) + (list ansible + encfs + fuse + util-linux ;; for umount + findutils + gnupg + which)) (propagated-inputs - `(("python-future" ,python-future) - ("python-distro" ,python-distro))) + (list python-future python-distro)) (arguments `(#:tests? #f #:phases @@ -2847,8 +2903,7 @@ limits.") (base32 "1rgpsh70manr2dydna9da4x7p8ahii7dgdgwir5fka340n1wrcws")))) (build-system gnu-build-system) (native-inputs ; for tests - `(("python-mock" ,python-mock) - ("python-pytest" ,python-pytest))) + (list python-mock python-pytest)) (inputs `(("python" ,python-wrapper))) (arguments @@ -2921,8 +2976,10 @@ the command line.") "15sgkdyijb7vbxpxjavh5qm5nvyii3fqcg9mzvw7fx8s6zmfwczp")))) (build-system gnu-build-system) (inputs - `(("libpcap" ,libpcap) - ("ncurses" ,ncurses))) + (list libpcap ncurses)) + (arguments + ;; Fix build failure with GCC 10 + '(#:configure-flags '("CFLAGS=-O2 -g -fcommon"))) (synopsis "Monitor network usage") (description "Iftop does for network usage what @command{top} does for CPU usage. It listens to network traffic on a named interface and @@ -2953,8 +3010,7 @@ displays a table of current bandwidth usage by pairs of hosts.") "")) #t)))) (inputs - `(("openssl" ,openssl) - ("libgcrypt" ,libgcrypt))) + (list openssl libgcrypt)) (build-system gnu-build-system) (arguments '(#:configure-flags @@ -2996,41 +3052,39 @@ platform-specific methods.") (package (name "audit") (home-page "https://people.redhat.com/sgrubb/audit/") - (version "2.8.5") + (version "3.0.6") (source (origin (method url-fetch) (uri (string-append home-page "audit-" version ".tar.gz")) (sha256 (base32 - "1dzcwb2q78q7x41shcachn7f4aksxbxd470yk38zh03fch1l2p8f")))) + "0pnc9wzslks9p6kxw0llp1n8h8yg0frcxl3x84fl0hisa5vlvr63")))) (build-system gnu-build-system) (arguments `(#:configure-flags (list "--with-python=no" "--disable-static"))) (inputs - `(("openldap" ,openldap) - ("gnutls" ,gnutls) - ("sasl" ,cyrus-sasl))) + (list openldap gnutls cyrus-sasl)) (synopsis "User-space component to the Linux auditing system") (description - "auditd is the user-space component to the Linux auditing system, which -allows logging of system calls made by user-land processes. It's responsible -for writing audit records to the disk. Viewing the logs is done with the -@code{ausearch} or @code{aureport} utilities. Configuring the audit rules is -done with the @code{auditctl} utility.") + "This is the user-space component to the Linux auditing system, which +allows logging of system calls made by user-land processes. @command{auditd} is +responsible for writing audit records to the disk. Viewing the logs is done +with the @code{ausearch} or @code{aureport} utilities. Configuring the audit +rules is done with the @code{auditctl} utility.") (license license:gpl2+))) (define-public nmap (package (name "nmap") - (version "7.91") + (version "7.92") (source (origin (method url-fetch) (uri (string-append "https://nmap.org/dist/nmap-" version ".tar.bz2")) (sha256 (base32 - "001kb5xadqswyw966k2lqi6jr6zz605jpp9w4kmm272if184pk0q")) + "18bifn67kz2wxkbnfwcrin2xrhc6qf4p2bvxfqb2a2vbi8pryix5")) (modules '((guix build utils))) (snippet '(begin @@ -3041,8 +3095,7 @@ done with the @code{auditctl} utility.") "libpcap" "libpcre" ;; Remove pre-compiled binares. - "mswin32")) - #t)))) + "mswin32")))))) (build-system gnu-build-system) (inputs `(("openssl" ,openssl) @@ -3064,8 +3117,7 @@ done with the @code{auditctl} utility.") (lambda _ (substitute* "Makefile" ;; Do not attempt to build lua. - (("build-dnet build-lua") "build-dnet")) - #t)) + (("build-dnet build-lua") "build-dnet")))) (replace 'install (lambda* (#:key outputs #:allow-other-keys) (define (make out . args) @@ -3087,9 +3139,8 @@ done with the @code{auditctl} utility.") "install-nping") (make ndiff "install-ndiff") (wrap-program (string-append ndiff "/bin/ndiff") - `("PYTHONPATH" prefix - (,(python-path ndiff))))) - #t)) + `("GUIX_PYTHONPATH" prefix + (,(python-path ndiff))))))) ;; These are the tests that do not require network access. (replace 'check (lambda _ (invoke "make" @@ -3106,7 +3157,7 @@ tool. It is also useful for tasks such as network inventory, managing service upgrade schedules, and monitoring host or service uptime. It also provides an advanced netcat implementation (ncat), a utility for comparing scan results (ndiff), and a packet generation and response analysis tool (nping).") - ;; See <https://github.com/nmap/nmap/issues/2199#issuecomment-792048244>. + ;; See <https://github.com/nmap/nmap/issues/2199#issuecomment-894812634>. ;; This package uses nmap's bundled versions of libdnet and liblinear, which ;; both use a 3-clause BSD license. (license (list license:nmap license:bsd-3)))) @@ -3143,7 +3194,7 @@ results (ndiff), and a packet generation and response analysis tool (nping).") (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) (wrap-program (string-append out "/bin/dstat") - `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH")))) + `("GUIX_PYTHONPATH" ":" prefix (,(getenv "GUIX_PYTHONPATH")))) #t)))))) (inputs `(("python" ,python-wrapper) @@ -3165,7 +3216,7 @@ throughput (in the same interval).") (define-public thefuck (package (name "thefuck") - (version "3.30") + (version "3.31") (source (origin (method git-fetch) @@ -3174,7 +3225,7 @@ throughput (in the same interval).") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0fnf78956pwhb9cgv1jmgypnkma5xzflkivfrkfiadbgin848yfg")) + (base32 "05h60gxky57nalc2hdkpg8wqyg16432x9gcb9wnwblplk98998kq")) (patches (search-patches "thefuck-test-environ.patch")))) (build-system python-build-system) (arguments @@ -3187,19 +3238,15 @@ throughput (in the same interval).") (add-installed-pythonpath inputs outputs) ;; Some tests need write access to $HOME. (setenv "HOME" "/tmp") - (invoke "py.test" "-v") - #t))))) + ;; Even with that, this function tries to mkdir /.config. + (substitute* "tests/test_utils.py" + (("settings\\.init\\(\\)") "")) + (invoke "py.test" "-v")))))) (propagated-inputs - `(("python-colorama" ,python-colorama) - ("python-decorator" ,python-decorator) - ("python-psutil" ,python-psutil) - ("python-pyte" ,python-pyte) - ("python-six" ,python-six))) + (list python-colorama python-decorator python-psutil python-pyte + python-six)) (native-inputs - `(("go" ,go) - ("python-mock" ,python-mock) - ("python-pytest" ,python-pytest) - ("python-pytest-mock" ,python-pytest-mock))) + (list go python-mock python-pytest python-pytest-mock)) (home-page "https://github.com/nvbn/thefuck") (synopsis "Correct mistyped console command") (description @@ -3210,13 +3257,13 @@ a new command using the matched rule, and runs it.") (define-public di (package (name "di") - (version "4.50") + (version "4.51") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/diskinfo-di/di-" version ".tar.gz")) (sha256 - (base32 "0aj9ldkvmj8fmrk685vd2gagz0q8lwsn2nfbx6r6mza94mn8pw42")))) + (base32 "1fv12j9b9sw6p38lcbzcw87zl5qp1aa7a4a4jn3449zz9af15ckr")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; obscure test failures @@ -3226,8 +3273,7 @@ a new command using the matched rule, and runs it.") (add-before 'build 'setup-environment (lambda* (#:key outputs #:allow-other-keys) (setenv "CC" ,(cc-for-target)) - (setenv "prefix" (assoc-ref outputs "out")) - #t))) + (setenv "prefix" (assoc-ref outputs "out"))))) #:make-flags (list "--environment-overrides"))) (home-page "https://gentoo.com/di/") (synopsis "Advanced df like disk information utility") @@ -3265,7 +3311,7 @@ produce uniform output across heterogeneous networks.") ("gettext" ,gettext-minimal) ("libnotify" ,libnotify))) (native-inputs - `(("pkg-config" ,pkg-config))) + (list pkg-config)) (synopsis "Lightweight battery icon for the system tray") (description "cbatticon is a lightweight battery icon that displays the status of your battery in the system tray.") @@ -3296,9 +3342,9 @@ the status of your battery in the system tray.") #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))))) (inputs - `(("libx11" ,libx11))) + (list libx11)) (native-inputs - `(("pkg-config" ,pkg-config))) + (list pkg-config)) (synopsis "Scriptable launcher menu") (description "Interrobang is a scriptable launcher menu with a customizable shortcut syntax and completion options.") @@ -3335,11 +3381,9 @@ shortcut syntax and completion options.") (("pam-util/vector\n") "")) #t))))) (inputs - `(("linux-pam" ,linux-pam) - ("mit-krb5" ,mit-krb5))) + (list linux-pam mit-krb5)) (native-inputs - `(("perl" ,perl) - ("perl-test-pod" ,perl-test-pod))) ; required for tests + (list perl perl-test-pod)) ; required for tests (synopsis "Kerberos PAM module") (description "Pam-krb5 is a Kerberos PAM module for either MIT Kerberos or Heimdal. @@ -3416,10 +3460,9 @@ Kerberos and Heimdal and FAST is supported with recent MIT Kerberos.") (source (sunxi-tools-source version)) (native-inputs - `(("sunxi-target-tools" ,sunxi-target-tools) - ("pkg-config" ,pkg-config))) + (list sunxi-target-tools pkg-config)) (inputs - `(("libusb" ,libusb))) + (list libusb)) (build-system gnu-build-system) (arguments `(#:tests? #f ; no tests exist @@ -3461,6 +3504,43 @@ in order to be able to find it. @end enumerate") (license license:gpl2+))) +(define-public xfel + (package + (name "xfel") + (version "1.2.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/xboot/xfel.git") + (commit (string-append "v" version)))) + (sha256 + (base32 "0r4j63vh6279fj1yh71h08d1av3nc0majlad5yh6admsxiig101m")) + (file-name (git-file-name name version)))) + (native-inputs + (list pkg-config)) + (inputs + (list libusb)) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; No tests exist + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-installation-target + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (substitute* "Makefile" + (("/usr/local") out) + (("/usr") out) + (("/etc/udev/rules.d") + (string-append out "/lib/udev/rules.d")))))) + (delete 'configure)))) + (home-page "https://github.com/xboot/xfel") + (synopsis "Remote debugging tool for Allwinner D1 computers") + (description "This package contains a debugging tool for Allwinner D1 +devices (connects via USB OTG).") + (license license:expat))) + (define-public sedsed (package (name "sedsed") @@ -3526,6 +3606,7 @@ buffers.") (define-public igt-gpu-tools (package (name "igt-gpu-tools") + ;; You should very likely remove the 'fix-meson.build phase when upgrading. (version "1.26") (source (origin @@ -3538,20 +3619,30 @@ buffers.") (base32 "0m124pqv7zna25jnvk566c4kk628jr0w8mgnp8mr5xqz9cprgczm")))) (build-system meson-build-system) (arguments - `(#:tests? #f)) ; many of the tests try to load kernel modules + `(#:tests? #f ; many of the tests try to load kernel modules + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'find-rst2man.py + (lambda _ + (substitute* "man/meson.build" + (("'rst2man'") "'rst2man.py'")))) + (add-after 'unpack 'fix-meson.build + ;; Fix ‘ERROR: Function does not take positional arguments.’ + (lambda _ + (substitute* "lib/meson.build" + (("f\\.underscorify\\(f\\)") + "f.underscorify()"))))))) (inputs - `(("cairo" ,cairo) - ("elfutils" ,elfutils) ; libdw - ("eudev" ,eudev) - ("kmod" ,kmod) - ("libdrm" ,libdrm) - ("libpciaccess" ,libpciaccess) - ("libunwind" ,libunwind) - ("procps" ,procps))) + (list cairo + elfutils ; libdw + eudev + kmod + libdrm + libpciaccess + libunwind + procps)) (native-inputs - `(("bison" ,bison) - ("flex" ,flex) - ("pkg-config" ,pkg-config))) + (list bison flex pkg-config python-docutils)) (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 @@ -3625,8 +3716,7 @@ you are running, what theme or icon set you are using, etc.") (string-append out "/share/doc/" ,name "-" ,version)) (substitute* (string-append out "/bin/screenfetch") (("/usr/bin/env bash") - (string-append (assoc-ref %build-inputs "bash") - "/bin/bash"))) + (search-input-file %build-inputs "/bin/bash"))) (wrap-program (string-append out "/bin/screenfetch") `("PATH" ":" prefix @@ -3636,14 +3726,11 @@ you are running, what theme or icon set you are using, etc.") (assoc-ref %build-inputs "xprop") "/bin")))) (substitute* (string-append out "/bin/screenfetch") (("#!#f") - (string-append "#!" (assoc-ref %build-inputs "bash") - "/bin/bash"))))))) + (string-append "#!" + (search-input-file %build-inputs + "/bin/bash")))))))) (inputs - `(("bash" ,bash) - ("bc" ,bc) - ("scrot" ,scrot) - ("xdpyinfo" ,xdpyinfo) - ("xprop" ,xprop))) + (list bash bc scrot xdpyinfo xprop)) (home-page "https://github.com/KittyKatt/screenFetch") (synopsis "System information script") (description "Bash screenshot information tool which can be used to @@ -3679,7 +3766,7 @@ everyone's screenshots nowadays.") (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"))) + (tput (search-input-file %build-inputs "/bin/tput"))) (install-file (string-append source "/LICENSE") docdir) (setenv "PATH" (string-append (assoc-ref %build-inputs "bash") "/bin")) (mkdir-p bindir) @@ -3716,7 +3803,7 @@ everyone's screenshots nowadays.") (base32 "1md40av6i3xvvwig5jzhy4kf3s5sgxxk35r0vcyrjd8qyndk927l")))) (build-system trivial-build-system) - (inputs `(("bash" ,bash))) + (inputs (list bash)) (arguments `(#:modules ((guix build utils)) #:builder @@ -3742,20 +3829,19 @@ information tool.") (define-public nnn (package (name "nnn") - (version "4.1.1") + (version "4.4") (source (origin (method url-fetch) (uri (string-append "https://github.com/jarun/nnn/releases/download/v" version "/nnn-v" version ".tar.gz")) (sha256 - (base32 "1fnf35s3b2nfp18s712n5vhg6idx4rfgwdfv74nc2933v9l2dq7h")))) + (base32 "0lqn7pyy8c1vy29vn8ad4x23cw67cy1d21ghns6f3w9a1h7kyjp0")))) (build-system gnu-build-system) (inputs - `(("ncurses" ,ncurses) - ("readline" ,readline))) + (list ncurses readline)) (native-inputs - `(("pkg-config" ,pkg-config))) + (list pkg-config)) (arguments `(#:tests? #f ; no tests #:phases @@ -3779,7 +3865,7 @@ hard-coded.") (define-public thermald (package (name "thermald") - (version "2.4.6") + (version "2.4.7") (source (origin (method git-fetch) @@ -3788,7 +3874,7 @@ hard-coded.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1lgaky8cmxbi17zpymy2v9wgknx1g92bq50j6kfpsm8qgb7djjb6")))) + (base32 "1n0ih86bkm09bzhjl7hllxkl4gzcxvzsznbwi8dx87ragsjlix6n")))) (build-system gnu-build-system) (arguments `(#:configure-flags @@ -3804,18 +3890,14 @@ hard-coded.") (lambda _ (setenv "NO_CONFIGURE" "yet")))))) (native-inputs - `(("autoconf" ,autoconf) - ("autoconf-archive" ,autoconf-archive) - ("automake" ,automake) - ("glib" ,glib "bin") ; for glib-genmarshal, etc. - ("gtk-doc" ,gtk-doc) - ("pkg-config" ,pkg-config))) + (list autoconf + autoconf-archive + automake + `(,glib "bin") ; for glib-genmarshal, etc. + gtk-doc + pkg-config)) (inputs - `(("dbus-glib" ,dbus-glib) - ("libevdev" ,libevdev) - ("libxml2" ,libxml2) - ("upower" ,upower) - ("xz" ,xz))) + (list dbus-glib libevdev libxml2 upower xz)) (home-page "https://01.org/linux-thermal-daemon/") (synopsis "CPU scaling for thermal management") (description "The Linux Thermal Daemon helps monitor and control temperature @@ -3839,7 +3921,7 @@ on systems running the Linux kernel.") (base32 "0q0c7bsf0pbl8napry1qyg0gl4pd8wn872h4mz9b56dx4rx90vqg")))) (build-system gnu-build-system) (inputs - `(("libpcap" ,libpcap))) + (list libpcap)) (arguments `(#:test-target "regress" #:make-flags @@ -3883,7 +3965,7 @@ application, collecting the information received.") ("python-nose" ,python-nose))) (arguments `(#:test-target "test")) - (synopsis "A single tool that combines @command{cat} & @command{rm}") + (synopsis "Single tool that combines @command{cat} & @command{rm}") (description "hungrycat prints the contents of a file to standard output, while simultaneously freeing the disk space it occupied. It is useful if you need @@ -3919,12 +4001,12 @@ late.") #t)))) (build-system gnu-build-system) (inputs - `(("mpi" ,openmpi) - ("munge" ,munge) - ("boost" ,boost) - ("libelf" ,libelf) - ("libgcrypt" ,libgcrypt) - ("libgpg-error" ,libgpg-error))) + (list openmpi + munge + boost + libelf + libgcrypt + libgpg-error)) (synopsis "Infrastructue for large scale tool daemon launching") (description "LaunchMON is a software infrastructure that enables HPC run-time @@ -3971,7 +4053,7 @@ Python loading in HPC environments.") (let ((real-name "inxi")) (package (name "inxi-minimal") - (version "3.3.06-1") + (version "3.3.11-1") (source (origin (method git-fetch) @@ -3980,14 +4062,14 @@ Python loading in HPC environments.") (commit version))) (file-name (git-file-name real-name version)) (sha256 - (base32 "1qk40iyrdp52vmbiqwxicvlcycm2v2bf1gg4lzq0b4619sd6d1m7")))) + (base32 "1nk3q2xg0myykq1myasxhvhhr0vk8qv3m7pb3icw81r3ydasnls0")))) (build-system trivial-build-system) (inputs `(("bash" ,bash-minimal) ("perl" ,perl) ("procps" ,procps))) (native-inputs - `(("gzip" ,gzip))) + (list gzip)) (arguments `(#:modules ((guix build utils)) #:builder @@ -4032,8 +4114,7 @@ Python loading in HPC environments.") %build-inputs))))) (invoke "gzip" "inxi.1") (install-file "inxi.1.gz" - (string-append %output "/share/man/man1"))) - #t))) + (string-append %output "/share/man/man1")))))) (home-page "https://smxi.org/docs/inxi.htm") (synopsis "Full-featured system information script") (description "Inxi is a system information script that can display @@ -4094,11 +4175,9 @@ support forum. It runs with the @code{/exec} command in most IRC clients.") (base32 "1sm99423hh90kr4wdjqi9sdrrpk65j2vz2hzj65zcxfxyr6khjci")))) (build-system meson-build-system) (native-inputs - `(("pkg-config" ,pkg-config))) + (list pkg-config)) (inputs - `(("cairo" ,cairo) - ("libpng" ,libpng) - ("libx11" ,libx11))) + (list cairo libpng libx11)) (home-page "https://gitlab.com/mildlyparallel/pscircle") (synopsis "Visualize Linux processes in a form of radial tree") (description @@ -4132,15 +4211,12 @@ support forum. It runs with the @code{/exec} command in most IRC clients.") (("= find_library") "= ")) #t)))))) (inputs - `(("eudev" ,eudev))) + (list eudev)) (propagated-inputs - `(("python-six" ,python-six))) + (list python-six)) (native-inputs - `(("python-docutils" ,python-docutils) - ("python-hypothesis" ,python-hypothesis) - ("python-mock" ,python-mock) - ("python-pytest" ,python-pytest) - ("python-sphinx" ,python-sphinx))) + (list python-docutils python-hypothesis python-mock python-pytest + python-sphinx)) (home-page "https://pyudev.readthedocs.io/") (synopsis "Python udev binding") (description "This package provides @code{udev} bindings for Python.") @@ -4161,7 +4237,7 @@ support forum. It runs with the @code{/exec} command in most IRC clients.") (base32 "08da6apzfkfjwasn4dxrlfxqfx7arl28apdzac5nvm0fhvws0dxk")))) (build-system gnu-build-system) (native-inputs - `(("perl" ,perl))) + (list perl)) (arguments `(#:tests? #f ; no tests #:make-flags @@ -4181,7 +4257,7 @@ cache of unix and unix-like systems.") (define-public solaar (package (name "solaar") - (version "1.0.6") + (version "1.0.7") (source (origin (method git-fetch) (uri (git-reference @@ -4190,25 +4266,23 @@ cache of unix and unix-like systems.") (file-name (git-file-name name version)) (sha256 (base32 - "04zclzfc31l2fj5shcsngnmcvcmmhnc567l3wb9yfhs8k39k9kb2")))) + "0k7mjdfvf28fay50b2hs2z4qk6s23h71wvl8777idlrz5i5f43j5")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases (add-before 'build 'setenv-PATH (lambda _ - (setenv "PYTHONPATH" (string-append "lib:" (getenv "PYTHONPATH"))) - #t))))) + (setenv "PYTHONPATH" "lib")))))) (propagated-inputs - `(("python-pygobject" ,python-pygobject) - ("python-pyudev" ,python-pyudev) - - ;; For GUI. - ("python-pyyaml" ,python-pyyaml) - ("python-psutil" ,python-psutil) - ("python-xlib" ,python-xlib) - ("gtk+" ,gtk+) - ("python-pygobject" ,python-pygobject))) + (list python-pygobject + python-pyudev + ;; For GUI. + python-pyyaml + python-psutil + python-xlib + gtk+ + python-pygobject)) (home-page "https://pwr-solaar.github.io/Solaar/") (synopsis "Linux devices manager for the Logitech Unifying Receiver") (description "This package provides tools to manage clients of the @@ -4219,7 +4293,7 @@ Logitech Unifying Receiver.") (package (name "lynis") ;; Also update the ‘lynis-sdk’ input to the commit matching this release. - (version "3.0.5") + (version "3.0.6") (source (origin (method git-fetch) @@ -4228,15 +4302,14 @@ Logitech Unifying Receiver.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "11kl54hbvjl7q2i1jz8a726vlkdmknvbp4zac3j4fgljg27qp410")) + (base32 "1a1n8alcq6zil1rwk9940cg3x2nz3igcxfad99505pdh7ccz9324")) (modules '((guix build utils))) (snippet '(begin ;; Remove proprietary plugins. As of now, all plugins supplied with ;; lynis are proprietary. In the future, if free plugins are ;; provided, whitelist them from deletion. - (for-each delete-file (find-files "plugins")) - #t)))) + (for-each delete-file (find-files "plugins")))))) (build-system gnu-build-system) (native-inputs `(;; For tests @@ -4245,10 +4318,10 @@ Logitech Unifying Receiver.") (method git-fetch) (uri (git-reference (url "https://github.com/CISOfy/lynis-sdk") - (commit "99f79c4deb4cb2221d7fccfe82baf58c0a55b9e7"))) + (commit "1c4e5f60a03e29a1525ca9ec17c793461058253d"))) (file-name (git-file-name "lynis-sdk" version)) (sha256 - (base32 "1nc2rhzj6l08d2mnjrzkm4mxla1mjkddcxl8n05c1kdz9ycn6cpl")))))) + (base32 "060k8k1q4c7nvrv3cwscxq8md2v75q3nrwwim1hgfw20divw3npy")))))) (arguments `(#:phases (modify-phases %standard-phases @@ -4259,8 +4332,7 @@ Logitech Unifying Receiver.") (string-append (assoc-ref outputs "out") "/share/lynis"))) (substitute* "include/functions" (("/usr/local/etc/lynis") - (string-append (assoc-ref outputs "out") "/etc/lynis"))) - #t)) + (string-append (assoc-ref outputs "out") "/etc/lynis"))))) (delete 'build) (replace 'install (lambda* (#:key outputs #:allow-other-keys) @@ -4271,8 +4343,7 @@ Logitech Unifying Receiver.") (lambda (dir) (copy-recursively dir (string-append out "/share/lynis/" dir))) (list "db" "include" "plugins")) - (install-file "lynis.8" (string-append out "/share/man/man8")) - #t))) + (install-file "lynis.8" (string-append out "/share/man/man8"))))) (replace 'check (lambda* (#:key inputs #:allow-other-keys) (copy-recursively (assoc-ref inputs "lynis-sdk") "../lynis-sdk") @@ -4309,7 +4380,7 @@ possible configuration issues.") "1x2fyd7wdqlj1r76ilal06cl2wmbz0ws6i3ys204sbjh1cj6dcl7")))) (build-system gnu-build-system) (inputs - `(("libpcap" ,libpcap))) + (list libpcap)) (arguments `(#:tests? #f ;; No tests. #:configure-flags (list (string-append "--with-pcap-includes=" @@ -4339,8 +4410,7 @@ tcpdump and snoop.") (base32 "0832nh2qf9pisgwnbgx6hkylx5d7i416l19y3ly4ifv7k1p7mxqa")))) (build-system gnu-build-system) (native-inputs - `(("perl" ,perl) - ("pkg-config" ,pkg-config))) + (list perl pkg-config)) (inputs `(("cryptsetup" ,cryptsetup) ("libhx" ,libhx) @@ -4403,9 +4473,7 @@ supplied by the user when logging in.") (base32 "0rwvyyrdnw43pixp8h51rncq2inc9pbbj1j2191y5si00pjw34zr")))) (build-system python-build-system) (propagated-inputs - `(("python-pygments" ,python-pygments) - ("python-ruamel.yaml" ,python-ruamel.yaml) - ("python-xmltodict" ,python-xmltodict))) + (list python-pygments python-ruamel.yaml python-xmltodict)) (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 @@ -4427,7 +4495,7 @@ file-types for easier parsing in scripts.") "19i21fqz2m40cds9pb17brjxkczqagmx2f7mfb0xdvbygaply5wz")))) (build-system python-build-system) (inputs - `(("python-tabulate" ,python-tabulate))) + (list 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 @@ -4481,7 +4549,7 @@ text table representation to stdout.") "\nPATH=" (getenv "PATH")))) ;; check phase (setenv "TERM" "linux") ;set to tty for test - (invoke (string-append (assoc-ref %build-inputs "bats") "/bin/bats") + (invoke (search-input-file %build-inputs "/bin/bats") "test") ;; install phase (install-file "hosts" (string-append %output "/bin")) @@ -4512,7 +4580,7 @@ entries, providing commands to add, remove, comment, and search.") (define-public nmrpflash (package (name "nmrpflash") - (version "0.9.15") + (version "0.9.16") (source (origin (method git-fetch) @@ -4521,14 +4589,13 @@ entries, providing commands to add, remove, comment, and search.") (url "https://github.com/jclehner/nmrpflash") (commit (string-append "v" version)))) (sha256 - (base32 "0ssfls1sfh8w748qsnkfgndlpw395100x2yynzbk5jd56scxvp20")) + (base32 "0gp66l3a2wznjnlc2ljs8g38mfrf1b9a0qcfxqg2bczmfxnrsynj")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (native-inputs - `(("pkg-config" ,pkg-config))) + (list pkg-config)) (inputs - `(("libnl" ,libnl) - ("libpcap" ,libpcap))) + (list libnl libpcap)) (arguments `(#:tests? #f ; None exist #:make-flags @@ -4539,8 +4606,7 @@ entries, providing commands to add, remove, comment, and search.") (delete 'configure) (add-before 'install 'prepare-install (lambda* (#:key outputs #:allow-other-keys) - (mkdir-p (string-append (assoc-ref outputs "out") "/bin")) - #t))))) + (mkdir-p (string-append (assoc-ref outputs "out") "/bin"))))))) (home-page "https://github.com/jclehner/nmrpflash") (synopsis "Netgear unbrick utility") (description "This package provides a utility to flash a new firmware @@ -4687,7 +4753,7 @@ disk utilization, priority, username, state, and exit code.") (install-file "novena-eeprom" out-bin) (install-file "novena-eeprom.8" out-share-man))))))) (inputs - `(("i2c-tools" ,i2c-tools))) + (list i2c-tools)) (synopsis "Novena EEPROM editor") (description "This package provides an editor for the Novena EEPROM. Novena boards contain a device-dependent descriptive EEPROM that defines @@ -4739,7 +4805,7 @@ the XMODEM/YMODEM/ZMODEM file transfer protocols.") (base32 "0sdamjzvmf6cxhjmd1rjvn7zm6k10fp5n6vabyxd3yl30cgrxw2i")))) (build-system gnu-build-system) (native-inputs - `(("perl" ,perl))) + (list perl)) (arguments `(#:make-flags (list (string-append "CC=" ,(cc-for-target)) (string-append "PREFIX=" (assoc-ref %outputs "out"))) @@ -4770,7 +4836,7 @@ setup, maintenance, supervision, or any long-running processes.") "058x04yp6bc77hbl3qchqm7pa8f9vqfl9jryr88m8pzl7kvpif54")))) (build-system trivial-build-system) (inputs - `(("lua" ,lua))) + (list lua)) (arguments `(#:modules ((guix build utils)) #:builder @@ -4798,3 +4864,66 @@ setup, maintenance, supervision, or any long-running processes.") (description "Utility to convert @code{lsof} output to a graph showing FIFO and UNIX interprocess communication.") (license license:bsd-2)))) + +(define-public runitor + (package + (name "runitor") + (version "0.8.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/bdd/runitor") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0vjfbyrbp5ywgzdz9j3x0qgjvnq7nw7193x8v9yy6k2cih1zsacn")))) + (build-system go-build-system) + (arguments + `(#:unpack-path "bdd.fi/x/runitor" + #:build-flags '(,(string-append "-ldflags=-X main.Version=" version)) + #:import-path "bdd.fi/x/runitor/cmd/runitor" + #:install-source? #f)) + (home-page "https://github.com/bdd/runitor") + (synopsis "Command runner with healthchecks.io integration") + (description + "Runitor runs the supplied command, captures its output, and based on its +exit code reports successful or failed execution to +@url{https://healthchecks.io,https://healthchecks.io} or your private instance.") + (license license:bsd-0))) + +(define-public udpcast + (package + (name "udpcast") + (version "20200328") + (source + (origin + (method url-fetch) + ;; XXX: Original server is at https://www.udpcast.linux.lu is not + ;; reliable. + (uri (list (string-append + "http://sources.buildroot.net/udpcast/udpcast-" + version ".tar.gz") + (string-append + "https://fossies.org/linux/privat/udpcast-" + version ".tar.gz") + (string-append + "https://www.udpcast.linux.lu/download/udpcast-" + version ".tar.gz"))) + (sha256 + (base32 "06pj86nbi9hx7abbb0z2c5ynhfq0rv89b7nmy0kq3xz2lsxfw6cw")))) + (build-system gnu-build-system) + (native-inputs + (list autoconf automake m4 perl)) + (arguments `(#:tests? #f)) ;no test suite + (synopsis "Multicast file transfer tool") + (description + "UDPcast is a file transfer tool that can send data simultaneously to +many destinations on a LAN. This can for instance be used to install entire +classrooms of PC's at once. The advantage of UDPcast over using other +methods (nfs, ftp, whatever) is that UDPcast uses UDP's multicast abilities: +it won't take longer to install 15 machines than it would to install just 2.") + (home-page "https://www.udpcast.linux.lu") + (license license:gpl2+))) + + |