aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJose Alonso Cardenas Marquez <acm@FreeBSD.org>2024-02-22 22:42:53 +0000
committerJose Alonso Cardenas Marquez <acm@FreeBSD.org>2024-02-22 22:42:53 +0000
commit4472d02b2c44d5bab34ebcd3649e394cbc49c1e1 (patch)
treede59b5a43c912fdcfd0983d230eaf092bdf013f3
parent72be9abe968edb6febe4d78b14f9dbefca5c43e7 (diff)
downloadports-4472d02b2c44d5bab34ebcd3649e394cbc49c1e1.tar.gz
ports-4472d02b2c44d5bab34ebcd3649e394cbc49c1e1.zip
www/py-werkzeug2: Python utilities collection for building WSGI applications (2.x)
A Python utilities collection for building WSGI applications. Werkzeug does not try to be a framework, and instead started as a simple collection of various utilities useful for building WSGI applications. It has since become one of the most advanced collections of its kind. It includes a powerful debugger, fully featured request and response objects, HTTP utilities to handle entity tags, cache control headers, HTTP dates, cookie handling, file uploads, a powerful URL routing system and a bunch of community contributed add-on modules.
-rw-r--r--www/Makefile1
-rw-r--r--www/py-werkzeug2/Makefile38
-rw-r--r--www/py-werkzeug2/distinfo3
-rw-r--r--www/py-werkzeug2/files/patch-pyproject.toml9
-rw-r--r--www/py-werkzeug2/pkg-descr10
-rw-r--r--www/py-werkzeug2/pkg-plist178
6 files changed, 239 insertions, 0 deletions
diff --git a/www/Makefile b/www/Makefile
index ed0c2e05ea1a..c73871845fff 100644
--- a/www/Makefile
+++ b/www/Makefile
@@ -1875,6 +1875,7 @@
SUBDIR += py-webtest
SUBDIR += py-webunit
SUBDIR += py-werkzeug
+ SUBDIR += py-werkzeug2
SUBDIR += py-wfuzz
SUBDIR += py-whitenoise
SUBDIR += py-wikipedia
diff --git a/www/py-werkzeug2/Makefile b/www/py-werkzeug2/Makefile
new file mode 100644
index 000000000000..8b9aa46e8f69
--- /dev/null
+++ b/www/py-werkzeug2/Makefile
@@ -0,0 +1,38 @@
+PORTNAME= werkzeug
+PORTVERSION= 2.3.8
+CATEGORIES= www python
+MASTER_SITES= PYPI \
+ https://github.com/pallets/werkzeug/releases/download/${PORTVERSION}/
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+PKGNAMESUFFIX= 2
+
+MAINTAINER= acm@FreeBSD.org
+COMMENT= Python utilities collection for building WSGI applications (2.x)
+WWW= https://palletsprojects.com/p/werkzeug/ \
+ https://github.com/pallets/werkzeug
+
+CONFLICTS= ${PYTHON_PKGNAMEPREFIX}werkzeug
+
+LICENSE= BSD3CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE.rst
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}flit-core>=0<4:devel/py-flit-core@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}markupsafe>=2.1.1:textproc/py-markupsafe@${PY_FLAVOR}
+
+USES= cpe python
+USE_PYTHON= concurrent pep517
+
+NO_ARCH= yes
+
+CPE_VENDOR= palletsprojects
+
+OPTIONS_DEFINE= EXAMPLES WATCHDOG
+WATCHDOG_DESC= Monitor filesystem events
+
+WATCHDOG_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}watchdog>=2.3:devel/py-watchdog@${PY_FLAVOR}
+
+post-install-EXAMPLES-on:
+ ${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
+ cd ${WRKSRC}/examples/ && ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR}
+
+.include <bsd.port.mk>
diff --git a/www/py-werkzeug2/distinfo b/www/py-werkzeug2/distinfo
new file mode 100644
index 000000000000..81195e482317
--- /dev/null
+++ b/www/py-werkzeug2/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1708634505
+SHA256 (werkzeug-2.3.8.tar.gz) = 554b257c74bbeb7a0d254160a4f8ffe185243f52a52035060b761ca62d977f03
+SIZE (werkzeug-2.3.8.tar.gz) = 819747
diff --git a/www/py-werkzeug2/files/patch-pyproject.toml b/www/py-werkzeug2/files/patch-pyproject.toml
new file mode 100644
index 000000000000..daceed5d440e
--- /dev/null
+++ b/www/py-werkzeug2/files/patch-pyproject.toml
@@ -0,0 +1,9 @@
+--- pyproject.toml.orig 2024-02-22 20:44:10 UTC
++++ pyproject.toml
+@@ -1,5 +1,5 @@
+ [project]
+-name = "Werkzeug"
++name = "werkzeug"
+ description = "The comprehensive WSGI web application library."
+ readme = "README.rst"
+ license = {file = "LICENSE.rst"}
diff --git a/www/py-werkzeug2/pkg-descr b/www/py-werkzeug2/pkg-descr
new file mode 100644
index 000000000000..0a2b7bfb5b9d
--- /dev/null
+++ b/www/py-werkzeug2/pkg-descr
@@ -0,0 +1,10 @@
+A Python utilities collection for building WSGI applications.
+
+Werkzeug does not try to be a framework, and instead started as a simple
+collection of various utilities useful for building WSGI applications.
+It has since become one of the most advanced collections of its kind.
+
+It includes a powerful debugger, fully featured request and response
+objects, HTTP utilities to handle entity tags, cache control headers,
+HTTP dates, cookie handling, file uploads, a powerful URL routing
+system and a bunch of community contributed add-on modules.
diff --git a/www/py-werkzeug2/pkg-plist b/www/py-werkzeug2/pkg-plist
new file mode 100644
index 000000000000..449ff2b87190
--- /dev/null
+++ b/www/py-werkzeug2/pkg-plist
@@ -0,0 +1,178 @@
+%%PYTHON_SITELIBDIR%%/werkzeug/__init__.py
+%%PYTHON_SITELIBDIR%%/werkzeug/_internal.py
+%%PYTHON_SITELIBDIR%%/werkzeug/_reloader.py
+%%PYTHON_SITELIBDIR%%/werkzeug/datastructures/__init__.py
+%%PYTHON_SITELIBDIR%%/werkzeug/datastructures/accept.py
+%%PYTHON_SITELIBDIR%%/werkzeug/datastructures/accept.pyi
+%%PYTHON_SITELIBDIR%%/werkzeug/datastructures/auth.py
+%%PYTHON_SITELIBDIR%%/werkzeug/datastructures/cache_control.py
+%%PYTHON_SITELIBDIR%%/werkzeug/datastructures/cache_control.pyi
+%%PYTHON_SITELIBDIR%%/werkzeug/datastructures/csp.py
+%%PYTHON_SITELIBDIR%%/werkzeug/datastructures/csp.pyi
+%%PYTHON_SITELIBDIR%%/werkzeug/datastructures/etag.py
+%%PYTHON_SITELIBDIR%%/werkzeug/datastructures/etag.pyi
+%%PYTHON_SITELIBDIR%%/werkzeug/datastructures/file_storage.py
+%%PYTHON_SITELIBDIR%%/werkzeug/datastructures/file_storage.pyi
+%%PYTHON_SITELIBDIR%%/werkzeug/datastructures/headers.py
+%%PYTHON_SITELIBDIR%%/werkzeug/datastructures/headers.pyi
+%%PYTHON_SITELIBDIR%%/werkzeug/datastructures/mixins.py
+%%PYTHON_SITELIBDIR%%/werkzeug/datastructures/mixins.pyi
+%%PYTHON_SITELIBDIR%%/werkzeug/datastructures/range.py
+%%PYTHON_SITELIBDIR%%/werkzeug/datastructures/range.pyi
+%%PYTHON_SITELIBDIR%%/werkzeug/datastructures/structures.py
+%%PYTHON_SITELIBDIR%%/werkzeug/datastructures/structures.pyi
+%%PYTHON_SITELIBDIR%%/werkzeug/debug/__init__.py
+%%PYTHON_SITELIBDIR%%/werkzeug/debug/console.py
+%%PYTHON_SITELIBDIR%%/werkzeug/debug/repr.py
+%%PYTHON_SITELIBDIR%%/werkzeug/debug/shared/ICON_LICENSE.md
+%%PYTHON_SITELIBDIR%%/werkzeug/debug/shared/console.png
+%%PYTHON_SITELIBDIR%%/werkzeug/debug/shared/debugger.js
+%%PYTHON_SITELIBDIR%%/werkzeug/debug/shared/less.png
+%%PYTHON_SITELIBDIR%%/werkzeug/debug/shared/more.png
+%%PYTHON_SITELIBDIR%%/werkzeug/debug/shared/style.css
+%%PYTHON_SITELIBDIR%%/werkzeug/debug/tbtools.py
+%%PYTHON_SITELIBDIR%%/werkzeug/exceptions.py
+%%PYTHON_SITELIBDIR%%/werkzeug/formparser.py
+%%PYTHON_SITELIBDIR%%/werkzeug/http.py
+%%PYTHON_SITELIBDIR%%/werkzeug/local.py
+%%PYTHON_SITELIBDIR%%/werkzeug/middleware/__init__.py
+%%PYTHON_SITELIBDIR%%/werkzeug/middleware/dispatcher.py
+%%PYTHON_SITELIBDIR%%/werkzeug/middleware/http_proxy.py
+%%PYTHON_SITELIBDIR%%/werkzeug/middleware/lint.py
+%%PYTHON_SITELIBDIR%%/werkzeug/middleware/profiler.py
+%%PYTHON_SITELIBDIR%%/werkzeug/middleware/proxy_fix.py
+%%PYTHON_SITELIBDIR%%/werkzeug/middleware/shared_data.py
+%%PYTHON_SITELIBDIR%%/werkzeug/py.typed
+%%PYTHON_SITELIBDIR%%/werkzeug/routing/__init__.py
+%%PYTHON_SITELIBDIR%%/werkzeug/routing/converters.py
+%%PYTHON_SITELIBDIR%%/werkzeug/routing/exceptions.py
+%%PYTHON_SITELIBDIR%%/werkzeug/routing/map.py
+%%PYTHON_SITELIBDIR%%/werkzeug/routing/matcher.py
+%%PYTHON_SITELIBDIR%%/werkzeug/routing/rules.py
+%%PYTHON_SITELIBDIR%%/werkzeug/sansio/__init__.py
+%%PYTHON_SITELIBDIR%%/werkzeug/sansio/http.py
+%%PYTHON_SITELIBDIR%%/werkzeug/sansio/multipart.py
+%%PYTHON_SITELIBDIR%%/werkzeug/sansio/request.py
+%%PYTHON_SITELIBDIR%%/werkzeug/sansio/response.py
+%%PYTHON_SITELIBDIR%%/werkzeug/sansio/utils.py
+%%PYTHON_SITELIBDIR%%/werkzeug/security.py
+%%PYTHON_SITELIBDIR%%/werkzeug/serving.py
+%%PYTHON_SITELIBDIR%%/werkzeug/test.py
+%%PYTHON_SITELIBDIR%%/werkzeug/testapp.py
+%%PYTHON_SITELIBDIR%%/werkzeug/urls.py
+%%PYTHON_SITELIBDIR%%/werkzeug/user_agent.py
+%%PYTHON_SITELIBDIR%%/werkzeug/utils.py
+%%PYTHON_SITELIBDIR%%/werkzeug/wrappers/__init__.py
+%%PYTHON_SITELIBDIR%%/werkzeug/wrappers/request.py
+%%PYTHON_SITELIBDIR%%/werkzeug/wrappers/response.py
+%%PYTHON_SITELIBDIR%%/werkzeug/wsgi.py
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/README.rst
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/coolmagic/__init__.py
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/coolmagic/application.py
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/coolmagic/helpers.py
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/coolmagic/public/style.css
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/coolmagic/templates/layout.html
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/coolmagic/templates/static/about.html
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/coolmagic/templates/static/index.html
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/coolmagic/templates/static/not_found.html
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/coolmagic/utils.py
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/coolmagic/views/__init__.py
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/coolmagic/views/static.py
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/couchy/README
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/couchy/__init__.py
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/couchy/application.py
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/couchy/models.py
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/couchy/static/style.css
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/couchy/templates/display.html
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/couchy/templates/layout.html
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/couchy/templates/list.html
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/couchy/templates/new.html
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/couchy/templates/not_found.html
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/couchy/utils.py
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/couchy/views.py
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/cupoftee/__init__.py
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/cupoftee/application.py
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/cupoftee/db.py
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/cupoftee/network.py
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/cupoftee/pages.py
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/cupoftee/shared/content.png
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/cupoftee/shared/down.png
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/cupoftee/shared/favicon.ico
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/cupoftee/shared/header.png
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/cupoftee/shared/logo.png
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/cupoftee/shared/style.css
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/cupoftee/shared/up.png
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/cupoftee/templates/layout.html
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/cupoftee/templates/missingpage.html
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/cupoftee/templates/search.html
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/cupoftee/templates/server.html
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/cupoftee/templates/serverlist.html
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/cupoftee/utils.py
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/httpbasicauth.py
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/i18nurls/__init__.py
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/i18nurls/application.py
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/i18nurls/templates/about.html
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/i18nurls/templates/blog.html
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/i18nurls/templates/index.html
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/i18nurls/templates/layout.html
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/i18nurls/urls.py
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/i18nurls/views.py
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/manage-coolmagic.py
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/manage-couchy.py
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/manage-cupoftee.py
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/manage-i18nurls.py
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/manage-plnt.py
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/manage-shorty.py
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/manage-simplewiki.py
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/manage-webpylike.py
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/partial/README
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/partial/complex_routing.py
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/plnt/__init__.py
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/plnt/database.py
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/plnt/shared/style.css
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/plnt/sync.py
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/plnt/templates/about.html
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/plnt/templates/index.html
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/plnt/templates/layout.html
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/plnt/utils.py
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/plnt/views.py
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/plnt/webapp.py
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/shortly/shortly.py
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/shortly/static/style.css
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/shortly/templates/404.html
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/shortly/templates/layout.html
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/shortly/templates/new_url.html
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/shortly/templates/short_link_details.html
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/shorty/__init__.py
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/shorty/application.py
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/shorty/models.py
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/shorty/static/style.css
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/shorty/templates/display.html
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/shorty/templates/layout.html
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/shorty/templates/list.html
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/shorty/templates/new.html
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/shorty/templates/not_found.html
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/shorty/utils.py
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/shorty/views.py
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/simplewiki/__init__.py
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/simplewiki/actions.py
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/simplewiki/application.py
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/simplewiki/database.py
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/simplewiki/shared/style.css
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/simplewiki/specialpages.py
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/simplewiki/templates/action_diff.html
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/simplewiki/templates/action_edit.html
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/simplewiki/templates/action_log.html
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/simplewiki/templates/action_revert.html
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/simplewiki/templates/action_show.html
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/simplewiki/templates/layout.html
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/simplewiki/templates/macros.xml
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/simplewiki/templates/missing_action.html
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/simplewiki/templates/page_index.html
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/simplewiki/templates/page_missing.html
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/simplewiki/templates/recent_changes.html
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/simplewiki/utils.py
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/upload.py
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/webpylike/example.py
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/webpylike/webpylike.py
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/wsecho.py