summary refs log tree commit diff
path: root/gnu/packages/linux.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2014-03-12 15:11:30 +0100
committerLudovic Courtès <ludo@gnu.org>2014-03-12 15:11:30 +0100
commited7485886e26028dfe9bdeb91b4422d9ec461b7c (patch)
treef001d45ae631b0793c310745fe4995da14ab9eb1 /gnu/packages/linux.scm
parent7f3673f21d1bf1d40a587ffbca7ced7de33a8535 (diff)
downloadguix-ed7485886e26028dfe9bdeb91b4422d9ec461b7c.tar.gz
gnu: unionfs-fuse: Add statically-linked variant.
* gnu/packages/linux.scm (unionfs-fuse/static): New variable.
Diffstat (limited to 'gnu/packages/linux.scm')
-rw-r--r--gnu/packages/linux.scm16
1 files changed, 16 insertions, 0 deletions
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index e1668b1d6b..9f202781bf 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -945,3 +945,19 @@ space, using the FUSE library.  Mounting a union file system allows you to
 \"aggregate\" the contents of several directories into a single mount point.
 UnionFS-FUSE additionally supports copy-on-write.")
     (license bsd-3)))
+
+(define-public unionfs-fuse/static
+  (package (inherit unionfs-fuse)
+    (synopsis "User-space union file system (statically linked)")
+    (name (string-append (package-name unionfs-fuse) "-static"))
+    (source (origin (inherit (package-source unionfs-fuse))
+              (modules '((guix build utils)))
+              (snippet
+               ;; Add -ldl to the libraries, because libfuse.a needs that.
+               '(substitute* "src/CMakeLists.txt"
+                  (("target_link_libraries(.*)\\)" _ libs)
+                   (string-append "target_link_libraries"
+                                  libs " dl)"))))))
+    (arguments
+     '(#:tests? #f
+       #:configure-flags '("-DCMAKE_EXE_LINKER_FLAGS=-static")))))