git: ee27d3fcfc3b - main - www/py-gunicorn: Update version 21.2.0=>22.0.0

From: Muhammad Moinur Rahman <bofh_at_FreeBSD.org>
Date: Tue, 23 Apr 2024 10:47:33 UTC
The branch main has been updated by bofh:

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

commit ee27d3fcfc3b15ac8573d080296001a091d2c47c
Author:     Muhammad Moinur Rahman <bofh@FreeBSD.org>
AuthorDate: 2024-04-23 09:18:19 +0000
Commit:     Muhammad Moinur Rahman <bofh@FreeBSD.org>
CommitDate: 2024-04-23 10:47:13 +0000

    www/py-gunicorn: Update version 21.2.0=>22.0.0
    
    - Add rc file [1]
    
    Changelog: https://github.com/benoitc/gunicorn/releases/tag/22.0.0
    
    PR:             278447 [1]
    Reported by:    me@svmhdvn.name
---
 GIDs                              |  2 +-
 UIDs                              |  2 +-
 www/py-gunicorn/Makefile          | 21 +++++++++++++++++----
 www/py-gunicorn/distinfo          |  6 +++---
 www/py-gunicorn/files/gunicorn.in | 38 ++++++++++++++++++++++++++++++++++++++
 5 files changed, 60 insertions(+), 9 deletions(-)

diff --git a/GIDs b/GIDs
index e6634767c5b1..c406ff64d990 100644
--- a/GIDs
+++ b/GIDs
@@ -283,7 +283,7 @@ mumble-server:*:339:
 wildfire:*:340:
 stunnel:*:341:
 openfire:*:342:
-# free: 343
+gunicorn:*:343:
 # free: 344
 # free: 345
 # free: 346
diff --git a/UIDs b/UIDs
index 884fe4724496..6c7bb79453ba 100644
--- a/UIDs
+++ b/UIDs
@@ -288,7 +288,7 @@ mumble-server:*:339:339::0:0:& User:/nonexistent:/usr/sbin/nologin
 wildfire:*:340:340::0:0:Wildfire Daemon:/nonexistent:/usr/sbin/nologin
 stunnel:*:341:341::0:0:Stunnel Daemon:/nonexistent:/usr/sbin/nologin
 openfire:*:342:342::0:0:Openfire IM Daemon:/nonexistent:/usr/sbin/nologin
-# free: 343
+gunicorn:*:343:343::0:0:Gunicorn Daemon:/nonexistent:/usr/sbin/nologin
 # free: 344
 # free: 345
 # free: 346
diff --git a/www/py-gunicorn/Makefile b/www/py-gunicorn/Makefile
index 95024a4562ed..bf9f7bf62a8d 100644
--- a/www/py-gunicorn/Makefile
+++ b/www/py-gunicorn/Makefile
@@ -1,9 +1,8 @@
 PORTNAME=	gunicorn
-PORTVERSION=	21.2.0
-PORTREVISION=	1
+DISTVERSION=	22.0.0
 CATEGORIES=	www python
-PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
 MASTER_SITES=	PYPI
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
 
 MAINTAINER=	bofh@FreeBSD.org
 COMMENT=	WSGI HTTP Server for UNIX
@@ -12,13 +11,21 @@ WWW=		https://gunicorn.org/
 LICENSE=	MIT
 LICENSE_FILE=	${WRKSRC}/LICENSE
 
+BUILD_DEPENDS=	${PY_SETUPTOOLS} \
+		${PYTHON_PKGNAMEPREFIX}setuptools-scm>=6.4.0:devel/py-setuptools-scm@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
 RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}packaging>0:devel/py-packaging@${PY_FLAVOR}
 TEST_DEPENDS=	${PYTHON_PKGNAMEPREFIX}aiohttp>0:www/py-aiohttp@${PY_FLAVOR}
 
 USES=		cpe python
-USE_PYTHON=	autoplist concurrent distutils pytest
+USE_PYTHON=	autoplist concurrent pep517 pytest
+USE_RC_SUBR=	gunicorn
 
 NO_ARCH=	yes
+SUB_LIST=	USERS="${USERS}" GROUPS="${GROUPS}"
+
+USERS=		gunicorn
+GROUPS=		gunicorn
 
 OPTIONS_DEFINE=		PROCTITLE
 OPTIONS_DEFAULT=	PROCTITLE
@@ -35,4 +42,10 @@ GEVENT_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}gevent>=1.4.0:devel/py-gevent@${PY_FL
 PROCTITLE_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}setproctitle>0:devel/py-setproctitle@${PY_FLAVOR}
 TORNADO_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}tornado>=0.2:www/py-tornado@${PY_FLAVOR}
 
+post-install:
+	@${MKDIR} ${STAGEDIR}${PREFIX}/etc/${PORTNAME}
+	${INSTALL_DATA} ${WRKSRC}/examples/example_config.py \
+		${STAGEDIR}${PREFIX}/etc/${PORTNAME}/gunicorn.conf.py.sample
+	@${ECHO} "@sample etc/gunicorn/gunicorn.conf.py.sample" >> ${TMPPLIST}
+
 .include <bsd.port.mk>
diff --git a/www/py-gunicorn/distinfo b/www/py-gunicorn/distinfo
index 19a46fe55a36..ee56caad4521 100644
--- a/www/py-gunicorn/distinfo
+++ b/www/py-gunicorn/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1689844301
-SHA256 (gunicorn-21.2.0.tar.gz) = 88ec8bff1d634f98e61b9f65bc4bf3cd918a90806c6f5c48bc5603849ec81033
-SIZE (gunicorn-21.2.0.tar.gz) = 3632557
+TIMESTAMP = 1713862743
+SHA256 (gunicorn-22.0.0.tar.gz) = 4a0b436239ff76fb33f11c07a16482c521a7e09c1ce3cc293c2330afe01bec63
+SIZE (gunicorn-22.0.0.tar.gz) = 3639760
diff --git a/www/py-gunicorn/files/gunicorn.in b/www/py-gunicorn/files/gunicorn.in
new file mode 100644
index 000000000000..f0c995224af2
--- /dev/null
+++ b/www/py-gunicorn/files/gunicorn.in
@@ -0,0 +1,38 @@
+#!/bin/sh
+#
+# PROVIDE: gunicorn
+# REQUIRE: DAEMON
+# BEFORE: LOGIN
+# KEYWORD: shutdown
+#
+# Add the following lines to /etc/rc.conf to enable gunicorn:
+#  gunicorn_enable (bool):    Set to "NO" by default.
+#                       Set it to "YES" to enable gunicorn.
+#
+
+. /etc/rc.subr
+
+name=gunicorn
+rcvar=gunicorn_enable
+
+# set defaults
+
+load_rc_config $name
+
+: ${gunicorn_enable:=NO}
+: ${gunicorn_config=%%PREFIX%%/gunicorn/gunicorn.conf.py}
+: ${gunicorn_user=%%USERS%%}
+: ${gunicorn_group=%%GROUPS%%}
+
+pidfile="/var/run/${name}.pid"
+command=/usr/sbin/daemon
+command_args="-P ${pidfile} -f -ST ${name} %%PREFIX%%/bin/gunicorn -c ${gunicorn_config}"
+required_files="${gunicorn_config}"
+start_precmd="gunicorn_precmd"
+
+gunicorn_precmd()
+{
+	install -o ${gunicorn_user} /dev/null ${pidfile}
+}
+
+run_rc_command "$1"