* gnu/packages/disk.scm (dosfstools/static): New private variable. (fatfsck/static): New variable. --- gnu/packages/disk.scm | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+)
diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm index db050d6..477c25a 100644 --- a/gnu/packages/disk.scm +++ b/gnu/packages/disk.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2016 Efraim Flashner <efr...@flashner.co.il> ;;; Copyright © 2016 Jan Nieuwenhuizen <jann...@gnu.org> ;;; Copyright © 2016 Roel Janssen <r...@gnu.org> +;;; Copyright © 2016 Marius Bakke <mba...@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 ((source (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 source 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 fsck.fat +and a fsck.vfat compatibility symlink for use in an initrd.") + (license (package-license dosfstools)))) + (define-public sdparm (package (name "sdparm") -- 2.10.2