aboutsummaryrefslogtreecommitdiff
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 Matthew Jordan <matthewjordandevops@yandex.com>
;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2019, 2020, 2023 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;; Copyright © 2021 Solene Rapenne <solene@perso.pw>
;;; Copyright © 2022 jgart <jgart@dismail.de>
;;; Copyright © 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;;
;;; 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 entr)
  #:use-module (gnu packages base)
  #:use-module (gnu packages bash)
  #:use-module (gnu packages ncurses)
  #:use-module (guix licenses)
  #:use-module (guix packages)
  #:use-module (guix download)
  #:use-module (guix build-system gnu)
  #:use-module (guix utils))

(define-public entr
  (package
    (name "entr")
    (version "5.6")
    (source
     (origin
       (method url-fetch)
       (uri (string-append "https://eradman.com/entrproject/code/entr-"
                           version ".tar.gz"))
       (sha256
        (base32 "0kniklgnqv4j9carm78d3423wlwqw1ykxmlla4xmlfwdjbgvh8h2"))))
    (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"
                                ,(cc-for-target))
                        (setenv "PREFIX" out)
                        (setenv "MANPREFIX"
                                (string-append out "/man"))
                        (invoke "./configure"))))
                  (add-before 'build 'remove-fhs-file-names
                    (lambda* (#:key inputs #:allow-other-keys)
                      (substitute* "entr.c"
                        (("/bin/sh" command)
                         (search-input-file inputs command))
                        (("/bin/cat" command)
                         (search-input-file inputs command))
                        (("/usr(/bin/clear)" _ command)
                         (search-input-file inputs command))))))))
    (inputs (list bash-minimal coreutils ncurses))
    (home-page "https://eradman.com/entrproject/")
    (synopsis "Run arbitrary commands when files change")
    (description
     "@acronym{entr, event notify test runner} reads a list of file names from
standard input and executes a given command (including arguments) whenever any
of them change.  It aims to facilitate rapid feedback and automated testing.

For example, you can use @command{entr} to automatically invoke @command{make}
each time you modify a source code file.  It supports interactive utilities and
doesn't waste resources by polling for changes.")

    ;; Per 'LICENSE', portability code under missing/ is under BSD-2.
    (license isc)))
g.scm (python-captum, python-linear-operator, python-gpytorch)[native-inputs]: Add python-setuptools. * gnu/packages/music.scm (abjad, abjad-ext-rmarkers, abjed-ext-nauert, python-mutagen)[native-inputs]: Add python-setuptools and python-wheel. * gnu/packages/package-management.scm (python-conda-package-handling)[native-inputs]: Add python-setuptools and python-wheel. (conda)[native-inputs]: Add python-wheel. * gnu/packages/python-check.scm (python-pyinstrument, python-pytest-testmon, python-pytest-trio, python-nbval, python-pytest-toolbox)[native-inputs]: Add python-setuptools and python-wheel. (python-nptyping)[native-inputs]: Add python-setuptools. * gnu/packages/python-check.scm (python-dask-expr)[native-inputs]: Add python-setuptools and python-wheel. * gnu/packages/python-web.scm (parfive, python-aioftp, python-hupper, python-sanic, python-mechanicalsoup, python-tinycss, python-aiostream, python-cbor2, gunicorn)[native-inputs]: Add python-setuptools and python-wheel. * gnu/packages/python-xyz.scm (python-apprise, python-jaraco-classes, python-sparse, python-shtab, python-pyan3)[native-inputs]: Add python-setuptools. (python-jupytext, python-orderedmultidict, python-identify, python-nodeenv, python-cfgv, python-zarr, python-multipart, python-nbconvert, python-cram, python-immutables, python-numpydoc, python-cairosvg, python-unidecode, python-black, python-multidict, python-mpv-jsonipc, python-humanize, python-cmd2)[native-inputs]: Add python-setuptools and python-wheel. (python-partd, python-dask, python-zarr)[native-inputs]: Add python-wheel. (python-nbconvert)[propagated-inputs]: Add texlive-etoolbox. Remove duplicate textlive-jknapltx. (python-isort)[native-inputs]: Add python-pip. * gnu/packages/simulation.scm (python-fenics-dijitso)[native-inputs]: Add python-setuptools and python-wheel. * gnu/packages/sphinx.scm (python-pydata-sphinx-theme, python-sphinx-autodoc-typehints)[native-inputs]: Add python-setuptools. * gnu/packages/syndication.scm (tuir)[native-inputs]: Add python-setuptools and python-wheel. * gnu/packages/terminals.scm (python-halo)[native-inputs]: Add python-setuptools and python-wheel. * gnu/packages/time.scm (python-arrow, python-dateutil) [native-inputs]: Add python-setuptools and python-wheel. * gnu/packages/version-control.scm (pre-commit)[native-inputs]: Add python-setuptools and python-wheel. Remove input labels. * gnu/packages/virtualization.scm (python-qemu-qmp, python-transient)[native-inputs]: Add python-setuptools and python-wheel. * gnu/packages/xorg.scm (python-xcffib)[native-inputs]: Add python-setuptools and python-wheel. Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr> Change-Id: Id61cf8cdc47bd4c2871c0a9c8e9a5bfd51157df0 Nicolas Graves 2024-12-13gnu: Add python-sphinx-autodoc-typehints-5....* gnu/packages/sphinx.scm (python-sphinx-autodoc-typehints-5): New variable. Change-Id: I465979829851681635d1073658f262a96758cfb5 Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr> Nicolas Graves 2024-12-13gnu: python-sphinx-autodoc-typehints: Move to pyproject-build-system....* gnu/packages/sphinx.scm (python-sphinx-autodoc-typehints): [build-system]: Move to pyproject-build-system. [arguments]<#:phases>: Move 'check phase replacement... ... to argument <#:test-flags>. Change-Id: I2b41dffd5ee35442e1bb42f426bff69e17648785 Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr> Nicolas Graves 2024-12-13gnu: python-sphinx-4: Inherit from python-sphinx-5....* gnu/packages/sphinx.scm (python-sphinx-4): Inherit from python-sphinx-5, in particular the arguments field. Change-Id: Icb15e34b7bfbe38d17f4cd64234316950437538d Ricardo Wurmus 2024-12-13gnu: python-sphinx-5: Disable failing tests....* gnu/packages/sphinx.scm (python-sphinx-5)[arguments]: Disable three tests that fail for silly reasons. Change-Id: I82d9fd4465fbfe052f8aad2264a9b04d34efef89 Ricardo Wurmus 2024-12-13gnu: Add python-sphinxext-rediraffe....* gnu/packages/sphinx.scm (python-sphinxext-rediraffe): New variable. Change-Id: I772993b7bc3a43befc459cc6a9c6d1c90932d341 Ricardo Wurmus 2024-12-13gnu: python-myst-parser: Update to 3.0.1....* gnu/packages/sphinx.scm (python-myst-parser): Update to 3.0.1. [arguments]: Adjust tests; remove extra build phases. Change-Id: I1990d2156958dc437875bf1f7f8b4defc147e58a Ricardo Wurmus 2024-12-13gnu: python-sphinx-pytest: Update to 0.2.0....* gnu/packages/sphinx.scm (python-sphinx-pytest): Update to 0.2.0. Change-Id: I37b3da737bd09b6b2ffa59b6e37559ac04b0e1f7 Ricardo Wurmus 2024-12-13gnu: python-pydata-sphinx-theme: Disable one test....* gnu/packages/sphinx.scm (python-pydata-sphinx-theme)[build-system]: Use pyproject-build-system. [arguments]: Remove custom 'check phase; disable single test. [native-inputs]: Add python-setuptools and python-wheel. Change-Id: I5849dbeab6262c41c7d525029f9acc15b4f4ee72 Ricardo Wurmus 2024-12-13gnu: python-myst-parser: Relax some requirements....* gnu/packages/sphinx.scm (python-myst-parser) [arguments] <#:test-flags>: Disable one more failing test. <#:phases>: Add 'relax-requirements phase. Change-Id: I4f77ce81e9f69b81b18f3faa546c7d8cd77adf50 Sharlatan Hellseher 2024-12-13gnu: python-sphinx: Update to 6.2.1....* gnu/packages/sphinx.scm (python-sphinx): Update to 6.2.1. [arguments]: Only disable one test. [propagated-inputs]: Add texlive-booktabs. (python-sphinx-5): New variable, inherit from python-sphinx. Change-Id: I95144924c4c0f293993bfbd7b644c378dd160077 Ricardo Wurmus 2024-12-13gnu: Add python-setuptools/python-wheel where necessary....Changes to pyproject-build-system require explicit dependency on setuptools/wheel. Change-Id: Icd7699fc1dc56e974ae7568f2ae916dbf876bea5 Lars-Dominik Braun 2024-12-13build-system/pyproject: Use python-sans-pip-wrapper as default-python....Also adds python-setuptools and python-wheel to relevant packages, either to native-inputs or to propagated inputs if the pkg_resources Python module is loaded at runtime. * guix/build-system/pyproject.scm (default-python): Default to python-sans-pip-wrapper. Change-Id: I2d986c2225114f54459dd6bb360913106e52cdf4 Lars-Dominik Braun 2024-12-13gnu: python-sphinx: Update to 5.3.0....* gnu/packages/sphinx.scm (python-sphinx): Update to 5.3.0. [build-system]: Use pyproject-build-system. [arguments]: Remove custom check phase; add pre-check phase. [propagated-inputs]: Add python-colorama, python-filelock, python-flake8, python-html5lib, python-isort, python-mypy, python-sphinxcontrib-websupport, and python-types-requests. [native-inputs]: Remove python-html5lib; add python-flit-core. Change-Id: I843d70361cdf707ca67616075f4c71f1e59a72f3 Ricardo Wurmus 2024-12-13gnu: python-sphinx-alabaster-theme: Update to 0.7.13....* gnu/packages/sphinx.scm (python-sphinx-alabaster-theme): Update to 0.7.13. [build-system]: Use pyproject-build-system. Ricardo Wurmus