Mon Apr 30 08:48:07 2018 UTC ()
py-gunicorn: updated to 19.8.0

19.8.0:
Eventlet 0.21.0 support
Tornado 5 support
support watching additional files with --reload-extra-file
support configuring logging with a dictionary with --logging-config-dict
add support for the --config flag in the GUNICORN_CMD_ARGS environment variable
disable SO_REUSEPORT by default and add the --reuse-port setting
fix: installing inotify on MacOS no longer breaks the reloader
fix: do not throw TypeError when SO_REUSEPORT is not available
fix: properly decode HTTP paths containing certain non-ASCII characters
fix: remove whitespace when logging header values under gevent
fix: close unlinked temporary files
fix: parse --umask=0 correctly
fix: allow loading applications using relative file paths
fix: force blocking mode on the gevent sockets
fix: preserve leading / in request path
fix: forbid contradictory secure scheme headers
fix: handle malformed basic authentication headers in access log
fix: defer handling of USR1 signal to a new greenlet under gevent
fix: the threaded worker would sometimes close the wrong keep-alive connection under Python 2
fix: re-open log files on USR1 signal using handler._open to support subclasses of FileHandler
deprecation: the gaiohttp worker is deprecated, see the worker_class documentation for more information


(adam)
diff -r1.11 -r1.12 pkgsrc/www/py-gunicorn/Makefile
diff -r1.8 -r1.9 pkgsrc/www/py-gunicorn/PLIST
diff -r1.6 -r1.7 pkgsrc/www/py-gunicorn/distinfo
diff -r1.2 -r1.3 pkgsrc/www/py-gunicorn/patches/patch-requirements__test.txt

cvs diff -r1.11 -r1.12 pkgsrc/www/py-gunicorn/Makefile (expand / switch to unified diff)

--- pkgsrc/www/py-gunicorn/Makefile 2017/11/14 00:28:00 1.11
+++ pkgsrc/www/py-gunicorn/Makefile 2018/04/30 08:48:07 1.12
@@ -1,34 +1,24 @@ @@ -1,34 +1,24 @@
1# $NetBSD: Makefile,v 1.11 2017/11/14 00:28:00 minskim Exp $ 1# $NetBSD: Makefile,v 1.12 2018/04/30 08:48:07 adam Exp $
2 2
3DISTNAME= gunicorn-19.7.1 3DISTNAME= gunicorn-19.8.0
4PKGREVISION= 1 4CATEGORIES= www python
5CATEGORIES= www 
6MASTER_SITES= ${MASTER_SITE_PYPI:=g/gunicorn/} 5MASTER_SITES= ${MASTER_SITE_PYPI:=g/gunicorn/}
7PKGNAME= ${PYPKGPREFIX}-${DISTNAME} 6PKGNAME= ${PYPKGPREFIX}-${DISTNAME}
8 7
9MAINTAINER= gls@NetBSD.org 8MAINTAINER= gls@NetBSD.org
10HOMEPAGE= http://gunicorn.org/ 9HOMEPAGE= http://gunicorn.org/
11COMMENT= Python WSGI HTTP server 10COMMENT= Python WSGI HTTP server
12LICENSE= mit 11LICENSE= mit
13 12
14# These depends is used for test 13TEST_DEPENDS+= ${PYPKGPREFIX}-test>=3.0.5:../../devel/py-test
15BUILD_DEPENDS+= ${PYPKGPREFIX}-test-cov>=0:../../devel/py-test-cov 14TEST_DEPENDS+= ${PYPKGPREFIX}-test-cov>=2.4.0:../../devel/py-test-cov
16 15
17USE_TOOLS+= pax 16USE_LANGUAGES= # none
18 
19DOCDIR= ${PREFIX}/share/doc/${PKGBASE} 
20EXAMPLESDIR= ${PREFIX}/share/examples/${PKGBASE} 
21AUTO_MKDIRS= yes 
22 
23INSTALLATION_DIRS+= share/doc/${PKGBASE} share/examples/${PKGBASE} 
24 17
25post-install: 18post-install:
26 cd ${WRKSRC}/docs/source && pax -wr -pma *.rst \ 19 cd ${DESTDIR}${PREFIX}/bin && \
27 ${DESTDIR}${DOCDIR} 20 ${MV} gunicorn gunicorn-${PYVERSSUFFIX} && \
28 cd ${WRKSRC}/examples && pax -wr -pma * \ 21 ${MV} gunicorn_paster gunicorn_paster-${PYVERSSUFFIX} || ${TRUE}
29 ${DESTDIR}${EXAMPLESDIR} 
30 cd ${DESTDIR}${PREFIX}/bin && ${MV} gunicorn gunicorn-${PYVERSSUFFIX} || ${TRUE} 
31 cd ${DESTDIR}${PREFIX}/bin && ${MV} gunicorn_paster gunicorn_paster-${PYVERSSUFFIX} || ${TRUE} 
32 22
33.include "../../lang/python/egg.mk" 23.include "../../lang/python/egg.mk"
34.include "../../mk/bsd.pkg.mk" 24.include "../../mk/bsd.pkg.mk"

cvs diff -r1.8 -r1.9 pkgsrc/www/py-gunicorn/PLIST (expand / switch to unified diff)

--- pkgsrc/www/py-gunicorn/PLIST 2017/11/03 14:39:27 1.8
+++ pkgsrc/www/py-gunicorn/PLIST 2018/04/30 08:48:07 1.9
@@ -1,21 +1,22 @@ @@ -1,21 +1,22 @@
1@comment $NetBSD: PLIST,v 1.8 2017/11/03 14:39:27 leot Exp $ 1@comment $NetBSD: PLIST,v 1.9 2018/04/30 08:48:07 adam Exp $
2bin/gunicorn-${PYVERSSUFFIX} 2bin/gunicorn-${PYVERSSUFFIX}
3bin/gunicorn_paster-${PYVERSSUFFIX} 3bin/gunicorn_paster-${PYVERSSUFFIX}
4${PYSITELIB}/${EGG_INFODIR}/PKG-INFO 4${PYSITELIB}/${EGG_INFODIR}/PKG-INFO
5${PYSITELIB}/${EGG_INFODIR}/SOURCES.txt 5${PYSITELIB}/${EGG_INFODIR}/SOURCES.txt
6${PYSITELIB}/${EGG_INFODIR}/dependency_links.txt 6${PYSITELIB}/${EGG_INFODIR}/dependency_links.txt
7${PYSITELIB}/${EGG_INFODIR}/entry_points.txt 7${PYSITELIB}/${EGG_INFODIR}/entry_points.txt
8${PYSITELIB}/${EGG_INFODIR}/not-zip-safe 8${PYSITELIB}/${EGG_INFODIR}/not-zip-safe
 9${PYSITELIB}/${EGG_INFODIR}/requires.txt
9${PYSITELIB}/${EGG_INFODIR}/top_level.txt 10${PYSITELIB}/${EGG_INFODIR}/top_level.txt
10${PYSITELIB}/gunicorn/__init__.py 11${PYSITELIB}/gunicorn/__init__.py
11${PYSITELIB}/gunicorn/__init__.pyc 12${PYSITELIB}/gunicorn/__init__.pyc
12${PYSITELIB}/gunicorn/__init__.pyo 13${PYSITELIB}/gunicorn/__init__.pyo
13${PYSITELIB}/gunicorn/_compat.py 14${PYSITELIB}/gunicorn/_compat.py
14${PYSITELIB}/gunicorn/_compat.pyc 15${PYSITELIB}/gunicorn/_compat.pyc
15${PYSITELIB}/gunicorn/_compat.pyo 16${PYSITELIB}/gunicorn/_compat.pyo
16${PYSITELIB}/gunicorn/app/__init__.py 17${PYSITELIB}/gunicorn/app/__init__.py
17${PYSITELIB}/gunicorn/app/__init__.pyc 18${PYSITELIB}/gunicorn/app/__init__.pyc
18${PYSITELIB}/gunicorn/app/__init__.pyo 19${PYSITELIB}/gunicorn/app/__init__.pyo
19${PYSITELIB}/gunicorn/app/base.py 20${PYSITELIB}/gunicorn/app/base.py
20${PYSITELIB}/gunicorn/app/base.pyc 21${PYSITELIB}/gunicorn/app/base.pyc
21${PYSITELIB}/gunicorn/app/base.pyo 22${PYSITELIB}/gunicorn/app/base.pyo
@@ -117,84 +118,13 @@ ${PYSITELIB}/gunicorn/workers/ggevent.py @@ -117,84 +118,13 @@ ${PYSITELIB}/gunicorn/workers/ggevent.py
117${PYSITELIB}/gunicorn/workers/ggevent.pyo 118${PYSITELIB}/gunicorn/workers/ggevent.pyo
118${PYSITELIB}/gunicorn/workers/gthread.py 119${PYSITELIB}/gunicorn/workers/gthread.py
119${PYSITELIB}/gunicorn/workers/gthread.pyc 120${PYSITELIB}/gunicorn/workers/gthread.pyc
120${PYSITELIB}/gunicorn/workers/gthread.pyo 121${PYSITELIB}/gunicorn/workers/gthread.pyo
121${PYSITELIB}/gunicorn/workers/gtornado.py 122${PYSITELIB}/gunicorn/workers/gtornado.py
122${PYSITELIB}/gunicorn/workers/gtornado.pyc 123${PYSITELIB}/gunicorn/workers/gtornado.pyc
123${PYSITELIB}/gunicorn/workers/gtornado.pyo 124${PYSITELIB}/gunicorn/workers/gtornado.pyo
124${PYSITELIB}/gunicorn/workers/sync.py 125${PYSITELIB}/gunicorn/workers/sync.py
125${PYSITELIB}/gunicorn/workers/sync.pyc 126${PYSITELIB}/gunicorn/workers/sync.pyc
126${PYSITELIB}/gunicorn/workers/sync.pyo 127${PYSITELIB}/gunicorn/workers/sync.pyo
127${PYSITELIB}/gunicorn/workers/workertmp.py 128${PYSITELIB}/gunicorn/workers/workertmp.py
128${PYSITELIB}/gunicorn/workers/workertmp.pyc 129${PYSITELIB}/gunicorn/workers/workertmp.pyc
129${PYSITELIB}/gunicorn/workers/workertmp.pyo 130${PYSITELIB}/gunicorn/workers/workertmp.pyo
130share/doc/${PKGBASE}/2010-news.rst 
131share/doc/${PKGBASE}/2011-news.rst 
132share/doc/${PKGBASE}/2012-news.rst 
133share/doc/${PKGBASE}/2013-news.rst 
134share/doc/${PKGBASE}/2014-news.rst 
135share/doc/${PKGBASE}/2015-news.rst 
136share/doc/${PKGBASE}/2016-news.rst 
137share/doc/${PKGBASE}/2017-news.rst 
138share/doc/${PKGBASE}/community.rst 
139share/doc/${PKGBASE}/configure.rst 
140share/doc/${PKGBASE}/custom.rst 
141share/doc/${PKGBASE}/deploy.rst 
142share/doc/${PKGBASE}/design.rst 
143share/doc/${PKGBASE}/faq.rst 
144share/doc/${PKGBASE}/index.rst 
145share/doc/${PKGBASE}/install.rst 
146share/doc/${PKGBASE}/instrumentation.rst 
147share/doc/${PKGBASE}/news.rst 
148share/doc/${PKGBASE}/run.rst 
149share/doc/${PKGBASE}/settings.rst 
150share/doc/${PKGBASE}/signals.rst 
151share/examples/${PKGBASE}/alt_spec.py 
152share/examples/${PKGBASE}/bad.py 
153share/examples/${PKGBASE}/boot_fail.py 
154share/examples/${PKGBASE}/echo.py 
155share/examples/${PKGBASE}/example_config.py 
156share/examples/${PKGBASE}/frameworks/cherryapp.py 
157share/examples/${PKGBASE}/frameworks/django/README 
158share/examples/${PKGBASE}/frameworks/django/testing/manage.py 
159share/examples/${PKGBASE}/frameworks/django/testing/testing/__init__.py 
160share/examples/${PKGBASE}/frameworks/django/testing/testing/apps/__init__.py 
161share/examples/${PKGBASE}/frameworks/django/testing/testing/apps/someapp/__init__.py 
162share/examples/${PKGBASE}/frameworks/django/testing/testing/apps/someapp/middleware.py 
163share/examples/${PKGBASE}/frameworks/django/testing/testing/apps/someapp/models.py 
164share/examples/${PKGBASE}/frameworks/django/testing/testing/apps/someapp/templates/base.html 
165share/examples/${PKGBASE}/frameworks/django/testing/testing/apps/someapp/templates/home.html 
166share/examples/${PKGBASE}/frameworks/django/testing/testing/apps/someapp/tests.py 
167share/examples/${PKGBASE}/frameworks/django/testing/testing/apps/someapp/urls.py 
168share/examples/${PKGBASE}/frameworks/django/testing/testing/apps/someapp/views.py 
169share/examples/${PKGBASE}/frameworks/django/testing/testing/settings.py 
170share/examples/${PKGBASE}/frameworks/django/testing/testing/urls.py 
171share/examples/${PKGBASE}/frameworks/django/testing/testing/wsgi.py 
172share/examples/${PKGBASE}/frameworks/flask_sendfile.py 
173share/examples/${PKGBASE}/frameworks/flaskapp.py 
174share/examples/${PKGBASE}/frameworks/pyramidapp.py 
175share/examples/${PKGBASE}/frameworks/tornadoapp.py 
176share/examples/${PKGBASE}/frameworks/webpyapp.py 
177share/examples/${PKGBASE}/gunicorn_rc 
178share/examples/${PKGBASE}/hello.txt 
179share/examples/${PKGBASE}/log_app.ini 
180share/examples/${PKGBASE}/log_app.py 
181share/examples/${PKGBASE}/logging.conf 
182share/examples/${PKGBASE}/longpoll.py 
183share/examples/${PKGBASE}/multiapp.py 
184share/examples/${PKGBASE}/multidomainapp.py 
185share/examples/${PKGBASE}/nginx.conf 
186share/examples/${PKGBASE}/read_django_settings.py 
187share/examples/${PKGBASE}/readline.py 
188share/examples/${PKGBASE}/sendfile.py 
189share/examples/${PKGBASE}/server.crt 
190share/examples/${PKGBASE}/server.key 
191share/examples/${PKGBASE}/slowclient.py 
192share/examples/${PKGBASE}/standalone_app.py 
193share/examples/${PKGBASE}/supervisor.conf 
194share/examples/${PKGBASE}/test.py 
195share/examples/${PKGBASE}/timeout.py 
196share/examples/${PKGBASE}/websocket/gevent_websocket.py 
197share/examples/${PKGBASE}/websocket/websocket.html 
198share/examples/${PKGBASE}/websocket/websocket.py 
199share/examples/${PKGBASE}/when_ready.conf.py 
200@pkgdir share/examples/${PKGBASE}/frameworks/django/djangotest/testing/templates 

cvs diff -r1.6 -r1.7 pkgsrc/www/py-gunicorn/distinfo (expand / switch to unified diff)

--- pkgsrc/www/py-gunicorn/distinfo 2017/04/14 13:24:30 1.6
+++ pkgsrc/www/py-gunicorn/distinfo 2018/04/30 08:48:07 1.7
@@ -1,7 +1,7 @@ @@ -1,7 +1,7 @@
1$NetBSD: distinfo,v 1.6 2017/04/14 13:24:30 adam Exp $ 1$NetBSD: distinfo,v 1.7 2018/04/30 08:48:07 adam Exp $
2 2
3SHA1 (gunicorn-19.7.1.tar.gz) = e4d9f55744bf4198f71d29f61f9eeaf9d216ecac 3SHA1 (gunicorn-19.8.0.tar.gz) = b4dba91239090c6e873da0001e1d494afb52846a
4RMD160 (gunicorn-19.7.1.tar.gz) = d5c2505b8de371a5b9fd9c3512c217e3666f5b63 4RMD160 (gunicorn-19.8.0.tar.gz) = b785297cc897f5396e9017b2b521b9ca53c4f11b
5SHA512 (gunicorn-19.7.1.tar.gz) = ee01276028ad65c72076f09d95b6801a720700ec55d9b0bf929e0a6c0db546178a21c34f584ef1780f329218b2cfa3dc1e0c2d81bd4f7fcb0b328fbdfb0b9f0e 5SHA512 (gunicorn-19.8.0.tar.gz) = 09afc2718ab2193742dca5cf725de959d4968c0e5e7ddef91a9b506306028dc056a9462ada12e1e449a6dfad03619c32fd9e9693ae24ec0abc3149ed5f946a1c
6Size (gunicorn-19.7.1.tar.gz) = 402658 bytes 6Size (gunicorn-19.8.0.tar.gz) = 415472 bytes
7SHA1 (patch-requirements__test.txt) = 4ba4d4af3e979932694bb6b2d434d584ffdc7563 7SHA1 (patch-requirements__test.txt) = 1c8ca2e7c0d63ffab0be9b4371fd42be6e207613

cvs diff -r1.2 -r1.3 pkgsrc/www/py-gunicorn/patches/Attic/patch-requirements__test.txt (expand / switch to unified diff)

--- pkgsrc/www/py-gunicorn/patches/Attic/patch-requirements__test.txt 2017/04/14 13:24:30 1.2
+++ pkgsrc/www/py-gunicorn/patches/Attic/patch-requirements__test.txt 2018/04/30 08:48:07 1.3
@@ -1,11 +1,13 @@ @@ -1,11 +1,13 @@
1$NetBSD: patch-requirements__test.txt,v 1.2 2017/04/14 13:24:30 adam Exp $ 1$NetBSD: patch-requirements__test.txt,v 1.3 2018/04/30 08:48:07 adam Exp $
2 2
3Use pytest and pytest-con in pkgsrc to avoid download. 3'coverage' is not (yet) needed for testing.
 4Relax pytest requirements.
4 5
5--- requirements_test.txt.orig 2016-10-01 14:02:06.000000000 +0000 6--- requirements_test.txt.orig 2017-10-27 02:50:06.000000000 +0000
6+++ requirements_test.txt 7+++ requirements_test.txt
7@@ -1,2 +1,2 @@ 8@@ -1,3 +1,2 @@
 9-coverage>=4.0,<4.4 # TODO: https://github.com/benoitc/gunicorn/issues/1548
8-pytest==3.0.5 10-pytest==3.0.5
9-pytest-cov==2.4.0 11-pytest-cov==2.4.0
10+pytest>=3.0.5 12+pytest>=3.0.5
11+pytest-cov>=2.4.0 13+pytest-cov>=2.4.0