From 0de5677a1853dc8c4d74f239de8787d49fc77c94 Mon Sep 17 00:00:00 2001 From: Troy Figiel Date: Sat, 16 Dec 2023 14:23:48 +0100 Subject: [PATCH] gnu: python-cookiecutter: Update to 2.5.0. * gnu/packages/python-xyz.scm (python-cookiecutter): Update to 2.5.0. [arguments]<#:phases>: Add 'pre-check phase to set a writable home directory and patch dynamically generated shebangs. Replace the default check phase to use pytest. [native-inputs]: Add bash-minimal and git. Remove python-pytest-catchlog. [propagated-inputs]: Add python-arrow, python-pyyaml and python-rich. Remove python-future, python-jinja2-time, python-poyo, python-text-unidecode and python-whichcraft. Change-Id: Ifc612136fa9a67ad643d0e1c031d173a3b3904a4 Signed-off-by: Christopher Baines --- gnu/packages/python-xyz.scm | 51 +++++++++++++++++++++++++------------ 1 file changed, 35 insertions(+), 16 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 404177e9cd..79c739ad31 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -17483,28 +17483,47 @@ designed to work across multiple versions of Python.") (define-public python-cookiecutter (package (name "python-cookiecutter") - (version "1.7.3") + (version "2.5.0") (source (origin (method url-fetch) (uri (pypi-uri "cookiecutter" version)) (sha256 - (base32 "0mx49whhwcxmvcak27zr7p7ndzkn3w7psfd7fzh3n91fi1r4v6kb")))) + (base32 "1v1iafk8j2f5cciw9mf4263v91070c6z049cpnw42gwffhs907p6")))) (build-system python-build-system) - (native-inputs - (list python-freezegun python-pytest python-pytest-catchlog - python-pytest-cov python-pytest-mock)) - (propagated-inputs - (list python-binaryornot - python-click - python-future - python-jinja2 - python-jinja2-time - python-poyo - python-requests - python-slugify - python-text-unidecode - python-whichcraft)) + (arguments + (list + #:phases #~(modify-phases %standard-phases + (add-before 'check 'pre-check + (lambda _ + ;; test_get_user_config.py requires a writable home + ;; directory. + (setenv "HOME" + (getcwd)) + ;; test_hooks.py dynamically creates shell scripts + ;; with a /bin/bash shebang. We have to patch these. + (substitute* "tests/test_hooks.py" + (("/bin/bash") + (string-append #$(this-package-native-input + "bash-minimal") "/bin/bash"))))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "pytest"))))))) + (native-inputs (list bash-minimal + git + python-freezegun + python-pytest + python-pytest-cov + python-pytest-mock)) + (propagated-inputs (list python-arrow + python-binaryornot + python-click + python-jinja2 + python-pyyaml + python-requests + python-rich + python-slugify)) (home-page "https://github.com/cookiecutter/cookiecutter") (synopsis "Command-line utility that creates projects from project templates")