summaryrefslogtreecommitdiff
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)
downloadpatches-807986a55fc2849d6986efb79f9a015cf4132e09.tar
patches-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")