guix-play/gnu/packages/ncdu.scm

102 lines
3.9 KiB
Scheme
Raw Normal View History

;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 John Darrington <jmd@gnu.org>
;;; Copyright © 20182021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2022, 2023 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages ncdu)
#:use-module (gnu packages)
#:use-module (gnu packages ncurses)
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (guix download)
#: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-1
;; This old version is LTS. Version 2 works fine and has more features,
;; but Zig is still a fast-moving target and doesn't support cross-compilation
;; yet, so we'll keep both for just a little longer.
(package
(name "ncdu")
(version "1.19")
(source (origin
(method url-fetch)
(uri (string-append "https://dev.yorhel.nl/download/ncdu-"
version ".tar.gz"))
(sha256
(base32
"0zdidd4rhik5j0qdrdg1yh9094jlw496q07vqx90gphc30ck0dih"))))
(build-system gnu-build-system)
(inputs (list ncurses))
(synopsis "Ncurses-based disk usage analyzer")
(description
"Ncdu is a disk usage analyzer with an ncurses interface, aimed to be
gnu packages: Clean up synopses and descriptions. * gnu/packages/admin.scm, gnu/packages/algebra.scm, gnu/packages/audio.scm, gnu/packages/backup.scm, gnu/packages/base.scm, gnu/packages/bittorrent.scm, gnu/packages/code.scm, gnu/packages/compression.scm, gnu/packages/databases.scm, gnu/packages/enchant.scm, gnu/packages/firmware.scm, gnu/packages/fonts.scm, gnu/packages/freedesktop.scm, gnu/packages/games.scm, gnu/packages/gd.scm, gnu/packages/gl.scm, gnu/packages/gnome.scm, gnu/packages/gsasl.scm, gnu/packages/gstreamer.scm, gnu/packages/gtk.scm, gnu/packages/guile.scm, gnu/packages/haskell.scm, gnu/packages/language.scm, gnu/packages/lesstif.scm, gnu/packages/libreoffice.scm, gnu/packages/linux.scm, gnu/packages/llvm.scm, gnu/packages/maths.scm, gnu/packages/mcrypt.scm, gnu/packages/mit-krb5.scm, gnu/packages/mp3.scm, gnu/packages/ncdu.scm, gnu/packages/networking.scm, gnu/packages/ntp.scm, gnu/packages/ocaml.scm, gnu/packages/openbox.scm, gnu/packages/pdf.scm, gnu/packages/perl.scm, gnu/packages/pretty-print.scm, gnu/packages/pulseaudio.scm, gnu/packages/python.scm, gnu/packages/rdesktop.scm, gnu/packages/rdf.scm, gnu/packages/ruby.scm, gnu/packages/slang.scm, gnu/packages/slim.scm, gnu/packages/telephony.scm, gnu/packages/tls.scm, gnu/packages/tmux.scm, gnu/packages/tre.scm, gnu/packages/unrtf.scm, gnu/packages/version-control.scm, gnu/packages/vpn.scm, gnu/packages/web.scm, gnu/packages/wget.scm, gnu/packages/xdisorg.scm, gnu/packages/xfce.scm, gnu/packages/xiph.scm: Fix typos. Trim long lines. Add missing periods in the end of sentences. Use double spaces between sentences. Remove trailing whitespaces.
2015-07-17 08:16:07 -04:00
run on a remote server where you don't have an entire graphical setup, but have
to do with a simple SSH connection. ncdu aims to be fast, simple and easy to
use, and should be able to run in any minimal POSIX-like environment with
ncurses installed.")
(license (x11-style "file://COPYING"))
(home-page "https://dev.yorhel.nl/ncdu")))
(define-public ncdu
(package
(inherit ncdu-1)
(name "ncdu")
(version "2.2.2")
(source (origin
(method url-fetch)
(uri (string-append "https://dev.yorhel.nl/download/ncdu-"
version ".tar.gz"))
(sha256
(base32
"14zrmcxnrczamqjrib99jga05ixk0dzfav3pd6s1h8vm9q121nch"))
(modules '((guix build utils)))
(snippet
#~(begin
;; Delete a pregenerated man page. We'll build it ourselves.
(delete-file "ncdu.1")))))
(arguments
(list
#:make-flags
#~(list (string-append "PREFIX=" #$output)
(string-append "CC=" #$(cc-for-target))
;; XXX By default, zig builds with -march=native!
(string-append "ZIG_FLAGS=-Drelease-fast -Dcpu=baseline"))
#: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 _
(invoke "make" "doc")))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "zig" "test" "build.zig")))))))
(native-inputs
(list perl zig-0.10))))
(define-public ncdu-2
(deprecated-package "ncdu2" ncdu))