summaryrefslogtreecommitdiff
path: root/gnu/packages/file-systems.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/file-systems.scm')
-rw-r--r--gnu/packages/file-systems.scm98
1 files changed, 87 insertions, 11 deletions
diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm
index bc147bf3c6..2c5ad95d63 100644
--- a/gnu/packages/file-systems.scm
+++ b/gnu/packages/file-systems.scm
@@ -6,6 +6,7 @@
;;; Copyright © 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org>
;;; Copyright © 2020 Morgan Smith <Morgan.J.Smith@outlook.com>
+;;; Copyright © 2021 raid5atemyhoemwork <raid5atemyhomework@protonmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -38,6 +39,7 @@
#:use-module (gnu packages acl)
#:use-module (gnu packages attr)
#:use-module (gnu packages autotools)
+ #:use-module (gnu packages base)
#:use-module (gnu packages bison)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
@@ -48,6 +50,7 @@
#:use-module (gnu packages documentation)
#:use-module (gnu packages docbook)
#:use-module (gnu packages flex)
+ #:use-module (gnu packages gawk)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages kerberos)
@@ -328,8 +331,8 @@ from a mounted file system.")
(license license:gpl2+)))
(define-public bcachefs-tools
- (let ((commit "742dbbdbb90efb786f05a8576917fcd0e9cbd57e")
- (revision "1"))
+ (let ((commit "db931a4571817d7d61be6bce306f1d42f7cd3398")
+ (revision "2"))
(package
(name "bcachefs-tools")
(version (git-version "0.1" revision commit))
@@ -341,7 +344,7 @@ from a mounted file system.")
(commit commit)))
(file-name (git-file-name name version))
(sha256
- (base32 "0kn8y3kqylz6scv47mzfmwrlh21kbb14z5vs65vks8w50i26sxnc"))))
+ (base32 "1zl8lda6ni6rhsmsng6smrcjihy2irjf03h1m7nvkqmkhq44j80s"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags
@@ -352,7 +355,24 @@ from a mounted file system.")
"PYTEST=pytest")
#:phases
(modify-phases %standard-phases
- (delete 'configure)) ; no configure script
+ (delete 'configure) ; no configure script
+ (add-after 'install 'promote-mount.bcachefs.sh
+ ;; XXX The (optional) mount.bcachefs helper requires rust:cargo.
+ ;; This alternative shell script does the job well enough for now.
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (with-directory-excursion (string-append out "/sbin")
+ (rename-file "mount.bcachefs.sh" "mount.bcachefs")
+ ;; WRAP-SCRIPT causes bogus ‘Insufficient arguments’ errors.
+ (wrap-program "mount.bcachefs"
+ `("PATH" ":" prefix
+ ,(cons (string-append out "/sbin")
+ (map (lambda (input)
+ (string-append (assoc-ref inputs input)
+ "/bin"))
+ (list "coreutils"
+ "gawk"
+ "util-linux"))))))))))
#:tests? #f)) ; XXX 6 valgrind tests fail
(native-inputs
`(("pkg-config" ,pkg-config)
@@ -367,10 +387,15 @@ from a mounted file system.")
("libscrypt" ,libscrypt)
("libsodium" ,libsodium)
("liburcu" ,liburcu)
- ("util-linux" ,util-linux "lib") ; lib{blkid,uuid}
+ ("util-linux:lib" ,util-linux "lib") ; lib{blkid,uuid}
("lz4" ,lz4)
("zlib" ,zlib)
- ("zstd:lib" ,zstd "lib")))
+ ("zstd:lib" ,zstd "lib")
+
+ ;; Only for mount.bcachefs.sh.
+ ("coreutils" ,coreutils-minimal)
+ ("gawk" ,gawk)
+ ("util-linux" ,util-linux)))
(home-page "https://bcachefs.org/")
(synopsis "Tools to create and manage bcachefs file systems")
(description
@@ -386,6 +411,55 @@ caching system, and lets you assign different roles to each device based on its
performance and other characteristics.")
(license license:gpl2+))))
+(define-public bcachefs-tools/static
+ (package
+ (inherit bcachefs-tools)
+ (name "bcachefs-tools-static")
+ (arguments
+ (substitute-keyword-arguments (package-arguments bcachefs-tools)
+ ((#:make-flags make-flags)
+ `(append ,make-flags
+ (list "LDFLAGS=-static")))))
+ (inputs
+ `(("eudev:static" ,eudev "static")
+ ("libscrypt:static" ,libscrypt "static")
+ ("lz4:static" ,lz4 "static")
+ ("util-linux:static" ,util-linux "static") ; lib{blkid,uuid}
+ ("zlib" ,zlib "static")
+ ("zstd:static" ,zstd "static")
+ ,@(package-inputs bcachefs-tools)))))
+
+(define-public bcachefs/static
+ (package
+ (name "bcachefs-static")
+ (version (package-version bcachefs-tools))
+ (build-system trivial-build-system)
+ (source #f)
+ (inputs
+ `(("bcachefs-tools" ,bcachefs-tools/static)))
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder
+ (begin
+ (use-modules (guix build utils)
+ (ice-9 ftw)
+ (srfi srfi-26))
+ (let* ((bcachefs-tools (assoc-ref %build-inputs "bcachefs-tools"))
+ (out (assoc-ref %outputs "out")))
+ (mkdir-p out)
+ (with-directory-excursion out
+ (install-file (string-append bcachefs-tools
+ "/sbin/bcachefs")
+ "sbin")
+ (remove-store-references "sbin/bcachefs")
+ (invoke "sbin/bcachefs" "version") ; test suite
+ #t)))))
+ (home-page (package-home-page bcachefs-tools))
+ (synopsis "Statically-linked bcachefs command from bcachefs-tools")
+ (description "This package provides the statically-linked @command{bcachefs}
+from the bcachefs-tools package. It is meant to be used in initrds.")
+ (license (package-license bcachefs-tools))))
+
(define-public exfatprogs
(package
(name "exfatprogs")
@@ -871,7 +945,8 @@ APFS.")
("openssl" ,openssl)
("python" ,python)
("python-cffi" ,python-cffi)
- ("util-linux" ,util-linux "lib")
+ ("util-linux" ,util-linux)
+ ("util-linux:lib" ,util-linux "lib")
("zlib" ,zlib)))
(home-page "https://zfsonlinux.org/")
(synopsis "Native ZFS on Linux")
@@ -982,14 +1057,14 @@ compatible directories.")
(define-public python-dropbox
(package
(name "python-dropbox")
- (version "10.3.1")
+ (version "11.0.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "dropbox" version))
(sha256
(base32
- "137rn9fs1bg1p1khd5lcccfxh8jsx27dh2ix5wwd8cmddbrzdrbd"))))
+ "0r64jxm5m4a1sln2la3av0103filb0plqja1nnyibqvk9qrqs5jf"))))
(build-system python-build-system)
(arguments '(#:tests? #f)) ; Tests require a network connection.
(native-inputs
@@ -1000,6 +1075,7 @@ compatible directories.")
("python-chardet" ,python-chardet)
("python-requests" ,python-requests)
("python-six" ,python-six)
+ ("python-stone" ,python-stone)
("python-urllib3" ,python-urllib3)))
(home-page "https://www.dropbox.com/developers")
(synopsis "Official Dropbox API Client")
@@ -1010,14 +1086,14 @@ Dropbox API v2.")
(define-public dbxfs
(package
(name "dbxfs")
- (version "1.0.43")
+ (version "1.0.48")
(source
(origin
(method url-fetch)
(uri (pypi-uri "dbxfs" version))
(sha256
(base32
- "1f9sy2ax215dxiwszrrcadffjdsmrlxm4kwrbiap9dhxvzm226ks"))
+ "07q7dgqaqqyapjl9r4lqydflrgx4dh84c1qsb0jvfmqj3i8887ak"))
(patches (search-patches "dbxfs-remove-sentry-sdk.patch"))))
(build-system python-build-system)
(arguments