summaryrefslogtreecommitdiff
path: root/gnu/packages/disk.scm
diff options
context:
space:
mode:
authorMaxim Cournoyer <[email protected]>2022-01-25 22:07:13 -0500
committerMaxim Cournoyer <[email protected]>2022-01-25 22:07:13 -0500
commit1a5302435ff0d2822b823f5a6fe01faa7a85c629 (patch)
treeac7810c88b560532f22d2bab2e59609cd7305c21 /gnu/packages/disk.scm
parent3ff2ac4980dacf10087e4b42bd9fbc490591900c (diff)
parent070b8a893febd6e7d8b2b7c8c4dcebacf7845aa9 (diff)
Merge branch 'master' into staging.
With "conflicts" solved (all in favor of master except git) in: gnu/local.mk gnu/packages/databases.scm gnu/packages/glib.scm gnu/packages/gnome.scm gnu/packages/gnupg.scm gnu/packages/gnuzilla.scm gnu/packages/graphics.scm gnu/packages/gstreamer.scm gnu/packages/gtk.scm gnu/packages/linux.scm gnu/packages/machine-learning.scm gnu/packages/networking.scm gnu/packages/polkit.scm gnu/packages/pulseaudio.scm gnu/packages/rpc.scm gnu/packages/rust.scm gnu/packages/version-control.scm gnu/packages/w3m.scm
Diffstat (limited to 'gnu/packages/disk.scm')
-rw-r--r--gnu/packages/disk.scm311
1 files changed, 169 insertions, 142 deletions
diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm
index 7d6f3811dd..1a196f4b40 100644
--- a/gnu/packages/disk.scm
+++ b/gnu/packages/disk.scm
@@ -21,6 +21,7 @@
;;; Copyright © 2021 Michael Rohleder <[email protected]>
;;; Copyright © 2021 Mathieu Othacehe <[email protected]>
;;; Copyright © 2021 Brice Waegeneire <[email protected]>
+;;; Copyright © 2021 Justin Veilleux <[email protected]>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -58,6 +59,7 @@
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gnupg)
+ #:use-module (gnu packages golang)
#:use-module (gnu packages graphics)
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
@@ -65,10 +67,12 @@
#:use-module (gnu packages ncurses)
#:use-module (gnu packages nss)
#:use-module (gnu packages perl)
+ #:use-module (gnu packages perl-web)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages popt)
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
+ #:use-module (gnu packages qt)
#:use-module (gnu packages readline)
#:use-module (gnu packages samba)
#:use-module (gnu packages serialization)
@@ -89,6 +93,7 @@
#:use-module (guix build-system trivial)
#:use-module (guix build-system scons)
#:use-module (guix download)
+ #:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
@@ -140,7 +145,7 @@
"/share/man/man8"))
#t))))))
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ (list pkg-config))
(inputs
`(("util-linux:lib" ,util-linux "lib"))) ; libblkid
(home-page "https://bcache.evilpiepirate.org")
@@ -208,15 +213,14 @@ and write-back caching.")
(("`which udevil 2>/dev/null`") "/run/setuid-programs/udevil"))
#t)))))
(native-inputs
- `(("intltool" ,intltool)
- ("pkg-config" ,pkg-config)))
+ (list intltool pkg-config))
(inputs
- `(("cifs-utils" ,cifs-utils)
- ("curlftpfs" ,curlftpfs)
- ("eudev" ,eudev)
- ("fakeroot" ,fakeroot)
- ("glib" ,glib)
- ("sshfs" ,sshfs)))
+ (list cifs-utils
+ curlftpfs
+ eudev
+ fakeroot
+ glib
+ sshfs))
(synopsis "Device and file system manager")
(description "udevil is a command line program that mounts and unmounts
removable devices without a password, shows device info, and monitors device
@@ -248,9 +252,8 @@ tmpfs/ramfs filesystems.")
(("/usr/bin/python") (which "python")))
#t)))))
(inputs
- `(("lvm2" ,lvm2)
- ("readline" ,readline)
- ("util-linux" ,util-linux "lib")))
+ (list lvm2 readline
+ `(,util-linux "lib")))
(native-inputs
`(("gettext" ,gettext-minimal)
@@ -334,8 +337,7 @@ tables, and it understands a variety of different formats.")
(substitute* "autogen.sh"
(("\\./configure") "")))))))
(native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)))
+ (list autoconf automake))
(home-page "https://github.com/baruch/gpart")
(synopsis "Guess and recover PC-style partition tables")
(description
@@ -423,7 +425,7 @@ scheme.")
`(#:configure-flags (list (string-append "CXX=" ,(cxx-for-target)))))
(home-page "https://www.gnu.org/software/ddrescue/ddrescue.html")
(synopsis "Data recovery utility")
- (native-inputs `(("lzip" ,lzip)))
+ (native-inputs (list lzip))
(description
"GNU ddrescue is a fully automated data recovery tool. It copies data
from one file to another, working to rescue data in case of read errors. The
@@ -447,13 +449,12 @@ to recover data more efficiently by only reading the necessary blocks.")
(build-system gnu-build-system)
(arguments
`(#:configure-flags (list "--enable-compat-symlinks")
- #:make-flags (list (string-append "PREFIX=" %output)
- "CC=gcc")))
+ #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
+ (string-append "CC=" ,(cc-for-target)))))
(native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)
- ;; For tests.
- ("xxd" ,xxd)))
+ (list autoconf automake
+ ;; For tests.
+ xxd))
(home-page "https://github.com/dosfstools/dosfstools")
(synopsis "Utilities for making and checking MS-DOS FAT file systems")
(description
@@ -488,7 +489,7 @@ which respectively make and check MS-DOS FAT file systems.")
;; Add fsck.vfat symlink to match the Linux driver name.
(symlink exe "fsck.vfat")
#t)))))
- (inputs `(("dosfstools" ,dosfstools/static)))
+ (inputs (list dosfstools/static))
(home-page (package-home-page dosfstools))
(synopsis "Statically linked fsck.fat from dosfstools")
(description "This package provides a statically-linked @command{fsck.fat}
@@ -569,17 +570,13 @@ and can dramatically shorten the lifespan of the drive if left unchecked.")
;; as '/dev/disk/by-id'
`(#:tests? #f))
(inputs
- `(("util-linux" ,util-linux "lib")
- ("parted" ,parted)
- ("glib" ,glib)
- ("gtkmm" ,gtkmm)
- ("libxml2" ,libxml2)))
+ (list `(,util-linux "lib") parted glib gtkmm-3 libxml2))
(native-inputs
- `(("intltool" ,intltool)
- ("itstool" ,itstool)
- ("lvm2" ,lvm2) ; for tests
- ("yelp-tools" ,yelp-tools)
- ("pkg-config" ,pkg-config)))
+ (list intltool
+ itstool
+ lvm2 ; for tests
+ yelp-tools
+ pkg-config))
(home-page "https://gparted.org/")
(synopsis "Partition editor to graphically manage disk partitions")
(description "GParted is a GNOME partition editor for creating,
@@ -637,10 +634,9 @@ systems. Output format is completely customizable.")
(lambda* (#:key make-flags #:allow-other-keys)
(apply invoke "make" "install-extra" make-flags))))))
(inputs
- `(("eudev" ,eudev)
- ("parted" ,parted)))
+ (list eudev parted))
(home-page "http://oss.digirati.com.br/f3/")
- (synopsis "Test real capacity of flash memory cards and such.")
+ (synopsis "Test real capacity of flash memory cards and such")
(description "F3 (Fight Flash Fraud or Fight Fake Flash) tests the full
capacity of a flash card (flash drive, flash disk, pendrive). F3 writes to
the card and then checks if can read it. It will assure you haven't been sold
@@ -674,12 +670,11 @@ a card with a smaller capacity than stated.")
(invoke "python" "-m" "unittest" "discover" "-v")
#t)))))
(native-inputs
- `(("e2fsprogs" ,e2fsprogs)
- ("pkg-config" ,pkg-config)))
+ (list e2fsprogs pkg-config))
(propagated-inputs
- `(("python-six" ,python-six)))
+ (list python-six))
(inputs
- `(("parted" ,parted)))
+ (list parted))
(home-page "https://github.com/dcantrell/pyparted")
(synopsis "Parted bindings for Python")
(description "This package provides @code{parted} bindings for Python.")
@@ -700,10 +695,9 @@ a card with a smaller capacity than stated.")
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ (list pkg-config))
(inputs
- `(("glib" ,glib)
- ("sqlite" ,sqlite)))
+ (list glib sqlite))
(arguments
`(#:tests? #f ; no test suite
#:phases
@@ -743,12 +737,11 @@ Duperemove can also take input from the @command{fdupes} program.")
"0lfjrpv3z4h0knd3v94fijrw2zjba51mrp3mjqx2c98wr428l26f"))))
(build-system python-build-system)
(inputs
- `(("w3m" ,w3m)))
+ (list w3m))
(native-inputs
- `(("which" ,which)
-
- ;; For tests.
- ("python-pytest" ,python-pytest)))
+ (list which
+ ;; For tests.
+ python-pytest))
(arguments
'( ;; The 'test' target runs developer tools like pylint, which fail.
#:test-target "test_pytest"
@@ -790,9 +783,7 @@ automatically finding out which program to use for what file type.")
"16rhfz6sjwxlmss1plb2wv2i3jq6wza02rmz1d2jrlnsq67p98vc"))))
(build-system gnu-build-system)
(native-inputs
- `(("pkg-config" ,pkg-config)
- ("swig" ,swig)
- ("python" ,python-3))) ; used to generate the Python bindings
+ (list pkg-config swig python-3)) ; used to generate the Python bindings
(inputs
`(("cryptsetup" ,cryptsetup)
("nss" ,nss)
@@ -821,7 +812,7 @@ passphrases.")
(define-public ndctl
(package
(name "ndctl")
- (version "71.1")
+ (version "72.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -830,43 +821,47 @@ passphrases.")
(file-name (git-file-name name version))
(sha256
(base32
- "1vi61bm9wyawklswh9mj9zdp28ar7r97qckwnhgiyila73fb3jx2"))))
+ "1lvrhlad5n43bal053ihgbwr1k4ka2kscrjwr9rs5xnf2vy7204v"))))
(build-system gnu-build-system)
+ (arguments
+ (list #:configure-flags
+ #~(list "--disable-asciidoctor" ; use docbook-xsl instead
+ "--without-systemd")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'fix-version
+ ;; Our VERSION's always better than the build's poor guess.
+ (lambda _
+ (with-output-to-file "version"
+ (lambda _ (display #$version)))))
+ (add-after 'unpack 'patch-FHS-file-names
+ (lambda _
+ (substitute* "git-version-gen"
+ (("/bin/sh") (which "sh")))
+ (substitute* "git-version"
+ (("/bin/bash") (which "bash"))))))
+ #:make-flags
+ #~(list (string-append "BASH_COMPLETION_DIR=" #$output
+ "/share/bash-completion/completions"))))
(native-inputs
- `(("asciidoc" ,asciidoc)
- ("automake" ,automake)
- ("autoconf" ,autoconf)
- ("bash-completion" ,bash-completion)
- ("docbook-xsl" ,docbook-xsl)
- ("libtool" ,libtool)
- ("libxml2" ,libxml2)
- ("pkg-config" ,pkg-config)
- ("xmlto" ,xmlto)
- ;; Required for offline docbook generation.
- ("which" ,which)))
+ (list asciidoc
+ automake
+ autoconf
+ bash-completion
+ docbook-xsl
+ libtool
+ libxml2
+ pkg-config
+ xmlto
+ ;; Required for offline docbook generation.
+ which))
(inputs
- `(("eudev" ,eudev)
- ("json-c" ,json-c)
- ("keyutils" ,keyutils)
- ("kmod" ,kmod)
- ("util-linux" ,util-linux "lib")))
- (arguments
- `(#:configure-flags
- (list "--disable-asciidoctor" ; use docbook-xsl instead
- "--without-systemd")
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch-FHS-file-names
- (lambda _
- (substitute* "git-version-gen"
- (("/bin/sh") (which "sh")))
- (substitute* "git-version"
- (("/bin/bash") (which "bash")))
- #t)))
- #:make-flags
- (let ((out (assoc-ref %outputs "out")))
- (list (string-append "BASH_COMPLETION_DIR=" out
- "/share/bash-completion/completions")))))
+ (list eudev
+ iniparser
+ json-c
+ keyutils
+ kmod
+ `(,util-linux "lib")))
(home-page "https://github.com/pmem/ndctl")
(synopsis "Manage the non-volatile memory device sub-system in the Linux kernel")
(description
@@ -889,8 +884,8 @@ libnvdimm (non-volatile memory device) sub-system in the Linux kernel.")
(base32
"1n7vsqvh7y6yvil682q129d21yhb0cmvd5fvsbkza7ypd78inhlk"))))
(build-system gnu-build-system)
- (inputs `(("lvm2" ,lvm2)))
- (native-inputs `(("which" ,which)))
+ (inputs (list lvm2))
+ (native-inputs (list which))
(arguments
`(#:tests? #f ; No tests.
;; Prevent a race condition where some target would attempt to link
@@ -922,16 +917,15 @@ to create devices with respective mappings for the ATARAID sets discovered.")
(define-public libblockdev
(package
(name "libblockdev")
- (version "2.25")
+ (version "2.26")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/storaged-project/"
"libblockdev/releases/download/"
version "-1/libblockdev-" version ".tar.gz"))
- (patches (search-patches "libblockdev-glib-compat.patch"))
(sha256
(base32
- "0s0nazkpzpn4an00qghjkk9n7gdm5a8dqfr5hfnlk5mk5lma8njm"))))
+ "0sg068jb87ljhn8yazrqxi6ri10ic2sh1lp6ikd2nqxc6l5y3h64"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@@ -947,23 +941,22 @@ to create devices with respective mappings for the ATARAID sets discovered.")
("python" ,python-wrapper)
("util-linux" ,util-linux)))
(inputs
- `(("btrfs-progs" ,btrfs-progs)
- ("cryptsetup" ,cryptsetup)
- ("dosfstools" ,dosfstools)
- ("dmraid" ,dmraid)
- ("eudev" ,eudev)
- ("glib" ,glib)
- ("kmod" ,kmod)
- ("libbytesize" ,libbytesize)
- ("libyaml" ,libyaml)
- ("lvm2" ,lvm2)
- ("mdadm" ,mdadm)
- ("ndctl" ,ndctl)
- ("nss" ,nss)
- ("parted" ,parted)
- ("volume-key" ,volume-key)
- ;; ("xfsprogs" ,xfsprogs) ; TODO: Package?
- ))
+ (list btrfs-progs
+ cryptsetup
+ dosfstools
+ dmraid
+ eudev
+ glib
+ kmod
+ libbytesize
+ libyaml
+ lvm2
+ mdadm
+ ndctl
+ nss
+ parted
+ volume-key
+ xfsprogs))
(home-page "https://github.com/storaged-project/libblockdev")
(synopsis "Library for manipulating block devices")
(description
@@ -1045,7 +1038,7 @@ on your file system and offers to remove it. @command{rmlint} can find:
(define-public lf
(package
(name "lf")
- (version "13")
+ (version "25")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1054,11 +1047,14 @@ on your file system and offers to remove it. @command{rmlint} can find:
(file-name (git-file-name name version))
(sha256
(base32
- "1ld3q75v8rvp169w5p85z1vznqs9bhck6bm2f6fykxx16hmpb6ga"))))
+ "014cybng6hc9y3ma74hpc1ac3rkz4ydflx8jbmvx81rdd08rzwz7"))))
(build-system go-build-system)
(native-inputs
`(("go-github.com-mattn-go-runewidth" ,go-github.com-mattn-go-runewidth)
- ("go-github.com-nsf-termbox-go" ,go-github.com-nsf-termbox-go)))
+ ("go-github.com-nsf-termbox-go" ,go-github.com-nsf-termbox-go)
+ ("go-golang-org-x-term" ,go-golang-org-x-term)
+ ("go-gopkg-in-djherbis-times-v1" ,go-gopkg-in-djherbis-times-v1)
+ ("go-github-com-gdamore-tcell-v2" ,go-github-com-gdamore-tcell-v2)))
(arguments
`(#:import-path "github.com/gokcehan/lf"))
(home-page "https://github.com/gokcehan/lf")
@@ -1123,8 +1119,7 @@ since they are better handled by external tools.")
(("~/.config/xfe") xfe)))
#t))))))
(native-inputs
- `(("intltool" ,intltool)
- ("pkg-config" ,pkg-config)))
+ (list intltool pkg-config))
(inputs
`(("bash" ,bash)
("coreutils" ,coreutils)
@@ -1190,7 +1185,7 @@ that support this feature).")
(define-public memkind
(package
(name "memkind")
- (version "1.11.0")
+ (version "1.12.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1198,19 +1193,15 @@ that support this feature).")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32
- "0w5hws12l167mbr4n6a6fl0mhf8mci61fsn55lh2cxz33f7q8n2x"))))
+ (base32 "1s52vl2jlrdc8nxnvf993x9mcag56qxcaniiijhmsv42a26hvjk4"))))
(build-system gnu-build-system)
(inputs
- `(;; memkind patched jemalloc to add je_arenalookupx,
- ;; je_check_reallocatex--i.e. they forked jemalloc.
- ;("jemalloc" ,jemalloc)
- ("ndctl" ,ndctl)
- ("numactl" ,numactl)))
+ (list ;; memkind patched jemalloc to add je_arenalookupx,
+ ;; je_check_reallocatex--i.e. they forked jemalloc.
+ ;("jemalloc" ,jemalloc)
+ ndctl numactl))
(native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)
- ("libtool" ,libtool)))
+ (list autoconf automake libtool))
(arguments
`(#:configure-flags
(list (string-append "--docdir=" (assoc-ref %outputs "out")
@@ -1225,8 +1216,7 @@ that support this feature).")
(("/bin/sh") (which "sh")))
(invoke "autoconf")
(substitute* "configure"
- (("/bin/sh") (which "sh"))))
- #t)))))
+ (("/bin/sh") (which "sh")))))))))
(home-page "https://github.com/memkind/memkind")
(synopsis "Heap manager with memory kinds (for NUMA)")
(description "This package provides a user-extensible heap manager
@@ -1235,8 +1225,8 @@ and a partitioning of the heap between kinds of memory (for NUMA).")
(license license:bsd-3)))
(define-public mmc-utils
- (let ((commit "e9654ebc4a6a48642848822c4a1355a9de4958d1")
- (revision "0"))
+ (let ((commit "3969aa4804edb8aed7bcb3c958e49d0c7388b067")
+ (revision "1"))
(package
(name "mmc-utils")
(version (git-version "0.1" revision commit))
@@ -1244,12 +1234,11 @@ and a partitioning of the heap between kinds of memory (for NUMA).")
(origin
(method git-fetch)
(uri (git-reference
- (url "https://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc-utils.git")
+ (url "https://git.kernel.org/pub/scm/utils/mmc/mmc-utils.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
- (base32
- "1dbsppsmky0r4z6kxwczrw8pih8bhc2pb61gsvs986r4xy6jr17a"))))
+ (base32 "0pvcm685x63afvp8795jd4vn4zs8psh8bs6j2yvk1kgrawpyk10g"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; No test suite
@@ -1265,7 +1254,8 @@ and a partitioning of the heap between kinds of memory (for NUMA).")
(let* ((out (assoc-ref outputs "out"))
(man1 (string-append out "/share/man/man1")))
(install-file "man/mmc.1" man1)))))))
- (home-page "https://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc-utils.git/")
+ (home-page
+ "https://www.kernel.org/doc/html/latest/driver-api/mmc/mmc-tools.html")
(synopsis "Configure MMC storage devices from userspace")
(description "mmc-utils is a command-line tool for configuring and
inspecting MMC storage devices from userspace.")
@@ -1294,10 +1284,9 @@ inspecting MMC storage devices from userspace.")
(invoke "nosetests" "-v"
"--exclude" "test_bmap_helpers"))))))
(native-inputs
- `(("python-mock" ,python-mock)
- ("python-nose" ,python-nose)))
+ (list python-mock python-nose))
(propagated-inputs
- `(("python-six" ,python-six)))
+ (list python-six))
(home-page "https://github.com/intel/bmap-tools")
(synopsis "Create block map for a file or copy a file using block map")
(description "Bmaptool is a tool for creating the block map (bmap) for a
@@ -1338,15 +1327,9 @@ reliably with @code{bmaptool} than with traditional tools, like @code{dd} or
(doc (string-append out "/share/doc/" ,name "-" ,version)))
(copy-recursively "examples" (string-append doc "/examples"))))))))
(native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)
- ("libtool" ,libtool)
- ("pkg-config" ,pkg-config)))
+ (list autoconf automake libtool pkg-config))
(inputs
- `(("cairo" ,cairo)
- ("pango" ,pango)
- ("tokyocabinet" ,tokyocabinet)
- ("ncurses" ,ncurses)))
+ (list cairo pango tokyocabinet ncurses))
(home-page "http://duc.zevv.nl")
(synopsis "Library and suite of tools for inspecting disk usage")
(description "Duc maintains a database of accumulated sizes of
@@ -1356,3 +1339,47 @@ some tools, or create fancy graphs showing you where your bytes are.
Duc comes with console utilities, ncurses and X11 user interfaces and a CGI
wrapper for disk usage querying and visualisation.")
(license license:lgpl3+)))
+
+(define-public qdirstat
+ (package
+ (name "qdirstat")
+ (version "1.8")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/shundhammer/qdirstat")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "079rmy3j0442y5gjh6la6w1j6jaw83wklamrf19yxi20zsm99xs7"))))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'configure
+ (lambda* (#:key outputs #:allow-other-keys)
+ (system* "qmake"
+ (string-append "INSTALL_PREFIX="
+ (assoc-ref outputs "out")))))
+ (add-after 'install 'wrap
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (wrap-program (string-append
+ (assoc-ref outputs "out")
+ "/bin/qdirstat-cache-writer")
+ `("PERL5LIB" ":" prefix
+ (,(string-append
+ (assoc-ref inputs "perl-uri-escape")
+ "/lib/perl5/site_perl")))))))))
+ (build-system gnu-build-system)
+ (inputs
+ (list bash-minimal
+ perl
+ perl-uri-escape
+ qtbase-5
+ zlib))
+ (synopsis "Storage utilisation visualization tool")
+ (description
+ "QDirStat is a graphical application to show where your disk space has
+gone and to help you to clean it up.")
+ (home-page "https://github.com/shundhammer/qdirstat")
+ (license license:gpl2)))