summary refs log tree commit diff
diff options
context:
space:
mode:
authorraingloom <raingloom@protonmail.com>2020-05-02 11:38:48 +0200
committerDanny Milosavljevic <dannym@scratchpost.org>2020-05-02 11:49:04 +0200
commit807986a55fc2849d6986efb79f9a015cf4132e09 (patch)
tree3eccc74652b981709eef87e0fb5f0b4c223b39c3
parentcc8f31bafb37ac750690c9415f82f650e3832060 (diff)
downloadguix-807986a55fc2849d6986efb79f9a015cf4132e09.tar.gz
gnu: Add f2fs-tools-static.
* gnu/packages/file-systems.scm (f2fs-tools/static): New public variable.

Co-authored-by: Danny Milosavljevic <dannym@scratchpost.org>
-rw-r--r--gnu/packages/linux.scm31
1 files changed, 31 insertions, 0 deletions
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 70d2163fee..dd945aad51 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -4602,6 +4602,37 @@ disks and SD cards.  This package provides the userland utilities.")
     (inputs
      `(("libuuid" ,util-linux)))))
 
+(define-public f2fs-tools/static
+  (static-package
+   (package
+     (inherit f2fs-tools)
+     (name "f2fs-tools-static")
+     (arguments
+     `(#:configure-flags
+       (let ((libuuid-static (assoc-ref %build-inputs "libuuid:static"))
+             (libuuid (assoc-ref %build-inputs "libuuid")))
+         (list
+          (string-append "libuuid_CFLAGS=-I" libuuid "/include")
+          (string-append "libuuid_LIBS=-L" libuuid-static "/lib -luuid")
+          (string-append "libblkid_CFLAGS=-I" libuuid "/include")
+          (string-append "libblkid_LIBS=-L" libuuid-static "/lib -lblkid")))
+       #:disallowed-references (,util-linux)
+       #:phases
+       (modify-phases %standard-phases ; TODO: f2fs phases.
+         (add-after 'unpack 'make-static
+           (lambda _
+             (define (append-to-file name body)
+               (let ((file (open-file name "a")))
+                 (display body file)
+                 (close-port file)))
+             (append-to-file "mkfs/Makefile.am" "\nmkfs_f2fs_LDFLAGS = -all-static\n")
+             (append-to-file "fsck/Makefile.am" "\nfsck_f2fs_LDFLAGS = -all-static\n")
+             (append-to-file "tools/Makefile.am" "\nf2fscrypt_LDFLAGS = -all-static -luuid\n")
+             #t)))))
+     (inputs
+      `(("libuuid:static" ,util-linux "static")
+        ("libuuid" ,util-linux)))))) ; for include files
+
 (define-public freefall
   (package
     (name "freefall")