;;; 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.
;;;
(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")
(license license:gpl2+)))
(define-public bcachefs-tools
- (let ((commit "ab2f1ec24f5307b0cf1e3c4ad19bf350d9f54d9f")
- (revision "0"))
+ (let ((commit "742dbbdbb90efb786f05a8576917fcd0e9cbd57e")
+ (revision "1"))
(package
(name "bcachefs-tools")
(version (git-version "0.1" revision commit))
(commit commit)))
(file-name (git-file-name name version))
(sha256
- (base32 "10pafvaxg1lvwnqjv3a4rsi96bghbpcsgh3vhqilndi334k3b0hd"))))
+ (base32 "0kn8y3kqylz6scv47mzfmwrlh21kbb14z5vs65vks8w50i26sxnc"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags
("python-pytest" ,python-pytest)
("valgrind" ,valgrind)))
(inputs
- `(("keyutils" ,keyutils)
+ `(("eudev" ,eudev)
+ ("keyutils" ,keyutils)
("libaio" ,libaio)
("libscrypt" ,libscrypt)
("libsodium" ,libsodium)
(define-public zfs
(package
(name "zfs")
- (version "0.8.2")
+ (version "0.8.5")
(outputs '("out" "module" "src"))
(source
(origin
"/download/zfs-" version
"/zfs-" version ".tar.gz"))
(sha256
- (base32
- "1f7aig15q3z832pr2n48j3clafic2yk1vvqlh28vpklfghjqwq27"))))
+ (base32 "0gfdnynmsxbhi97q73smrgmcw1k8zmlr1hgljfn38sk0kimivd6v"))))
(build-system linux-module-build-system)
(arguments
`(;; The ZFS kernel module should not be downloaded since the license
(lambda* (#:key outputs inputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(substitute* "configure"
- (("-/bin/sh") (string-append "-" (which "sh")))
- ((" /bin/sh") (string-append " " (which "sh"))))
+ (("-/bin/sh") (string-append "-" (which "sh"))))
(invoke "./configure"
"--with-config=all"
(string-append "--prefix=" out)
(src (assoc-ref outputs "src"))
(util-linux (assoc-ref inputs "util-linux"))
(nfs-utils (assoc-ref inputs "nfs-utils")))
+ (substitute* "contrib/Makefile.in"
+ ;; This is not configurable nor is its hard-coded /usr prefix.
+ ((" initramfs") ""))
(substitute* "module/zfs/zfs_ctldir.c"
(("/usr/bin/env\", \"umount")
(string-append util-linux "/bin/umount\", \"-n"))
"INSTALL_MOD_STRIP=1")
(install-file "contrib/bash_completion.d/zfs"
(string-append out "/share/bash-completion/completions"))
- (symlink "../share/pkgconfig/" (string-append out "/lib/pkgconfig"))
#t))))))
(native-inputs
`(("attr" ,attr)
))))
(define-public mergerfs-tools
- (let ((commit "c926779d87458d103f3b674603bf97801ae2486d")
- (revision "1"))
+ (let ((commit "480296ed03d1c3c7909697d7ef96d35840ee26b8")
+ (revision "2"))
(package
(name "mergerfs-tools")
;; No released version exists.
(file-name (git-file-name name version))
(sha256
(base32
- "04hhwcib0xv4cf1mkj8zrp2aqpxkncml9iqg4m1mz6a5zhzsk0vm"))))
+ "0xr06gi4xcr832rzy0hkp5c1n231s7w5iq1nkjvx9kvm0dl7chpq"))))
(build-system copy-build-system)
(inputs
`(("python" ,python)