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.scm66
1 files changed, 54 insertions, 12 deletions
diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm
index b8612ac3b2..6ceaad4fd1 100644
--- a/gnu/packages/file-systems.scm
+++ b/gnu/packages/file-systems.scm
@@ -5,6 +5,7 @@
;;; Copyright © 2018 Leo Famulari <leo@famulari.name>
;;; 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>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -141,6 +142,46 @@ large and/or frequently changing (network) environment.")
(license (list license:bsd-3 ; modules/cyrus-sasl.c
license:gpl2+)))) ; the rest
+(define-public bindfs
+ (package
+ (name "bindfs")
+ (version "1.14.8")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://bindfs.org/downloads/bindfs-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "15y4brlcrqhxl6z73785m0dr1vp2q3wc6xss08x9jjr0apzmmjp5"))))
+ (build-system gnu-build-system)
+ (arguments
+ ;; XXX: The tests have no hope of passing until there is a "nogroup"
+ ;; entry (or at least some group to which the guix builder does
+ ;; not belong) in the /etc/group file of the build environment.
+ ;; Currently we do not have such a group. Disable tests for now.
+ '(#:tests? #f))
+ (native-inputs
+ ;; Native inputs to run the tests
+ ;; ("ruby" ,ruby)
+ ;; ("valgrind" ,valgrind)
+ ;; ("which" ,which)
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("fuse" ,fuse)))
+ (home-page "https://bindfs.org")
+ (synopsis "Bind mount a directory and alter permission bits")
+ (description
+ "@command{bindfs} is a FUSE filesystem for mounting a directory to
+another location, similar to @command{mount --bind}. It can be used for:
+@itemize
+@item Making a directory read-only.
+@item Making all executables non-executable.
+@item Sharing a directory with a list of users (or groups).
+@item Modifying permission bits using rules with chmod-like syntax.
+@item Changing the permissions with which files are created.
+@end itemize ")
+ (license license:gpl2+)))
+
(define-public fsarchiver
(package
(name "fsarchiver")
@@ -504,8 +545,8 @@ non-determinism in the build process.")
(lambda _ (invoke "./autogen.sh"))))))
(native-inputs
`(("pkg-config" ,pkg-config)
- ("libtirpc", libtirpc)
- ("rpcsvc-proto", rpcsvc-proto)
+ ("libtirpc" ,libtirpc)
+ ("rpcsvc-proto" ,rpcsvc-proto)
("python-2" ,python-2) ; must be version 2
("flex" ,flex)
("bison" ,bison)
@@ -515,15 +556,15 @@ non-determinism in the build process.")
("cmocka" ,cmocka)))
(inputs
`(("acl" ,acl)
- ("fuse", fuse)
+ ("fuse" ,fuse)
("openssl" ,openssl)
("liburcu" ,liburcu)
("libuuid" ,util-linux "lib")
("libxml2" ,libxml2)
("readline" ,readline)
("zlib" ,zlib)
- ("libaio", libaio)
- ("rdma-core", rdma-core)))
+ ("libaio" ,libaio)
+ ("rdma-core" ,rdma-core)))
(home-page "https://www.gluster.org")
(synopsis "Distributed file system")
(description "GlusterFS is a distributed scalable network file system
@@ -768,7 +809,7 @@ community.")
(define-public mergerfs
(package
(name "mergerfs")
- (version "2.29.0")
+ (version "2.31.0")
(source
(origin
(method url-fetch)
@@ -776,7 +817,7 @@ community.")
version "/mergerfs-" version ".tar.gz"))
(sha256
(base32
- "17gizw4vgbqqjd2ykkfpp276942jb5qclp0lkiwkmq1yjgyjqfmk"))))
+ "0k4asbg5n9dhy5jpjkw6simqqnr1zira2y4i71cq05091dfwm90p"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; No tests exist.
@@ -797,8 +838,9 @@ community.")
;; The Makefile does not allow overriding PREFIX via make variables.
(substitute* '("Makefile" "libfuse/Makefile")
(("= /usr/local") (string-append "= " (assoc-ref outputs "out")))
+ (("= /sbin") "= $(EXEC_PREFIX)/sbin")
;; cannot chown as build user
- (("chown root:root") "true"))
+ (("chown root(:root)?") "true"))
#t)))))
;; mergerfs bundles a heavily modified copy of libfuse.
(inputs `(("util-linux" ,util-linux)))
@@ -813,8 +855,8 @@ is similar to mhddfs, unionfs, and aufs.")
))))
(define-public mergerfs-tools
- (let ((commit "c926779d87458d103f3b674603bf97801ae2486d")
- (revision "1"))
+ (let ((commit "480296ed03d1c3c7909697d7ef96d35840ee26b8")
+ (revision "2"))
(package
(name "mergerfs-tools")
;; No released version exists.
@@ -828,7 +870,7 @@ is similar to mhddfs, unionfs, and aufs.")
(file-name (git-file-name name version))
(sha256
(base32
- "04hhwcib0xv4cf1mkj8zrp2aqpxkncml9iqg4m1mz6a5zhzsk0vm"))))
+ "0xr06gi4xcr832rzy0hkp5c1n231s7w5iq1nkjvx9kvm0dl7chpq"))))
(build-system copy-build-system)
(inputs
`(("python" ,python)
@@ -917,5 +959,5 @@ Dropbox API v2.")
(synopsis "User-space file system for Dropbox")
(description
"@code{dbxfs} allows you to mount your Dropbox folder as if it were a
-local filesystem using FUSE.")
+local file system using FUSE.")
(license license:gpl3+)))