mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-24 21:38:07 -05:00
gnu: Add mergerfs.
* gnu/packages/storage.scm (mergerfs): New variable. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
parent
56caf77e0d
commit
639bcf205d
1 changed files with 47 additions and 0 deletions
|
@ -682,3 +682,50 @@ (define-public zfs
|
|||
originally developed for Solaris and is now maintained by the OpenZFS
|
||||
community.")
|
||||
(license license:cddl1.0)))
|
||||
|
||||
(define-public mergerfs
|
||||
(package
|
||||
(name "mergerfs")
|
||||
(version "2.29.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/trapexit/mergerfs/releases/download/"
|
||||
version "/mergerfs-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"17gizw4vgbqqjd2ykkfpp276942jb5qclp0lkiwkmq1yjgyjqfmk"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; No tests exist.
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(add-after 'unpack 'fix-paths
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(setenv "CC" "gcc")
|
||||
;; These were copied from the package libfuse.
|
||||
(substitute* '("libfuse/lib/mount_util.c" "libfuse/util/mount_util.c")
|
||||
(("/bin/(u?)mount" _ maybe-u)
|
||||
(string-append (assoc-ref inputs "util-linux")
|
||||
"/bin/" maybe-u "mount")))
|
||||
(substitute* '("libfuse/util/mount.mergerfs.c")
|
||||
(("/bin/sh")
|
||||
(which "sh")))
|
||||
;; The Makefile does not allow overriding PREFIX via make variables.
|
||||
(substitute* '("Makefile" "libfuse/Makefile")
|
||||
(("= /usr/local") (string-append "= " (assoc-ref outputs "out")))
|
||||
;; cannot chown as build user
|
||||
(("chown root:root") "true"))
|
||||
#t)))))
|
||||
;; mergerfs bundles a heavily modified copy of libfuse.
|
||||
(inputs `(("util-linux" ,util-linux)))
|
||||
(home-page "https://github.com/trapexit/mergerfs")
|
||||
(synopsis "Featureful union filesystem")
|
||||
(description "mergerfs is a union filesystem geared towards simplifying
|
||||
storage and management of files across numerous commodity storage devices. It
|
||||
is similar to mhddfs, unionfs, and aufs.")
|
||||
(license (list
|
||||
license:isc ; mergerfs
|
||||
license:gpl2 license:lgpl2.0 ; Imported libfuse code.
|
||||
))))
|
||||
|
|
Loading…
Reference in a new issue