From 5d38aa082641ba99ff30e508393f33f6ca4789a1 Mon Sep 17 00:00:00 2001 From: Matthew Jordan Date: Wed, 11 May 2016 09:25:13 -0400 Subject: [PATCH] gnu: Add entr. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/entr.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. Co-authored-by: Ludovic Courtès --- gnu/local.mk | 1 + gnu/packages/entr.scm | 66 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 67 insertions(+) create mode 100644 gnu/packages/entr.scm diff --git a/gnu/local.mk b/gnu/local.mk index f2436edefc..5462b43a72 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -108,6 +108,7 @@ GNU_SYSTEM_MODULES = \ gnu/packages/enchant.scm \ gnu/packages/engineering.scm \ gnu/packages/enlightenment.scm \ + gnu/packages/entr.scm \ gnu/packages/fcitx.scm \ gnu/packages/feh.scm \ gnu/packages/figlet.scm \ diff --git a/gnu/packages/entr.scm b/gnu/packages/entr.scm new file mode 100644 index 0000000000..0e0f875267 --- /dev/null +++ b/gnu/packages/entr.scm @@ -0,0 +1,66 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2016 Matthew Jordan +;;; Copyright © 2016 Ludovic Courtès +;;; +;;; 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 . + +(define-module (gnu packages entr) + #:use-module (guix licenses) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system gnu)) + +(define-public entr + (package + (name "entr") + (version "3.5") + (source (origin + (method url-fetch) + (uri (string-append "http://entrproject.org/code/entr-" + version ".tar.gz")) + (sha256 + (base32 + "05k4jyjna0pr2dalwc1l1dhrcyk6pw7hbss7jl4ykwfadcs5br73")))) + (build-system gnu-build-system) + (arguments + `(#:test-target "test" + #:phases (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (setenv "CONFIG_SHELL" (which "bash")) + (setenv "CC" (which "gcc")) + (setenv "DESTDIR" (string-append out "/")) + (setenv "PREFIX" "") + (setenv "MANPREFIX" "man") + (zero? (system* "./configure"))))) + (add-before 'build 'remove-fhs-file-names + (lambda _ + ;; Use the tools available in $PATH. + (substitute* "entr.c" + (("/bin/cat") "cat") + (("/usr/bin/clear") "clear"))))))) + (home-page "http://entrproject.org/") + (synopsis "Run arbitrary commands when files change") + (description + "entr is a zero-configuration tool with no external build- or run-time +dependencies. The interface to entr is not only minimal, it aims to be simple +enough to create a new category of ad hoc automation. These micro-tests +reduce keystrokes, but more importantly they emphasize the utility of +automated checks.") + + ;; Per 'LICENSE', portability code under missing/ is under BSD-2. + (license isc)))