summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwen <wen>2016-10-01 14:15:04 +0000
committerwen <wen>2016-10-01 14:15:04 +0000
commit68dfc0753fa0be7efc756a6b4a8ee956238322e2 (patch)
tree60b5a4f6da91847f28f802b8c7ace487fcc092a1
parenta9a5a31342dc4302938cc38cc32a2d4baba345e7 (diff)
downloadpkgsrc-68dfc0753fa0be7efc756a6b4a8ee956238322e2.tar.gz
Update to 19.6.0
Add missing DEPENDS for test Upstream changes: 19.6.0 / 2016/05/21 Core & Logging improvement of the binary upgrade behaviour using USR2: remove file lockin (issue 1270) add the --capture-output setting to capture stdout/stderr tot the log file (issue 1271) - Allow disabling sendfile() via the SENDFILE` environment variable (issue 1252 - fix reload under pycharm (issue 1129) Workers fix: make sure to remove the signal from the worker pipe (issue 1269) fix: gthread worker, handle removed socket in the select loop (issue 1258) 19.5.0 / 2016/05/10 Core fix: Ensure response to HEAD request won’t have message body fix: lock domain socket and remove on last arbiter exit (issue 1220) improvement: use EnvironmentError instead of socket.error (issue 939) add: new $FORWARDDED_ALLOW_IPS environment variable (issue 1205) fix: infinite recursion when destroying sockets (issue 1219) fix: close sockets on shutdown (issue 922) fix: clean up sys.exc_info calls to drop circular refs (issue 1228) fix: do post_worker_init after load_wsgi (issue 1248) Workers fix access logging in gaiohttp worker (issue 1193) eventlet: handle QUIT in a new coroutine (issue 1217) gevent: remove obsolete exception clauses in run (issue 1218) tornado: fix extra “Server” response header (issue 1246) fix: unblock the wait loop under python 3.5 in sync worker (issue 1256) Logging fix: log message for listener reloading (issue 1181) Let logging module handle traceback printing (issue 1201) improvement: Allow configuring logger_class with statsd_host (issue 1188) fix: traceback formatting (issue 1235) fix: print error logs on stderr and access logs on stdout (issue 1184) Documentation Simplify installation instructions in gunicorn.org (issue 1072) Fix URL and default worker type in example_config (issue 1209) update django doc url to 1.8 lts (issue 1213) fix: miscellaneous wording corrections (issue 1216) Add PSF License Agreement of selectors.py to NOTICE (:issue: 1226) document LOGGING overriding (issue 1051) put a note that error logs are only errors from Gunicorn (issue 1124) add a note about the requirements of the threads workers under python 2.x (issue 1200) add access_log_format to config example (issue 1251) Tests Use more pytest.raises() in test_http.py 19.4.5 / 2016/01/05 fix: NameError fileno in gunicorn.http.wsgi (issue 1178) 19.4.4 / 2016/01/04 fix: check if a fileobject can be used with sendfile(2) (issue 1174) doc: be more descriptive in errorlog option (issue 1173) 19.4.3 / 2015/12/30 fix: don’t check if a file is writable using os.stat with SELINUX (issue 1171) 19.4.2 / 2015/12/29 Core improvement: handle HaltServer in manage_workers (issue 1095) fix: Do not rely on sendfile sending requested count (issue 1155) fix: claridy –no-sendfile default (issue 1156) fix: LoggingCatch sendfile failure from no file descriptor (issue 1160) Logging fix: Always send access log to syslog if syslog is on fix: check auth before trying to own a file (issue 1157) Documentation fix: Fix Slowloris broken link. (issue 1142) Tweak markup in faq.rst Testing fix: gaiohttp test (issue 1164) 19.4.1 / 2015/11/25 fix tornado worker (issue 1154) 19.4.0 / 2015/11/20 Core fix: make sure that a user is able to access to the logs after dropping a privilege (issue 1116) improvement: inherit the Exception class where it needs to be (issue 997) fix: make sure headers are always encodedas latin1 RFC 2616 (issue 1102) improvement: reduce arbiter noise (issue 1078) fix: don’t close the unix socket when the worker exit (issue 1088) improvement: Make last logged worker count an explicit instance var (issue 1078) improvement: prefix config file with its type (issue 836) improvement: pidfile handing (issue 1042) fix: catch OSError as well as ValueError on race condition (issue 1052) improve support of ipv6 by backporting urlparse.urlsplit from Python 2.7 to Python 2.6. fix: raise InvalidRequestLine when the line contains maliscious data (issue 1023) fix: fix argument to disable sendfile fix: add gthread to the list of supported workers (issue 1011) improvement: retry socket binding up to five times upon EADDRNOTAVAIL (issue 1004) breaking change: only honor headers that can be encoded in ascii to comply to the RFC 7230 (See issue 1151). Logging add new parameters to access log (issue 1132) fix: make sure that files handles are correctly reopenebd on HUP (issue 627) include request URL in error message (issue 1071) get username in access logs (issue 1069) fix statsd logging support on Python 3 (issue 1010) Testing use last version of mock. many fixes in Travis CI support miscellaneous improvements in tests Thread worker fix: Fix self.nr usage in ThreadedWorker so that auto restart works as expected (issue 1031) Gevent worker fix quit signal handling (issue 1128) add support for Python 3 (issue 1066) fix: make graceful shutdown thread-safe (issue 1032) Tornado worker fix ssl options (issue 1146, issue 1135) don’t check timeout when stopping gracefully (issue 1106) AIOHttp worker add SSL support (issue 1105) Documentation fix link to proc name setting (issue 1144) fix worker class documentation (issue 1141, issue 1104) clarify graceful timeout documentation (issue 1137) don’t duplicate NGINX config files examples (issue 1050, issue 1048) add web.py framework example (issue 1117) update Debian/Ubuntu installations instructions (issue 1112) clarify pythonpath setting description (issue 1080) tweak some example for python3 clarify sendfile documentation miscellaneous typos in source code comments (thanks!) clarify why REMOTE_ADD may not be the user’s IP address (issue 1037) Misc fix: reloader should survive SyntaxError (issue 994) fix: expose the reloader class to the worker.
-rw-r--r--www/py-gunicorn/Makefile9
-rw-r--r--www/py-gunicorn/PLIST180
-rw-r--r--www/py-gunicorn/distinfo11
-rw-r--r--www/py-gunicorn/patches/patch-requirements__test.txt9
4 files changed, 108 insertions, 101 deletions
diff --git a/www/py-gunicorn/Makefile b/www/py-gunicorn/Makefile
index a420b6f65fa..99734ccf30e 100644
--- a/www/py-gunicorn/Makefile
+++ b/www/py-gunicorn/Makefile
@@ -1,7 +1,6 @@
-# $NetBSD: Makefile,v 1.7 2016/06/08 17:43:48 wiz Exp $
+# $NetBSD: Makefile,v 1.8 2016/10/01 14:15:04 wen Exp $
-DISTNAME= gunicorn-19.3.0
-PKGREVISION= 1
+DISTNAME= gunicorn-19.6.0
CATEGORIES= www
MASTER_SITES= ${MASTER_SITE_PYPI:=g/gunicorn/}
PKGNAME= ${PYPKGPREFIX}-${DISTNAME}
@@ -11,6 +10,10 @@ HOMEPAGE= http://gunicorn.org/
COMMENT= Python WSGI HTTP server
LICENSE= mit
+# These depends is used for test
+BUILD_DEPENDS+= ${PYPKGPREFIX}-test-cov>=0:../../devel/py-test-cov
+BUILD_DEPENDS+= ${PYPKGPREFIX}-test-cov>=0:../../devel/py-test-cov
+
USE_TOOLS+= pax
DOCDIR= ${PREFIX}/share/doc/py-gunicorn
diff --git a/www/py-gunicorn/PLIST b/www/py-gunicorn/PLIST
index f095bda7141..2c04f7328da 100644
--- a/www/py-gunicorn/PLIST
+++ b/www/py-gunicorn/PLIST
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.5 2015/08/28 15:18:24 wiz Exp $
+@comment $NetBSD: PLIST,v 1.6 2016/10/01 14:15:04 wen Exp $
bin/gunicorn
bin/gunicorn_django
bin/gunicorn_paster
@@ -9,143 +9,144 @@ ${PYSITELIB}/${EGG_INFODIR}/entry_points.txt
${PYSITELIB}/${EGG_INFODIR}/not-zip-safe
${PYSITELIB}/${EGG_INFODIR}/top_level.txt
${PYSITELIB}/gunicorn/__init__.py
-${PYSITELIB}/gunicorn/__init__.pyc
${PYSITELIB}/gunicorn/__init__.pyo
-${PYSITELIB}/gunicorn/_compat.py
-${PYSITELIB}/gunicorn/_compat.pyc
+${PYSITELIB}/gunicorn/__init__.pyc
${PYSITELIB}/gunicorn/_compat.pyo
+${PYSITELIB}/gunicorn/_compat.pyc
+${PYSITELIB}/gunicorn/arbiter.pyo
+${PYSITELIB}/gunicorn/arbiter.pyc
+${PYSITELIB}/gunicorn/argparse_compat.pyo
+${PYSITELIB}/gunicorn/argparse_compat.pyc
+${PYSITELIB}/gunicorn/config.pyo
+${PYSITELIB}/gunicorn/config.pyc
+${PYSITELIB}/gunicorn/debug.pyo
+${PYSITELIB}/gunicorn/debug.pyc
+${PYSITELIB}/gunicorn/errors.pyo
+${PYSITELIB}/gunicorn/errors.pyc
+${PYSITELIB}/gunicorn/glogging.pyo
+${PYSITELIB}/gunicorn/glogging.pyc
+${PYSITELIB}/gunicorn/pidfile.pyo
+${PYSITELIB}/gunicorn/pidfile.pyc
+${PYSITELIB}/gunicorn/reloader.pyo
+${PYSITELIB}/gunicorn/reloader.pyc
+${PYSITELIB}/gunicorn/selectors.pyo
+${PYSITELIB}/gunicorn/selectors.pyc
+${PYSITELIB}/gunicorn/six.pyo
+${PYSITELIB}/gunicorn/six.pyc
+${PYSITELIB}/gunicorn/sock.pyo
+${PYSITELIB}/gunicorn/sock.pyc
+${PYSITELIB}/gunicorn/util.pyo
+${PYSITELIB}/gunicorn/util.pyc
+${PYSITELIB}/gunicorn/_compat.py
${PYSITELIB}/gunicorn/app/__init__.py
-${PYSITELIB}/gunicorn/app/__init__.pyc
${PYSITELIB}/gunicorn/app/__init__.pyo
-${PYSITELIB}/gunicorn/app/base.py
-${PYSITELIB}/gunicorn/app/base.pyc
+${PYSITELIB}/gunicorn/app/__init__.pyc
${PYSITELIB}/gunicorn/app/base.pyo
-${PYSITELIB}/gunicorn/app/django_wsgi.py
-${PYSITELIB}/gunicorn/app/django_wsgi.pyc
+${PYSITELIB}/gunicorn/app/base.pyc
${PYSITELIB}/gunicorn/app/django_wsgi.pyo
-${PYSITELIB}/gunicorn/app/djangoapp.py
-${PYSITELIB}/gunicorn/app/djangoapp.pyc
+${PYSITELIB}/gunicorn/app/django_wsgi.pyc
${PYSITELIB}/gunicorn/app/djangoapp.pyo
-${PYSITELIB}/gunicorn/app/pasterapp.py
-${PYSITELIB}/gunicorn/app/pasterapp.pyc
+${PYSITELIB}/gunicorn/app/djangoapp.pyc
${PYSITELIB}/gunicorn/app/pasterapp.pyo
-${PYSITELIB}/gunicorn/app/wsgiapp.py
-${PYSITELIB}/gunicorn/app/wsgiapp.pyc
+${PYSITELIB}/gunicorn/app/pasterapp.pyc
${PYSITELIB}/gunicorn/app/wsgiapp.pyo
+${PYSITELIB}/gunicorn/app/wsgiapp.pyc
+${PYSITELIB}/gunicorn/app/base.py
+${PYSITELIB}/gunicorn/app/django_wsgi.py
+${PYSITELIB}/gunicorn/app/djangoapp.py
+${PYSITELIB}/gunicorn/app/pasterapp.py
+${PYSITELIB}/gunicorn/app/wsgiapp.py
${PYSITELIB}/gunicorn/arbiter.py
-${PYSITELIB}/gunicorn/arbiter.pyc
-${PYSITELIB}/gunicorn/arbiter.pyo
${PYSITELIB}/gunicorn/argparse_compat.py
-${PYSITELIB}/gunicorn/argparse_compat.pyc
-${PYSITELIB}/gunicorn/argparse_compat.pyo
${PYSITELIB}/gunicorn/config.py
-${PYSITELIB}/gunicorn/config.pyc
-${PYSITELIB}/gunicorn/config.pyo
${PYSITELIB}/gunicorn/debug.py
-${PYSITELIB}/gunicorn/debug.pyc
-${PYSITELIB}/gunicorn/debug.pyo
${PYSITELIB}/gunicorn/errors.py
-${PYSITELIB}/gunicorn/errors.pyc
-${PYSITELIB}/gunicorn/errors.pyo
${PYSITELIB}/gunicorn/glogging.py
-${PYSITELIB}/gunicorn/glogging.pyc
-${PYSITELIB}/gunicorn/glogging.pyo
${PYSITELIB}/gunicorn/http/__init__.py
-${PYSITELIB}/gunicorn/http/__init__.pyc
${PYSITELIB}/gunicorn/http/__init__.pyo
-${PYSITELIB}/gunicorn/http/_sendfile.py
-${PYSITELIB}/gunicorn/http/_sendfile.pyc
+${PYSITELIB}/gunicorn/http/__init__.pyc
${PYSITELIB}/gunicorn/http/_sendfile.pyo
-${PYSITELIB}/gunicorn/http/body.py
-${PYSITELIB}/gunicorn/http/body.pyc
+${PYSITELIB}/gunicorn/http/_sendfile.pyc
${PYSITELIB}/gunicorn/http/body.pyo
-${PYSITELIB}/gunicorn/http/errors.py
-${PYSITELIB}/gunicorn/http/errors.pyc
+${PYSITELIB}/gunicorn/http/body.pyc
${PYSITELIB}/gunicorn/http/errors.pyo
-${PYSITELIB}/gunicorn/http/message.py
-${PYSITELIB}/gunicorn/http/message.pyc
+${PYSITELIB}/gunicorn/http/errors.pyc
${PYSITELIB}/gunicorn/http/message.pyo
-${PYSITELIB}/gunicorn/http/parser.py
-${PYSITELIB}/gunicorn/http/parser.pyc
+${PYSITELIB}/gunicorn/http/message.pyc
${PYSITELIB}/gunicorn/http/parser.pyo
-${PYSITELIB}/gunicorn/http/unreader.py
-${PYSITELIB}/gunicorn/http/unreader.pyc
+${PYSITELIB}/gunicorn/http/parser.pyc
${PYSITELIB}/gunicorn/http/unreader.pyo
-${PYSITELIB}/gunicorn/http/wsgi.py
-${PYSITELIB}/gunicorn/http/wsgi.pyc
+${PYSITELIB}/gunicorn/http/unreader.pyc
${PYSITELIB}/gunicorn/http/wsgi.pyo
+${PYSITELIB}/gunicorn/http/wsgi.pyc
+${PYSITELIB}/gunicorn/http/_sendfile.py
+${PYSITELIB}/gunicorn/http/body.py
+${PYSITELIB}/gunicorn/http/errors.py
+${PYSITELIB}/gunicorn/http/message.py
+${PYSITELIB}/gunicorn/http/parser.py
+${PYSITELIB}/gunicorn/http/unreader.py
+${PYSITELIB}/gunicorn/http/wsgi.py
${PYSITELIB}/gunicorn/instrument/__init__.py
-${PYSITELIB}/gunicorn/instrument/__init__.pyc
${PYSITELIB}/gunicorn/instrument/__init__.pyo
-${PYSITELIB}/gunicorn/instrument/statsd.py
-${PYSITELIB}/gunicorn/instrument/statsd.pyc
+${PYSITELIB}/gunicorn/instrument/__init__.pyc
${PYSITELIB}/gunicorn/instrument/statsd.pyo
+${PYSITELIB}/gunicorn/instrument/statsd.pyc
+${PYSITELIB}/gunicorn/instrument/statsd.py
${PYSITELIB}/gunicorn/management/__init__.py
-${PYSITELIB}/gunicorn/management/__init__.pyc
${PYSITELIB}/gunicorn/management/__init__.pyo
+${PYSITELIB}/gunicorn/management/__init__.pyc
${PYSITELIB}/gunicorn/management/commands/__init__.py
-${PYSITELIB}/gunicorn/management/commands/__init__.pyc
${PYSITELIB}/gunicorn/management/commands/__init__.pyo
-${PYSITELIB}/gunicorn/management/commands/run_gunicorn.py
-${PYSITELIB}/gunicorn/management/commands/run_gunicorn.pyc
+${PYSITELIB}/gunicorn/management/commands/__init__.pyc
${PYSITELIB}/gunicorn/management/commands/run_gunicorn.pyo
+${PYSITELIB}/gunicorn/management/commands/run_gunicorn.pyc
+${PYSITELIB}/gunicorn/management/commands/run_gunicorn.py
${PYSITELIB}/gunicorn/pidfile.py
-${PYSITELIB}/gunicorn/pidfile.pyc
-${PYSITELIB}/gunicorn/pidfile.pyo
${PYSITELIB}/gunicorn/reloader.py
-${PYSITELIB}/gunicorn/reloader.pyc
-${PYSITELIB}/gunicorn/reloader.pyo
${PYSITELIB}/gunicorn/selectors.py
-${PYSITELIB}/gunicorn/selectors.pyc
-${PYSITELIB}/gunicorn/selectors.pyo
${PYSITELIB}/gunicorn/six.py
-${PYSITELIB}/gunicorn/six.pyc
-${PYSITELIB}/gunicorn/six.pyo
${PYSITELIB}/gunicorn/sock.py
-${PYSITELIB}/gunicorn/sock.pyc
-${PYSITELIB}/gunicorn/sock.pyo
${PYSITELIB}/gunicorn/util.py
-${PYSITELIB}/gunicorn/util.pyc
-${PYSITELIB}/gunicorn/util.pyo
${PYSITELIB}/gunicorn/workers/__init__.py
-${PYSITELIB}/gunicorn/workers/__init__.pyc
${PYSITELIB}/gunicorn/workers/__init__.pyo
+${PYSITELIB}/gunicorn/workers/__init__.pyc
+${PYSITELIB}/gunicorn/workers/_gaiohttp.pyo
+${PYSITELIB}/gunicorn/workers/_gaiohttp.pyc
+${PYSITELIB}/gunicorn/workers/async.pyo
+${PYSITELIB}/gunicorn/workers/async.pyc
+${PYSITELIB}/gunicorn/workers/base.pyo
+${PYSITELIB}/gunicorn/workers/base.pyc
+${PYSITELIB}/gunicorn/workers/gaiohttp.pyo
+${PYSITELIB}/gunicorn/workers/gaiohttp.pyc
+${PYSITELIB}/gunicorn/workers/geventlet.pyo
+${PYSITELIB}/gunicorn/workers/geventlet.pyc
+${PYSITELIB}/gunicorn/workers/ggevent.pyo
+${PYSITELIB}/gunicorn/workers/ggevent.pyc
+${PYSITELIB}/gunicorn/workers/gthread.pyo
+${PYSITELIB}/gunicorn/workers/gthread.pyc
+${PYSITELIB}/gunicorn/workers/gtornado.pyo
+${PYSITELIB}/gunicorn/workers/gtornado.pyc
+${PYSITELIB}/gunicorn/workers/sync.pyo
+${PYSITELIB}/gunicorn/workers/sync.pyc
+${PYSITELIB}/gunicorn/workers/workertmp.pyo
+${PYSITELIB}/gunicorn/workers/workertmp.pyc
${PYSITELIB}/gunicorn/workers/_gaiohttp.py
-${PLIST.py3x}${PYSITELIB}/gunicorn/workers/_gaiohttp.pyc
-${PLIST.py3x}${PYSITELIB}/gunicorn/workers/_gaiohttp.pyo
${PYSITELIB}/gunicorn/workers/async.py
-${PYSITELIB}/gunicorn/workers/async.pyc
-${PYSITELIB}/gunicorn/workers/async.pyo
${PYSITELIB}/gunicorn/workers/base.py
-${PYSITELIB}/gunicorn/workers/base.pyc
-${PYSITELIB}/gunicorn/workers/base.pyo
${PYSITELIB}/gunicorn/workers/gaiohttp.py
-${PYSITELIB}/gunicorn/workers/gaiohttp.pyc
-${PYSITELIB}/gunicorn/workers/gaiohttp.pyo
${PYSITELIB}/gunicorn/workers/geventlet.py
-${PYSITELIB}/gunicorn/workers/geventlet.pyc
-${PYSITELIB}/gunicorn/workers/geventlet.pyo
${PYSITELIB}/gunicorn/workers/ggevent.py
-${PYSITELIB}/gunicorn/workers/ggevent.pyc
-${PYSITELIB}/gunicorn/workers/ggevent.pyo
${PYSITELIB}/gunicorn/workers/gthread.py
-${PYSITELIB}/gunicorn/workers/gthread.pyc
-${PYSITELIB}/gunicorn/workers/gthread.pyo
${PYSITELIB}/gunicorn/workers/gtornado.py
-${PYSITELIB}/gunicorn/workers/gtornado.pyc
-${PYSITELIB}/gunicorn/workers/gtornado.pyo
${PYSITELIB}/gunicorn/workers/sync.py
-${PYSITELIB}/gunicorn/workers/sync.pyc
-${PYSITELIB}/gunicorn/workers/sync.pyo
${PYSITELIB}/gunicorn/workers/workertmp.py
-${PYSITELIB}/gunicorn/workers/workertmp.pyc
-${PYSITELIB}/gunicorn/workers/workertmp.pyo
share/doc/py-gunicorn/2010-news.rst
share/doc/py-gunicorn/2011-news.rst
share/doc/py-gunicorn/2012-news.rst
share/doc/py-gunicorn/2013-news.rst
share/doc/py-gunicorn/2014-news.rst
share/doc/py-gunicorn/2015-news.rst
+share/doc/py-gunicorn/2016-news.rst
share/doc/py-gunicorn/community.rst
share/doc/py-gunicorn/configure.rst
share/doc/py-gunicorn/custom.rst
@@ -166,17 +167,6 @@ share/examples/py-gunicorn/echo.py
share/examples/py-gunicorn/example_config.py
share/examples/py-gunicorn/frameworks/cherryapp.py
share/examples/py-gunicorn/frameworks/django/README
-share/examples/py-gunicorn/frameworks/django/djangotest/__init__.py
-share/examples/py-gunicorn/frameworks/django/djangotest/manage.py
-share/examples/py-gunicorn/frameworks/django/djangotest/settings.py
-share/examples/py-gunicorn/frameworks/django/djangotest/testing/__init__.py
-share/examples/py-gunicorn/frameworks/django/djangotest/testing/models.py
-share/examples/py-gunicorn/frameworks/django/djangotest/testing/templates/base.html
-share/examples/py-gunicorn/frameworks/django/djangotest/testing/templates/home.html
-share/examples/py-gunicorn/frameworks/django/djangotest/testing/tests.py
-share/examples/py-gunicorn/frameworks/django/djangotest/testing/urls.py
-share/examples/py-gunicorn/frameworks/django/djangotest/testing/views.py
-share/examples/py-gunicorn/frameworks/django/djangotest/urls.py
share/examples/py-gunicorn/frameworks/django/testing/manage.py
share/examples/py-gunicorn/frameworks/django/testing/testing/__init__.py
share/examples/py-gunicorn/frameworks/django/testing/testing/apps/__init__.py
@@ -229,6 +219,7 @@ share/examples/py-gunicorn/frameworks/pylonstest/setup.py
share/examples/py-gunicorn/frameworks/pylonstest/test.ini
share/examples/py-gunicorn/frameworks/pyramidapp.py
share/examples/py-gunicorn/frameworks/tornadoapp.py
+share/examples/py-gunicorn/frameworks/webpyapp.py
share/examples/py-gunicorn/gunicorn_rc
share/examples/py-gunicorn/hello.txt
share/examples/py-gunicorn/log_app.ini
@@ -238,6 +229,8 @@ share/examples/py-gunicorn/longpoll.py
share/examples/py-gunicorn/multiapp.py
share/examples/py-gunicorn/multidomainapp.py
share/examples/py-gunicorn/nginx.conf
+share/examples/py-gunicorn/read_django_settings.py
+share/examples/py-gunicorn/readline.py
share/examples/py-gunicorn/sendfile.py
share/examples/py-gunicorn/server.crt
share/examples/py-gunicorn/server.key
@@ -250,3 +243,4 @@ share/examples/py-gunicorn/websocket/gevent_websocket.py
share/examples/py-gunicorn/websocket/websocket.html
share/examples/py-gunicorn/websocket/websocket.py
share/examples/py-gunicorn/when_ready.conf.py
+@pkgdir share/examples/py-gunicorn/frameworks/django/djangotest/testing/templates
diff --git a/www/py-gunicorn/distinfo b/www/py-gunicorn/distinfo
index f2b4fd95a04..6f859776833 100644
--- a/www/py-gunicorn/distinfo
+++ b/www/py-gunicorn/distinfo
@@ -1,6 +1,7 @@
-$NetBSD: distinfo,v 1.4 2015/11/04 02:47:29 agc Exp $
+$NetBSD: distinfo,v 1.5 2016/10/01 14:15:04 wen Exp $
-SHA1 (gunicorn-19.3.0.tar.gz) = 4886c236f9b4618a6d1ff0ce5a3e61d07a82425a
-RMD160 (gunicorn-19.3.0.tar.gz) = 0222c41c7d7148b6869c68804e33f5709c4e9053
-SHA512 (gunicorn-19.3.0.tar.gz) = 8c4e0bb1bf0b35aaf9160b9b7d87890a991451fbc86186454203f3483767858944704c1ec22dd52480ce1e4693e84b62b1428dd3b67b2ae925e0475dc08fcb50
-Size (gunicorn-19.3.0.tar.gz) = 395381 bytes
+SHA1 (gunicorn-19.6.0.tar.gz) = ec049362953567e1acdc16e74c0c337301bc4867
+RMD160 (gunicorn-19.6.0.tar.gz) = d2bb8980907294466b9cce803ed4df8b007caea4
+SHA512 (gunicorn-19.6.0.tar.gz) = 50b69ae18acc6f60be6fc5c6f4a867d8415d32009a1f959155b58502d52403a057612e97d6c9b69ec068ee5af7b9b045952a636a5edf4713a1249492611be479
+Size (gunicorn-19.6.0.tar.gz) = 404497 bytes
+SHA1 (patch-requirements__test.txt) = 37ab001b68d957df9667377e34af6d1a38e71c59
diff --git a/www/py-gunicorn/patches/patch-requirements__test.txt b/www/py-gunicorn/patches/patch-requirements__test.txt
new file mode 100644
index 00000000000..c57c9392ad0
--- /dev/null
+++ b/www/py-gunicorn/patches/patch-requirements__test.txt
@@ -0,0 +1,9 @@
+$NetBSD: patch-requirements__test.txt,v 1.1 2016/10/01 14:15:04 wen Exp $
+Use pytest and pytest-con in pkgsrc to avoid download.
+--- requirements_test.txt.orig 2016-10-01 14:02:06.000000000 +0000
++++ requirements_test.txt
+@@ -1,2 +1,2 @@
+-pytest==2.8.3
+-pytest-cov==1.7.0
++pytest>=2.8.3
++pytest-cov>=1.7.0