summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMorgan Smith <Morgan.J.Smith@outlook.com>2020-10-09 18:20:53 -0400
committerMarius Bakke <marius@gnu.org>2020-10-13 23:36:43 +0200
commit6b219b899217d635e5f20e212a88393caff83cd8 (patch)
treecfd39c0ec10568d4592c4341ded893da3dbe1209
parent1bf912e58e08c69e74964d8b350537235e13dc39 (diff)
gnu: Add bindfs.
* gnu/packages/file-systems.scm (bindfs): New variable. Signed-off-by: Marius Bakke <marius@gnu.org>
-rw-r--r--gnu/packages/file-systems.scm41
1 files changed, 41 insertions, 0 deletions
diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm
index c6486c67ef..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")