diff options
Diffstat (limited to 'gnu/packages/disk.scm')
-rw-r--r-- | gnu/packages/disk.scm | 86 |
1 files changed, 77 insertions, 9 deletions
diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm index c4f128d14a..c9409358db 100644 --- a/gnu/packages/disk.scm +++ b/gnu/packages/disk.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2012, 2013 Nikita Karetnikov <nikita@karetnikov.org> ;;; Copyright © 2015 Mathieu Lirzin <mthl@gnu.org> ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> -;;; Copyright © 2016, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2016, 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2016, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2016 Roel Janssen <roel@gnu.org> @@ -18,6 +18,7 @@ ;;; Copyright © 2020 Pkill -9 <pkill9@runbox.com> ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org> +;;; Copyright © 2021 Michael Rohleder <mike@rohleder.de> ;;; ;;; This file is part of GNU Guix. ;;; @@ -89,6 +90,73 @@ #:use-module (guix packages) #:use-module (guix utils)) +(define-public bcache-tools + ;; The 1.1 release is a year old and missing new features & documentation. + (let ((commit "096d205a9f1be8540cbc5a468c0da8203023de70") + (revision "0")) + (package + (name "bcache-tools") + (version (git-version "1.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url (string-append "https://git.kernel.org/pub/scm/" + "linux/kernel/git/colyli/bcache-tools.git")) + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0r0vwg4vacz5zgsafk360xn7gi2scy01c79mkmjrdyxjfij5z3iy")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; no test suite + #:make-flags + (list (string-append "PREFIX=" (assoc-ref %outputs "out")) + (string-append "UDEVLIBDIR=" (assoc-ref %outputs "out") + "/lib/udev") + (string-append "DRACUTLIBDIR=" (assoc-ref %outputs "out") + "/lib/dracut") + (string-append "CC=" ,(cc-for-target))) + #:phases + (modify-phases %standard-phases + (delete 'configure) ; no configure script + (add-before 'install 'fix-hard-coded-file-names + (lambda _ + ;; Some rules still hard-code /usr. + (substitute* "Makefile" + (("/usr") "${PREFIX}")) + #t)) + (add-before 'install 'create-target-directories + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out"))) + (for-each (lambda (dir) + (mkdir-p (string-append out dir))) + (list "/lib/udev/rules.d" + "/sbin" + "/share/man/man8")) + #t)))))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("util-linux:lib" ,util-linux "lib"))) ; libblkid + (home-page "https://bcache.evilpiepirate.org") + (synopsis "Tools for the Linux kernel block layer cache") + (description + "This package contains user-space utilities to create and inspect bcache +partitions. It's rather minimal as bcache is designed to work well without +configuration on any system. + +Linux's @acronym{bcache, block layer cache} lets one or more fast block devices, +such as flash-based @acronym{SSDs, solid state drives}, to act as a cache for +one or more slower (and inexpensive) devices, such as hard disk drives or +redundant storage arrays. In fact, bcache intends to be a superior alternative +to battery-backed RAID controllers. + +Bcache is designed around the performance characteristics of SSDs and tries to +minimize write inflation. It's file-system agnostic and does both write-through +and write-back caching.") + (license license:gpl2)))) + (define-public udevil (package (name "udevil") @@ -237,14 +305,14 @@ tables, and it understands a variety of different formats.") (define-public gptfdisk (package (name "gptfdisk") - (version "1.0.5") + (version "1.0.6") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/gptfdisk/gptfdisk/" version "/gptfdisk-" version ".tar.gz")) (sha256 - (base32 "0bybgp30pqxb6x5krxazkq4drca0gz4inxj89fpyr204rn3kjz8f")))) + (base32 "1a4c2ss6n2s6x8v11h79jykh96y46apd6i838ka0ngx58gb53ifx")))) (build-system gnu-build-system) (inputs `(("gettext" ,gettext-minimal) @@ -426,14 +494,14 @@ and can dramatically shorten the lifespan of the drive if left unchecked.") (define-public gparted (package (name "gparted") - (version "1.1.0") + (version "1.2.0") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/gparted/gparted/gparted-" version "/gparted-" version ".tar.gz")) (sha256 - (base32 "092rgwjh1825fal6v3yafq2wr0i61hh0a2n0j4296zn0zdx7pzp2")))) + (base32 "06f72hqx5jf2irzsmi7lgpxxj38ncixh0acb4307wyjd4mfp343c")))) (build-system glib-or-gtk-build-system) (arguments ;; Tests require access to paths outside the build container, such @@ -692,7 +760,7 @@ passphrases.") (define-public ndctl (package (name "ndctl") - (version "71") + (version "71.1") (source (origin (method git-fetch) (uri (git-reference @@ -701,7 +769,7 @@ passphrases.") (file-name (git-file-name name version)) (sha256 (base32 - "14vhldncflxgsam49ssn1x3h4m9xxw9dwyl748xajf1js33ph5av")))) + "1vi61bm9wyawklswh9mj9zdp28ar7r97qckwnhgiyila73fb3jx2")))) (build-system gnu-build-system) (native-inputs `(("asciidoc" ,asciidoc) @@ -793,7 +861,7 @@ to create devices with respective mappings for the ATARAID sets discovered.") (define-public libblockdev (package (name "libblockdev") - (version "2.24") + (version "2.25") (source (origin (method url-fetch) (uri (string-append "https://github.com/storaged-project/" @@ -801,7 +869,7 @@ to create devices with respective mappings for the ATARAID sets discovered.") version "-1/libblockdev-" version ".tar.gz")) (sha256 (base32 - "0wq7624pnprvfzrf39bq1cybd9lqwawbdg5bm0cchlpgvdq7q86w")))) + "0s0nazkpzpn4an00qghjkk9n7gdm5a8dqfr5hfnlk5mk5lma8njm")))) (build-system gnu-build-system) (arguments `(#:phases |