Subject: Re: [bug#40246] [PATCH] gnu: Add cramfs-tools.

From: Vincent Legoll <[email-masked]>
Date: Wed, 1 Apr 2020 23:46:50 +0200

Hello Ludovic,

On Wed, Apr 1, 2020 at 11:22 PM Ludovic Courtès <[email-masked]> wrote:
> As reported by ‘guix lint’, please don’t refer to a generated tarball.
>
> Instead you can use a hosted “hand-crafted” tarball if there’s one or,
> more likely, ‘git-fetch’.
>
[...]
>
> Could you write “file systems” (two words)?  This is by convention in
> GNU and Guix.

Here it is

-- 
Vincent Legoll
From d8c3ae54d42d662f7af6cb6740b6ae16455d9073 Mon Sep 17 00:00:00 2001
From: Vincent Legoll <[email-masked]>
Date: Thu, 26 Mar 2020 23:12:53 +0100
Subject: [PATCH] gnu: Add cramfs-tools.

* gnu/packages/linux.scm (cramfs-tools): New variable.
---
 gnu/packages/linux.scm | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 945c15d972..f36531efa0 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -4368,6 +4368,40 @@ repair and easy administration.")
 from the btrfs-progs package.  It is meant to be used in initrds.")
     (license (package-license btrfs-progs))))
 
+(define-public cramfs-tools
+  (package
+    (name "cramfs-tools")
+    (home-page "https://github.com/npitre/cramfs-tools")
+    (version "2.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url home-page)
+                    (commit (string-append "v" version))))
+              (sha256
+               (base32 "183rfqqyzx52q0vxicdgf0p984idh3rqkvzfb93gjvyzfhc15c0p"))
+              (file-name (git-file-name name version))))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:tests? #f                      ; No tests.
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure)
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+               (install-file "mkcramfs" (string-append out "/sbin"))
+               (install-file "cramfsck" (string-append out "/sbin")))
+             #t)))))
+    (inputs
+     `(("zlib" ,zlib)))
+    (synopsis "Tools to manage Cramfs file systems")
+    (description "Cramfs is a Linux file system designed to be simple, small,
+and to compress things well.  It is used on a number of embedded systems and
+small devices.  This version has additional features such as uncompressed
+blocks and random block placement.")
+    (license license:gpl2)))
+
 (define-public compsize
   (package
     (name "compsize")
-- 
2.25.2