diff options
Diffstat (limited to 'gnu/packages/admin.scm')
-rw-r--r-- | gnu/packages/admin.scm | 226 |
1 files changed, 155 insertions, 71 deletions
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 88d68a3afc..77d02baa4e 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -9,7 +9,7 @@ ;;; Copyright © 2016, 2017, 2020 Leo Famulari <leo@famulari.name> ;;; Copyright © 2016 Pjotr Prins <pjotr.guix@thebird.nl> ;;; Copyright © 2016, 2017, 2023 Ricardo Wurmus <rekado@elephly.net> -;;; Copyright © 2016-2023 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016-2024 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> @@ -31,7 +31,7 @@ ;;; Copyright © 2019, 2021, 2022 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2019, 2020, 2021 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com> -;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen <janneke@gnu.org> +;;; Copyright © 2020, 2023, 2024 Janneke Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2020, 2021, 2022 Michael Rohleder <mike@rohleder.de> ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; Copyright © 2020 Morgan Smith <Morgan.J.Smith@outlook.com> @@ -414,6 +414,18 @@ interface and is based on GNU Guile.") (replace "guile-fibers" (this-package-native-input "guile-fibers")))))) +(define-public shepherd-1.0 + (package + (inherit shepherd-0.10) + (version "1.0.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/shepherd/shepherd-" + version ".tar.gz")) + (sha256 + (base32 + "0z4yxl8g0k3b6k4x7b3ks10x31hs46j5kmw0ah5cr417n0rszrp8")))))) + (define-public shepherd shepherd-0.10) (define-public guile2.2-shepherd @@ -423,6 +435,46 @@ interface and is based on GNU Guile.") (native-inputs (list pkg-config guile-2.2)) (inputs (list guile-2.2 guile2.2-fibers)))) +(define-public shepherd-run + (package + (name "shepherd-run") + (version "0.2.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://git.sr.ht/~efraim/shepherd-run") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0mvn5qi4bq9nsb1462pbzssb1z5w2s160lqd2ps3rjjc4z3f3gjj")))) + (build-system gnu-build-system) + (arguments + (list + #:make-flags #~(list (string-append "PREFIX=" #$output)) + #:phases + #~(modify-phases %standard-phases + (delete 'configure) ; No configure script. + ;; First 'check checks the shell script which loads the gawk code. + ;; This 'check checks the installed gawk script. + (add-after 'patch-shebangs 'check-again + (lambda args + (apply (assoc-ref %standard-phases 'check) + (append args + (list #:make-flags + (list (string-append "BINARY=" %output + "/bin/shepherd-run")))))))))) + (native-inputs (list diffutils help2man)) + (inputs (list gawk)) + (synopsis "Create GNU Shepherd services from the command line") + (description + "Shepherd-run is a script which assists in creating one-off shepherd +services from the command line. It is meant to partially fill the void left +by @command{systemd-run}, since GNU Guix uses GNU Shepherd as its system service +manager.") + (home-page "https://git.sr.ht/~efraim/shepherd-run") + (license license:gpl3+))) + (define-public swineherd (package (name "swineherd") @@ -529,12 +581,21 @@ inspired by @command{vi}.") ,(map dirname (map (cut search-input-file inputs <>) (list "bin/readlink" - "sbin/sfdisk"))))))))))) + "sbin/sfdisk" + "bin/sed" + "bin/grep" + "bin/awk" + "bin/udevadm" + "bin/flock"))))))))))) (inputs (list bash-minimal ;for wrap-program - coreutils ;for readlink + coreutils ;for readlink and cat + sed ;growpart + grep ;growpart + gawk ;awk for growpart + eudev ;udevadm for growpart python - util-linux)) ;sfdisk for growpart + util-linux)) ;sfdisk, flock, partx, blkid for growpart (home-page "https://launchpad.net/cloud-utils") (synopsis "Set of utilities for cloud computing environments") (description @@ -1004,7 +1065,17 @@ re-executing them as necessary.") "\\\"")) ;; On some systems, 'libls.sh' may fail with an error such as: ;; "Failed to tell switch -a apart from -A". - #:parallel-tests? #f)) + #:parallel-tests? #f + #:phases (if (target-hurd64?) + #~(modify-phases %standard-phases + (add-after 'unpack 'apply-hurd64-patch + (lambda _ + (let ((patch + #$(local-file + (search-patch + "inetutils-hurd64.patch")))) + (invoke "patch" "--force" "-p1" "-i" patch))))) + #~%standard-phases))) (inputs (list coreutils shadow ;for login (used in telnetd and rlogind) @@ -2622,7 +2693,8 @@ system is under heavy load.") ;; XXX The test suite seems to cause instability on the VisionFive 2 ;; build machines, maybe it's stressing them as intended but this is ;; unhelpful. - (list #:tests? (not (target-riscv64?)) + (list #:tests? (and (not (%current-target-system)) + (not (target-riscv64?))) #:make-flags #~(list (string-append "CC=" #$(cc-for-target)) (string-append "BINDIR=" #$output "/bin") @@ -5017,10 +5089,17 @@ elogind's uaccess feature.") ;; XXX Guix's America/Los_Angeles time zone is somehow broken. (add-before 'check 'hack-time-zone (lambda _ - (setenv "TZ" "PST8PDT")))))) - (native-inputs (list python-pytest)) + (setenv "TZ" "PST8PDT") + (substitute* (find-files "tests" "^test.*\\.py$") + (("America/Los_Angeles") "PST8PDT"))))))) + (native-inputs + (list python-pytest + python-setuptools + python-wheel)) (propagated-inputs - (list python-pygments python-ruamel.yaml 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 @@ -5722,7 +5801,7 @@ on a GUI toolkit.") (define-public libseat (package (name "libseat") - (version "0.8.0") + (version "0.9.1") (source (origin (method git-fetch) (uri (git-reference @@ -5731,15 +5810,15 @@ on a GUI toolkit.") (file-name (git-file-name name version)) (sha256 (base32 - "02wzrgp8di6hqmicnm2fim6jnvbn62wy248ikvdvrhiywrb7i931")))) + "1q1ih1f9v5240nlas1gz44giwq4k88p3yikfq7w0a4sw58yr6pz8")))) (build-system meson-build-system) (arguments - `(#:configure-flags '("-Dlibseat-logind=elogind" - "-Dserver=disabled"))) + (list #:configure-flags #~(list "-Dlibseat-logind=elogind" + "-Dserver=disabled"))) (native-inputs - `(("pkg-config" ,pkg-config))) + (list pkg-config)) (propagated-inputs - `(("elogind" ,elogind))) + (list elogind)) (home-page "https://sr.ht/~kennylevinsen/seatd") (synopsis "Seat management library") (description @@ -5752,16 +5831,16 @@ allows applications to use whatever seat management is available.") (inherit libseat) (name "seatd") (arguments - `(#:configure-flags '("-Dlibseat-logind=elogind") - #:phases - (modify-phases %standard-phases - (add-after 'install 'remove-libs - (lambda* (#:key outputs #:allow-other-keys) - (with-directory-excursion (assoc-ref outputs "out") - (for-each delete-file-recursively '("lib" "include")))))))) + (list #:configure-flags #~(list "-Dlibseat-logind=elogind") + #:phases + #~(modify-phases %standard-phases + (add-after 'install 'remove-libs + (lambda* (#:key outputs #:allow-other-keys) + (with-directory-excursion (assoc-ref outputs "out") + (for-each delete-file-recursively '("lib" "include")))))))) (native-inputs - `(("pkg-config" ,pkg-config) - ("scdoc" ,scdoc))) + (list pkg-config + scdoc)) (inputs '()) (synopsis "Seat management daemon") (description @@ -6181,54 +6260,59 @@ file or files to several hosts.") (define-public du-dust (package (name "du-dust") - (version "0.8.6") - (source (origin - (method url-fetch) - (uri (crate-uri "du-dust" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1w52xdz1vi6awsvf4lph791zv13phjvz4ypmxr7f6pgxd3crr77c")))) + (version "1.1.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "du-dust" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0qr6ikq2ds8bq35iw480qyhf3d43dj61wiwp8587n3mgqf5djx8w")))) (build-system cargo-build-system) (arguments - `(#:cargo-test-flags - (list "--release" "--" - "--skip=test_apparent_size") - #:install-source? #f - #:cargo-inputs (("rust-ansi-term" ,rust-ansi-term-0.12) - ("rust-atty" ,rust-atty-0.2) - ("rust-clap" ,rust-clap-3) - ("rust-clap-complete" ,rust-clap-complete-3) - ("rust-clap-mangen" ,rust-clap-mangen-0.1) - ("rust-config-file" ,rust-config-file-0.2) - ("rust-directories" ,rust-directories-4) - ("rust-lscolors" ,rust-lscolors-0.13) - ("rust-rayon" ,rust-rayon-1) - ("rust-regex" ,rust-regex-1) - ("rust-serde" ,rust-serde-1) - ("rust-stfu8" ,rust-stfu8-0.2) - ("rust-sysinfo" ,rust-sysinfo-0.27) - ("rust-terminal-size" ,rust-terminal-size-0.2) - ("rust-thousands" ,rust-thousands-0.2) - ("rust-unicode-width" ,rust-unicode-width-0.1) - ("rust-winapi-util" ,rust-winapi-util-0.1)) - #:cargo-development-inputs (("rust-assert-cmd" ,rust-assert-cmd-2) - ("rust-tempfile" ,rust-tempfile-3)) - #:phases - (modify-phases %standard-phases - (add-after 'install 'install-extras - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (share (string-append out "/share"))) - (install-file "man-page/dust.1" - (string-append share "/man/man1")) - (mkdir-p (string-append out "/etc/bash_completion.d")) - (copy-file "completions/dust.bash" - (string-append out "/etc/bash_completion.d/dust")) - (install-file "completions/dust.fish" - (string-append share "/fish/vendor_completions.d")) - (install-file "completions/_dust" - (string-append share "/zsh/site-functions")))))))) + (list #:cargo-test-flags `(list "--release" "--" + "--skip=test_apparent_size") + #:install-source? #f + #:cargo-inputs `(("rust-ansi-term" ,rust-ansi-term-0.12) + ("rust-chrono" ,rust-chrono-0.4) + ("rust-clap" ,rust-clap-4) + ("rust-clap-complete" ,rust-clap-complete-4) + ("rust-clap-mangen" ,rust-clap-mangen-0.2) + ("rust-config-file" ,rust-config-file-0.2) + ("rust-ctrlc" ,rust-ctrlc-3) + ("rust-directories" ,rust-directories-4) + ("rust-filesize" ,rust-filesize-0.2) + ("rust-lscolors" ,rust-lscolors-0.13) + ("rust-rayon" ,rust-rayon-1) + ("rust-regex" ,rust-regex-1) + ("rust-serde" ,rust-serde-1) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-stfu8" ,rust-stfu8-0.2) + ("rust-sysinfo" ,rust-sysinfo-0.27) + ("rust-terminal-size" ,rust-terminal-size-0.2) + ("rust-thousands" ,rust-thousands-0.2) + ("rust-unicode-width" ,rust-unicode-width-0.1) + ("rust-winapi-util" ,rust-winapi-util-0.1)) + #:cargo-development-inputs `(("rust-assert-cmd" ,rust-assert-cmd-2) + ("rust-tempfile" ,rust-tempfile-3)) + #:phases #~(modify-phases %standard-phases + (add-after 'install 'install-extras + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (share (string-append out "/share"))) + (install-file "man-page/dust.1" + (string-append share "/man/man1")) + (mkdir-p (string-append out + "/etc/bash_completion.d")) + (copy-file "completions/dust.bash" + (string-append out + "/etc/bash_completion.d/dust")) + (install-file "completions/dust.fish" + (string-append share + "/fish/vendor_completions.d")) + (install-file "completions/_dust" + (string-append share + "/zsh/site-functions")))))))) (home-page "https://github.com/bootandy/dust") (synopsis "Graphical disk usage analyzer") (description "This package provides a graphical disk usage analyzer in |