summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkleink <kleink@pkgsrc.org>2016-06-01 21:05:46 +0000
committerkleink <kleink@pkgsrc.org>2016-06-01 21:05:46 +0000
commit73dd1ce071f68dc82d80babe66ac9ec9e849eaa5 (patch)
tree3ec4e1549b199077760765dc889ead7bf3f7db35
parentdf6e05f49f236fffb9ec4cb4f5c6ad492f94a2f4 (diff)
downloadpkgsrc-73dd1ce071f68dc82d80babe66ac9ec9e849eaa5.tar.gz
Update py-flask to 0.11.
Version 0.11 ------------ Released on May 29th 2016, codename Absinthe. - Added support to serializing top-level arrays to :func:`flask.jsonify`. This introduces a security risk in ancient browsers. See :ref:`json-security` for details. - Added before_render_template signal. - Added `**kwargs` to :meth:`flask.Test.test_client` to support passing additional keyword arguments to the constructor of :attr:`flask.Flask.test_client_class`. - Added ``SESSION_REFRESH_EACH_REQUEST`` config key that controls the set-cookie behavior. If set to ``True`` a permanent session will be refreshed each request and get their lifetime extended, if set to ``False`` it will only be modified if the session actually modifies. Non permanent sessions are not affected by this and will always expire if the browser window closes. - Made Flask support custom JSON mimetypes for incoming data. - Added support for returning tuples in the form ``(response, headers)`` from a view function. - Added :meth:`flask.Config.from_json`. - Added :attr:`flask.Flask.config_class`. - Added :meth:`flask.config.Config.get_namespace`. - Templates are no longer automatically reloaded outside of debug mode. This can be configured with the new ``TEMPLATES_AUTO_RELOAD`` config key. - Added a workaround for a limitation in Python 3.3's namespace loader. - Added support for explicit root paths when using Python 3.3's namespace packages. - Added :command:`flask` and the ``flask.cli`` module to start the local debug server through the click CLI system. This is recommended over the old ``flask.run()`` method as it works faster and more reliable due to a different design and also replaces ``Flask-Script``. - Error handlers that match specific classes are now checked first, thereby allowing catching exceptions that are subclasses of HTTP exceptions (in ``werkzeug.exceptions``). This makes it possible for an extension author to create exceptions that will by default result in the HTTP error of their choosing, but may be caught with a custom error handler if desired. - Added :meth:`flask.Config.from_mapping`. - Flask will now log by default even if debug is disabled. The log format is now hardcoded but the default log handling can be disabled through the ``LOGGER_HANDLER_POLICY`` configuration key. - Removed deprecated module functionality. - Added the ``EXPLAIN_TEMPLATE_LOADING`` config flag which when enabled will instruct Flask to explain how it locates templates. This should help users debug when the wrong templates are loaded. - Enforce blueprint handling in the order they were registered for template loading. - Ported test suite to py.test. - Deprecated ``request.json`` in favour of ``request.get_json()``. - Add "pretty" and "compressed" separators definitions in jsonify() method. Reduces JSON response size when JSONIFY_PRETTYPRINT_REGULAR=False by removing unnecessary white space included by default after separators. - JSON responses are now terminated with a newline character, because it is a convention that UNIX text files end with a newline and some clients don't deal well when this newline is missing. See https://github.com/pallets/flask/pull/1262 -- this came up originally as a part of https://github.com/kennethreitz/httpbin/issues/168 - The automatically provided ``OPTIONS`` method is now correctly disabled if the user registered an overriding rule with the lowercase-version ``options`` (issue ``#1288``). - ``flask.json.jsonify`` now supports the ``datetime.date`` type (pull request ``#1326``). - Don't leak exception info of already catched exceptions to context teardown handlers (pull request ``#1393``). - Allow custom Jinja environment subclasses (pull request ``#1422``). - ``flask.g`` now has ``pop()`` and ``setdefault`` methods. - Turn on autoescape for ``flask.templating.render_template_string`` by default (pull request ``#1515``). - ``flask.ext`` is now deprecated (pull request ``#1484``). - ``send_from_directory`` now raises BadRequest if the filename is invalid on the server OS (pull request ``#1763``). - Added the ``JSONIFY_MIMETYPE`` configuration variable (pull request ``#1728``). - Exceptions during teardown handling will no longer leave bad application contexts lingering around.
-rw-r--r--www/py-flask/ALTERNATIVES1
-rw-r--r--www/py-flask/Makefile15
-rw-r--r--www/py-flask/PLIST155
-rw-r--r--www/py-flask/distinfo11
-rw-r--r--www/py-flask/patches/patch-setup.py23
5 files changed, 51 insertions, 154 deletions
diff --git a/www/py-flask/ALTERNATIVES b/www/py-flask/ALTERNATIVES
new file mode 100644
index 00000000000..be5f8d1535b
--- /dev/null
+++ b/www/py-flask/ALTERNATIVES
@@ -0,0 +1 @@
+bin/flask @PREFIX@/bin/flask@PYVERSSUFFIX@
diff --git a/www/py-flask/Makefile b/www/py-flask/Makefile
index 0aeb97763a4..d84decc32bf 100644
--- a/www/py-flask/Makefile
+++ b/www/py-flask/Makefile
@@ -1,9 +1,9 @@
-# $NetBSD: Makefile,v 1.7 2014/01/25 10:30:28 wiz Exp $
+# $NetBSD: Makefile,v 1.8 2016/06/01 21:05:46 kleink Exp $
-DISTNAME= Flask-0.10.1
+DISTNAME= Flask-0.11
PKGNAME= ${PYPKGPREFIX}-${DISTNAME:tl}
CATEGORIES= www python
-MASTER_SITES= http://pypi.python.org/packages/source/F/Flask/
+MASTER_SITES= ${MASTER_SITE_PYPI:=F/Flask/}
MAINTAINER= kleink@NetBSD.org
HOMEPAGE= http://flask.pocoo.org/
@@ -12,9 +12,18 @@ LICENSE= modified-bsd
USE_LANGUAGES= # empty
+PLIST_SUBST+= PYVERSSUFFIX=${PYVERSSUFFIX:Q}
+
+DEPENDS+= ${PYPKGPREFIX}-click>=2.0:../../devel/py-click
DEPENDS+= ${PYPKGPREFIX}-itsdangerous-[0-9]*:../../security/py-itsdangerous
DEPENDS+= ${PYPKGPREFIX}-jinja2-[0-9]*:../../textproc/py-jinja2
DEPENDS+= ${PYPKGPREFIX}-werkzeug-[0-9]*:../../www/py-werkzeug
+# actually TEST_DEPENDS
+BUILD_DEPENDS+= ${PYPKGPREFIX}-test-[0-9]*:../../devel/py-test
+
+do-test:
+ cd ${WRKSRC} && py.test-${PYVERSSUFFIX}
+
.include "../../lang/python/egg.mk"
.include "../../mk/bsd.pkg.mk"
diff --git a/www/py-flask/PLIST b/www/py-flask/PLIST
index 0af253c7911..64acf8899da 100644
--- a/www/py-flask/PLIST
+++ b/www/py-flask/PLIST
@@ -1,13 +1,18 @@
-@comment $NetBSD: PLIST,v 1.3 2013/07/09 17:24:46 kleink Exp $
+@comment $NetBSD: PLIST,v 1.4 2016/06/01 21:05:46 kleink Exp $
+bin/flask${PYVERSSUFFIX}
${PYSITELIB}/${EGG_INFODIR}/PKG-INFO
${PYSITELIB}/${EGG_INFODIR}/SOURCES.txt
${PYSITELIB}/${EGG_INFODIR}/dependency_links.txt
+${PYSITELIB}/${EGG_INFODIR}/entry_points.txt
${PYSITELIB}/${EGG_INFODIR}/not-zip-safe
${PYSITELIB}/${EGG_INFODIR}/requires.txt
${PYSITELIB}/${EGG_INFODIR}/top_level.txt
${PYSITELIB}/flask/__init__.py
${PYSITELIB}/flask/__init__.pyc
${PYSITELIB}/flask/__init__.pyo
+${PYSITELIB}/flask/__main__.py
+${PYSITELIB}/flask/__main__.pyc
+${PYSITELIB}/flask/__main__.pyo
${PYSITELIB}/flask/_compat.py
${PYSITELIB}/flask/_compat.pyc
${PYSITELIB}/flask/_compat.pyo
@@ -17,6 +22,9 @@ ${PYSITELIB}/flask/app.pyo
${PYSITELIB}/flask/blueprints.py
${PYSITELIB}/flask/blueprints.pyc
${PYSITELIB}/flask/blueprints.pyo
+${PYSITELIB}/flask/cli.py
+${PYSITELIB}/flask/cli.pyc
+${PYSITELIB}/flask/cli.pyo
${PYSITELIB}/flask/config.py
${PYSITELIB}/flask/config.pyc
${PYSITELIB}/flask/config.pyo
@@ -44,9 +52,6 @@ ${PYSITELIB}/flask/json.pyo
${PYSITELIB}/flask/logging.py
${PYSITELIB}/flask/logging.pyc
${PYSITELIB}/flask/logging.pyo
-${PYSITELIB}/flask/module.py
-${PYSITELIB}/flask/module.pyc
-${PYSITELIB}/flask/module.pyo
${PYSITELIB}/flask/sessions.py
${PYSITELIB}/flask/sessions.pyc
${PYSITELIB}/flask/sessions.pyo
@@ -59,148 +64,6 @@ ${PYSITELIB}/flask/templating.pyo
${PYSITELIB}/flask/testing.py
${PYSITELIB}/flask/testing.pyc
${PYSITELIB}/flask/testing.pyo
-${PYSITELIB}/flask/testsuite/__init__.py
-${PYSITELIB}/flask/testsuite/__init__.pyc
-${PYSITELIB}/flask/testsuite/__init__.pyo
-${PYSITELIB}/flask/testsuite/appctx.py
-${PYSITELIB}/flask/testsuite/appctx.pyc
-${PYSITELIB}/flask/testsuite/appctx.pyo
-${PYSITELIB}/flask/testsuite/basic.py
-${PYSITELIB}/flask/testsuite/basic.pyc
-${PYSITELIB}/flask/testsuite/basic.pyo
-${PYSITELIB}/flask/testsuite/blueprints.py
-${PYSITELIB}/flask/testsuite/blueprints.pyc
-${PYSITELIB}/flask/testsuite/blueprints.pyo
-${PYSITELIB}/flask/testsuite/config.py
-${PYSITELIB}/flask/testsuite/config.pyc
-${PYSITELIB}/flask/testsuite/config.pyo
-${PYSITELIB}/flask/testsuite/deprecations.py
-${PYSITELIB}/flask/testsuite/deprecations.pyc
-${PYSITELIB}/flask/testsuite/deprecations.pyo
-${PYSITELIB}/flask/testsuite/examples.py
-${PYSITELIB}/flask/testsuite/examples.pyc
-${PYSITELIB}/flask/testsuite/examples.pyo
-${PYSITELIB}/flask/testsuite/ext.py
-${PYSITELIB}/flask/testsuite/ext.pyc
-${PYSITELIB}/flask/testsuite/ext.pyo
-${PYSITELIB}/flask/testsuite/helpers.py
-${PYSITELIB}/flask/testsuite/helpers.pyc
-${PYSITELIB}/flask/testsuite/helpers.pyo
-${PYSITELIB}/flask/testsuite/regression.py
-${PYSITELIB}/flask/testsuite/regression.pyc
-${PYSITELIB}/flask/testsuite/regression.pyo
-${PYSITELIB}/flask/testsuite/reqctx.py
-${PYSITELIB}/flask/testsuite/reqctx.pyc
-${PYSITELIB}/flask/testsuite/reqctx.pyo
-${PYSITELIB}/flask/testsuite/signals.py
-${PYSITELIB}/flask/testsuite/signals.pyc
-${PYSITELIB}/flask/testsuite/signals.pyo
-${PYSITELIB}/flask/testsuite/static/index.html
-${PYSITELIB}/flask/testsuite/subclassing.py
-${PYSITELIB}/flask/testsuite/subclassing.pyc
-${PYSITELIB}/flask/testsuite/subclassing.pyo
-${PYSITELIB}/flask/testsuite/templates/_macro.html
-${PYSITELIB}/flask/testsuite/templates/context_template.html
-${PYSITELIB}/flask/testsuite/templates/escaping_template.html
-${PYSITELIB}/flask/testsuite/templates/mail.txt
-${PYSITELIB}/flask/testsuite/templates/nested/nested.txt
-${PYSITELIB}/flask/testsuite/templates/simple_template.html
-${PYSITELIB}/flask/testsuite/templates/template_filter.html
-${PYSITELIB}/flask/testsuite/templates/template_test.html
-${PYSITELIB}/flask/testsuite/templating.py
-${PYSITELIB}/flask/testsuite/templating.pyc
-${PYSITELIB}/flask/testsuite/templating.pyo
-${PYSITELIB}/flask/testsuite/test_apps/blueprintapp/__init__.py
-${PYSITELIB}/flask/testsuite/test_apps/blueprintapp/__init__.pyc
-${PYSITELIB}/flask/testsuite/test_apps/blueprintapp/__init__.pyo
-${PYSITELIB}/flask/testsuite/test_apps/blueprintapp/apps/__init__.py
-${PYSITELIB}/flask/testsuite/test_apps/blueprintapp/apps/__init__.pyc
-${PYSITELIB}/flask/testsuite/test_apps/blueprintapp/apps/__init__.pyo
-${PYSITELIB}/flask/testsuite/test_apps/blueprintapp/apps/admin/__init__.py
-${PYSITELIB}/flask/testsuite/test_apps/blueprintapp/apps/admin/__init__.pyc
-${PYSITELIB}/flask/testsuite/test_apps/blueprintapp/apps/admin/__init__.pyo
-${PYSITELIB}/flask/testsuite/test_apps/blueprintapp/apps/admin/static/css/test.css
-${PYSITELIB}/flask/testsuite/test_apps/blueprintapp/apps/admin/static/test.txt
-${PYSITELIB}/flask/testsuite/test_apps/blueprintapp/apps/admin/templates/admin/index.html
-${PYSITELIB}/flask/testsuite/test_apps/blueprintapp/apps/frontend/__init__.py
-${PYSITELIB}/flask/testsuite/test_apps/blueprintapp/apps/frontend/__init__.pyc
-${PYSITELIB}/flask/testsuite/test_apps/blueprintapp/apps/frontend/__init__.pyo
-${PYSITELIB}/flask/testsuite/test_apps/blueprintapp/apps/frontend/templates/frontend/index.html
-${PYSITELIB}/flask/testsuite/test_apps/config_module_app.py
-${PYSITELIB}/flask/testsuite/test_apps/config_module_app.pyc
-${PYSITELIB}/flask/testsuite/test_apps/config_module_app.pyo
-${PYSITELIB}/flask/testsuite/test_apps/config_package_app/__init__.py
-${PYSITELIB}/flask/testsuite/test_apps/config_package_app/__init__.pyc
-${PYSITELIB}/flask/testsuite/test_apps/config_package_app/__init__.pyo
-${PYSITELIB}/flask/testsuite/test_apps/flask_broken/__init__.py
-${PYSITELIB}/flask/testsuite/test_apps/flask_broken/__init__.pyc
-${PYSITELIB}/flask/testsuite/test_apps/flask_broken/__init__.pyo
-${PYSITELIB}/flask/testsuite/test_apps/flask_broken/b.py
-${PYSITELIB}/flask/testsuite/test_apps/flask_broken/b.pyc
-${PYSITELIB}/flask/testsuite/test_apps/flask_broken/b.pyo
-${PYSITELIB}/flask/testsuite/test_apps/flask_newext_package/__init__.py
-${PYSITELIB}/flask/testsuite/test_apps/flask_newext_package/__init__.pyc
-${PYSITELIB}/flask/testsuite/test_apps/flask_newext_package/__init__.pyo
-${PYSITELIB}/flask/testsuite/test_apps/flask_newext_package/submodule.py
-${PYSITELIB}/flask/testsuite/test_apps/flask_newext_package/submodule.pyc
-${PYSITELIB}/flask/testsuite/test_apps/flask_newext_package/submodule.pyo
-${PYSITELIB}/flask/testsuite/test_apps/flask_newext_simple.py
-${PYSITELIB}/flask/testsuite/test_apps/flask_newext_simple.pyc
-${PYSITELIB}/flask/testsuite/test_apps/flask_newext_simple.pyo
-${PYSITELIB}/flask/testsuite/test_apps/flaskext/__init__.py
-${PYSITELIB}/flask/testsuite/test_apps/flaskext/__init__.pyc
-${PYSITELIB}/flask/testsuite/test_apps/flaskext/__init__.pyo
-${PYSITELIB}/flask/testsuite/test_apps/flaskext/oldext_package/__init__.py
-${PYSITELIB}/flask/testsuite/test_apps/flaskext/oldext_package/__init__.pyc
-${PYSITELIB}/flask/testsuite/test_apps/flaskext/oldext_package/__init__.pyo
-${PYSITELIB}/flask/testsuite/test_apps/flaskext/oldext_package/submodule.py
-${PYSITELIB}/flask/testsuite/test_apps/flaskext/oldext_package/submodule.pyc
-${PYSITELIB}/flask/testsuite/test_apps/flaskext/oldext_package/submodule.pyo
-${PYSITELIB}/flask/testsuite/test_apps/flaskext/oldext_simple.py
-${PYSITELIB}/flask/testsuite/test_apps/flaskext/oldext_simple.pyc
-${PYSITELIB}/flask/testsuite/test_apps/flaskext/oldext_simple.pyo
-${PYSITELIB}/flask/testsuite/test_apps/importerror.py
-${PYSITELIB}/flask/testsuite/test_apps/importerror.pyc
-${PYSITELIB}/flask/testsuite/test_apps/importerror.pyo
-${PYSITELIB}/flask/testsuite/test_apps/lib/python2.5/site-packages/SiteEgg.egg
-${PYSITELIB}/flask/testsuite/test_apps/lib/python2.5/site-packages/site_app.py
-${PYSITELIB}/flask/testsuite/test_apps/lib/python2.5/site-packages/site_app.pyc
-${PYSITELIB}/flask/testsuite/test_apps/lib/python2.5/site-packages/site_app.pyo
-${PYSITELIB}/flask/testsuite/test_apps/lib/python2.5/site-packages/site_package/__init__.py
-${PYSITELIB}/flask/testsuite/test_apps/lib/python2.5/site-packages/site_package/__init__.pyc
-${PYSITELIB}/flask/testsuite/test_apps/lib/python2.5/site-packages/site_package/__init__.pyo
-${PYSITELIB}/flask/testsuite/test_apps/main_app.py
-${PYSITELIB}/flask/testsuite/test_apps/main_app.pyc
-${PYSITELIB}/flask/testsuite/test_apps/main_app.pyo
-${PYSITELIB}/flask/testsuite/test_apps/moduleapp/__init__.py
-${PYSITELIB}/flask/testsuite/test_apps/moduleapp/__init__.pyc
-${PYSITELIB}/flask/testsuite/test_apps/moduleapp/__init__.pyo
-${PYSITELIB}/flask/testsuite/test_apps/moduleapp/apps/__init__.py
-${PYSITELIB}/flask/testsuite/test_apps/moduleapp/apps/__init__.pyc
-${PYSITELIB}/flask/testsuite/test_apps/moduleapp/apps/__init__.pyo
-${PYSITELIB}/flask/testsuite/test_apps/moduleapp/apps/admin/__init__.py
-${PYSITELIB}/flask/testsuite/test_apps/moduleapp/apps/admin/__init__.pyc
-${PYSITELIB}/flask/testsuite/test_apps/moduleapp/apps/admin/__init__.pyo
-${PYSITELIB}/flask/testsuite/test_apps/moduleapp/apps/admin/static/css/test.css
-${PYSITELIB}/flask/testsuite/test_apps/moduleapp/apps/admin/static/test.txt
-${PYSITELIB}/flask/testsuite/test_apps/moduleapp/apps/admin/templates/index.html
-${PYSITELIB}/flask/testsuite/test_apps/moduleapp/apps/frontend/__init__.py
-${PYSITELIB}/flask/testsuite/test_apps/moduleapp/apps/frontend/__init__.pyc
-${PYSITELIB}/flask/testsuite/test_apps/moduleapp/apps/frontend/__init__.pyo
-${PYSITELIB}/flask/testsuite/test_apps/moduleapp/apps/frontend/templates/index.html
-${PYSITELIB}/flask/testsuite/test_apps/path/installed_package/__init__.py
-${PYSITELIB}/flask/testsuite/test_apps/path/installed_package/__init__.pyc
-${PYSITELIB}/flask/testsuite/test_apps/path/installed_package/__init__.pyo
-${PYSITELIB}/flask/testsuite/test_apps/subdomaintestmodule/__init__.py
-${PYSITELIB}/flask/testsuite/test_apps/subdomaintestmodule/__init__.pyc
-${PYSITELIB}/flask/testsuite/test_apps/subdomaintestmodule/__init__.pyo
-${PYSITELIB}/flask/testsuite/test_apps/subdomaintestmodule/static/hello.txt
-${PYSITELIB}/flask/testsuite/testing.py
-${PYSITELIB}/flask/testsuite/testing.pyc
-${PYSITELIB}/flask/testsuite/testing.pyo
-${PYSITELIB}/flask/testsuite/views.py
-${PYSITELIB}/flask/testsuite/views.pyc
-${PYSITELIB}/flask/testsuite/views.pyo
${PYSITELIB}/flask/views.py
${PYSITELIB}/flask/views.pyc
${PYSITELIB}/flask/views.pyo
diff --git a/www/py-flask/distinfo b/www/py-flask/distinfo
index e3b0474bd5d..da2c884f5d3 100644
--- a/www/py-flask/distinfo
+++ b/www/py-flask/distinfo
@@ -1,6 +1,7 @@
-$NetBSD: distinfo,v 1.3 2015/11/04 02:47:27 agc Exp $
+$NetBSD: distinfo,v 1.4 2016/06/01 21:05:46 kleink Exp $
-SHA1 (Flask-0.10.1.tar.gz) = d3d078262b053f4438e2ed3fd6f9b923c2c92172
-RMD160 (Flask-0.10.1.tar.gz) = 8f06ed2da14ed2dfbad7a38026a32f1117fb7600
-SHA512 (Flask-0.10.1.tar.gz) = 0008d62d03a46b071c7d0510513d011a9bfd2b77df7f677371a446ca9805d16b1ee5e17dd8dd7cde6443a629370234e44735e20381de20a7da385969797f053f
-Size (Flask-0.10.1.tar.gz) = 544247 bytes
+SHA1 (Flask-0.11.tar.gz) = 9a080ae1544583193ddc8c98787107c55ab89b34
+RMD160 (Flask-0.11.tar.gz) = 3a5c9c8835d57da552b7f0b6cfee2f58b0f7590b
+SHA512 (Flask-0.11.tar.gz) = 77ee9998c96ba5e4eb007b81e04a051a6f8fc3ac837496a8c9e6637fdbff3e6fbba4912919b1cb2c5ed72951cc9fb8eb28d699e3f15de14ecbb51c362111eafc
+Size (Flask-0.11.tar.gz) = 563928 bytes
+SHA1 (patch-setup.py) = f8eb610f7e620355862d0d8edb818636f7e6d3c3
diff --git a/www/py-flask/patches/patch-setup.py b/www/py-flask/patches/patch-setup.py
new file mode 100644
index 00000000000..5912ddf9169
--- /dev/null
+++ b/www/py-flask/patches/patch-setup.py
@@ -0,0 +1,23 @@
+$NetBSD: patch-setup.py,v 1.1 2016/06/01 21:05:46 kleink Exp $
+
+Adjust script path to allow multiple Python version installs.
+
+--- setup.py.orig 2016-05-22 08:33:12.000000000 +0000
++++ setup.py
+@@ -43,6 +43,7 @@ Links
+
+ """
+ import re
++import sys
+ import ast
+ from setuptools import setup
+
+@@ -93,6 +94,6 @@ setup(
+ ],
+ entry_points='''
+ [console_scripts]
+- flask=flask.cli:main
+- '''
++ flask%s=flask.cli:main
++ ''' % sys.version[0:3]
+ )