aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2014-04-14 23:47:15 +0200
committerLudovic Courtès <ludo@gnu.org>2014-04-14 23:47:15 +0200
commit0b7a0c2030fe85fc54f428e1d874017d4072eead (patch)
treebdef92f5fbaa4862eb18ae90d1413d8396a060d4 /gnu/packages
parentdcd3ed9cc764d269259374286807a5483ad219b4 (diff)
downloadguix-0b7a0c2030fe85fc54f428e1d874017d4072eead.tar
guix-0b7a0c2030fe85fc54f428e1d874017d4072eead.tar.gz
gnu: unionfs-fuse-static: Remove dependency on util-linux.
* gnu/packages/linux.scm (fuse-static): New variable. (unionfs-fuse/static): Use it.
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/linux.scm20
1 files changed, 19 insertions, 1 deletions
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index da5b31a169..759b92d51e 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -962,6 +962,23 @@ space, using the FUSE library. Mounting a union file system allows you to
UnionFS-FUSE additionally supports copy-on-write.")
(license bsd-3)))
+(define fuse-static
+ (package (inherit fuse)
+ (name "fuse-static")
+ (source (origin (inherit (package-source fuse))
+ (modules '((guix build utils)))
+ (snippet
+ ;; Normally libfuse invokes mount(8) so that /etc/mtab is
+ ;; updated. Change calls to 'mtab_needs_update' to 0 so that
+ ;; it doesn't do that, allowing us to remove the dependency on
+ ;; util-linux (something that is useful in initrds.)
+ '(substitute* '("lib/mount_util.c"
+ "util/mount_util.c")
+ (("mtab_needs_update[[:blank:]]*\\([a-z_]+\\)")
+ "0")
+ (("/bin/")
+ "")))))))
+
(define-public unionfs-fuse/static
(package (inherit unionfs-fuse)
(synopsis "User-space union file system (statically linked)")
@@ -976,4 +993,5 @@ UnionFS-FUSE additionally supports copy-on-write.")
libs " dl)"))))))
(arguments
'(#:tests? #f
- #:configure-flags '("-DCMAKE_EXE_LINKER_FLAGS=-static")))))
+ #:configure-flags '("-DCMAKE_EXE_LINKER_FLAGS=-static")))
+ (inputs `(("fuse" ,fuse-static)))))