summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gnu/packages/admin.scm32
1 files changed, 32 insertions, 0 deletions
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index e97fa79ac9..d3a6248118 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -2333,3 +2333,35 @@ application, collecting the information received.")
         ;; 'src/siphash24.c' is the SipHash reference implementation, which
         ;; bears a CC0 Public Domain Dedication.
     (license license:agpl3+)))
+
+(define-public hungrycat
+  (package
+    (name "hungrycat")
+    (version "0.4.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/jwilk/hungrycat/"
+                                  "releases/download/" version "/"
+                                  name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "03fc1zsrf99lvxa7b4ps6pbi43304wbxh1f6ci4q0vkal370yfwh"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     ;; For tests.
+     `(("python" ,python-wrapper)
+       ("python-nose" ,python-nose)))
+    (arguments
+     `(#:test-target "test"))
+    (synopsis "A single tool that combines @command{cat} & @command{rm}")
+    (description
+     "hungrycat prints the contents of a file to standard output, while
+simultaneously freeing the disk space it occupied.  It is useful if you need
+to process a large file, don't have enough space to store both the input and
+output files, and don't need the input file afterwards.
+While similar in principle to running @command{cat} immediately followed by
+@command{rm}, @command{hungrycat} actually frees blocks as soon as they are
+printed instead of after the entire file has been read, which is often too
+late.")
+    (home-page "https://jwilk.net/software/hungrycat")
+    (license license:expat)))