summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/packages/ncdu.scm42
1 files changed, 41 insertions, 1 deletions
diff --git a/gnu/packages/ncdu.scm b/gnu/packages/ncdu.scm
index d6e4522bf0..ed0f00b3b3 100644
--- a/gnu/packages/ncdu.scm
+++ b/gnu/packages/ncdu.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 John Darrington <jmd@gnu.org>
;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2022 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -23,7 +24,11 @@
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (guix download)
- #:use-module (guix build-system gnu))
+ #:use-module (guix utils)
+ #:use-module (guix gexp)
+ #:use-module (guix build-system gnu)
+ #:use-module (gnu packages perl)
+ #:use-module (gnu packages zig))
(define-public ncdu
(package
@@ -49,3 +54,38 @@ ncurses installed.")
(string-append "https://g.blicky.net/ncdu.git/plain/COPYING?id=v"
version)))
(home-page "https://dev.yorhel.nl/ncdu")))
+
+(define-public ncdu-2
+ (package
+ (inherit ncdu)
+ (name "ncdu2") ; To destinguish it from the C based version.
+ (version "2.0.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://dev.yorhel.nl/download/ncdu-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0j3w8xixz1zkzcpk0xrh6y3r7sii3h3y31lbvs5iqc5q7q6day9g"))))
+ (arguments
+ (list
+ #:make-flags
+ #~(list (string-append "PREFIX=" #$output)
+ (string-append "CC=" #$(cc-for-target)))
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'configure) ; No configure script.
+ (add-before 'build 'pre-build
+ (lambda _
+ (setenv "ZIG_GLOBAL_CACHE_DIR"
+ (mkdtemp "/tmp/zig-cache-XXXXXX"))))
+ (add-after 'build 'build-manpage
+ (lambda _
+ (delete-file "ncdu.1")
+ (invoke "make" "doc")))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "zig" "test" "build.zig")))))))
+ (native-inputs
+ (list perl zig))))