;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 Ludovic Courtès ;;; Copyright © 2016 Matthew Jordan ;;; Copyright © 2016 Alex Griffin ;;; ;;; 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 shellutils) #:use-module (gnu packages base) #:use-module (gnu packages python) #:use-module (guix licenses) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix utils) #:use-module (guix build-system gnu) #:use-module (guix build-system python)) (define-public envstore (package (name "envstore") (version "2.1") (source (origin (method url-fetch) (uri (string-append "https://finalrewind.org/projects/" name "/" name "-" version ".tar.bz2")) (sha256 (base32 "1x97lxad80m5blhdfanl5v2qzjwcgbij2i23701bn8mpyxsrqszi")))) (build-system gnu-build-system) (arguments `(#:test-target "test" #:make-flags (list "CC=gcc" (string-append "PREFIX=" (assoc-ref %outputs "out"))) #:phases (modify-phases %standard-phases (delete 'configure)))) (home-page "https://finalrewind.org/projects/envstore/") (synopsis "Save and restore environment variables") (description "Envstore is a program for sharing environment variables between various shells or commands.") (license (non-copyleft "http://www.wtfpl.net/txt/copying/")))) (define-public trash-cli (package (name "trash-cli") (version "0.12.9.14") (source (origin (method url-fetch) (uri (pypi-uri "trash-cli" version)) (sha256 (base32 "1p4v2qx0sy47d9c9axszq04wns63s4b7rrhmsavg948sklqdaf54")))) (build-system python-build-system) (arguments `(#:python ,python-2 #:tests? #f ; no tests #:phases (modify-phases %standard-phases (add-before 'build 'patch-path-constants (lambda* (#:key inputs #:allow-other-keys) (let ((libc (assoc-ref inputs "libc")) (coreutils (assoc-ref inputs "coreutils"))) (substitute* "trashcli/list_mount_points.py" (("\"/lib/libc.so.6\".*") (string-append "\"" libc "/lib/libc.so.6\"\n")) (("\"df\"") (string-append "\"" coreutils "/bin/df\""))))))))) (inputs `(("coreutils" ,coreutils))) (home-page "https://github.com/andreafrancia/trash-cli") (synopsis "Trash can management tool") (description "trash-cli is a command line utility for interacting with the FreeDesktop.org trash can used by GNOME, KDE, XFCE, and other common desktop environments. It can move files to the trash, and remove or list files that are already there.") (license gpl2+))) (define-public entr (package (name "entr") (version "3.6") (source (origin (method url-fetch) (uri (string-append "http://entrproject.org/code/" name "-" version ".tar.gz")) (sha256 (base32 "1sy81np6kgmq04kfn2ckf4fp7jcf5d1963shgmapx3al3kc4c9x4")))) (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)))