summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2016-11-03 09:43:30 +0000
committerMarius Bakke <mbakke@fastmail.com>2016-12-17 10:13:22 +0100
commit51ad11ad6243cbde4c50c127cff2eec0abaf9ded (patch)
treea73adbfb05925a6a4996888b5890e4890d278f0f
parent64e43c674ec803dd75717908a8eba457fe7be2f4 (diff)
gnu: Add fatfsck-static.
* gnu/packages/disk.scm (dosfstools/static): New private variable. (fatfsck/static): New variable.
-rw-r--r--gnu/packages/disk.scm36
1 files changed, 36 insertions, 0 deletions
diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm
index 4afd2c2df3..a4bb0be134 100644
--- a/gnu/packages/disk.scm
+++ b/gnu/packages/disk.scm
@@ -6,6 +6,7 @@
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
+;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -27,6 +28,7 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system trivial)
#:use-module (gnu packages)
#:use-module (gnu packages base)
#:use-module (gnu packages docbook)
@@ -197,6 +199,40 @@ to recover data more efficiently by only reading the necessary blocks.")
which respectively make and check MS-DOS FAT file systems.")
(license license:gpl3+)))
+(define dosfstools/static
+ (static-package
+ (package (inherit dosfstools))))
+
+(define-public fatfsck/static
+ (package
+ (name "fatfsck-static")
+ (version (package-version dosfstools))
+ (build-system trivial-build-system)
+ (source #f)
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder
+ (begin
+ (use-modules (guix build utils))
+ (let ((src (string-append (assoc-ref %build-inputs "dosfstools")
+ "/sbin"))
+ (exe "fsck.fat")
+ (bin (string-append (assoc-ref %outputs "out") "/sbin")))
+ (mkdir-p bin)
+ (with-directory-excursion bin
+ (copy-file (string-append src "/" exe) exe)
+ (remove-store-references exe)
+ (chmod exe #o555)
+ ;; Add fsck.vfat symlink to match the Linux driver name.
+ (symlink exe "fsck.vfat")
+ #t)))))
+ (inputs `(("dosfstools" ,dosfstools/static)))
+ (home-page (package-home-page dosfstools))
+ (synopsis "Statically linked fsck.fat from dosfstools")
+ (description "This package provides a statically-linked @command{fsck.fat}
+and a @command{fsck.vfat} compatibility symlink for use in an initrd.")
+ (license (package-license dosfstools))))
+
(define-public sdparm
(package
(name "sdparm")