Commit | Line | Data |
---|---|---|
5d38aa08 MJ |
1 | ;;; GNU Guix --- Functional package management for GNU |
2 | ;;; Copyright © 2016 Matthew Jordan <matthewjordandevops@yandex.com> | |
3 | ;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org> | |
fbc70c97 | 4 | ;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net> |
5d38aa08 MJ |
5 | ;;; |
6 | ;;; This file is part of GNU Guix. | |
7 | ;;; | |
8 | ;;; GNU Guix is free software; you can redistribute it and/or modify it | |
9 | ;;; under the terms of the GNU General Public License as published by | |
10 | ;;; the Free Software Foundation; either version 3 of the License, or (at | |
11 | ;;; your option) any later version. | |
12 | ;;; | |
13 | ;;; GNU Guix is distributed in the hope that it will be useful, but | |
14 | ;;; WITHOUT ANY WARRANTY; without even the implied warranty of | |
15 | ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
16 | ;;; GNU General Public License for more details. | |
17 | ;;; | |
18 | ;;; You should have received a copy of the GNU General Public License | |
19 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | |
20 | ||
21 | (define-module (gnu packages entr) | |
22 | #:use-module (guix licenses) | |
23 | #:use-module (guix packages) | |
24 | #:use-module (guix download) | |
25 | #:use-module (guix build-system gnu)) | |
26 | ||
27 | (define-public entr | |
28 | (package | |
29 | (name "entr") | |
fbc70c97 | 30 | (version "4.1") |
5d38aa08 MJ |
31 | (source (origin |
32 | (method url-fetch) | |
33 | (uri (string-append "http://entrproject.org/code/entr-" | |
34 | version ".tar.gz")) | |
35 | (sha256 | |
36 | (base32 | |
fbc70c97 | 37 | "0y7gvyf0iykpf3gfw09m21hy51m6qn4cpkbrm4nnn7pwrwycj0y5")))) |
5d38aa08 MJ |
38 | (build-system gnu-build-system) |
39 | (arguments | |
40 | `(#:test-target "test" | |
fbc70c97 RW |
41 | #:phases |
42 | (modify-phases %standard-phases | |
43 | (replace 'configure | |
44 | (lambda* (#:key outputs #:allow-other-keys) | |
45 | (let ((out (assoc-ref outputs "out"))) | |
46 | (setenv "CONFIG_SHELL" (which "bash")) | |
47 | (setenv "CC" (which "gcc")) | |
48 | (setenv "DESTDIR" (string-append out "/")) | |
49 | (setenv "PREFIX" "") | |
50 | (setenv "MANPREFIX" "man") | |
51 | (invoke "./configure")))) | |
52 | (add-before 'build 'remove-fhs-file-names | |
53 | (lambda _ | |
54 | ;; Use the tools available in $PATH. | |
55 | (substitute* "entr.c" | |
56 | (("/bin/cat") "cat") | |
57 | (("/usr/bin/clear") "clear")) | |
58 | #t))))) | |
5d38aa08 MJ |
59 | (home-page "http://entrproject.org/") |
60 | (synopsis "Run arbitrary commands when files change") | |
61 | (description | |
6247431b | 62 | "entr is a zero-configuration tool with no external build or run-time |
5d38aa08 MJ |
63 | dependencies. The interface to entr is not only minimal, it aims to be simple |
64 | enough to create a new category of ad hoc automation. These micro-tests | |
65 | reduce keystrokes, but more importantly they emphasize the utility of | |
66 | automated checks.") | |
67 | ||
68 | ;; Per 'LICENSE', portability code under missing/ is under BSD-2. | |
69 | (license isc))) |