git: 3202950099a4 - main - devel/py-cookiecutter: update to 2.7.1

From: Matthew Seaman <matthew_at_FreeBSD.org>
Date: Sat, 07 Mar 2026 14:00:09 UTC
The branch main has been updated by matthew:

URL: https://cgit.FreeBSD.org/ports/commit/?id=3202950099a400e4c1c90f0439db5f64090faeb7

commit 3202950099a400e4c1c90f0439db5f64090faeb7
Author:     Matthew Seaman <matthew@FreeBSD.org>
AuthorDate: 2026-03-07 13:55:32 +0000
Commit:     Matthew Seaman <matthew@FreeBSD.org>
CommitDate: 2026-03-07 14:00:07 +0000

    devel/py-cookiecutter: update to 2.7.1
    
    Switch to pep517 build, using the pyproject default backend of
    setuptools.
    
    Regenerate patches for tests: replace /bin/bash with /bin/sh
    generally.
    
    Update RUN_DEPENDS according to pyproject.toml.
    
    Changes:        https://github.com/cookiecutter/cookiecutter/blob/main/CHANGELOG/2.7.1.md
    Changes:        https://github.com/cookiecutter/cookiecutter/blob/main/CHANGELOG/2.7.0.md
    Reported by:    portscout, repology
---
 devel/py-cookiecutter/Makefile                              | 13 +++++++------
 devel/py-cookiecutter/distinfo                              |  6 +++---
 .../patch-tests_test-pyshellhooks_hooks_pre__prompt.sh      |  8 ++++++++
 devel/py-cookiecutter/files/patch-tests_test__hooks.py      |  8 ++++----
 4 files changed, 22 insertions(+), 13 deletions(-)

diff --git a/devel/py-cookiecutter/Makefile b/devel/py-cookiecutter/Makefile
index b1ce4d0feae5..4786e6d5bdce 100644
--- a/devel/py-cookiecutter/Makefile
+++ b/devel/py-cookiecutter/Makefile
@@ -1,6 +1,5 @@
 PORTNAME=	cookiecutter
-PORTVERSION=	2.6.0
-PORTREVISION=	2
+PORTVERSION=	2.7.1
 CATEGORIES=	devel python
 MASTER_SITES=	PYPI
 PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
@@ -12,13 +11,15 @@ WWW=		https://pypi.org/project/cookiecutter/
 LICENSE=	BSD3CLAUSE
 LICENSE_FILE=	${WRKSRC}/LICENSE
 
+BUILD_DEPENDS=	${PY_SETUPTOOLS} \
+		${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
+
 RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}binaryornot>=0.4.4:devel/py-binaryornot@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}click>=7.0<9.0.0:devel/py-click@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}Jinja2>=2.7:devel/py-Jinja2@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}poyo>=0:devel/py-poyo@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}click>=7.0<9.0.0:devel/py-click@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}pyyaml>=5.3.1:devel/py-pyyaml@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}python-slugify>=4.0.0:textproc/py-python-slugify@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}requests>=2.23.0:www/py-requests@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}pyyaml>=5.3.1:devel/py-pyyaml@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}arrow>=0:devel/py-arrow@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}rich>=0:textproc/py-rich@${PY_FLAVOR}
 TEST_DEPENDS=	${PYTHON_PKGNAMEPREFIX}freezegun>0:devel/py-freezegun@${PY_FLAVOR} \
@@ -28,7 +29,7 @@ TEST_DEPENDS=	${PYTHON_PKGNAMEPREFIX}freezegun>0:devel/py-freezegun@${PY_FLAVOR}
 		git:devel/git
 
 USES=		cpe python
-USE_PYTHON=	autoplist concurrent distutils pytest
+USE_PYTHON=	autoplist concurrent pep517 pytest
 
 CPE_VENDOR=	cookiecutter_project
 
diff --git a/devel/py-cookiecutter/distinfo b/devel/py-cookiecutter/distinfo
index a3c5d13c81fc..9577813b42b6 100644
--- a/devel/py-cookiecutter/distinfo
+++ b/devel/py-cookiecutter/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1708768910
-SHA256 (cookiecutter-2.6.0.tar.gz) = db21f8169ea4f4fdc2408d48ca44859349de2647fbe494a9d6c3edfc0542c21c
-SIZE (cookiecutter-2.6.0.tar.gz) = 158767
+TIMESTAMP = 1772889622
+SHA256 (cookiecutter-2.7.1.tar.gz) = ca7bb7bc8c6ff441fbf53921b5537668000e38d56e28d763a1b73975c66c6138
+SIZE (cookiecutter-2.7.1.tar.gz) = 142854
diff --git a/devel/py-cookiecutter/files/patch-tests_test-pyshellhooks_hooks_pre__prompt.sh b/devel/py-cookiecutter/files/patch-tests_test-pyshellhooks_hooks_pre__prompt.sh
new file mode 100644
index 000000000000..65b9e76629c8
--- /dev/null
+++ b/devel/py-cookiecutter/files/patch-tests_test-pyshellhooks_hooks_pre__prompt.sh
@@ -0,0 +1,8 @@
+--- tests/test-pyshellhooks/hooks/pre_prompt.sh.orig	2026-03-07 13:53:29 UTC
++++ tests/test-pyshellhooks/hooks/pre_prompt.sh
+@@ -1,4 +1,4 @@
+-#!/bin/bash
++#!/bin/sh
+ 
+ echo 'Pre-Prompt hook';
+ touch '_cookiecutter.json'
diff --git a/devel/py-cookiecutter/files/patch-tests_test__hooks.py b/devel/py-cookiecutter/files/patch-tests_test__hooks.py
index 6c73dc8a8161..40e004baa793 100644
--- a/devel/py-cookiecutter/files/patch-tests_test__hooks.py
+++ b/devel/py-cookiecutter/files/patch-tests_test__hooks.py
@@ -1,6 +1,6 @@
---- tests/test_hooks.py.orig	2023-06-13 08:07:06 UTC
+--- tests/test_hooks.py.orig	2026-03-04 04:05:35 UTC
 +++ tests/test_hooks.py
-@@ -41,7 +41,7 @@ def make_test_repo(name, multiple_hooks=False):
+@@ -42,7 +42,7 @@ def make_test_repo(name: str, multiple_hooks: bool = F
          post = 'post_gen_project.sh'
          filename = os.path.join(hook_dir, post)
          with Path(filename).open('w') as f:
@@ -9,7 +9,7 @@
              f.write("\n")
              f.write("echo 'post generation hook';\n")
              f.write("touch 'shell_post.txt'\n")
-@@ -61,7 +61,7 @@ def make_test_repo(name, multiple_hooks=False):
+@@ -62,7 +62,7 @@ def make_test_repo(name: str, multiple_hooks: bool = F
              pre = 'pre_gen_project.sh'
              filename = os.path.join(hook_dir, pre)
              with Path(filename).open('w') as f:
@@ -18,7 +18,7 @@
                  f.write("\n")
                  f.write("echo 'post generation hook';\n")
                  f.write("touch 'shell_pre.txt'\n")
-@@ -189,7 +189,7 @@ class TestExternalHooks:
+@@ -192,7 +192,7 @@ class TestExternalHooks:
                  f.write("echo. >{{cookiecutter.file}}\n")
          else:
              with Path(hook_path).open('w') as fh: