summaryrefslogtreecommitdiff
path: root/www
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--www/Makefile25
-rw-r--r--www/authelia/Makefile5
-rw-r--r--www/authelia/distinfo14
-rw-r--r--www/drupal10/Makefile2
-rw-r--r--www/drupal10/distinfo6
-rw-r--r--www/drupal10/pkg-plist215
-rw-r--r--www/filebrowser/Makefile5
-rw-r--r--www/filebrowser/distinfo14
-rw-r--r--www/forgejo/Makefile7
-rw-r--r--www/forgejo/distinfo6
-rw-r--r--www/forgejo/files/app.ini.sample.in5
-rw-r--r--www/forgejo/files/forgejo.in3
-rw-r--r--www/forgejo/files/patch-pam115
-rw-r--r--www/gitea/Makefile14
-rw-r--r--www/gitea/distinfo6
-rw-r--r--www/gitea/pkg-plist1
-rw-r--r--www/gohugo/Makefile2
-rw-r--r--www/gohugo/distinfo10
-rw-r--r--www/kanboard/Makefile2
-rw-r--r--www/kanboard/distinfo6
-rw-r--r--www/kanboard/pkg-plist6
-rw-r--r--www/miniflux/Makefile3
-rw-r--r--www/miniflux/distinfo10
-rw-r--r--www/nginx-devel/Makefile3
-rw-r--r--www/nginx-devel/distinfo6
-rw-r--r--www/onionshare/Makefile74
-rw-r--r--www/onionshare/distinfo3
-rw-r--r--www/onionshare/pkg-descr8
-rw-r--r--www/peersuite/Makefile8
-rw-r--r--www/peersuite/distinfo6
-rw-r--r--www/peersuite/pkg-plist7
-rw-r--r--www/plasma6-plasma-browser-integration/distinfo6
-rw-r--r--www/pocket-id/Makefile39
-rw-r--r--www/pocket-id/distinfo7
-rw-r--r--www/pocket-id/files/pkg-message.in17
-rw-r--r--www/pocket-id/files/pocket-id.in36
-rw-r--r--www/pocket-id/pkg-descr13
-rw-r--r--www/proxygen/Makefile2
-rw-r--r--www/proxygen/distinfo6
-rw-r--r--www/py-binarycookies/Makefile26
-rw-r--r--www/py-binarycookies/distinfo3
-rw-r--r--www/py-binarycookies/files/patch-src_binarycookies_____main____.py49
-rw-r--r--www/py-binarycookies/files/patch-src_binarycookies___deserialize.py21
-rw-r--r--www/py-binarycookies/pkg-descr6
-rw-r--r--www/py-bottle/Makefile3
-rw-r--r--www/py-bottle/distinfo6
-rw-r--r--www/py-calibreweb/Makefile4
-rw-r--r--www/py-cherrypy/Makefile9
-rw-r--r--www/py-cherrypy/distinfo6
-rw-r--r--www/py-dj51-django-rich/Makefile4
-rw-r--r--www/py-dj51-django-rich/distinfo6
-rw-r--r--www/py-dj51-drf-spectacular-sidecar/Makefile2
-rw-r--r--www/py-dj51-drf-spectacular-sidecar/distinfo6
-rw-r--r--www/py-dj52-channels/Makefile25
-rw-r--r--www/py-dj52-channels/distinfo3
-rw-r--r--www/py-dj52-channels/pkg-descr4
-rw-r--r--www/py-dj52-django-auth-ldap/Makefile40
-rw-r--r--www/py-dj52-django-auth-ldap/distinfo3
-rw-r--r--www/py-dj52-django-auth-ldap/files/patch-docs_conf.py20
-rw-r--r--www/py-dj52-django-auth-ldap/pkg-descr4
-rw-r--r--www/py-dj52-django-choices-field/Makefile24
-rw-r--r--www/py-dj52-django-choices-field/distinfo3
-rw-r--r--www/py-dj52-django-choices-field/pkg-descr2
-rw-r--r--www/py-dj52-django-cors-headers/Makefile26
-rw-r--r--www/py-dj52-django-cors-headers/distinfo3
-rw-r--r--www/py-dj52-django-cors-headers/pkg-descr2
-rw-r--r--www/py-dj52-django-debug-toolbar/Makefile27
-rw-r--r--www/py-dj52-django-debug-toolbar/distinfo3
-rw-r--r--www/py-dj52-django-debug-toolbar/pkg-descr3
-rw-r--r--www/py-dj52-django-filter/Makefile25
-rw-r--r--www/py-dj52-django-filter/distinfo3
-rw-r--r--www/py-dj52-django-filter/pkg-descr2
-rw-r--r--www/py-dj52-django-htmx/Makefile27
-rw-r--r--www/py-dj52-django-htmx/distinfo3
-rw-r--r--www/py-dj52-django-htmx/pkg-descr3
-rw-r--r--www/py-dj52-django-js-asset/Makefile25
-rw-r--r--www/py-dj52-django-js-asset/distinfo3
-rw-r--r--www/py-dj52-django-js-asset/pkg-descr2
-rw-r--r--www/py-dj52-django-mptt/Makefile26
-rw-r--r--www/py-dj52-django-mptt/distinfo3
-rw-r--r--www/py-dj52-django-mptt/pkg-descr2
-rw-r--r--www/py-dj52-django-prometheus/Makefile38
-rw-r--r--www/py-dj52-django-prometheus/distinfo3
-rw-r--r--www/py-dj52-django-prometheus/files/patch-pyproject.toml11
-rw-r--r--www/py-dj52-django-prometheus/files/patch-setup.py13
-rw-r--r--www/py-dj52-django-prometheus/pkg-descr14
-rw-r--r--www/py-dj52-django-redis/Makefile36
-rw-r--r--www/py-dj52-django-redis/distinfo3
-rw-r--r--www/py-dj52-django-redis/pkg-descr15
-rw-r--r--www/py-dj52-django-rich/Makefile27
-rw-r--r--www/py-dj52-django-rich/distinfo3
-rw-r--r--www/py-dj52-django-rich/pkg-descr11
-rw-r--r--www/py-dj52-django-storages/Makefile44
-rw-r--r--www/py-dj52-django-storages/distinfo3
-rw-r--r--www/py-dj52-django-storages/pkg-descr2
-rw-r--r--www/py-dj52-django-tables2/Makefile30
-rw-r--r--www/py-dj52-django-tables2/distinfo3
-rw-r--r--www/py-dj52-django-tables2/pkg-descr3
-rw-r--r--www/py-dj52-django-taggit/Makefile26
-rw-r--r--www/py-dj52-django-taggit/distinfo3
-rw-r--r--www/py-dj52-django-taggit/pkg-descr1
-rw-r--r--www/py-dj52-django-timezone-field/Makefile25
-rw-r--r--www/py-dj52-django-timezone-field/distinfo3
-rw-r--r--www/py-dj52-django-timezone-field/pkg-descr2
-rw-r--r--www/py-dj52-djangorestframework/Makefile25
-rw-r--r--www/py-dj52-djangorestframework/distinfo3
-rw-r--r--www/py-dj52-djangorestframework/pkg-descr15
-rw-r--r--www/py-dj52-drf-spectacular-sidecar/Makefile26
-rw-r--r--www/py-dj52-drf-spectacular-sidecar/distinfo3
-rw-r--r--www/py-dj52-drf-spectacular-sidecar/pkg-descr5
-rw-r--r--www/py-dj52-drf-spectacular/Makefile35
-rw-r--r--www/py-dj52-drf-spectacular/distinfo3
-rw-r--r--www/py-dj52-drf-spectacular/pkg-descr24
-rw-r--r--www/py-dj52-social-auth-app-django/Makefile34
-rw-r--r--www/py-dj52-social-auth-app-django/distinfo3
-rw-r--r--www/py-dj52-social-auth-app-django/pkg-descr6
-rw-r--r--www/py-dj52-strawberry-graphql-django/Makefile37
-rw-r--r--www/py-dj52-strawberry-graphql-django/distinfo3
-rw-r--r--www/py-dj52-strawberry-graphql-django/pkg-descr15
-rw-r--r--www/py-django-rich/Makefile6
-rw-r--r--www/py-django-rich/distinfo6
-rw-r--r--www/py-django-storages/Makefile5
-rw-r--r--www/py-django-storages/distinfo6
-rw-r--r--www/py-django-tree-queries/Makefile2
-rw-r--r--www/py-django-tree-queries/distinfo6
-rw-r--r--www/py-drf-spectacular-sidecar/Makefile2
-rw-r--r--www/py-drf-spectacular-sidecar/distinfo6
-rw-r--r--www/py-freenit/Makefile12
-rw-r--r--www/py-freenit/distinfo6
-rw-r--r--www/shiori/Makefile3
-rw-r--r--www/shiori/distinfo10
-rw-r--r--www/sitecopy/Makefile2
-rw-r--r--www/squid/Makefile21
-rw-r--r--www/squid/distinfo6
-rw-r--r--www/squid/files/patch-configure34
-rw-r--r--www/squid/files/patch-src_cf.data.pre (renamed from www/squid/files/patch-src-cf.data.pre)4
-rw-r--r--www/squid/files/squid.in17
-rw-r--r--www/tinyauth/Makefile49
-rw-r--r--www/tinyauth/distinfo7
-rw-r--r--www/tinyauth/files/pkg-message.in17
-rw-r--r--www/tinyauth/files/tinyauth.in35
-rw-r--r--www/tinyauth/pkg-descr4
-rw-r--r--www/tor-browser/Makefile7
-rw-r--r--www/tor-browser/distinfo10
-rw-r--r--www/wget2/Makefile1
145 files changed, 1627 insertions, 403 deletions
diff --git a/www/Makefile b/www/Makefile
index 8339058aecc5..e72084fbdc21 100644
--- a/www/Makefile
+++ b/www/Makefile
@@ -507,7 +507,6 @@
SUBDIR += offpunk
SUBDIR += oneshot
SUBDIR += onionbalance
- SUBDIR += onionshare
SUBDIR += onionshare-cli
SUBDIR += onlyoffice-documentserver
SUBDIR += opencart
@@ -1453,6 +1452,7 @@
SUBDIR += plasma6-plasma-browser-integration
SUBDIR += pmwiki
SUBDIR += pnews
+ SUBDIR += pocket-id
SUBDIR += podcastamatic
SUBDIR += pomerium
SUBDIR += pound
@@ -1487,6 +1487,7 @@
SUBDIR += py-beaker
SUBDIR += py-beautifulsoup
SUBDIR += py-betamax
+ SUBDIR += py-binarycookies
SUBDIR += py-biscuits
SUBDIR += py-bjoern
SUBDIR += py-bleach
@@ -1549,6 +1550,27 @@
SUBDIR += py-dj51-drf-writable-nested
SUBDIR += py-dj51-social-auth-app-django
SUBDIR += py-dj51-strawberry-graphql-django
+ SUBDIR += py-dj52-channels
+ SUBDIR += py-dj52-django-auth-ldap
+ SUBDIR += py-dj52-django-choices-field
+ SUBDIR += py-dj52-django-cors-headers
+ SUBDIR += py-dj52-django-debug-toolbar
+ SUBDIR += py-dj52-django-filter
+ SUBDIR += py-dj52-django-htmx
+ SUBDIR += py-dj52-django-js-asset
+ SUBDIR += py-dj52-django-mptt
+ SUBDIR += py-dj52-django-prometheus
+ SUBDIR += py-dj52-django-redis
+ SUBDIR += py-dj52-django-rich
+ SUBDIR += py-dj52-django-storages
+ SUBDIR += py-dj52-django-tables2
+ SUBDIR += py-dj52-django-taggit
+ SUBDIR += py-dj52-django-timezone-field
+ SUBDIR += py-dj52-djangorestframework
+ SUBDIR += py-dj52-drf-spectacular
+ SUBDIR += py-dj52-drf-spectacular-sidecar
+ SUBDIR += py-dj52-social-auth-app-django
+ SUBDIR += py-dj52-strawberry-graphql-django
SUBDIR += py-django-admin-rangefilter
SUBDIR += py-django-advanced-filters
SUBDIR += py-django-allauth
@@ -2500,6 +2522,7 @@
SUBDIR += tidy
SUBDIR += tidy-html5
SUBDIR += tikiwiki
+ SUBDIR += tinyauth
SUBDIR += tinymce
SUBDIR += tinyproxy
SUBDIR += tivoka
diff --git a/www/authelia/Makefile b/www/authelia/Makefile
index 728ad37775c8..06d27583329b 100644
--- a/www/authelia/Makefile
+++ b/www/authelia/Makefile
@@ -1,14 +1,13 @@
PORTNAME= authelia
DISTVERSIONPREFIX= v
-DISTVERSION= 4.39.1
-PORTREVISION= 2
+DISTVERSION= 4.39.4
CATEGORIES= www
MASTER_SITES= https://github.com/authelia/authelia/releases/download/v${DISTVERSION}/:public_html
DISTFILES= authelia-${DISTVERSIONFULL}-public_html${EXTRACT_SUFX}:public_html # html root directory needs to be built in a special way
MAINTAINER= yuri@FreeBSD.org
COMMENT= Single sign-on multi-factor portal for web apps
-WWW= https://www.authelia.com/docs/
+WWW= https://www.authelia.com/
LICENSE= APACHE20
LICENSE_FILE= ${WRKSRC}/LICENSE
diff --git a/www/authelia/distinfo b/www/authelia/distinfo
index 25d1f69c858a..fd03115e7070 100644
--- a/www/authelia/distinfo
+++ b/www/authelia/distinfo
@@ -1,7 +1,7 @@
-TIMESTAMP = 1742286137
-SHA256 (go/www_authelia/authelia-v4.39.1/authelia-v4.39.1-public_html.tar.gz) = 2effecd17db27ea5d7ce2d153bc55ad0fa58980af21dfa00107ded9127c2cd1b
-SIZE (go/www_authelia/authelia-v4.39.1/authelia-v4.39.1-public_html.tar.gz) = 1358073
-SHA256 (go/www_authelia/authelia-v4.39.1/v4.39.1.mod) = f0272caa797706876cf93a343df7c647ad096538f36409dd8de0016341e85cc3
-SIZE (go/www_authelia/authelia-v4.39.1/v4.39.1.mod) = 5298
-SHA256 (go/www_authelia/authelia-v4.39.1/v4.39.1.zip) = 5dbc328fd3bf2af997a0080a4fa9b5dec00eca3398b574166a6ef65fe4567703
-SIZE (go/www_authelia/authelia-v4.39.1/v4.39.1.zip) = 8107052
+TIMESTAMP = 1749936230
+SHA256 (go/www_authelia/authelia-v4.39.4/authelia-v4.39.4-public_html.tar.gz) = 157aeea40ced9f6dd451e9571179849cc88373031410e53de6a286835352b097
+SIZE (go/www_authelia/authelia-v4.39.4/authelia-v4.39.4-public_html.tar.gz) = 1363396
+SHA256 (go/www_authelia/authelia-v4.39.4/v4.39.4.mod) = a24e2eb512c82b33da326eda529319dbc8eaa9567924e38e2a515660234a6e5c
+SIZE (go/www_authelia/authelia-v4.39.4/v4.39.4.mod) = 5256
+SHA256 (go/www_authelia/authelia-v4.39.4/v4.39.4.zip) = eae956be084daca48ee81012d748c465dea7904d4d1e33fe9dfd369009740b1f
+SIZE (go/www_authelia/authelia-v4.39.4/v4.39.4.zip) = 11354147
diff --git a/www/drupal10/Makefile b/www/drupal10/Makefile
index 7ba459167cfa..fee4ee3c6fa7 100644
--- a/www/drupal10/Makefile
+++ b/www/drupal10/Makefile
@@ -1,5 +1,5 @@
PORTNAME= drupal10
-PORTVERSION= 10.4.6
+PORTVERSION= 10.5.0
CATEGORIES= www
MASTER_SITES= http://ftp.drupal.org/files/projects/
DISTNAME= drupal-${PORTVERSION}
diff --git a/www/drupal10/distinfo b/www/drupal10/distinfo
index 10b935a7e3d4..651f55a96100 100644
--- a/www/drupal10/distinfo
+++ b/www/drupal10/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1745289058
-SHA256 (drupal/drupal-10.4.6.tar.gz) = 18394f8169f7a5e08916a795a0c3d0f17c98d52ee47ce413c5261688ff9c23e2
-SIZE (drupal/drupal-10.4.6.tar.gz) = 21153808
+TIMESTAMP = 1750746792
+SHA256 (drupal/drupal-10.5.0.tar.gz) = 5420a6bd000153fce2cf1f34ee0e62d735b0cdbf917afa5c287d71ec04ff742c
+SIZE (drupal/drupal-10.5.0.tar.gz) = 21283662
diff --git a/www/drupal10/pkg-plist b/www/drupal10/pkg-plist
index 09b2df62330b..5f32ac67dce2 100644
--- a/www/drupal10/pkg-plist
+++ b/www/drupal10/pkg-plist
@@ -72,6 +72,7 @@
%%WWWDIR%%/core/assets/vendor/ckeditor5/alignment/translations/ar.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/alignment/translations/ast.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/alignment/translations/az.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/alignment/translations/be.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/alignment/translations/bg.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/alignment/translations/bn.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/alignment/translations/bs.js
@@ -144,6 +145,7 @@
%%WWWDIR%%/core/assets/vendor/ckeditor5/autoformat/translations/ar.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/autoformat/translations/ast.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/autoformat/translations/az.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/autoformat/translations/be.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/autoformat/translations/bg.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/autoformat/translations/bn.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/autoformat/translations/bs.js
@@ -216,6 +218,7 @@
%%WWWDIR%%/core/assets/vendor/ckeditor5/autosave/translations/ar.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/autosave/translations/ast.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/autosave/translations/az.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/autosave/translations/be.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/autosave/translations/bg.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/autosave/translations/bn.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/autosave/translations/bs.js
@@ -288,6 +291,7 @@
%%WWWDIR%%/core/assets/vendor/ckeditor5/basic-styles/translations/ar.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/basic-styles/translations/ast.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/basic-styles/translations/az.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/basic-styles/translations/be.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/basic-styles/translations/bg.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/basic-styles/translations/bn.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/basic-styles/translations/bs.js
@@ -360,6 +364,7 @@
%%WWWDIR%%/core/assets/vendor/ckeditor5/block-quote/translations/ar.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/block-quote/translations/ast.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/block-quote/translations/az.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/block-quote/translations/be.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/block-quote/translations/bg.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/block-quote/translations/bn.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/block-quote/translations/bs.js
@@ -432,6 +437,7 @@
%%WWWDIR%%/core/assets/vendor/ckeditor5/bookmark/translations/ar.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/bookmark/translations/ast.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/bookmark/translations/az.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/bookmark/translations/be.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/bookmark/translations/bg.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/bookmark/translations/bn.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/bookmark/translations/bs.js
@@ -504,6 +510,7 @@
%%WWWDIR%%/core/assets/vendor/ckeditor5/ckbox/translations/ar.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/ckbox/translations/ast.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/ckbox/translations/az.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/ckbox/translations/be.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/ckbox/translations/bg.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/ckbox/translations/bn.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/ckbox/translations/bs.js
@@ -576,6 +583,7 @@
%%WWWDIR%%/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ar.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ast.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/az.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/be.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/bg.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/bn.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/bs.js
@@ -648,6 +656,7 @@
%%WWWDIR%%/core/assets/vendor/ckeditor5/ckfinder/translations/ar.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/ckfinder/translations/ast.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/ckfinder/translations/az.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/ckfinder/translations/be.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/ckfinder/translations/bg.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/ckfinder/translations/bn.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/ckfinder/translations/bs.js
@@ -721,6 +730,7 @@
%%WWWDIR%%/core/assets/vendor/ckeditor5/code-block/translations/ar.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/code-block/translations/ast.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/code-block/translations/az.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/code-block/translations/be.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/code-block/translations/bg.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/code-block/translations/bn.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/code-block/translations/bs.js
@@ -794,12 +804,86 @@
%%WWWDIR%%/core/assets/vendor/ckeditor5/editor-decoupled/editor-decoupled.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/editor-inline/editor-inline.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/editor-multi-root/editor-multi-root.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/emoji.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/af.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/ar.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/ast.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/az.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/be.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/bg.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/bn.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/bs.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/ca.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/cs.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/da.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/de-ch.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/de.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/el.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/en-au.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/en-gb.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/eo.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/es-co.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/es.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/et.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/eu.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/fa.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/fi.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/fr.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/gl.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/gu.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/he.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/hi.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/hr.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/hu.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/hy.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/id.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/it.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/ja.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/jv.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/kk.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/km.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/kn.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/ko.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/ku.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/lt.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/lv.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/ms.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/nb.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/ne.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/nl.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/no.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/oc.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/pl.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/pt-br.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/pt.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/ro.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/ru.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/si.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/sk.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/sl.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/sq.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/sr-latn.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/sr.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/sv.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/th.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/ti.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/tk.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/tr.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/tt.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/ug.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/uk.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/ur.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/uz.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/vi.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/zh-cn.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/emoji/translations/zh.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/essentials/essentials.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/find-and-replace/find-and-replace.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/find-and-replace/translations/af.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/find-and-replace/translations/ar.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/find-and-replace/translations/ast.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/find-and-replace/translations/az.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/find-and-replace/translations/be.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/find-and-replace/translations/bg.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/find-and-replace/translations/bn.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/find-and-replace/translations/bs.js
@@ -872,6 +956,7 @@
%%WWWDIR%%/core/assets/vendor/ckeditor5/font/translations/ar.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/font/translations/ast.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/font/translations/az.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/font/translations/be.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/font/translations/bg.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/font/translations/bn.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/font/translations/bs.js
@@ -939,11 +1024,85 @@
%%WWWDIR%%/core/assets/vendor/ckeditor5/font/translations/vi.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/font/translations/zh-cn.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/font/translations/zh.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/fullscreen.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/af.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/ar.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/ast.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/az.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/be.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/bg.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/bn.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/bs.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/ca.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/cs.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/da.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/de-ch.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/de.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/el.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/en-au.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/en-gb.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/eo.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/es-co.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/es.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/et.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/eu.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/fa.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/fi.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/fr.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/gl.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/gu.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/he.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/hi.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/hr.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/hu.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/hy.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/id.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/it.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/ja.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/jv.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/kk.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/km.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/kn.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/ko.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/ku.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/lt.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/lv.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/ms.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/nb.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/ne.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/nl.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/no.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/oc.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/pl.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/pt-br.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/pt.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/ro.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/ru.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/si.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/sk.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/sl.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/sq.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/sr-latn.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/sr.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/sv.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/th.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/ti.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/tk.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/tr.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/tt.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/ug.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/uk.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/ur.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/uz.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/vi.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/zh-cn.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/fullscreen/translations/zh.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/heading/heading.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/heading/translations/af.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/heading/translations/ar.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/heading/translations/ast.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/heading/translations/az.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/heading/translations/be.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/heading/translations/bg.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/heading/translations/bn.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/heading/translations/bs.js
@@ -1016,6 +1175,7 @@
%%WWWDIR%%/core/assets/vendor/ckeditor5/highlight/translations/ar.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/highlight/translations/ast.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/highlight/translations/az.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/highlight/translations/be.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/highlight/translations/bg.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/highlight/translations/bn.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/highlight/translations/bs.js
@@ -1088,6 +1248,7 @@
%%WWWDIR%%/core/assets/vendor/ckeditor5/horizontal-line/translations/ar.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/horizontal-line/translations/ast.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/horizontal-line/translations/az.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/horizontal-line/translations/be.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/horizontal-line/translations/bg.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/horizontal-line/translations/bn.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/horizontal-line/translations/bs.js
@@ -1160,6 +1321,7 @@
%%WWWDIR%%/core/assets/vendor/ckeditor5/html-embed/translations/ar.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/html-embed/translations/ast.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/html-embed/translations/az.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/html-embed/translations/be.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/html-embed/translations/bg.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/html-embed/translations/bn.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/html-embed/translations/bs.js
@@ -1232,6 +1394,7 @@
%%WWWDIR%%/core/assets/vendor/ckeditor5/html-support/translations/ar.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/html-support/translations/ast.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/html-support/translations/az.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/html-support/translations/be.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/html-support/translations/bg.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/html-support/translations/bn.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/html-support/translations/bs.js
@@ -1304,6 +1467,7 @@
%%WWWDIR%%/core/assets/vendor/ckeditor5/image/translations/ar.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/image/translations/ast.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/image/translations/az.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/image/translations/be.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/image/translations/bg.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/image/translations/bn.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/image/translations/bs.js
@@ -1376,6 +1540,7 @@
%%WWWDIR%%/core/assets/vendor/ckeditor5/indent/translations/ar.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/indent/translations/ast.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/indent/translations/az.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/indent/translations/be.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/indent/translations/bg.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/indent/translations/bn.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/indent/translations/bs.js
@@ -1448,6 +1613,7 @@
%%WWWDIR%%/core/assets/vendor/ckeditor5/language/translations/ar.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/language/translations/ast.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/language/translations/az.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/language/translations/be.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/language/translations/bg.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/language/translations/bn.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/language/translations/bs.js
@@ -1520,6 +1686,7 @@
%%WWWDIR%%/core/assets/vendor/ckeditor5/link/translations/ar.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/link/translations/ast.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/link/translations/az.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/link/translations/be.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/link/translations/bg.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/link/translations/bn.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/link/translations/bs.js
@@ -1592,6 +1759,7 @@
%%WWWDIR%%/core/assets/vendor/ckeditor5/list/translations/ar.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/list/translations/ast.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/list/translations/az.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/list/translations/be.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/list/translations/bg.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/list/translations/bn.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/list/translations/bs.js
@@ -1665,6 +1833,7 @@
%%WWWDIR%%/core/assets/vendor/ckeditor5/media-embed/translations/ar.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/media-embed/translations/ast.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/media-embed/translations/az.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/media-embed/translations/be.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/media-embed/translations/bg.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/media-embed/translations/bn.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/media-embed/translations/bs.js
@@ -1739,6 +1908,7 @@
%%WWWDIR%%/core/assets/vendor/ckeditor5/page-break/translations/ar.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/page-break/translations/ast.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/page-break/translations/az.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/page-break/translations/be.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/page-break/translations/bg.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/page-break/translations/bn.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/page-break/translations/bs.js
@@ -1812,6 +1982,7 @@
%%WWWDIR%%/core/assets/vendor/ckeditor5/remove-format/translations/ar.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/remove-format/translations/ast.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/remove-format/translations/az.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/remove-format/translations/be.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/remove-format/translations/bg.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/remove-format/translations/bn.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/remove-format/translations/bs.js
@@ -1884,6 +2055,7 @@
%%WWWDIR%%/core/assets/vendor/ckeditor5/restricted-editing/translations/ar.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/restricted-editing/translations/ast.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/restricted-editing/translations/az.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/restricted-editing/translations/be.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/restricted-editing/translations/bg.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/restricted-editing/translations/bn.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/restricted-editing/translations/bs.js
@@ -1956,6 +2128,7 @@
%%WWWDIR%%/core/assets/vendor/ckeditor5/show-blocks/translations/ar.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/show-blocks/translations/ast.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/show-blocks/translations/az.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/show-blocks/translations/be.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/show-blocks/translations/bg.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/show-blocks/translations/bn.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/show-blocks/translations/bs.js
@@ -2028,6 +2201,7 @@
%%WWWDIR%%/core/assets/vendor/ckeditor5/source-editing/translations/ar.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/source-editing/translations/ast.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/source-editing/translations/az.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/source-editing/translations/be.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/source-editing/translations/bg.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/source-editing/translations/bn.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/source-editing/translations/bs.js
@@ -2100,6 +2274,7 @@
%%WWWDIR%%/core/assets/vendor/ckeditor5/special-characters/translations/ar.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/special-characters/translations/ast.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/special-characters/translations/az.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/special-characters/translations/be.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/special-characters/translations/bg.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/special-characters/translations/bn.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/special-characters/translations/bs.js
@@ -2172,6 +2347,7 @@
%%WWWDIR%%/core/assets/vendor/ckeditor5/style/translations/ar.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/style/translations/ast.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/style/translations/az.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/style/translations/be.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/style/translations/bg.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/style/translations/bn.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/style/translations/bs.js
@@ -2244,6 +2420,7 @@
%%WWWDIR%%/core/assets/vendor/ckeditor5/table/translations/ar.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/table/translations/ast.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/table/translations/az.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/table/translations/be.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/table/translations/bg.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/table/translations/bn.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/table/translations/bs.js
@@ -2315,6 +2492,7 @@
%%WWWDIR%%/core/assets/vendor/ckeditor5/word-count/translations/ar.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/word-count/translations/ast.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/word-count/translations/az.js
+%%WWWDIR%%/core/assets/vendor/ckeditor5/word-count/translations/be.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/word-count/translations/bg.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/word-count/translations/bn.js
%%WWWDIR%%/core/assets/vendor/ckeditor5/word-count/translations/bs.js
@@ -3162,6 +3340,7 @@
%%WWWDIR%%/core/lib/Drupal/Core/Cache/CacheCollectorInterface.php
%%WWWDIR%%/core/lib/Drupal/Core/Cache/CacheFactory.php
%%WWWDIR%%/core/lib/Drupal/Core/Cache/CacheFactoryInterface.php
+%%WWWDIR%%/core/lib/Drupal/Core/Cache/CacheOptionalInterface.php
%%WWWDIR%%/core/lib/Drupal/Core/Cache/CacheRedirect.php
%%WWWDIR%%/core/lib/Drupal/Core/Cache/CacheTagsChecksumInterface.php
%%WWWDIR%%/core/lib/Drupal/Core/Cache/CacheTagsChecksumTrait.php
@@ -4043,8 +4222,6 @@
%%WWWDIR%%/core/lib/Drupal/Core/GeneratedLink.php
%%WWWDIR%%/core/lib/Drupal/Core/GeneratedNoLink.php
%%WWWDIR%%/core/lib/Drupal/Core/GeneratedUrl.php
-%%WWWDIR%%/core/lib/Drupal/Core/Hook/Attribute/Hook.php
-%%WWWDIR%%/core/lib/Drupal/Core/Hook/Attribute/LegacyHook.php
%%WWWDIR%%/core/lib/Drupal/Core/Http/ClientFactory.php
%%WWWDIR%%/core/lib/Drupal/Core/Http/Exception/CacheableAccessDeniedHttpException.php
%%WWWDIR%%/core/lib/Drupal/Core/Http/Exception/CacheableBadRequestHttpException.php
@@ -5806,6 +5983,8 @@
%%WWWDIR%%/core/modules/ckeditor5/tests/modules/ckeditor5_definition_supporting_element/ckeditor5_definition_supporting_element.info.yml
%%WWWDIR%%/core/modules/ckeditor5/tests/modules/ckeditor5_drupalelementstyle_test/ckeditor5_drupalelementstyle_test.info.yml
%%WWWDIR%%/core/modules/ckeditor5/tests/modules/ckeditor5_drupalelementstyle_test/ckeditor5_drupalelementstyle_test.module
+%%WWWDIR%%/core/modules/ckeditor5/tests/modules/ckeditor5_icon_deprecation_test/ckeditor5_icon_deprecation_test.ckeditor5.yml
+%%WWWDIR%%/core/modules/ckeditor5/tests/modules/ckeditor5_icon_deprecation_test/ckeditor5_icon_deprecation_test.info.yml
%%WWWDIR%%/core/modules/ckeditor5/tests/modules/ckeditor5_incompatible_filter_test/ckeditor5_incompatible_filter_test.info.yml
%%WWWDIR%%/core/modules/ckeditor5/tests/modules/ckeditor5_incompatible_filter_test/src/Plugin/Filter/FilterIsIncompatible.php
%%WWWDIR%%/core/modules/ckeditor5/tests/modules/ckeditor5_manual_decorator_test/ckeditor5_manual_decorator_test.ckeditor5.yml
@@ -6263,6 +6442,7 @@
%%WWWDIR%%/core/modules/config/tests/config_test/config_test.links.action.yml
%%WWWDIR%%/core/modules/config/tests/config_test/config_test.links.task.yml
%%WWWDIR%%/core/modules/config/tests/config_test/config_test.module
+%%WWWDIR%%/core/modules/config/tests/config_test/config_test.permissions.yml
%%WWWDIR%%/core/modules/config/tests/config_test/config_test.routing.yml
%%WWWDIR%%/core/modules/config/tests/config_test/src/ConfigActionErrorEntity/DuplicatePluralizedMethodName.php
%%WWWDIR%%/core/modules/config/tests/config_test/src/ConfigActionErrorEntity/DuplicatePluralizedOtherMethodName.php
@@ -6271,6 +6451,7 @@
%%WWWDIR%%/core/modules/config/tests/config_test/src/ConfigTestForm.php
%%WWWDIR%%/core/modules/config/tests/config_test/src/ConfigTestInterface.php
%%WWWDIR%%/core/modules/config/tests/config_test/src/ConfigTestListBuilder.php
+%%WWWDIR%%/core/modules/config/tests/config_test/src/ConfigTestPermissions.php
%%WWWDIR%%/core/modules/config/tests/config_test/src/ConfigTestStorage.php
%%WWWDIR%%/core/modules/config/tests/config_test/src/ConfigValidation.php
%%WWWDIR%%/core/modules/config/tests/config_test/src/Entity/ConfigQueryTest.php
@@ -9804,6 +9985,7 @@
%%WWWDIR%%/core/modules/migrate/tests/src/Unit/MigrateTestCase.php
%%WWWDIR%%/core/modules/migrate/tests/src/Unit/MigrationPluginManagerTest.php
%%WWWDIR%%/core/modules/migrate/tests/src/Unit/MigrationTest.php
+%%WWWDIR%%/core/modules/migrate/tests/src/Unit/Plugin/NoSourcePluginDecoratorTest.php
%%WWWDIR%%/core/modules/migrate/tests/src/Unit/Plugin/migrate/destination/CheckRequirementsTest.php
%%WWWDIR%%/core/modules/migrate/tests/src/Unit/Plugin/migrate/destination/EntityContentBaseTest.php
%%WWWDIR%%/core/modules/migrate/tests/src/Unit/Plugin/migrate/destination/EntityRevisionTest.php
@@ -10120,6 +10302,7 @@
%%WWWDIR%%/core/modules/navigation/modules/navigation_top_bar/navigation_top_bar.info.yml
%%WWWDIR%%/core/modules/navigation/modules/navigation_top_bar/navigation_top_bar.module
%%WWWDIR%%/core/modules/navigation/modules/navigation_top_bar/tests/src/Functional/GenericTest.php
+%%WWWDIR%%/core/modules/navigation/navigation.api.php
%%WWWDIR%%/core/modules/navigation/navigation.info.yml
%%WWWDIR%%/core/modules/navigation/navigation.install
%%WWWDIR%%/core/modules/navigation/navigation.layouts.yml
@@ -10150,6 +10333,7 @@
%%WWWDIR%%/core/modules/navigation/templates/block--navigation.html.twig
%%WWWDIR%%/core/modules/navigation/templates/logo.svg.twig
%%WWWDIR%%/core/modules/navigation/templates/menu-region--footer.html.twig
+%%WWWDIR%%/core/modules/navigation/templates/navigation-content-top.html.twig
%%WWWDIR%%/core/modules/navigation/templates/navigation-menu.html.twig
%%WWWDIR%%/core/modules/navigation/templates/top-bar-local-task.html.twig
%%WWWDIR%%/core/modules/navigation/templates/top-bar-local-tasks.html.twig
@@ -10157,6 +10341,7 @@
%%WWWDIR%%/core/modules/navigation/tests/navigation_test/navigation_test.info.yml
%%WWWDIR%%/core/modules/navigation/tests/navigation_test/navigation_test.module
%%WWWDIR%%/core/modules/navigation/tests/src/Functional/GenericTest.php
+%%WWWDIR%%/core/modules/navigation/tests/src/Functional/NavigationContentTopTest.php
%%WWWDIR%%/core/modules/navigation/tests/src/Functional/NavigationLinkBlockTest.php
%%WWWDIR%%/core/modules/navigation/tests/src/Functional/NavigationLogoTest.php
%%WWWDIR%%/core/modules/navigation/tests/src/Functional/NavigationShortcutsBlockTest.php
@@ -12106,6 +12291,7 @@
%%WWWDIR%%/core/modules/system/tests/modules/form_test/src/Form/FormTestStatePersistForm.php
%%WWWDIR%%/core/modules/system/tests/modules/form_test/src/Form/FormTestStorageForm.php
%%WWWDIR%%/core/modules/system/tests/modules/form_test/src/Form/FormTestStoragePageCacheForm.php
+%%WWWDIR%%/core/modules/system/tests/modules/form_test/src/Form/FormTestSubmitButtonAttributeForm.php
%%WWWDIR%%/core/modules/system/tests/modules/form_test/src/Form/FormTestTableForm.php
%%WWWDIR%%/core/modules/system/tests/modules/form_test/src/Form/FormTestTableSelectColspanForm.php
%%WWWDIR%%/core/modules/system/tests/modules/form_test/src/Form/FormTestTableSelectDisabledRowsForm.php
@@ -12294,6 +12480,7 @@
%%WWWDIR%%/core/modules/system/tests/modules/menu_test/menu_test.services.yml
%%WWWDIR%%/core/modules/system/tests/modules/menu_test/src/Access/AccessCheck.php
%%WWWDIR%%/core/modules/system/tests/modules/menu_test/src/Controller/MenuTestController.php
+%%WWWDIR%%/core/modules/system/tests/modules/menu_test/src/MenuTestServiceProvider.php
%%WWWDIR%%/core/modules/system/tests/modules/menu_test/src/Plugin/Derivative/LocalActionTest.php
%%WWWDIR%%/core/modules/system/tests/modules/menu_test/src/Plugin/Derivative/LocalTaskTest.php
%%WWWDIR%%/core/modules/system/tests/modules/menu_test/src/Plugin/Derivative/LocalTaskTestWithUnsafeTitle.php
@@ -12305,6 +12492,7 @@
%%WWWDIR%%/core/modules/system/tests/modules/menu_test/src/Plugin/Menu/LocalAction/TestLocalActionWithConfig.php
%%WWWDIR%%/core/modules/system/tests/modules/menu_test/src/Plugin/Menu/LocalTask/TestTaskWithUserInput.php
%%WWWDIR%%/core/modules/system/tests/modules/menu_test/src/Plugin/Menu/LocalTask/TestTasksSettingsSub1.php
+%%WWWDIR%%/core/modules/system/tests/modules/menu_test/src/SkippablePathBasedBreadcrumbBuilder.php
%%WWWDIR%%/core/modules/system/tests/modules/menu_test/src/TestControllers.php
%%WWWDIR%%/core/modules/system/tests/modules/menu_test/src/Theme/TestThemeNegotiator.php
%%WWWDIR%%/core/modules/system/tests/modules/module_autoload_test/module_autoload_test.info.yml
@@ -13053,6 +13241,9 @@
%%WWWDIR%%/core/modules/system/tests/themes/obsolete_theme_test/obsolete_theme_test.info.yml
%%WWWDIR%%/core/modules/system/tests/themes/sdc_theme_test/components/bar/bar.component.yml
%%WWWDIR%%/core/modules/system/tests/themes/sdc_theme_test/components/bar/bar.twig
+%%WWWDIR%%/core/modules/system/tests/themes/sdc_theme_test/components/css-load-order/css-load-order.component.yml
+%%WWWDIR%%/core/modules/system/tests/themes/sdc_theme_test/components/css-load-order/css-load-order.css
+%%WWWDIR%%/core/modules/system/tests/themes/sdc_theme_test/components/css-load-order/css-load-order.twig
%%WWWDIR%%/core/modules/system/tests/themes/sdc_theme_test/components/lib-overrides/another-stylesheet.css
%%WWWDIR%%/core/modules/system/tests/themes/sdc_theme_test/components/lib-overrides/lib-overrides.component.yml
%%WWWDIR%%/core/modules/system/tests/themes/sdc_theme_test/components/lib-overrides/lib-overrides.css
@@ -13063,7 +13254,10 @@
%%WWWDIR%%/core/modules/system/tests/themes/sdc_theme_test/components/my-card/my-card.component.yml
%%WWWDIR%%/core/modules/system/tests/themes/sdc_theme_test/components/my-card/my-card.css
%%WWWDIR%%/core/modules/system/tests/themes/sdc_theme_test/components/my-card/my-card.twig
+%%WWWDIR%%/core/modules/system/tests/themes/sdc_theme_test/css/css-order-dependent.css
+%%WWWDIR%%/core/modules/system/tests/themes/sdc_theme_test/css/reset.css
%%WWWDIR%%/core/modules/system/tests/themes/sdc_theme_test/sdc_theme_test.info.yml
+%%WWWDIR%%/core/modules/system/tests/themes/sdc_theme_test/sdc_theme_test.libraries.yml
%%WWWDIR%%/core/modules/system/tests/themes/sdc_theme_test_base/components/my-card-no-schema/my-card-no-schema.component.yml
%%WWWDIR%%/core/modules/system/tests/themes/sdc_theme_test_base/components/my-card-no-schema/my-card-no-schema.twig
%%WWWDIR%%/core/modules/system/tests/themes/sdc_theme_test_base/sdc_theme_test_base.info.yml
@@ -15411,6 +15605,7 @@
%%WWWDIR%%/core/modules/workspaces/tests/src/Functional/WorkspacesUninstallTest.php
%%WWWDIR%%/core/modules/workspaces/tests/src/FunctionalJavascript/WorkspaceToolbarIntegrationTest.php
%%WWWDIR%%/core/modules/workspaces/tests/src/FunctionalJavascript/WorkspacesLayoutBuilderIntegrationTest.php
+%%WWWDIR%%/core/modules/workspaces/tests/src/FunctionalJavascript/WorkspacesMediaLibraryIntegrationTest.php
%%WWWDIR%%/core/modules/workspaces/tests/src/Kernel/EntityReferenceSupportedNewEntitiesConstraintValidatorTest.php
%%WWWDIR%%/core/modules/workspaces/tests/src/Kernel/EntityWorkspaceConflictConstraintValidatorTest.php
%%WWWDIR%%/core/modules/workspaces/tests/src/Kernel/WorkspaceAccessTest.php
@@ -16582,6 +16777,7 @@
%%WWWDIR%%/core/tests/Drupal/FunctionalTests/UserHelpersTest.php
%%WWWDIR%%/core/tests/Drupal/KernelTests/AssertConfigTrait.php
%%WWWDIR%%/core/tests/Drupal/KernelTests/AssertContentTrait.php
+%%WWWDIR%%/core/tests/Drupal/KernelTests/Component/ComponentRenderTest.php
%%WWWDIR%%/core/tests/Drupal/KernelTests/Component/Render/FormattableMarkupKernelTest.php
%%WWWDIR%%/core/tests/Drupal/KernelTests/Components/ComponentInvalidReplacementTest.php
%%WWWDIR%%/core/tests/Drupal/KernelTests/Components/ComponentKernelTestBase.php
@@ -16713,6 +16909,7 @@
%%WWWDIR%%/core/tests/Drupal/KernelTests/Core/Database/SelectSubqueryTest.php
%%WWWDIR%%/core/tests/Drupal/KernelTests/Core/Database/SelectTest.php
%%WWWDIR%%/core/tests/Drupal/KernelTests/Core/Database/SerializeQueryTest.php
+%%WWWDIR%%/core/tests/Drupal/KernelTests/Core/Database/StatementPrefetchGadgetChainTest.php
%%WWWDIR%%/core/tests/Drupal/KernelTests/Core/Database/StatementTest.php
%%WWWDIR%%/core/tests/Drupal/KernelTests/Core/Database/TaggingTest.php
%%WWWDIR%%/core/tests/Drupal/KernelTests/Core/Database/TemporaryQueryTestBase.php
@@ -17514,6 +17711,7 @@
%%WWWDIR%%/core/tests/Drupal/Tests/Core/DrupalTest.php
%%WWWDIR%%/core/tests/Drupal/Tests/Core/Enhancer/EntityRevisionRouteEnhancerTest.php
%%WWWDIR%%/core/tests/Drupal/Tests/Core/Enhancer/ParamConversionEnhancerTest.php
+%%WWWDIR%%/core/tests/Drupal/Tests/Core/Entity/Access/EntityCreateAccessCustomCidTest.php
%%WWWDIR%%/core/tests/Drupal/Tests/Core/Entity/Access/EntityFormDisplayAccessControlHandlerTest.php
%%WWWDIR%%/core/tests/Drupal/Tests/Core/Entity/Access/EntityViewDisplayAccessControlHandlerTest.php
%%WWWDIR%%/core/tests/Drupal/Tests/Core/Entity/BaseFieldDefinitionTest.php
@@ -18142,6 +18340,7 @@
%%WWWDIR%%/core/tests/fixtures/default_content/node/e1714f23-70c0-4493-8e92-af1901771921.yml
%%WWWDIR%%/core/tests/fixtures/default_content/taxonomy_term/550f86ad-aa11-4047-953f-636d42889f85.yml
%%WWWDIR%%/core/tests/fixtures/default_content/user/94503467-be7f-406c-9795-fc25baa22203.yml
+%%WWWDIR%%/core/tests/fixtures/default_content_broken/no-uuid.yml
%%WWWDIR%%/core/tests/fixtures/empty_file.php.module
%%WWWDIR%%/core/tests/fixtures/files/README.txt
%%WWWDIR%%/core/tests/fixtures/files/html-1.txt
@@ -18692,6 +18891,7 @@
%%WWWDIR%%/core/themes/claro/templates/views/views-ui-expose-filter-form.html.twig
%%WWWDIR%%/core/themes/claro/templates/views/views-ui-view-preview-section--exposed.html.twig
%%WWWDIR%%/core/themes/claro/templates/views/views-view-table.html.twig
+%%WWWDIR%%/core/themes/claro/tests/src/Functional/MenuLinkDefaultFormTest.php
%%WWWDIR%%/core/themes/claro/tests/src/Functional/NodeTitleTest.php
%%WWWDIR%%/core/themes/engines/twig/twig.engine
%%WWWDIR%%/core/themes/engines/twig/twig.info.yml
@@ -19925,6 +20125,7 @@
%%WWWDIR%%/vendor/mck89/peast/lib/Peast/Syntax/ES2022/Features.php
%%WWWDIR%%/vendor/mck89/peast/lib/Peast/Syntax/ES2023/Features.php
%%WWWDIR%%/vendor/mck89/peast/lib/Peast/Syntax/ES2024/Features.php
+%%WWWDIR%%/vendor/mck89/peast/lib/Peast/Syntax/ES2025/Features.php
%%WWWDIR%%/vendor/mck89/peast/lib/Peast/Syntax/EncodingException.php
%%WWWDIR%%/vendor/mck89/peast/lib/Peast/Syntax/EventsEmitter.php
%%WWWDIR%%/vendor/mck89/peast/lib/Peast/Syntax/Exception.php
@@ -19973,6 +20174,7 @@
%%WWWDIR%%/vendor/mck89/peast/lib/Peast/Syntax/Node/Function_.php
%%WWWDIR%%/vendor/mck89/peast/lib/Peast/Syntax/Node/Identifier.php
%%WWWDIR%%/vendor/mck89/peast/lib/Peast/Syntax/Node/IfStatement.php
+%%WWWDIR%%/vendor/mck89/peast/lib/Peast/Syntax/Node/ImportAttribute.php
%%WWWDIR%%/vendor/mck89/peast/lib/Peast/Syntax/Node/ImportDeclaration.php
%%WWWDIR%%/vendor/mck89/peast/lib/Peast/Syntax/Node/ImportDefaultSpecifier.php
%%WWWDIR%%/vendor/mck89/peast/lib/Peast/Syntax/Node/ImportExpression.php
@@ -21123,13 +21325,6 @@
%%WWWDIR%%/vendor/symfony/polyfill-mbstring/bootstrap.php
%%WWWDIR%%/vendor/symfony/polyfill-mbstring/bootstrap80.php
%%WWWDIR%%/vendor/symfony/polyfill-mbstring/composer.json
-%%WWWDIR%%/vendor/symfony/polyfill-php81/LICENSE
-%%WWWDIR%%/vendor/symfony/polyfill-php81/Php81.php
-%%WWWDIR%%/vendor/symfony/polyfill-php81/README.md
-%%WWWDIR%%/vendor/symfony/polyfill-php81/Resources/stubs/CURLStringFile.php
-%%WWWDIR%%/vendor/symfony/polyfill-php81/Resources/stubs/ReturnTypeWillChange.php
-%%WWWDIR%%/vendor/symfony/polyfill-php81/bootstrap.php
-%%WWWDIR%%/vendor/symfony/polyfill-php81/composer.json
%%WWWDIR%%/vendor/symfony/polyfill-php83/LICENSE
%%WWWDIR%%/vendor/symfony/polyfill-php83/Php83.php
%%WWWDIR%%/vendor/symfony/polyfill-php83/README.md
@@ -21848,6 +22043,7 @@
%%WWWDIR%%/vendor/twig/twig/src/Node/Expression/Binary/AbstractBinary.php
%%WWWDIR%%/vendor/twig/twig/src/Node/Expression/Binary/AddBinary.php
%%WWWDIR%%/vendor/twig/twig/src/Node/Expression/Binary/AndBinary.php
+%%WWWDIR%%/vendor/twig/twig/src/Node/Expression/Binary/BinaryInterface.php
%%WWWDIR%%/vendor/twig/twig/src/Node/Expression/Binary/BitwiseAndBinary.php
%%WWWDIR%%/vendor/twig/twig/src/Node/Expression/Binary/BitwiseOrBinary.php
%%WWWDIR%%/vendor/twig/twig/src/Node/Expression/Binary/BitwiseXorBinary.php
@@ -21911,6 +22107,7 @@
%%WWWDIR%%/vendor/twig/twig/src/Node/Expression/Unary/PosUnary.php
%%WWWDIR%%/vendor/twig/twig/src/Node/Expression/Unary/SpreadUnary.php
%%WWWDIR%%/vendor/twig/twig/src/Node/Expression/Unary/StringCastUnary.php
+%%WWWDIR%%/vendor/twig/twig/src/Node/Expression/Unary/UnaryInterface.php
%%WWWDIR%%/vendor/twig/twig/src/Node/Expression/Variable/AssignContextVariable.php
%%WWWDIR%%/vendor/twig/twig/src/Node/Expression/Variable/AssignTemplateVariable.php
%%WWWDIR%%/vendor/twig/twig/src/Node/Expression/Variable/ContextVariable.php
diff --git a/www/filebrowser/Makefile b/www/filebrowser/Makefile
index 58eefc1b7d46..c86880db65be 100644
--- a/www/filebrowser/Makefile
+++ b/www/filebrowser/Makefile
@@ -1,7 +1,6 @@
PORTNAME= filebrowser
DISTVERSIONPREFIX= v
-DISTVERSION= 2.32.0
-PORTREVISION= 1
+DISTVERSION= 2.33.0
CATEGORIES= www
MASTER_SITES= LOCAL/dtxdf/${PORTNAME}/
DISTFILES= ${PORTNAME}-${DISTVERSION}.frontend${EXTRACT_SUFX}
@@ -34,7 +33,7 @@ PLIST_SUB= GROUP=${GROUPS:[1]} \
# Run 'git checkout ${DISTVERSIONPREFIX}${DISTVERSION} && git rev-parse HEAD'
# in the File Browser repository to get the value of GITID.
-GITID= 3d6c5152fe22a4a47783253a3506a2930b7b6be3
+GITID= e9bb3dc243eb64b2a7da1bd17feb26bd83e06216
FILEBROWSER_USER= ${PORTNAME}
FILEBROWSER_GROUP= ${FILEBROWSER_USER}
diff --git a/www/filebrowser/distinfo b/www/filebrowser/distinfo
index c5f63b723742..d1d34e3bbb2e 100644
--- a/www/filebrowser/distinfo
+++ b/www/filebrowser/distinfo
@@ -1,7 +1,7 @@
-TIMESTAMP = 1749425548
-SHA256 (go/www_filebrowser/filebrowser-filebrowser-v2.32.0_GH0/filebrowser-2.32.0.frontend.tar.gz) = 23bbc7ed38c938c4898f7c32ee723e3b43b9da31376b94b1950368675d67b073
-SIZE (go/www_filebrowser/filebrowser-filebrowser-v2.32.0_GH0/filebrowser-2.32.0.frontend.tar.gz) = 2285999
-SHA256 (go/www_filebrowser/filebrowser-filebrowser-v2.32.0_GH0/go.mod) = cf1d0745e69a807fc30e7a90b7c25817bdd0480d0606d6ade04af3eb9fbc3a19
-SIZE (go/www_filebrowser/filebrowser-filebrowser-v2.32.0_GH0/go.mod) = 3047
-SHA256 (go/www_filebrowser/filebrowser-filebrowser-v2.32.0_GH0/filebrowser-filebrowser-v2.32.0_GH0.tar.gz) = 61e9de6b2d396614f45be477e5bb5aad189e7bb1155a3f88800e02421bd6cc2b
-SIZE (go/www_filebrowser/filebrowser-filebrowser-v2.32.0_GH0/filebrowser-filebrowser-v2.32.0_GH0.tar.gz) = 3817831
+TIMESTAMP = 1750457619
+SHA256 (go/www_filebrowser/filebrowser-filebrowser-v2.33.0_GH0/filebrowser-2.33.0.frontend.tar.gz) = c9c248a907ca8f4f57e45af639fc9ba55bd173864494a87c8c58dc35543ea0bd
+SIZE (go/www_filebrowser/filebrowser-filebrowser-v2.33.0_GH0/filebrowser-2.33.0.frontend.tar.gz) = 2296094
+SHA256 (go/www_filebrowser/filebrowser-filebrowser-v2.33.0_GH0/go.mod) = 4eea2de6124a6eb2615ddf55b56dfa291dc0f9b2fd40f12c277164e60b612a7c
+SIZE (go/www_filebrowser/filebrowser-filebrowser-v2.33.0_GH0/go.mod) = 2796
+SHA256 (go/www_filebrowser/filebrowser-filebrowser-v2.33.0_GH0/filebrowser-filebrowser-v2.33.0_GH0.tar.gz) = ade96494e7a9e6381feec8b3bb3729287ca3bc449298ab63022a83be0f73ccba
+SIZE (go/www_filebrowser/filebrowser-filebrowser-v2.33.0_GH0/filebrowser-filebrowser-v2.33.0_GH0.tar.gz) = 4324098
diff --git a/www/forgejo/Makefile b/www/forgejo/Makefile
index ffc9ae4c1ee5..a54af4448ce2 100644
--- a/www/forgejo/Makefile
+++ b/www/forgejo/Makefile
@@ -1,7 +1,6 @@
PORTNAME= forgejo
DISTVERSIONPREFIX= v
-DISTVERSION= 11.0.1
-PORTREVISION= 1
+DISTVERSION= 11.0.2
CATEGORIES= www
MASTER_SITES= https://codeberg.org/forgejo/forgejo/releases/download/${DISTVERSIONPREFIX}${DISTVERSION}/
DISTNAME= forgejo-src-${DISTVERSION}
@@ -56,8 +55,8 @@ DAEMONARGS= -f
SUB_LIST+= DAEMONARGS="${DAEMONARGS}"
SSP_UNSAFE= true
-LDFLAGS+= "'-X "code.gitea.io/gitea/modules/setting.CustomPath=${PREFIX}/etc/forgejo"'"
-LDFLAGS+= "'-X "code.gitea.io/gitea/modules/setting.AppWorkPath=${PREFIX}/share/forgejo"'"
+LDFLAGS+= "'-X "forgejo.org/modules/setting.CustomPath=${PREFIX}/etc/forgejo"'" \
+ "'-X "forgejo.org/modules/setting.AppWorkPath=${PREFIX}/share/forgejo"'"
MAKE_ARGS= GOPATH=${WRKDIR} \
TAGS="${GO_TAGS}" \
GOFLAGS="-buildvcs=false"
diff --git a/www/forgejo/distinfo b/www/forgejo/distinfo
index 0e31c7002884..bc1a84164f32 100644
--- a/www/forgejo/distinfo
+++ b/www/forgejo/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1746741570
-SHA256 (forgejo-src-11.0.1.tar.gz) = b8ae645099821e978d096888d17d7e969b05b2b7576ae1d0f4850238305fedd6
-SIZE (forgejo-src-11.0.1.tar.gz) = 55352620
+TIMESTAMP = 1750496838
+SHA256 (forgejo-src-11.0.2.tar.gz) = de6646704769ae69e80feeb8aef0ae6fffad84602fc2d003a49c903e36f9d06d
+SIZE (forgejo-src-11.0.2.tar.gz) = 55477978
diff --git a/www/forgejo/files/app.ini.sample.in b/www/forgejo/files/app.ini.sample.in
index d625a9ebabab..b54e756578be 100644
--- a/www/forgejo/files/app.ini.sample.in
+++ b/www/forgejo/files/app.ini.sample.in
@@ -11,8 +11,9 @@
# choosing, INTERNAL_TOKEN is a 64-byte random number in BASE64 encoding,
# JWT_SECRET is a 32-byte random number in BASE64 encoding.
#
-# You can generate the token using for example:
-# openssl rand -base64 64
+# You can generate appropriate values using:
+# gitea generate secret [INTERNAL_TOKEN|JWT_SECRET|LFS_JWT_SECRET|SECRET_KEY]
+# and then copy that output to the appropriate place in this file.
#
# You can let Forgejo add these to the config for you; you need to make
# app.ini writeable by the git user.
diff --git a/www/forgejo/files/forgejo.in b/www/forgejo/files/forgejo.in
index 2879239c7d68..026fed82b0b2 100644
--- a/www/forgejo/files/forgejo.in
+++ b/www/forgejo/files/forgejo.in
@@ -52,7 +52,8 @@ forgejo_start() {
forgejo_prestart() {
if checkyesno forgejo_configcheck_enable; then
- if su -m ${forgejo_user} -c "%%PREFIX%%/sbin/${name} doctor check >/dev/null"; then
+ if su -m ${forgejo_user} -c "FORGEJO_CUSTOM=${forgejo_custom} \
+ %%PREFIX%%/sbin/${name} doctor check >/dev/null"; then
else
echo "cannot start ${name} because of configuration errors. Run" >&2
echo " su -m git -c '${name} doctor check'" >&2
diff --git a/www/forgejo/files/patch-pam b/www/forgejo/files/patch-pam
deleted file mode 100644
index 78e5366e887b..000000000000
--- a/www/forgejo/files/patch-pam
+++ /dev/null
@@ -1,115 +0,0 @@
---- vendor/github.com/msteinert/pam/v2/errors.go.orig 2025-05-02 07:02:58 UTC
-+++ vendor/github.com/msteinert/pam/v2/errors.go
-@@ -77,15 +77,6 @@ const (
- ErrAuthtokExpired Error = C.PAM_AUTHTOK_EXPIRED
- // ErrModuleUnknown indicates a module is not known.
- ErrModuleUnknown Error = C.PAM_MODULE_UNKNOWN
-- // ErrBadItem indicates a bad item passed to pam_*_item().
-- ErrBadItem Error = C.PAM_BAD_ITEM
-- // ErrConvAgain indicates a conversation function is event driven and data
-- // is not available yet.
-- ErrConvAgain Error = C.PAM_CONV_AGAIN
-- // ErrIncomplete indicates to please call this function again to complete
-- // authentication stack. Before calling again, verify that conversation
-- // is completed.
-- ErrIncomplete Error = C.PAM_INCOMPLETE
- )
-
- // Error returns the error message for the given status.
---- vendor/github.com/msteinert/pam/v2/errors_linux.go.orig 1970-01-01 00:00:00 UTC
-+++ vendor/github.com/msteinert/pam/v2/errors_linux.go
-@@ -0,0 +1,21 @@
-+//go:build linux
-+
-+package pam
-+
-+/*
-+#include <security/pam_appl.h>
-+*/
-+import "C"
-+
-+// Pam Return types
-+const (
-+ // ErrBadItem indicates a bad item passed to pam_*_item().
-+ ErrBadItem Error = C.PAM_BAD_ITEM
-+ // ErrConvAgain indicates a conversation function is event driven and data
-+ // is not available yet.
-+ ErrConvAgain Error = C.PAM_CONV_AGAIN
-+ // ErrIncomplete indicates to please call this function again to complete
-+ // authentication stack. Before calling again, verify that conversation
-+ // is completed.
-+ ErrIncomplete Error = C.PAM_INCOMPLETE
-+)
---- vendor/github.com/msteinert/pam/v2/transaction.c.orig 2025-05-02 07:02:58 UTC
-+++ vendor/github.com/msteinert/pam/v2/transaction.c
-@@ -47,15 +47,30 @@ void init_pam_conv(struct pam_conv *conv, uintptr_t ap
- conv->appdata_ptr = (void *)appdata;
- }
-
-+#ifdef OPENPAM
-+int pam_start_confdir(const char *service_name, const char *user, const struct pam_conv *pam_conversation,
-+ const char *confdir, pam_handle_t **pamh)
-+{
-+ if (pamh != NULL)
-+ *pamh = NULL;
-+
-+ return PAM_SYSTEM_ERR;
-+}
-+#else
- // pam_start_confdir is a recent PAM api to declare a confdir (mostly for
- // tests) weaken the linking dependency to detect if it’s present.
- int pam_start_confdir(const char *service_name, const char *user, const struct pam_conv *pam_conversation,
- const char *confdir, pam_handle_t **pamh) __attribute__((weak));
-+#endif
-
- int check_pam_start_confdir(void)
- {
-+#ifdef OPENPAM
-+ return 1;
-+#else
- if (pam_start_confdir == NULL)
- return 1;
-
- return 0;
-+#endif
- }
---- vendor/github.com/msteinert/pam/v2/transaction.go.orig 2025-05-02 07:02:58 UTC
-+++ vendor/github.com/msteinert/pam/v2/transaction.go
-@@ -257,14 +257,6 @@ const (
- Ruser Item = C.PAM_RUSER
- // UserPrompt is the string use to prompt for a username.
- UserPrompt Item = C.PAM_USER_PROMPT
-- // FailDelay is the app supplied function to override failure delays.
-- FailDelay Item = C.PAM_FAIL_DELAY
-- // Xdisplay is the X display name
-- Xdisplay Item = C.PAM_XDISPLAY
-- // Xauthdata is the X server authentication data.
-- Xauthdata Item = C.PAM_XAUTHDATA
-- // AuthtokType is the type for pam_get_authtok
-- AuthtokType Item = C.PAM_AUTHTOK_TYPE
- )
-
- // SetItem sets a PAM information item.
---- vendor/github.com/msteinert/pam/v2/transaction_linux.go.orig 1970-01-01 00:00:00 UTC
-+++ vendor/github.com/msteinert/pam/v2/transaction_linux.go
-@@ -0,0 +1,20 @@
-+//go:build linux
-+
-+package pam
-+
-+/*
-+#include <security/pam_appl.h>
-+*/
-+import "C"
-+
-+// PAM Item types.
-+const (
-+ // FailDelay is the app supplied function to override failure delays.
-+ FailDelay Item = C.PAM_FAIL_DELAY
-+ // Xdisplay is the X display name
-+ Xdisplay Item = C.PAM_XDISPLAY
-+ // Xauthdata is the X server authentication data.
-+ Xauthdata Item = C.PAM_XAUTHDATA
-+ // AuthtokType is the type for pam_get_authtok
-+ AuthtokType Item = C.PAM_AUTHTOK_TYPE
-+)
diff --git a/www/gitea/Makefile b/www/gitea/Makefile
index 37cb50915293..b378c3cc68f3 100644
--- a/www/gitea/Makefile
+++ b/www/gitea/Makefile
@@ -1,7 +1,6 @@
PORTNAME= gitea
DISTVERSIONPREFIX= v
-DISTVERSION= 1.23.8
-PORTREVISION= 1
+DISTVERSION= 1.24.2
CATEGORIES= www
MASTER_SITES= https://github.com/go-gitea/gitea/releases/download/${DISTVERSIONPREFIX}${DISTVERSION}/ \
https://dl.gitea.io/gitea/${DISTVERSION}/
@@ -68,13 +67,14 @@ do-install:
# Go binary is statically linked and cannot be stripped, so use
# INSTALL_SCRIPT.
${INSTALL_SCRIPT} ${WRKSRC}/gitea ${STAGEDIR}${PREFIX}/sbin
- @${MKDIR} ${STAGEDIR}${ETCDIR}/conf
+ ${MKDIR} ${STAGEDIR}${ETCDIR}/conf \
+ ${STAGEDIR}${DATADIR} \
+ ${STAGEDIR}/var/db/gitea \
+ ${STAGEDIR}/var/db/gitea/data \
+ ${STAGEDIR}/var/db/gitea/gitea-repositories \
+ ${STAGEDIR}/var/log/gitea
${INSTALL_DATA} ${WRKDIR}/app.ini.sample ${STAGEDIR}${ETCDIR}/conf/app.ini.sample
${INSTALL_DATA} ${WRKSRC}/custom/conf/app.example.ini ${STAGEDIR}${ETCDIR}/conf/app.ini.defaults
- ${MKDIR} ${STAGEDIR}${DATADIR}
- ${MKDIR} ${STAGEDIR}/var/db/gitea
- ${MKDIR} ${STAGEDIR}/var/db/gitea/gitea-repositories
- ${MKDIR} ${STAGEDIR}/var/log/gitea
do-install-BINDATA-off:
cd ${WRKSRC} && ${COPYTREE_SHARE} "options public templates" ${STAGEDIR}${DATADIR}
diff --git a/www/gitea/distinfo b/www/gitea/distinfo
index cff6db15cdc5..e0a6d99a3873 100644
--- a/www/gitea/distinfo
+++ b/www/gitea/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1747455860
-SHA256 (gitea-src-1.23.8.tar.gz) = 0ff96c1b7cc0960b5b9d34bd978cedc0f856a168654838bdef3551621f049717
-SIZE (gitea-src-1.23.8.tar.gz) = 55482190
+TIMESTAMP = 1750493495
+SHA256 (gitea-src-1.24.2.tar.gz) = 1015496a01a95821faaefce1d422ecdd98f62bc609efbeb43608772612ceeeff
+SIZE (gitea-src-1.24.2.tar.gz) = 51769357
diff --git a/www/gitea/pkg-plist b/www/gitea/pkg-plist
index acab89e7b63f..e7dfdadde2ad 100644
--- a/www/gitea/pkg-plist
+++ b/www/gitea/pkg-plist
@@ -2,5 +2,6 @@
%%ETCDIR%%/conf/app.ini.defaults
sbin/gitea
@dir(git,git,755) /var/db/gitea
+@dir(git,git,755) /var/db/gitea/data
@dir(git,git,755) /var/db/gitea/gitea-repositories
@dir(git,git,755) /var/log/gitea
diff --git a/www/gohugo/Makefile b/www/gohugo/Makefile
index fe19765bb7f2..9a0364dcd7dd 100644
--- a/www/gohugo/Makefile
+++ b/www/gohugo/Makefile
@@ -1,6 +1,6 @@
PORTNAME= hugo
DISTVERSIONPREFIX= v
-DISTVERSION= 0.147.8
+DISTVERSION= 0.147.9
PORTEPOCH= 1
CATEGORIES= www
PKGNAMEPREFIX= go
diff --git a/www/gohugo/distinfo b/www/gohugo/distinfo
index e17f758d92ab..70113b1e84c0 100644
--- a/www/gohugo/distinfo
+++ b/www/gohugo/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1749312666
-SHA256 (go/www_gohugo/hugo-v0.147.8/v0.147.8.mod) = 00002217d88c82951763c20a152ac780bcd1ac15e015fd28a783fd3f9b4596a6
-SIZE (go/www_gohugo/hugo-v0.147.8/v0.147.8.mod) = 8200
-SHA256 (go/www_gohugo/hugo-v0.147.8/v0.147.8.zip) = adff8f43cdadb98aae7e682cdb52ed193645cc56b566e99e585e11d1f7711d09
-SIZE (go/www_gohugo/hugo-v0.147.8/v0.147.8.zip) = 5742317
+TIMESTAMP = 1750673799
+SHA256 (go/www_gohugo/hugo-v0.147.9/v0.147.9.mod) = 4eabefe3f49be65e019641fd5bfdea1e982365f77f1d6f905a9380f630bc4885
+SIZE (go/www_gohugo/hugo-v0.147.9/v0.147.9.mod) = 9177
+SHA256 (go/www_gohugo/hugo-v0.147.9/v0.147.9.zip) = 2dd3bada71c54f7e1067eaf657f68bd2c3ad289d86b33af273bd7504b28709e4
+SIZE (go/www_gohugo/hugo-v0.147.9/v0.147.9.zip) = 5744318
diff --git a/www/kanboard/Makefile b/www/kanboard/Makefile
index 40fe830dbedf..714e3b475041 100644
--- a/www/kanboard/Makefile
+++ b/www/kanboard/Makefile
@@ -1,6 +1,6 @@
PORTNAME= kanboard
DISTVERSIONPREFIX= v
-DISTVERSION= 1.2.44
+DISTVERSION= 1.2.46
CATEGORIES= www
PKGNAMEPREFIX= ${PHP_PKGNAMEPREFIX}
diff --git a/www/kanboard/distinfo b/www/kanboard/distinfo
index c8a315548ba6..232ff24da907 100644
--- a/www/kanboard/distinfo
+++ b/www/kanboard/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1742990146
-SHA256 (kanboard-kanboard-v1.2.44_GH0.tar.gz) = 9ac51f7107797f0585dba1cba08097dd5a5d5855eaa5cfc92aba6cdf3b1de854
-SIZE (kanboard-kanboard-v1.2.44_GH0.tar.gz) = 3437081
+TIMESTAMP = 1750784344
+SHA256 (kanboard-kanboard-v1.2.46_GH0.tar.gz) = d6aede6535328065a93fd8e851eda421f6f565d25a5dbb973e6e026a5cf4a0ef
+SIZE (kanboard-kanboard-v1.2.46_GH0.tar.gz) = 3489423
diff --git a/www/kanboard/pkg-plist b/www/kanboard/pkg-plist
index 350e2fd465b1..0ef8898817eb 100644
--- a/www/kanboard/pkg-plist
+++ b/www/kanboard/pkg-plist
@@ -1,5 +1,6 @@
%%WWWDIR%%/.devcontainer/devcontainer.json
%%WWWDIR%%/.htaccess
+%%WWWDIR%%/CONTRIBUTING.md
%%WWWDIR%%/ChangeLog
%%WWWDIR%%/LICENSE
%%WWWDIR%%/app/.htaccess
@@ -524,6 +525,7 @@
%%WWWDIR%%/app/Model/ActionParameterModel.php
%%WWWDIR%%/app/Model/AvatarFileModel.php
%%WWWDIR%%/app/Model/BoardModel.php
+%%WWWDIR%%/app/Model/CaptchaModel.php
%%WWWDIR%%/app/Model/CategoryModel.php
%%WWWDIR%%/app/Model/ColorModel.php
%%WWWDIR%%/app/Model/ColumnModel.php
@@ -1071,9 +1073,13 @@
%%WWWDIR%%/custom-hooks/post-checkout
%%WWWDIR%%/data/.htaccess
%%WWWDIR%%/data/web.config
+%%WWWDIR%%/docker-compose.mysql.yml
+%%WWWDIR%%/docker-compose.postgres.yml
+%%WWWDIR%%/docker-compose.sqlite.yml
%%WWWDIR%%/favicon.ico
%%WWWDIR%%/index.php
%%WWWDIR%%/jsonrpc.php
+%%WWWDIR%%/healthcheck.php
%%WWWDIR%%/libs/Captcha/CaptchaBuilder.php
%%WWWDIR%%/libs/Captcha/CaptchaBuilderInterface.php
%%WWWDIR%%/libs/Captcha/Font/captcha0.ttf
diff --git a/www/miniflux/Makefile b/www/miniflux/Makefile
index 18ff1a9ce717..946913892d3c 100644
--- a/www/miniflux/Makefile
+++ b/www/miniflux/Makefile
@@ -1,6 +1,5 @@
PORTNAME= miniflux
-DISTVERSION= 2.2.9
-PORTREVISION= 1
+DISTVERSION= 2.2.10
CATEGORIES= www
MAINTAINER= krion@FreeBSD.org
diff --git a/www/miniflux/distinfo b/www/miniflux/distinfo
index cc35d2788562..c63bd2cd1c90 100644
--- a/www/miniflux/distinfo
+++ b/www/miniflux/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1748337301
-SHA256 (go/www_miniflux/miniflux-v2-2.2.9_GH0/go.mod) = be1d1c8678fa839211c7b306c39146a7bd6475276c051eb6091db29e29893179
-SIZE (go/www_miniflux/miniflux-v2-2.2.9_GH0/go.mod) = 1529
-SHA256 (go/www_miniflux/miniflux-v2-2.2.9_GH0/miniflux-v2-2.2.9_GH0.tar.gz) = 7735912fbb232fd588f16528ead4b3a7e5bd02688827120316ba5c60f5fc0bcd
-SIZE (go/www_miniflux/miniflux-v2-2.2.9_GH0/miniflux-v2-2.2.9_GH0.tar.gz) = 823133
+TIMESTAMP = 1750749975
+SHA256 (go/www_miniflux/miniflux-v2-2.2.10_GH0/go.mod) = 0d545fcf2e12aa37d744743c80ff85afeae8954e0deb983ac74a68d0de286f58
+SIZE (go/www_miniflux/miniflux-v2-2.2.10_GH0/go.mod) = 1529
+SHA256 (go/www_miniflux/miniflux-v2-2.2.10_GH0/miniflux-v2-2.2.10_GH0.tar.gz) = a216b93a32d14a7a6ca48fd7f5e86b8a4e8c58b1bf5d83fc4d3aacaaaf4e6a48
+SIZE (go/www_miniflux/miniflux-v2-2.2.10_GH0/miniflux-v2-2.2.10_GH0.tar.gz) = 835514
diff --git a/www/nginx-devel/Makefile b/www/nginx-devel/Makefile
index 16871c36cc9a..cd1f17a6c250 100644
--- a/www/nginx-devel/Makefile
+++ b/www/nginx-devel/Makefile
@@ -1,6 +1,5 @@
PORTNAME?= nginx
-PORTVERSION= 1.28.0
-PORTREVISION= 8
+PORTVERSION= 1.29.0
CATEGORIES= www
MASTER_SITES= https://nginx.org/download/ \
LOCAL/osa
diff --git a/www/nginx-devel/distinfo b/www/nginx-devel/distinfo
index 82683323f56a..57f090a2a1d3 100644
--- a/www/nginx-devel/distinfo
+++ b/www/nginx-devel/distinfo
@@ -1,6 +1,6 @@
-TIMESTAMP = 1748378886
-SHA256 (nginx-1.28.0.tar.gz) = c6b5c6b086c0df9d3ca3ff5e084c1d0ef909e6038279c71c1c3e985f576ff76a
-SIZE (nginx-1.28.0.tar.gz) = 1280111
+TIMESTAMP = 1750864974
+SHA256 (nginx-1.29.0.tar.gz) = 109754dfe8e5169a7a0cf0db6718e7da2db495753308f933f161e525a579a664
+SIZE (nginx-1.29.0.tar.gz) = 1284291
SHA256 (nginx_mogilefs_module-1.0.4.tar.gz) = 7ac230d30907f013dff8d435a118619ea6168aa3714dba62c6962d350c6295ae
SIZE (nginx_mogilefs_module-1.0.4.tar.gz) = 11208
SHA256 (osokin-ngx_http_redis-0.4.0_GH0.tar.gz) = e5b699243035575cb8ffcd26fc3a8287bcd11ff414e30fd0a52c96729fd22d0d
diff --git a/www/onionshare/Makefile b/www/onionshare/Makefile
deleted file mode 100644
index 5e8720156125..000000000000
--- a/www/onionshare/Makefile
+++ /dev/null
@@ -1,74 +0,0 @@
-PORTNAME= onionshare
-DISTVERSIONPREFIX=v
-DISTVERSION= 2.6
-PORTREVISION= 5
-CATEGORIES= www security python
-PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
-
-MAINTAINER= egypcio@FreeBSD.org
-COMMENT= Secure and anonymous file sharing via Tor
-WWW= https://onionshare.org
-
-LICENSE= GPLv3
-LICENSE_FILE= ${WRKSRC}/LICENSE
-
-DEPRECATED= Depends on expired devel/py-atomicwrites
-EXPIRATION_DATE=2025-06-21
-
-RUN_DEPENDS= meek-client:security/meek \
- obfs4proxy:security/obfs4proxy-tor \
- snowflake-client:security/snowflake-tor \
- tor:security/tor \
- ${PYTHON_PKGNAMEPREFIX}Flask-HTTPAuth>=0:security/py-flask-httpauth@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}flask>=0:www/py-flask@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}atomicwrites>=0:devel/py-atomicwrites@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}cepa>=0:net/py-cepa@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}certifi>=0:security/py-certifi@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}click>=0:devel/py-click@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}colorama>=0:devel/py-colorama@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}eventlet>=0:net/py-eventlet@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}flask-socketio>=0:www/py-flask-socketio@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}gevent-websocket>=0:www/py-gevent-websocket@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}onionshare-cli>=0:www/onionshare-cli@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}psutil>=0:sysutils/py-psutil@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}pycryptodome>=0:security/py-pycryptodome@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}pynacl>=0:security/py-pynacl@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}pyside2>=0:devel/pyside2@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}pysocks>=0:net/py-pysocks@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}qrcode>=0:textproc/py-qrcode@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}requests>=0:www/py-requests@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}shiboken2>=0:devel/shiboken2@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}unidecode>=0:converters/py-unidecode@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}urllib3>=0:net/py-urllib3@${PY_FLAVOR}
-TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pytest>=0:devel/py-pytest@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}pytest-qt>=0:devel/py-pytest-qt@${PY_FLAVOR}
-
-USES= cpe python qt:5 shebangfix xorg
-USE_GITHUB= yes
-USE_PYTHON= distutils autoplist
-USE_XORG= x11 xcb
-
-PYSETUP= ${WRKSRC}/desktop/setup.py
-SHEBANG_FILES= ${WRKSRC}/cli/*.py \
- ${WRKSRC}/cli/onionshare_cli/*.py \
- ${WRKSRC}/cli/tests/*.py \
- ${WRKSRC}/desktop/*.py \
- ${WRKSRC}/desktop/scripts/*.py \
- ${WRKSRC}/desktop/tests/*.py
-
-post-patch:
- ${RLN} ${WRKSRC}/cli/onionshare_cli ${WRKSRC}/onionshare-cli
- ${RLN} ${WRKSRC}/desktop/onionshare ${WRKSRC}/onionshare
- ${REINPLACE_CMD} 's|"onionshare-cli = onionshare_cli:main",||' ${PYSETUP}
- ${RM} ${WRKSRC}/desktop/package/onionshare-cli.py
-
-# https://github.com/onionshare/onionshare/blob/main/desktop/tests/run.sh
-do-test:
- cd ${WRKSRC}/desktop \
- && ${PYTHON_CMD} -m pytest -v tests/test_gui_tabs.py \
- && ${PYTHON_CMD} -m pytest -v tests/test_gui_share.py \
- && ${PYTHON_CMD} -m pytest -v tests/test_gui_receive.py \
- && ${PYTHON_CMD} -m pytest -v tests/test_gui_website.py \
- && ${PYTHON_CMD} -m pytest -v tests/test_gui_chat.py
-
-.include <bsd.port.mk>
diff --git a/www/onionshare/distinfo b/www/onionshare/distinfo
deleted file mode 100644
index b7e5b197c795..000000000000
--- a/www/onionshare/distinfo
+++ /dev/null
@@ -1,3 +0,0 @@
-TIMESTAMP = 1672155861
-SHA256 (onionshare-onionshare-v2.6_GH0.tar.gz) = 40006a612a90bf31df697936c26e8dca16384bc8c7ef084ef7b1a21651c84304
-SIZE (onionshare-onionshare-v2.6_GH0.tar.gz) = 8106401
diff --git a/www/onionshare/pkg-descr b/www/onionshare/pkg-descr
deleted file mode 100644
index 7854ecffd9b7..000000000000
--- a/www/onionshare/pkg-descr
+++ /dev/null
@@ -1,8 +0,0 @@
-OnionShare is an open source tool that lets you securely and anonymously
-share a file of any size over the Tor network. It works by starting a web
-server that is accessible as a Tor onion (hidden) service, and generating
-an unguessable URL to access and download the files.
-
-It doesn't require setting up a server on the Internet somewhere,
-on a Virtual Private Server (VPS), or using a third party file-sharing
-service. It simply shares files you want over the Tor network.
diff --git a/www/peersuite/Makefile b/www/peersuite/Makefile
index 80c23390a015..64e62a0a1659 100644
--- a/www/peersuite/Makefile
+++ b/www/peersuite/Makefile
@@ -1,5 +1,5 @@
PORTNAME= peersuite
-DISTVERSION= 0.0.4
+DISTVERSION= 1.0
CATEGORIES= www
MAINTAINER= dtxdf@FreeBSD.org
@@ -19,7 +19,9 @@ SUB_FILES= pkg-message
do-install:
@${MKDIR} ${STAGEDIR}${WWWDIR}
- @cd ${WRKSRC}/src && ${COPYTREE_SHARE} . ${STAGEDIR}${WWWDIR} "-name *\.js -or -name *\.html -or -name *\.css"
- @${INSTALL_DATA} ${WRKSRC}/peerspace.png ${STAGEDIR}${WWWDIR}
+ @cd ${WRKSRC}/src && ${COPYTREE_SHARE} . ${STAGEDIR}${WWWDIR} "-name *\.js -or -name *\.html -or -name *\.css -depth 1"
+ @${MKDIR} ${STAGEDIR}${WWWDIR}/themes
+ @cd ${WRKSRC}/src/themes && ${COPYTREE_SHARE} . ${STAGEDIR}${WWWDIR}/themes "-name *\.css -or -name *\.json"
+ ${INSTALL_DATA} ${WRKSRC}/peerspace.png ${STAGEDIR}${WWWDIR}
.include <bsd.port.mk>
diff --git a/www/peersuite/distinfo b/www/peersuite/distinfo
index 66266d458991..2fb7beecf894 100644
--- a/www/peersuite/distinfo
+++ b/www/peersuite/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1750189169
-SHA256 (openconstruct-Peersuite-0.0.4_GH0.tar.gz) = d1df577996edc13a1dec8cdb65c10f205124459c69f60263a7264f6c8b7fd3fc
-SIZE (openconstruct-Peersuite-0.0.4_GH0.tar.gz) = 2324474
+TIMESTAMP = 1750799776
+SHA256 (openconstruct-Peersuite-1.0_GH0.tar.gz) = dbe1feffe4a0aad0a96c1fee5849a3b1bfd0c0306acebc0cb800a6f9a316145c
+SIZE (openconstruct-Peersuite-1.0_GH0.tar.gz) = 2329352
diff --git a/www/peersuite/pkg-plist b/www/peersuite/pkg-plist
index a721114ccd2f..e911aac7f3da 100644
--- a/www/peersuite/pkg-plist
+++ b/www/peersuite/pkg-plist
@@ -1,10 +1,15 @@
%%WWWDIR%%/document.js
%%WWWDIR%%/index.html
%%WWWDIR%%/kanban.js
+%%WWWDIR%%/main-styles.css
%%WWWDIR%%/main.js
%%WWWDIR%%/media.js
%%WWWDIR%%/peerspace.png
%%WWWDIR%%/share.js
-%%WWWDIR%%/style.css
+%%WWWDIR%%/themes/dark.css
+%%WWWDIR%%/themes/example.css
+%%WWWDIR%%/themes/light.css
+%%WWWDIR%%/themes/material.css
+%%WWWDIR%%/themes/themes.json
%%WWWDIR%%/trystero-torrent.min.js
%%WWWDIR%%/whiteboard.js
diff --git a/www/plasma6-plasma-browser-integration/distinfo b/www/plasma6-plasma-browser-integration/distinfo
index 3b2a192f2017..a6dcc022e175 100644
--- a/www/plasma6-plasma-browser-integration/distinfo
+++ b/www/plasma6-plasma-browser-integration/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1750010502
-SHA256 (KDE/plasma/6.4.0/plasma-browser-integration-6.4.0.tar.xz) = 147e0b8b105e47ca3fc694dd2d86ecbeaa7c3c315d8bf3da0d4b6e35a829e7a4
-SIZE (KDE/plasma/6.4.0/plasma-browser-integration-6.4.0.tar.xz) = 233024
+TIMESTAMP = 1750789621
+SHA256 (KDE/plasma/6.4.1/plasma-browser-integration-6.4.1.tar.xz) = 7aa0d8c0c722e9f763baef5c153a7f882f490dbcf99563d04727b759c5c2d634
+SIZE (KDE/plasma/6.4.1/plasma-browser-integration-6.4.1.tar.xz) = 233020
diff --git a/www/pocket-id/Makefile b/www/pocket-id/Makefile
new file mode 100644
index 000000000000..641ca2d03c15
--- /dev/null
+++ b/www/pocket-id/Makefile
@@ -0,0 +1,39 @@
+PORTNAME= pocket-id
+DISTVERSIONPREFIX= v
+DISTVERSION= 1.4.0
+CATEGORIES= www
+MASTER_SITES= LOCAL/dtxdf/${PORTNAME}/
+DISTFILES= ${PORTNAME}-${DISTVERSION}.frontend${EXTRACT_SUFX}
+
+MAINTAINER= dtxdf@FreeBSD.org
+COMMENT= OIDC provider that allows users to authenticate with their passkeys
+WWW= https://pocket-id.org
+
+LICENSE= BSD2CLAUSE
+
+USES= go:modules
+USE_GITHUB= yes
+USE_RC_SUBR= ${PORTNAME}
+
+GO_MOD_DIST= github
+GO_MODULE= https://github.com/pocket-id/${PORTNAME}
+GO_TARGET= ./cmd:${PORTNAME}
+GO_BUILDFLAGS= -ldflags "-X github.com/pocket-id/pocket-id/backend/internal/common.Version=${DISTVERSION} -buildid=${DISTVERSION}"
+
+SUB_FILES= pkg-message
+SUB_LIST= USER=${USERS:[1]}
+
+WRKSRC_SUBDIR= backend
+
+USERS= ${POCKET_ID_USER}
+GROUPS= ${POCKET_ID_GROUP}
+
+PLIST_FILES= bin/${PORTNAME}
+
+POCKET_ID_USER= ${PORTNAME}
+POCKET_ID_GROUP= ${POCKET_ID_USER}
+
+pre-build:
+ @cd ${WRKDIR}/pocket-id-frontend && ${COPYTREE_SHARE} . ${WRKSRC}/frontend/dist
+
+.include <bsd.port.mk>
diff --git a/www/pocket-id/distinfo b/www/pocket-id/distinfo
new file mode 100644
index 000000000000..dea750785956
--- /dev/null
+++ b/www/pocket-id/distinfo
@@ -0,0 +1,7 @@
+TIMESTAMP = 1750475934
+SHA256 (go/www_pocket-id/pocket-id-pocket-id-v1.4.0_GH0/pocket-id-1.4.0.frontend.tar.gz) = 28d9a1e390d4caa1d210fb1cd36c2f2839d89e82905e88953847b18a25aeb44d
+SIZE (go/www_pocket-id/pocket-id-pocket-id-v1.4.0_GH0/pocket-id-1.4.0.frontend.tar.gz) = 940695
+SHA256 (go/www_pocket-id/pocket-id-pocket-id-v1.4.0_GH0/go.mod) = 746b88f292ef6becb08abe2aa09185c44bf44d7679e281534821b0d8cfc4828c
+SIZE (go/www_pocket-id/pocket-id-pocket-id-v1.4.0_GH0/go.mod) = 6612
+SHA256 (go/www_pocket-id/pocket-id-pocket-id-v1.4.0_GH0/pocket-id-pocket-id-v1.4.0_GH0.tar.gz) = ad76903ab02cd739fb3171df8d18a3192b131dc55dd52fe223634c79d9d82f53
+SIZE (go/www_pocket-id/pocket-id-pocket-id-v1.4.0_GH0/pocket-id-pocket-id-v1.4.0_GH0.tar.gz) = 5506002
diff --git a/www/pocket-id/files/pkg-message.in b/www/pocket-id/files/pkg-message.in
new file mode 100644
index 000000000000..f97cc825952b
--- /dev/null
+++ b/www/pocket-id/files/pkg-message.in
@@ -0,0 +1,17 @@
+[
+{ type: install
+ message: <<EOM
+Pocket ID is installed
+
+1) Configure it in %%PREFIX%%/etc/pocket-id.env
+
+2) Enable it with
+
+ sysrc pocket_id_enable=YES
+
+3) Start it with
+
+ service pocket-id start
+EOM
+}
+]
diff --git a/www/pocket-id/files/pocket-id.in b/www/pocket-id/files/pocket-id.in
new file mode 100644
index 000000000000..04a26a82a74e
--- /dev/null
+++ b/www/pocket-id/files/pocket-id.in
@@ -0,0 +1,36 @@
+#!/bin/sh
+
+# PROVIDE: pocket_id
+# REQUIRE: LOGIN
+# KEYWORD: shutdown
+#
+# Configuration settings for pocket-id in /etc/rc.conf
+#
+# pocket_id_enable (bool): Enable pocket-id. (Default=NO)
+# pocket_id_env_file (str): Path containing the environment variables
+# to be used by pocket-id. (Default: /usr/local/etc/pocket-id.env)
+# pocket_id_logfile (str): Log file used to store the pocket-id's output. (Default: /var/log/pocket-id.log)
+# pocket_id_pidfile (str): File used by pocket-id to store the process ID. (Default: /var/run/pocket-id.pid)
+# pocket_id_runas (str): User to run pocket-id as. (Default: %%USER%%)
+
+. /etc/rc.subr
+
+name="pocket_id"
+desc="OIDC provider that allows users to authenticate with their passkeys"
+rcvar="pocket_id_enable"
+
+load_rc_config $name
+
+: ${pocket_id_enable:="NO"}
+: ${pocket_id_env_file:="/usr/local/etc/pocket-id.env"}
+: ${pocket_id_logfile:="/var/log/pocket-id.log"}
+: ${pocket_id_pidfile:="/var/run/pocket-id.pid"}
+: ${pocket_id_runas:="%%USER%%"}
+
+pocket_id_chdir="/var/db/pocket-id"
+pidfile="${pocket_id_pidfile}"
+procname="/usr/local/bin/pocket-id"
+command="/usr/sbin/daemon"
+command_args="-o '${pocket_id_logfile}' -p '${pidfile}' -u '${pocket_id_runas}' -t '${desc}' -- '${procname}'"
+
+run_rc_command "$1"
diff --git a/www/pocket-id/pkg-descr b/www/pocket-id/pkg-descr
new file mode 100644
index 000000000000..904737283fae
--- /dev/null
+++ b/www/pocket-id/pkg-descr
@@ -0,0 +1,13 @@
+Pocket ID is a simple OIDC provider that allows users to authenticate
+with their passkeys to your services.
+
+The goal of Pocket ID is to be a simple and easy-to-use. There are
+other self-hosted OIDC providers like Keycloak or ORY Hydra but
+they are often too complex for simple use cases.
+
+Additionally, what makes Pocket ID special is that it only supports
+passkey authentication, which means you don't need a password. Some
+people might not like this idea at first, but I believe passkeys
+are the future, and once you try them, you'll love them. For example,
+you can now use a physical Yubikey to sign in to all your self-hosted
+services easily and securely
diff --git a/www/proxygen/Makefile b/www/proxygen/Makefile
index bfac42b5c57e..f0a1a711d4ba 100644
--- a/www/proxygen/Makefile
+++ b/www/proxygen/Makefile
@@ -1,6 +1,6 @@
PORTNAME= proxygen
DISTVERSIONPREFIX= v
-DISTVERSION= 2025.06.16.00
+DISTVERSION= 2025.06.23.00
CATEGORIES= www
MAINTAINER= yuri@FreeBSD.org
diff --git a/www/proxygen/distinfo b/www/proxygen/distinfo
index 245c9fe77485..2a120c3bc754 100644
--- a/www/proxygen/distinfo
+++ b/www/proxygen/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1750093330
-SHA256 (facebook-proxygen-v2025.06.16.00_GH0.tar.gz) = 0d3fca76e727fc435ca6154487ad33f99a1593cc78175b2d78d3c1bf806c3cc8
-SIZE (facebook-proxygen-v2025.06.16.00_GH0.tar.gz) = 1224534
+TIMESTAMP = 1750695890
+SHA256 (facebook-proxygen-v2025.06.23.00_GH0.tar.gz) = 8bf67f46b831f9e5a7f633201500dbdd3a763a7798c6aa2a1f7edbaf0dfcb95f
+SIZE (facebook-proxygen-v2025.06.23.00_GH0.tar.gz) = 1224435
diff --git a/www/py-binarycookies/Makefile b/www/py-binarycookies/Makefile
new file mode 100644
index 000000000000..4a76b5bfd247
--- /dev/null
+++ b/www/py-binarycookies/Makefile
@@ -0,0 +1,26 @@
+PORTNAME= binarycookies
+PORTVERSION= 2.1.5
+CATEGORIES= www python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= danfe@FreeBSD.org
+COMMENT= Binary cookies (de)serializer written in Python
+WWW= https://pypi.org/project/binarycookies/
+
+LICENSE= MIT
+
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pydantic>=0:devel/py-pydantic@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}typer>=0.12.3:devel/py-typer@${PY_FLAVOR}
+
+USES= python
+USE_PYTHON= autoplist distutils
+
+NO_ARCH= yes
+
+post-patch:
+# Do not pick up leftovers (*.orig files etc.) when making the package
+ @${REINPLACE_CMD} -e '/^package_data =/,+1s,\*,&.py,' \
+ ${WRKSRC}/${PYSETUP}
+
+.include <bsd.port.mk>
diff --git a/www/py-binarycookies/distinfo b/www/py-binarycookies/distinfo
new file mode 100644
index 000000000000..90ad5f5508ac
--- /dev/null
+++ b/www/py-binarycookies/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1744141848
+SHA256 (binarycookies-2.1.5.tar.gz) = ff28a8e90e6ba02bc82fb2ff0d1d9a4a3be1ee9289a58f74a653d264928a31f3
+SIZE (binarycookies-2.1.5.tar.gz) = 8448
diff --git a/www/py-binarycookies/files/patch-src_binarycookies_____main____.py b/www/py-binarycookies/files/patch-src_binarycookies_____main____.py
new file mode 100644
index 000000000000..da43dac8dabd
--- /dev/null
+++ b/www/py-binarycookies/files/patch-src_binarycookies_____main____.py
@@ -0,0 +1,49 @@
+--- src/binarycookies/__main__.py.orig 2025-04-08 19:50:17 UTC
++++ src/binarycookies/__main__.py
+@@ -5,6 +5,8 @@ from sys import stdout
+ from typing import Type
+
+ import typer
++# https://github.com/Textualize/rich/issues/271
++println = print
+ from rich import print
+
+ from binarycookies import load
+@@ -20,6 +22,7 @@ class DateTimeEncoder(json.JSONEncoder):
+ class OutputType(str, Enum):
+ json = "json"
+ ascii = "ascii"
++ netscape = "netscape"
+
+
+ def cli(file_path: str, output: str = "json"):
+@@ -27,7 +30,7 @@ def cli(file_path: str, output: str = "json"):
+ with open(file_path, "rb") as f:
+ cookies = load(f)
+ if output == OutputType.json:
+- json.dump([cookie.model_dump() for cookie in cookies], indent=2, cls=DateTimeEncoder, fp=stdout)
++ json.dump([cookie.dict() for cookie in cookies], indent=2, cls=DateTimeEncoder, fp=stdout)
+ elif output == OutputType.ascii:
+ for cookie in cookies:
+ print(f"Name: {cookie.name}")
+@@ -38,6 +41,20 @@ def cli(file_path: str, output: str = "json"):
+ print(f"Expires: {cookie.expiry_datetime.isoformat()}")
+ print(f"Flag: {cookie.flag.value}")
+ print("-" * 40)
++ elif output == OutputType.netscape:
++ # http://www.cookiecentral.com/faq/#3.5
++ println("# Netscape HTTP Cookie File")
++ for cookie in cookies:
++ println("%(domain)s\t%(flag)s\t%(path)s\t%(secure)s\t%(expiry)d\t%(name)s\t%(value)s" % dict(
++ domain = cookie.url,
++ flag = str(cookie.url.startswith('.')).upper(),
++ path = cookie.path,
++ secure = str('Secure' in cookie.flag.value).upper(),
++ expiry = cookie.expiry_datetime.timestamp(),
++ name = cookie.name,
++ value = cookie.value))
++ else:
++ print(f"Unsupported output format, can only do {', '.join('[green]%s[/green]' % ot.name for ot in OutputType)}.")
+
+
+ def main():
diff --git a/www/py-binarycookies/files/patch-src_binarycookies___deserialize.py b/www/py-binarycookies/files/patch-src_binarycookies___deserialize.py
new file mode 100644
index 000000000000..3aec2539907c
--- /dev/null
+++ b/www/py-binarycookies/files/patch-src_binarycookies___deserialize.py
@@ -0,0 +1,21 @@
+--- src/binarycookies/_deserialize.py.orig 2025-04-08 19:50:17 UTC
++++ src/binarycookies/_deserialize.py
+@@ -1,6 +1,7 @@
+ from datetime import datetime, timezone
+ from io import BytesIO
+ from struct import unpack
++from sys import maxsize
+ from typing import BinaryIO, List, Union
+
+ from binarycookies.models import (
+@@ -28,7 +29,9 @@ def interpret_flag(flags: int) -> Flag:
+
+ def mac_epoch_to_date(epoch: int) -> datetime:
+ """Converts a mac epoch time to a datetime object."""
+- return datetime.fromtimestamp(epoch + 978307200, tz=timezone.utc)
++ unix_epoch = epoch + 978307200
++ if unix_epoch > maxsize: unix_epoch = maxsize
++ return datetime.fromtimestamp(unix_epoch, tz=timezone.utc)
+
+
+ def read_string(data: BytesIO, size: int) -> str:
diff --git a/www/py-binarycookies/pkg-descr b/www/py-binarycookies/pkg-descr
new file mode 100644
index 000000000000..e53f18a363c9
--- /dev/null
+++ b/www/py-binarycookies/pkg-descr
@@ -0,0 +1,6 @@
+Python library and command-line tool for reading and writing binary
+cookies files used by Apple's Safari web browser on macOS and iOS.
+
+The `bcparser' program supports three output types: JSON (default),
+ASCII (line-by-line text format), and Netscape legacy `cookies.txt'
+format used by popular tools such as curl, wget, yt-dlp, and others.
diff --git a/www/py-bottle/Makefile b/www/py-bottle/Makefile
index ebdfd53670f5..73a9eb31cbf6 100644
--- a/www/py-bottle/Makefile
+++ b/www/py-bottle/Makefile
@@ -1,6 +1,5 @@
PORTNAME= bottle
-PORTVERSION= 0.12.25
-PORTREVISION= 1
+PORTVERSION= 0.13.4
CATEGORIES= www python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/www/py-bottle/distinfo b/www/py-bottle/distinfo
index 2ffc1fbdc4d8..ea47ebbd5ed5 100644
--- a/www/py-bottle/distinfo
+++ b/www/py-bottle/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1678036182
-SHA256 (bottle-0.12.25.tar.gz) = e1a9c94970ae6d710b3fb4526294dfeb86f2cb4a81eff3a4b98dc40fb0e5e021
-SIZE (bottle-0.12.25.tar.gz) = 74231
+TIMESTAMP = 1750836079
+SHA256 (bottle-0.13.4.tar.gz) = 787e78327e12b227938de02248333d788cfe45987edca735f8f88e03472c3f47
+SIZE (bottle-0.13.4.tar.gz) = 98717
diff --git a/www/py-calibreweb/Makefile b/www/py-calibreweb/Makefile
index d3a749663e24..28c904020d37 100644
--- a/www/py-calibreweb/Makefile
+++ b/www/py-calibreweb/Makefile
@@ -1,6 +1,6 @@
PORTNAME= calibreweb
PORTVERSION= 0.6.24
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= www python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
@@ -99,7 +99,7 @@ GDRIVE_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}gevent>=0:devel/py-gevent@${PY_FLAVOR
${PYTHON_PKGNAMEPREFIX}uritemplate>=0:net/py-uritemplate@${PY_FLAVOR}
GMAIL_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}google-api-python-client>=0:www/py-google-api-python-client@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}google-auth-oauthlib>=0:security/py-google-auth-oauthlib@${PY_FLAVOR}
-GREADS_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}Goodreads>=0:devel/py-goodreads@${PY_FLAVOR} \
+GREADS_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}goodreads>=0:devel/py-goodreads@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}Levenshtein>=0:devel/py-Levenshtein@${PY_FLAVOR}
IMAGICK6_NOX11_USES= magick:6,run,nox11
IMAGICK6_X11_USES= magick:6,run
diff --git a/www/py-cherrypy/Makefile b/www/py-cherrypy/Makefile
index d66058448b15..4af95a0c9653 100644
--- a/www/py-cherrypy/Makefile
+++ b/www/py-cherrypy/Makefile
@@ -1,14 +1,12 @@
PORTNAME= cherrypy
-PORTVERSION= 18.8.0
-PORTREVISION= 2
+PORTVERSION= 18.10.0
CATEGORIES= www python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
-DISTNAME= CherryPy-${PORTVERSION}
MAINTAINER= nivit@FreeBSD.org
COMMENT= Pythonic, object-oriented web development framework
-WWW= http://www.cherrypy.org/
+WWW= https://www.cherrypy.dev/
LICENSE= BSD3CLAUSE
@@ -20,8 +18,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}cheroot>=8.2.1:www/py-cheroot@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}portend>=2.1.1:net/py-portend@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}six>=1.11.0:devel/py-six@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}zc.lockfile>0:devel/py-zc.lockfile@${PY_FLAVOR}
-TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}codecov>=2.1.13:devel/py-codecov@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}coverage>=7.2.2:devel/py-coverage@${PY_FLAVOR} \
+TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}coverage>=7.2.2:devel/py-coverage@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}objgraph>=3.5.0:devel/py-objgraph@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}path.py>0:devel/py-path.py@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pytest-cov>=2.9.0:devel/py-pytest-cov@${PY_FLAVOR} \
diff --git a/www/py-cherrypy/distinfo b/www/py-cherrypy/distinfo
index cb3dafdf9fae..c97e7ef88971 100644
--- a/www/py-cherrypy/distinfo
+++ b/www/py-cherrypy/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1686603836
-SHA256 (CherryPy-18.8.0.tar.gz) = 9b48cfba8a2f16d5b6419cc657e6d51db005ba35c5e3824e4728bb03bbc7ef9b
-SIZE (CherryPy-18.8.0.tar.gz) = 622679
+TIMESTAMP = 1750497658
+SHA256 (cherrypy-18.10.0.tar.gz) = 6c70e78ee11300e8b21c0767c542ae6b102a49cac5cfd4e3e313d7bb907c5891
+SIZE (cherrypy-18.10.0.tar.gz) = 633708
diff --git a/www/py-dj51-django-rich/Makefile b/www/py-dj51-django-rich/Makefile
index f91348ff682a..2849670ba8e1 100644
--- a/www/py-dj51-django-rich/Makefile
+++ b/www/py-dj51-django-rich/Makefile
@@ -1,9 +1,9 @@
PORTNAME= django-rich
-PORTVERSION= 1.14.0
+DISTVERSION= 2.0.0
CATEGORIES= www python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj51-
-DISTNAME= django_rich-${PORTVERSION}
+DISTNAME= django_rich-${DISTVERSION}
MAINTAINER= kai@FreeBSD.org
COMMENT= Extensions for using Rich with Django
diff --git a/www/py-dj51-django-rich/distinfo b/www/py-dj51-django-rich/distinfo
index e43721ecd9d6..ff93b43f1403 100644
--- a/www/py-dj51-django-rich/distinfo
+++ b/www/py-dj51-django-rich/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1739187658
-SHA256 (django_rich-1.14.0.tar.gz) = 737b3093a9ba993a40cefc5fb0d7bb12767adb78c9944e6d3107805caca3dcd7
-SIZE (django_rich-1.14.0.tar.gz) = 61077
+TIMESTAMP = 1747327116
+SHA256 (django_rich-2.0.0.tar.gz) = 3646edf7223f05b9775ec9a38ab5a33be93042fc3de3d5e31eacf84da6091913
+SIZE (django_rich-2.0.0.tar.gz) = 61448
diff --git a/www/py-dj51-drf-spectacular-sidecar/Makefile b/www/py-dj51-drf-spectacular-sidecar/Makefile
index f2b3f7ffacf6..236cdc1b504c 100644
--- a/www/py-dj51-drf-spectacular-sidecar/Makefile
+++ b/www/py-dj51-drf-spectacular-sidecar/Makefile
@@ -1,5 +1,5 @@
PORTNAME= drf-spectacular-sidecar
-DISTVERSION= 2025.4.1
+DISTVERSION= 2025.6.1
CATEGORIES= www python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj51-
diff --git a/www/py-dj51-drf-spectacular-sidecar/distinfo b/www/py-dj51-drf-spectacular-sidecar/distinfo
index 4e6c5ab53ebf..2ba7b8f8b212 100644
--- a/www/py-dj51-drf-spectacular-sidecar/distinfo
+++ b/www/py-dj51-drf-spectacular-sidecar/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1744368988
-SHA256 (drf_spectacular_sidecar-2025.4.1.tar.gz) = ea7dc4e674174616589d258b5c9676f3c451ec422e62b79e31234d39db53922d
-SIZE (drf_spectacular_sidecar-2025.4.1.tar.gz) = 2402076
+TIMESTAMP = 1749230590
+SHA256 (drf_spectacular_sidecar-2025.6.1.tar.gz) = ee6752c73d712265a61b9e2ca6f71c3b2bd89f30f39cf9f8cda98e7f371fcbcf
+SIZE (drf_spectacular_sidecar-2025.6.1.tar.gz) = 2407117
diff --git a/www/py-dj52-channels/Makefile b/www/py-dj52-channels/Makefile
new file mode 100644
index 000000000000..e8f8ced587d3
--- /dev/null
+++ b/www/py-dj52-channels/Makefile
@@ -0,0 +1,25 @@
+PORTNAME= channels
+PORTVERSION= 4.2.0
+CATEGORIES= www python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj52-
+
+MAINTAINER= sunpoet@FreeBSD.org
+COMMENT= Brings async, event-driven capabilities to Django
+WWW= https://channels.readthedocs.io/en/latest/ \
+ https://github.com/django/channels
+
+LICENSE= BSD3CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}asgiref>=3.6.0<4:www/py-asgiref@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}django52>=4.2:www/py-django52@${PY_FLAVOR}
+
+USES= python:3.10+
+USE_PYTHON= autoplist concurrent pep517
+
+NO_ARCH= yes
+
+.include <bsd.port.mk>
diff --git a/www/py-dj52-channels/distinfo b/www/py-dj52-channels/distinfo
new file mode 100644
index 000000000000..cfa8d2a5103d
--- /dev/null
+++ b/www/py-dj52-channels/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1732202562
+SHA256 (channels-4.2.0.tar.gz) = d9e707487431ba5dbce9af982970dab3b0efd786580fadb99e45dca5e39fdd59
+SIZE (channels-4.2.0.tar.gz) = 26554
diff --git a/www/py-dj52-channels/pkg-descr b/www/py-dj52-channels/pkg-descr
new file mode 100644
index 000000000000..01296180bc27
--- /dev/null
+++ b/www/py-dj52-channels/pkg-descr
@@ -0,0 +1,4 @@
+Channels augments Django to bring WebSocket, long-poll HTTP, task offloading and
+other async support to your code, using familiar Django design patterns and a
+flexible underlying framework that lets you not only customize behaviours but
+also write support for your own protocols and needs.
diff --git a/www/py-dj52-django-auth-ldap/Makefile b/www/py-dj52-django-auth-ldap/Makefile
new file mode 100644
index 000000000000..2ddf3b629a3a
--- /dev/null
+++ b/www/py-dj52-django-auth-ldap/Makefile
@@ -0,0 +1,40 @@
+PORTNAME= django-auth-ldap
+DISTVERSION= 5.1.0
+CATEGORIES= www security python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj52-
+DISTNAME= django_auth_ldap-${DISTVERSION}
+
+MAINTAINER= kai@FreeBSD.org
+COMMENT= LDAP integration for django.contrib.auth
+WWW= https://github.com/django-auth-ldap/django-auth-ldap
+
+LICENSE= BSD2CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= ${PY_SETUPTOOLS} \
+ ${PYTHON_PKGNAMEPREFIX}setuptools-scm>=3.4:devel/py-setuptools-scm@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django52>=4.2:www/py-django52@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}python-ldap>=3.1:net/py-python-ldap@${PY_FLAVOR}
+
+USES= python:3.10+
+USE_PYTHON= autoplist concurrent pep517
+
+NO_ARCH= yes
+PORTDOCS= *
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
+
+OPTIONS_DEFINE= DOCS
+DOCS_BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sphinx>=0,1:textproc/py-sphinx@${PY_FLAVOR}
+
+post-build-DOCS-on:
+ ${LOCALBASE}/bin/sphinx-build-${PYTHON_VER} -d ${WRKDIR} -b html ${WRKSRC}/docs ${WRKSRC}/build/sphinx/html
+
+post-install-DOCS-on:
+ @${MKDIR} ${STAGEDIR}${DOCSDIR}
+ (cd ${WRKSRC}/build/sphinx/html && \
+ ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR} \
+ "! -name .buildinfo -and ! -name objects.inv")
+
+.include <bsd.port.mk>
diff --git a/www/py-dj52-django-auth-ldap/distinfo b/www/py-dj52-django-auth-ldap/distinfo
new file mode 100644
index 000000000000..2ae0a3f4baa0
--- /dev/null
+++ b/www/py-dj52-django-auth-ldap/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1730477310
+SHA256 (django_auth_ldap-5.1.0.tar.gz) = 9c607e8d9c53cf2a0ccafbe0acfc33eb1d1fd474c46ec52d30aee0dca1da9668
+SIZE (django_auth_ldap-5.1.0.tar.gz) = 55059
diff --git a/www/py-dj52-django-auth-ldap/files/patch-docs_conf.py b/www/py-dj52-django-auth-ldap/files/patch-docs_conf.py
new file mode 100644
index 000000000000..d41916245ebc
--- /dev/null
+++ b/www/py-dj52-django-auth-ldap/files/patch-docs_conf.py
@@ -0,0 +1,20 @@
+Avoid the download of various intersphinx inventories during build. Only two
+intersphinx mappings are used and the documentation can be built/used without
+them.
+
+--- docs/conf.py.orig 2022-06-12 10:26:47 UTC
++++ docs/conf.py
+@@ -188,13 +188,3 @@ texinfo_documents = [
+ # -- Extension configuration -------------------------------------------------
+
+ # -- Options for intersphinx extension ---------------------------------------
+-
+-intersphinx_mapping = {
+- "python": ("https://docs.python.org/3/", None),
+- "django": (
+- "https://docs.djangoproject.com/en/stable/",
+- "https://docs.djangoproject.com/en/stable/_objects/",
+- ),
+- "pythonldap": ("https://www.python-ldap.org/en/latest/", None),
+- "tox": ("https://tox.wiki/en/latest/", None),
+-}
diff --git a/www/py-dj52-django-auth-ldap/pkg-descr b/www/py-dj52-django-auth-ldap/pkg-descr
new file mode 100644
index 000000000000..390903dba8ac
--- /dev/null
+++ b/www/py-dj52-django-auth-ldap/pkg-descr
@@ -0,0 +1,4 @@
+This is a Django authentication backend that authenticates against an LDAP
+service. Configuration can be as simple as a single distinguished name template,
+but there are many rich configuration options for working with users, groups,
+and permissions.
diff --git a/www/py-dj52-django-choices-field/Makefile b/www/py-dj52-django-choices-field/Makefile
new file mode 100644
index 000000000000..355a02ed97cb
--- /dev/null
+++ b/www/py-dj52-django-choices-field/Makefile
@@ -0,0 +1,24 @@
+PORTNAME= django-choices-field
+DISTVERSION= 2.3.0
+CATEGORIES= www python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj52-
+DISTNAME= django_choices_field-${DISTVERSION}
+
+MAINTAINER= kai@FreeBSD.org
+COMMENT= Django field that set/get TextChoices/IntegerChoices enumerations
+WWW= https://github.com/bellini666/django-choices-field
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}poetry-core>=1.0.0:devel/py-poetry-core@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django52>=3.2:www/py-django52@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}typing-extensions>=4.0.0:devel/py-typing-extensions@${PY_FLAVOR}
+
+USES= python:3.10+
+USE_PYTHON= autoplist pep517
+
+NO_ARCH= yes
+
+.include <bsd.port.mk>
diff --git a/www/py-dj52-django-choices-field/distinfo b/www/py-dj52-django-choices-field/distinfo
new file mode 100644
index 000000000000..7f61f9ac7dde
--- /dev/null
+++ b/www/py-dj52-django-choices-field/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1711885476
+SHA256 (django_choices_field-2.3.0.tar.gz) = bb0c85c79737ab98bfb9c0d9ddf98010d612c0585be767890e25fd192c3d1694
+SIZE (django_choices_field-2.3.0.tar.gz) = 6448
diff --git a/www/py-dj52-django-choices-field/pkg-descr b/www/py-dj52-django-choices-field/pkg-descr
new file mode 100644
index 000000000000..3a855539fca9
--- /dev/null
+++ b/www/py-dj52-django-choices-field/pkg-descr
@@ -0,0 +1,2 @@
+This package provides a Django field that set/get the "TextChoices" and
+"IntegerChoices" enumerations.
diff --git a/www/py-dj52-django-cors-headers/Makefile b/www/py-dj52-django-cors-headers/Makefile
new file mode 100644
index 000000000000..ede2fbb0079e
--- /dev/null
+++ b/www/py-dj52-django-cors-headers/Makefile
@@ -0,0 +1,26 @@
+PORTNAME= django-cors-headers
+DISTVERSION= 4.7.0
+CATEGORIES= www python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj52-
+DISTNAME= django_cors_headers-${DISTVERSION}
+
+MAINTAINER= kai@FreeBSD.org
+COMMENT= Handles server headers required for Cross-Origin Resource Sharing
+WWW= https://github.com/adamchainz/django-cors-headers
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= ${PY_SETUPTOOLS} \
+ ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django52>=4.2:www/py-django52@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}asgiref>=3.6:www/py-asgiref@${PY_FLAVOR}
+
+USES= python:3.10+
+USE_PYTHON= autoplist pep517
+
+NO_ARCH= yes
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
+
+.include <bsd.port.mk>
diff --git a/www/py-dj52-django-cors-headers/distinfo b/www/py-dj52-django-cors-headers/distinfo
new file mode 100644
index 000000000000..ea513ae6604c
--- /dev/null
+++ b/www/py-dj52-django-cors-headers/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1739187247
+SHA256 (django_cors_headers-4.7.0.tar.gz) = 6fdf31bf9c6d6448ba09ef57157db2268d515d94fc5c89a0a1028e1fc03ee52b
+SIZE (django_cors_headers-4.7.0.tar.gz) = 21037
diff --git a/www/py-dj52-django-cors-headers/pkg-descr b/www/py-dj52-django-cors-headers/pkg-descr
new file mode 100644
index 000000000000..9ba1bc6bd1a8
--- /dev/null
+++ b/www/py-dj52-django-cors-headers/pkg-descr
@@ -0,0 +1,2 @@
+A Django App that adds CORS (Cross-Origin Resource Sharing) headers to
+responses.
diff --git a/www/py-dj52-django-debug-toolbar/Makefile b/www/py-dj52-django-debug-toolbar/Makefile
new file mode 100644
index 000000000000..62cdf47b2a83
--- /dev/null
+++ b/www/py-dj52-django-debug-toolbar/Makefile
@@ -0,0 +1,27 @@
+PORTNAME= django-debug-toolbar
+PORTVERSION= 5.2.0
+CATEGORIES= www python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj52-
+DISTNAME= django_debug_toolbar-${PORTVERSION}
+
+MAINTAINER= sunpoet@FreeBSD.org
+COMMENT= Configurable set of panels to display debug information
+WWW= https://django-debug-toolbar.readthedocs.io/en/latest/ \
+ https://github.com/django-commons/django-debug-toolbar
+
+LICENSE= BSD3CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>=0:devel/py-hatchling@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django52>=4.2.9:www/py-django52@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}sqlparse>=0.2.0:databases/py-sqlparse@${PY_FLAVOR}
+
+USES= python:3.10+
+USE_PYTHON= autoplist concurrent pep517
+
+NO_ARCH= yes
+
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*django-debug-toolbar
+
+.include <bsd.port.mk>
diff --git a/www/py-dj52-django-debug-toolbar/distinfo b/www/py-dj52-django-debug-toolbar/distinfo
new file mode 100644
index 000000000000..130df8cee123
--- /dev/null
+++ b/www/py-dj52-django-debug-toolbar/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1747327034
+SHA256 (django_debug_toolbar-5.2.0.tar.gz) = 9e7f0145e1a1b7d78fcc3b53798686170a5b472d9cf085d88121ff823e900821
+SIZE (django_debug_toolbar-5.2.0.tar.gz) = 297901
diff --git a/www/py-dj52-django-debug-toolbar/pkg-descr b/www/py-dj52-django-debug-toolbar/pkg-descr
new file mode 100644
index 000000000000..e62114e4b61f
--- /dev/null
+++ b/www/py-dj52-django-debug-toolbar/pkg-descr
@@ -0,0 +1,3 @@
+The Django Debug Toolbar is a configurable set of panels that display various
+debug information about the current request/response and when clicked, display
+more details about the panel's content.
diff --git a/www/py-dj52-django-filter/Makefile b/www/py-dj52-django-filter/Makefile
new file mode 100644
index 000000000000..c999af31c25c
--- /dev/null
+++ b/www/py-dj52-django-filter/Makefile
@@ -0,0 +1,25 @@
+PORTNAME= django-filter
+DISTVERSION= 25.1
+CATEGORIES= www python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj52-
+DISTNAME= django_filter-${DISTVERSION}
+
+MAINTAINER= kai@FreeBSD.org
+COMMENT= Dynamic filtering for querysets with Django
+WWW= https://github.com/carltongibson/django-filter
+
+LICENSE= BSD3CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}flit-core>=3.2<4:devel/py-flit-core@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django52>=4.2:www/py-django52@${PY_FLAVOR}
+
+USES= python:3.10+
+USE_PYTHON= autoplist pep517
+
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
+
+NO_ARCH= yes
+
+.include <bsd.port.mk>
diff --git a/www/py-dj52-django-filter/distinfo b/www/py-dj52-django-filter/distinfo
new file mode 100644
index 000000000000..1fe436b6ac10
--- /dev/null
+++ b/www/py-dj52-django-filter/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1740212287
+SHA256 (django_filter-25.1.tar.gz) = 1ec9eef48fa8da1c0ac9b411744b16c3f4c31176c867886e4c48da369c407153
+SIZE (django_filter-25.1.tar.gz) = 143021
diff --git a/www/py-dj52-django-filter/pkg-descr b/www/py-dj52-django-filter/pkg-descr
new file mode 100644
index 000000000000..089f799caa3e
--- /dev/null
+++ b/www/py-dj52-django-filter/pkg-descr
@@ -0,0 +1,2 @@
+Django-filter is a reusable Django application allowing users to declaratively
+add dynamic QuerySet filtering from URL parameters.
diff --git a/www/py-dj52-django-htmx/Makefile b/www/py-dj52-django-htmx/Makefile
new file mode 100644
index 000000000000..6dc8db82841e
--- /dev/null
+++ b/www/py-dj52-django-htmx/Makefile
@@ -0,0 +1,27 @@
+PORTNAME= django-htmx
+DISTVERSION= 1.23.0
+CATEGORIES= www python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj52-
+DISTNAME= django_htmx-${DISTVERSION}
+
+MAINTAINER= kai@FreeBSD.org
+COMMENT= Extensions for using Django with htmx
+WWW= https://github.com/adamchainz/django-htmx
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= ${PY_SETUPTOOLS} \
+ ${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django52>=4.2:www/py-django52@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}asgiref>=3.6:www/py-asgiref@${PY_FLAVOR}
+
+USES= python:3.10+
+USE_PYTHON= autoplist pep517
+
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
+
+NO_ARCH= yes
+
+.include <bsd.port.mk>
diff --git a/www/py-dj52-django-htmx/distinfo b/www/py-dj52-django-htmx/distinfo
new file mode 100644
index 000000000000..ff5b98d404fe
--- /dev/null
+++ b/www/py-dj52-django-htmx/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1742639003
+SHA256 (django_htmx-1.23.0.tar.gz) = 71e6242ac6bd32a0e14fcb12b340f901c9a924f0b4e9b461a5e6a6eea8d9c6dd
+SIZE (django_htmx-1.23.0.tar.gz) = 63450
diff --git a/www/py-dj52-django-htmx/pkg-descr b/www/py-dj52-django-htmx/pkg-descr
new file mode 100644
index 000000000000..9b84019de4a7
--- /dev/null
+++ b/www/py-dj52-django-htmx/pkg-descr
@@ -0,0 +1,3 @@
+This package offers extensions for using Django with htmx, a library that
+allows one to access modern browser features directly from HTML, rather than
+using JavaScript (see https://htmx.org/).
diff --git a/www/py-dj52-django-js-asset/Makefile b/www/py-dj52-django-js-asset/Makefile
new file mode 100644
index 000000000000..7e5d300ba127
--- /dev/null
+++ b/www/py-dj52-django-js-asset/Makefile
@@ -0,0 +1,25 @@
+PORTNAME= django-js-asset
+DISTVERSION= 3.1.2
+CATEGORIES= www python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj52-
+DISTNAME= django_js_asset-${DISTVERSION}
+
+MAINTAINER= kai@FreeBSD.org
+COMMENT= Insert script tags with additional attributes for django.forms.Media
+WWW= https://github.com/matthiask/django-js-asset
+
+LICENSE= BSD3CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>0:devel/py-hatchling@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django52>=4.2:www/py-django52@${PY_FLAVOR}
+
+USES= python:3.10+
+USE_PYTHON= autoplist pep517
+
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
+
+NO_ARCH= yes
+
+.include <bsd.port.mk>
diff --git a/www/py-dj52-django-js-asset/distinfo b/www/py-dj52-django-js-asset/distinfo
new file mode 100644
index 000000000000..5d250a973b1e
--- /dev/null
+++ b/www/py-dj52-django-js-asset/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1741326981
+SHA256 (django_js_asset-3.1.2.tar.gz) = 1fc7584199ed1941ed7c8e7b87ca5524bb0f2ba941561d2a104e88ee9f07bedd
+SIZE (django_js_asset-3.1.2.tar.gz) = 9471
diff --git a/www/py-dj52-django-js-asset/pkg-descr b/www/py-dj52-django-js-asset/pkg-descr
new file mode 100644
index 000000000000..99b04e1534c9
--- /dev/null
+++ b/www/py-dj52-django-js-asset/pkg-descr
@@ -0,0 +1,2 @@
+Insert script tags with additional attributes (such as "id" and "data" for
+CSP-compatible data injection) for the django.forms.Media package.
diff --git a/www/py-dj52-django-mptt/Makefile b/www/py-dj52-django-mptt/Makefile
new file mode 100644
index 000000000000..18ab030b3f5a
--- /dev/null
+++ b/www/py-dj52-django-mptt/Makefile
@@ -0,0 +1,26 @@
+PORTNAME= django-mptt
+DISTVERSION= 0.17.0
+CATEGORIES= www python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj52-
+DISTNAME= django_mptt-${DISTVERSION}
+
+MAINTAINER= kai@FreeBSD.org
+COMMENT= Utilities for implementing Modified Preorder Tree Traversal in Django
+WWW= https://github.com/django-mptt/django-mptt
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>0:devel/py-hatchling@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django52>=4.2:www/py-django52@${PY_FLAVOR}\
+ ${PYTHON_PKGNAMEPREFIX}dj52-django-js-asset>0:www/py-dj52-django-js-asset@${PY_FLAVOR}
+
+USES= python:3.10+
+USE_PYTHON= autoplist pep517
+
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
+
+NO_ARCH= yes
+
+.include <bsd.port.mk>
diff --git a/www/py-dj52-django-mptt/distinfo b/www/py-dj52-django-mptt/distinfo
new file mode 100644
index 000000000000..a4f142723154
--- /dev/null
+++ b/www/py-dj52-django-mptt/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1743831457
+SHA256 (django_mptt-0.17.0.tar.gz) = e2dca00536450b91bdc80d8fc1454993b84307728394ae42c72947fc09574d3d
+SIZE (django_mptt-0.17.0.tar.gz) = 71428
diff --git a/www/py-dj52-django-mptt/pkg-descr b/www/py-dj52-django-mptt/pkg-descr
new file mode 100644
index 000000000000..bad56cabf151
--- /dev/null
+++ b/www/py-dj52-django-mptt/pkg-descr
@@ -0,0 +1,2 @@
+Utilities for implementing Modified Preorder Tree Traversal with your Django
+Models and working with trees of Model instances.
diff --git a/www/py-dj52-django-prometheus/Makefile b/www/py-dj52-django-prometheus/Makefile
new file mode 100644
index 000000000000..a48b4efff30b
--- /dev/null
+++ b/www/py-dj52-django-prometheus/Makefile
@@ -0,0 +1,38 @@
+PORTNAME= django-prometheus
+DISTVERSION= 2.3.1
+CATEGORIES= www python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj52-
+
+MAINTAINER= kai@FreeBSD.org
+COMMENT= Export Django monitoring metrics for Prometheus.io
+WWW= https://github.com/korfuri/django-prometheus
+
+LICENSE= APACHE20
+
+BUILD_DEPENDS= ${PY_SETUPTOOLS} \
+ ${PYTHON_PKGNAMEPREFIX}wheel>=0.40.0:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django52>=3.2:www/py-django52@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}prometheus-client>=0.7:net-mgmt/py-prometheus-client@${PY_FLAVOR}
+
+USES= python:3.10+
+USE_PYTHON= autoplist pep517 pytest
+
+TEST_ENV= PYTHONPATH=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}
+
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
+
+NO_ARCH= yes
+
+OPTIONS_GROUP= DATABASE CACHE
+OPTIONS_GROUP_DATABASE= MYSQL PGSQL
+OPTIONS_GROUP_CACHE= MEMCACHED REDIS
+
+MEMCACHED_DESC= Memcached distributed memory caching support
+
+MEMCACHED_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}python-memcached>=0:databases/py-python-memcached@${PY_FLAVOR}
+MYSQL_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}mysqlclient>=0:databases/py-mysqlclient@${PY_FLAVOR}
+PGSQL_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}psycopg2>=0:databases/py-psycopg2@${PY_FLAVOR}
+REDIS_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}dj52-django-redis>=4.8:www/py-dj52-django-redis@${PY_FLAVOR}
+
+.include <bsd.port.mk>
diff --git a/www/py-dj52-django-prometheus/distinfo b/www/py-dj52-django-prometheus/distinfo
new file mode 100644
index 000000000000..4f11977cb57e
--- /dev/null
+++ b/www/py-dj52-django-prometheus/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1683262385
+SHA256 (django-prometheus-2.3.1.tar.gz) = f9c8b6c780c9419ea01043c63a437d79db2c33353451347894408184ad9c3e1e
+SIZE (django-prometheus-2.3.1.tar.gz) = 24718
diff --git a/www/py-dj52-django-prometheus/files/patch-pyproject.toml b/www/py-dj52-django-prometheus/files/patch-pyproject.toml
new file mode 100644
index 000000000000..5bf778c4f9e3
--- /dev/null
+++ b/www/py-dj52-django-prometheus/files/patch-pyproject.toml
@@ -0,0 +1,11 @@
+Relax version requirements of py-setuptools.
+
+--- pyproject.toml.orig 2024-10-06 12:58:05 UTC
++++ pyproject.toml
+@@ -1,5 +1,5 @@
+ [build-system]
+-requires = [ "setuptools >= 67.7.2", "wheel >= 0.40.0"]
++requires = [ "setuptools", "wheel >= 0.40.0"]
+ build-backend = "setuptools.build_meta"
+
+ [tool.pytest.ini_options]
diff --git a/www/py-dj52-django-prometheus/files/patch-setup.py b/www/py-dj52-django-prometheus/files/patch-setup.py
new file mode 100644
index 000000000000..6e28293ebe58
--- /dev/null
+++ b/www/py-dj52-django-prometheus/files/patch-setup.py
@@ -0,0 +1,13 @@
+Remove py-pytest-runner as build time dependency because it is deprecated and
+should be no longer used.
+
+--- setup.py.orig 2024-10-01 12:41:04 UTC
++++ setup.py
+@@ -40,7 +40,6 @@ setup(
+ long_description=LONG_DESCRIPTION,
+ long_description_content_type="text/markdown",
+ tests_require=["pytest", "pytest-django"],
+- setup_requires=["pytest-runner"],
+ options={"bdist_wheel": {"universal": "1"}},
+ install_requires=[
+ "prometheus-client>=0.7",
diff --git a/www/py-dj52-django-prometheus/pkg-descr b/www/py-dj52-django-prometheus/pkg-descr
new file mode 100644
index 000000000000..0962e7b87336
--- /dev/null
+++ b/www/py-dj52-django-prometheus/pkg-descr
@@ -0,0 +1,14 @@
+This library exports Django monitoring metrics for Prometheus.io.
+
+It provides support to monitor the following databases types:
+
+* SQLite (via Django)
+* PostgreSQL
+* MySQL
+
+In addition, caches can also be monitored:
+
+* memcached
+* Redis
+
+It's even possible to export metrics of Django models and migrations.
diff --git a/www/py-dj52-django-redis/Makefile b/www/py-dj52-django-redis/Makefile
new file mode 100644
index 000000000000..6033fc994a25
--- /dev/null
+++ b/www/py-dj52-django-redis/Makefile
@@ -0,0 +1,36 @@
+PORTNAME= django-redis
+PORTVERSION= 5.4.0
+CATEGORIES= www databases python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj52-
+
+MAINTAINER= sunpoet@FreeBSD.org
+COMMENT= Full featured Redis cache/session backend for Django
+WWW= https://github.com/jazzband/django-redis
+
+LICENSE= BSD3CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django52>=3.2:www/py-django52@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}redis>=3.0.0:databases/py-redis@${PY_FLAVOR}
+TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}msgpack>=0:devel/py-msgpack@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pytest-django>=0:devel/py-pytest-django@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pytest-mock>=0:devel/py-pytest-mock@${PY_FLAVOR} \
+ redis-server:databases/redis
+
+USES= python:3.10+
+USE_PYTHON= autoplist concurrent pep517 pytest
+
+# Required for Python 3.11+ as the cgi module is deprecated and slated for removal in Python 3.13
+TEST_ARGS= -W ignore::DeprecationWarning
+TEST_ENV= DJANGO_SETTINGS_MODULE=settings.sqlite \
+ PYTHONPATH=${STAGEDIR}${PYTHON_SITELIBDIR}
+TEST_WRKSRC= ${WRKSRC}/tests
+
+NO_ARCH= yes
+
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*django-redis
+
+.include <bsd.port.mk>
diff --git a/www/py-dj52-django-redis/distinfo b/www/py-dj52-django-redis/distinfo
new file mode 100644
index 000000000000..156f9d23ac30
--- /dev/null
+++ b/www/py-dj52-django-redis/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1696432970
+SHA256 (django-redis-5.4.0.tar.gz) = 6a02abaa34b0fea8bf9b707d2c363ab6adc7409950b2db93602e6cb292818c42
+SIZE (django-redis-5.4.0.tar.gz) = 52567
diff --git a/www/py-dj52-django-redis/pkg-descr b/www/py-dj52-django-redis/pkg-descr
new file mode 100644
index 000000000000..ab566f948f78
--- /dev/null
+++ b/www/py-dj52-django-redis/pkg-descr
@@ -0,0 +1,15 @@
+Django-redis is a BSD Licensed, full featured Redis cache/session
+backend for Django.
+
+Why use django-redis?
+
+ * Modular client system (pluggable clients).
+ * Master-Slave support in the default client.
+ * Used in production in several projects as cache and session storage.
+ * Supports infinite timeouts.
+ * Python 3 support in same code base.
+ * Facilities for raw access to Redis client/connection pool.
+ * Highly configurable (can emulate memcached exception behavior, for
+ example).
+ * Unix sockets supported by default.
+ * Pluggable parsers.
diff --git a/www/py-dj52-django-rich/Makefile b/www/py-dj52-django-rich/Makefile
new file mode 100644
index 000000000000..8c7d791d94ba
--- /dev/null
+++ b/www/py-dj52-django-rich/Makefile
@@ -0,0 +1,27 @@
+PORTNAME= django-rich
+DISTVERSION= 2.0.0
+CATEGORIES= www python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj52-
+DISTNAME= django_rich-${DISTVERSION}
+
+MAINTAINER= kai@FreeBSD.org
+COMMENT= Extensions for using Rich with Django
+WWW= https://github.com/adamchainz/django-rich
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= ${PY_SETUPTOOLS} \
+ ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django52>=4.2:www/py-django52@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}rich>=10.0.0:textproc/py-rich@${PY_FLAVOR}
+
+USES= python:3.10+
+USE_PYTHON= autoplist pep517
+
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
+
+NO_ARCH= yes
+
+.include <bsd.port.mk>
diff --git a/www/py-dj52-django-rich/distinfo b/www/py-dj52-django-rich/distinfo
new file mode 100644
index 000000000000..ff93b43f1403
--- /dev/null
+++ b/www/py-dj52-django-rich/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1747327116
+SHA256 (django_rich-2.0.0.tar.gz) = 3646edf7223f05b9775ec9a38ab5a33be93042fc3de3d5e31eacf84da6091913
+SIZE (django_rich-2.0.0.tar.gz) = 61448
diff --git a/www/py-dj52-django-rich/pkg-descr b/www/py-dj52-django-rich/pkg-descr
new file mode 100644
index 000000000000..db029741fbb0
--- /dev/null
+++ b/www/py-dj52-django-rich/pkg-descr
@@ -0,0 +1,11 @@
+This package provides extensions for using Rich with the Django framework.
+
+These extensions consist of the following subclasses:
+
+* django_rich.management.RichCommand:
+ Subclass of Django's BaseCommand class that sets its self.console to a
+ Rich console.
+
+* django_rich.test.RichRunner:
+ Subclass of Django's DiscoverRunner with colorized outputs and nice
+ traceback rendering.
diff --git a/www/py-dj52-django-storages/Makefile b/www/py-dj52-django-storages/Makefile
new file mode 100644
index 000000000000..d42e105a875d
--- /dev/null
+++ b/www/py-dj52-django-storages/Makefile
@@ -0,0 +1,44 @@
+PORTNAME= django-storages
+DISTVERSION= 1.14.6
+CATEGORIES= www python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj52-
+DISTNAME= django_storages-${DISTVERSION}
+
+MAINTAINER= kai@FreeBSD.org
+COMMENT= Generic storages for Django
+WWW= https://django-storages.readthedocs.io/en/latest/ \
+ https://github.com/jschneier/django-storages
+
+LICENSE= BSD3CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=61.2:devel/py-setuptools@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django52>=3.2:www/py-django52@${PY_FLAVOR}
+
+USES= python:3.10+
+USE_PYTHON= autoplist concurrent pep517
+
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
+
+NO_ARCH= yes
+
+# AZURE option requires newer devel/py-azure-storage-blob (not yet in the ports tree).
+OPTIONS_DEFINE= DROPBOX GOOGLE LIBCLOUD S3 SFTP #AZURE
+#AZURE_DESC= Azure backend
+DROPBOX_DESC= Dropbox backend
+GOOGLE_DESC= Google Cloud Storage backend
+LIBCLOUD_DESC= Apache Libcloud backend
+S3_DESC= Amazon S3 backend
+SFTP_DESC= SFTP backend
+
+#AZURE_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}azure-core>=1.13:devel/py-azure-core@${PY_FLAVOR} \
+# ${PYTHON_PKGNAMEPREFIX}azure-storage-blob>=12:devel/py-azure-storage-blob@${PY_FLAVOR}
+DROPBOX_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}dropbox>=7.2.1:www/py-dropbox@${PY_FLAVOR}
+GOOGLE_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}google-cloud-storage>=1.27:www/py-google-cloud-storage@${PY_FLAVOR}
+LIBCLOUD_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}libcloud>=0:net/py-libcloud@${PY_FLAVOR}
+S3_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}boto3>=1.4.4:www/py-boto3@${PY_FLAVOR}
+SFTP_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}paramiko>=1.15:security/py-paramiko@${PY_FLAVOR}
+
+.include <bsd.port.mk>
diff --git a/www/py-dj52-django-storages/distinfo b/www/py-dj52-django-storages/distinfo
new file mode 100644
index 000000000000..fdf7fdd929d0
--- /dev/null
+++ b/www/py-dj52-django-storages/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1744777452
+SHA256 (django_storages-1.14.6.tar.gz) = 7a25ce8f4214f69ac9c7ce87e2603887f7ae99326c316bc8d2d75375e09341c9
+SIZE (django_storages-1.14.6.tar.gz) = 87587
diff --git a/www/py-dj52-django-storages/pkg-descr b/www/py-dj52-django-storages/pkg-descr
new file mode 100644
index 000000000000..9a41326622ac
--- /dev/null
+++ b/www/py-dj52-django-storages/pkg-descr
@@ -0,0 +1,2 @@
+Generic storages for Django. Support for many storages
+(S3, MogileFS, etc) in Django
diff --git a/www/py-dj52-django-tables2/Makefile b/www/py-dj52-django-tables2/Makefile
new file mode 100644
index 000000000000..e5826b984125
--- /dev/null
+++ b/www/py-dj52-django-tables2/Makefile
@@ -0,0 +1,30 @@
+PORTNAME= django-tables2
+DISTVERSION= 2.7.5
+CATEGORIES= www python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj52-
+DISTNAME= django_tables2-${DISTVERSION}
+
+MAINTAINER= kai@FreeBSD.org
+COMMENT= Table/data-grid framework for Django
+WWW= https://github.com/jieter/django-tables2
+
+LICENSE= BSD2CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>0:devel/py-hatchling@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django52>=4.2:www/py-django52@${PY_FLAVOR}
+
+USES= python:3.10+
+USE_PYTHON= autoplist pep517
+
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
+
+NO_ARCH= yes
+
+OPTIONS_DEFINE= TABLIB
+
+TABLIB_DESC= Enable support for exporting table datasets
+TABLIB_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}tablib>=0:textproc/py-tablib@${PY_FLAVOR}
+
+.include <bsd.port.mk>
diff --git a/www/py-dj52-django-tables2/distinfo b/www/py-dj52-django-tables2/distinfo
new file mode 100644
index 000000000000..f7f2d9990542
--- /dev/null
+++ b/www/py-dj52-django-tables2/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1736247931
+SHA256 (django_tables2-2.7.5.tar.gz) = fb5dcaa09379cf3947598ec7e1bd5f26ed63aafdee3b23963446763bbeac37bf
+SIZE (django_tables2-2.7.5.tar.gz) = 128618
diff --git a/www/py-dj52-django-tables2/pkg-descr b/www/py-dj52-django-tables2/pkg-descr
new file mode 100644
index 000000000000..5b09aff2a2f2
--- /dev/null
+++ b/www/py-dj52-django-tables2/pkg-descr
@@ -0,0 +1,3 @@
+django-tables2 simplifies the task of turning sets of data into HTML tables.
+It has native support for pagination and sorting, does for HTML tables what
+django.forms does for HTML forms.
diff --git a/www/py-dj52-django-taggit/Makefile b/www/py-dj52-django-taggit/Makefile
new file mode 100644
index 000000000000..5b9ea7a0b4a9
--- /dev/null
+++ b/www/py-dj52-django-taggit/Makefile
@@ -0,0 +1,26 @@
+PORTNAME= django-taggit
+DISTVERSION= 6.1.0
+CATEGORIES= www python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj52-
+DISTNAME= django_taggit-${DISTVERSION}
+
+MAINTAINER= kai@FreeBSD.org
+COMMENT= Reusable Django application for simple tagging
+WWW= https://github.com/jazzband/django-taggit
+
+LICENSE= BSD3CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= ${PY_SETUPTOOLS} \
+ ${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django52>=4.1:www/py-django52@${PY_FLAVOR}
+
+USES= python:3.10+
+USE_PYTHON= autoplist pep517
+
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
+
+NO_ARCH= yes
+
+.include <bsd.port.mk>
diff --git a/www/py-dj52-django-taggit/distinfo b/www/py-dj52-django-taggit/distinfo
new file mode 100644
index 000000000000..777531f4c290
--- /dev/null
+++ b/www/py-dj52-django-taggit/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1728224208
+SHA256 (django_taggit-6.1.0.tar.gz) = c4d1199e6df34125dd36db5eb0efe545b254dec3980ce5dd80e6bab3e78757c3
+SIZE (django_taggit-6.1.0.tar.gz) = 38151
diff --git a/www/py-dj52-django-taggit/pkg-descr b/www/py-dj52-django-taggit/pkg-descr
new file mode 100644
index 000000000000..be15b201b3ee
--- /dev/null
+++ b/www/py-dj52-django-taggit/pkg-descr
@@ -0,0 +1 @@
+django-taggit a simpler approach to tagging with Django.
diff --git a/www/py-dj52-django-timezone-field/Makefile b/www/py-dj52-django-timezone-field/Makefile
new file mode 100644
index 000000000000..e44cc4dab88a
--- /dev/null
+++ b/www/py-dj52-django-timezone-field/Makefile
@@ -0,0 +1,25 @@
+PORTNAME= django-timezone-field
+DISTVERSION= 7.1
+CATEGORIES= www python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj52-
+DISTNAME= django_timezone_field-${DISTVERSION}
+
+MAINTAINER= kai@FreeBSD.org
+COMMENT= Provides database and form fields for pytz timezone objects for Django
+WWW= https://github.com/mfogel/django-timezone-field
+
+LICENSE= BSD2CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE.txt
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}poetry-core>=1.0.0:devel/py-poetry-core@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django52>=3.2:www/py-django52@${PY_FLAVOR}
+
+USES= python:3.10+
+USE_PYTHON= autoplist pep517
+
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
+
+NO_ARCH= yes
+
+.include <bsd.port.mk>
diff --git a/www/py-dj52-django-timezone-field/distinfo b/www/py-dj52-django-timezone-field/distinfo
new file mode 100644
index 000000000000..00ee309e011a
--- /dev/null
+++ b/www/py-dj52-django-timezone-field/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1737194529
+SHA256 (django_timezone_field-7.1.tar.gz) = b3ef409d88a2718b566fabe10ea996f2838bc72b22d3a2900c0aa905c761380c
+SIZE (django_timezone_field-7.1.tar.gz) = 13727
diff --git a/www/py-dj52-django-timezone-field/pkg-descr b/www/py-dj52-django-timezone-field/pkg-descr
new file mode 100644
index 000000000000..98a3675d4d8d
--- /dev/null
+++ b/www/py-dj52-django-timezone-field/pkg-descr
@@ -0,0 +1,2 @@
+Provides database, form, and REST framework fields for "zoneinfo" and "pytz"
+timezone objects for Django.
diff --git a/www/py-dj52-djangorestframework/Makefile b/www/py-dj52-djangorestframework/Makefile
new file mode 100644
index 000000000000..96d316832790
--- /dev/null
+++ b/www/py-dj52-djangorestframework/Makefile
@@ -0,0 +1,25 @@
+PORTNAME= djangorestframework
+DISTVERSION= 3.16.0
+CATEGORIES= www python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj52-
+
+MAINTAINER= kai@FreeBSD.org
+COMMENT= Django REST framework
+WWW= https://www.django-rest-framework.org/
+
+LICENSE= BSD2CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE.md
+
+BUILD_DEPENDS= ${PY_SETUPTOOLS} \
+ ${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django52>=4.2:www/py-django52@${PY_FLAVOR}
+
+USES= python:3.10+
+USE_PYTHON= autoplist pep517
+
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
+
+NO_ARCH= yes
+
+.include <bsd.port.mk>
diff --git a/www/py-dj52-djangorestframework/distinfo b/www/py-dj52-djangorestframework/distinfo
new file mode 100644
index 000000000000..c336e0e97c68
--- /dev/null
+++ b/www/py-dj52-djangorestframework/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1744359953
+SHA256 (djangorestframework-3.16.0.tar.gz) = f022ff46613584de994c0c6a4aebbace5fd700555fbe9d33b865ebf173eba6c9
+SIZE (djangorestframework-3.16.0.tar.gz) = 1068408
diff --git a/www/py-dj52-djangorestframework/pkg-descr b/www/py-dj52-djangorestframework/pkg-descr
new file mode 100644
index 000000000000..c8a8f49f4488
--- /dev/null
+++ b/www/py-dj52-djangorestframework/pkg-descr
@@ -0,0 +1,15 @@
+Django REST framework is a powerful and flexible toolkit that makes it easy to
+build Web APIs.
+
+Some reasons you might want to use REST framework:
+
+* The Web browsable API is a huge usability win for your developers.
+
+* Authentication policies including optional packages for OAuth1a and OAuth2.
+
+* Serialization that supports both ORM and non-ORM data sources.
+
+* Customizable all the way down - just use regular function-based views if you
+ don't need the more powerful features.
+
+* Extensive documentation, and great community support.
diff --git a/www/py-dj52-drf-spectacular-sidecar/Makefile b/www/py-dj52-drf-spectacular-sidecar/Makefile
new file mode 100644
index 000000000000..c2a90f5f91f0
--- /dev/null
+++ b/www/py-dj52-drf-spectacular-sidecar/Makefile
@@ -0,0 +1,26 @@
+PORTNAME= drf-spectacular-sidecar
+DISTVERSION= 2025.6.1
+CATEGORIES= www python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj52-
+DISTNAME= drf_spectacular_sidecar-${DISTVERSION}
+
+MAINTAINER= kai@FreeBSD.org
+COMMENT= Serve self-contained Swagger UI/Redoc distribution builds with Django
+WWW= https://github.com/tfranzel/drf-spectacular
+
+LICENSE= BSD3CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= ${PY_SETUPTOOLS} \
+ ${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django52>=2.2:www/py-django52@${PY_FLAVOR}
+
+USES= python:3.10+
+USE_PYTHON= autoplist pep517
+
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
+
+NO_ARCH= yes
+
+.include <bsd.port.mk>
diff --git a/www/py-dj52-drf-spectacular-sidecar/distinfo b/www/py-dj52-drf-spectacular-sidecar/distinfo
new file mode 100644
index 000000000000..2ba7b8f8b212
--- /dev/null
+++ b/www/py-dj52-drf-spectacular-sidecar/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1749230590
+SHA256 (drf_spectacular_sidecar-2025.6.1.tar.gz) = ee6752c73d712265a61b9e2ca6f71c3b2bd89f30f39cf9f8cda98e7f371fcbcf
+SIZE (drf_spectacular_sidecar-2025.6.1.tar.gz) = 2407117
diff --git a/www/py-dj52-drf-spectacular-sidecar/pkg-descr b/www/py-dj52-drf-spectacular-sidecar/pkg-descr
new file mode 100644
index 000000000000..34144682bfdc
--- /dev/null
+++ b/www/py-dj52-drf-spectacular-sidecar/pkg-descr
@@ -0,0 +1,5 @@
+Serve self-contained distribution builds of Swagger UI and Redoc with Django
+either via runserver or collectstatic.
+
+This Django app is an optional addition to drf-spectacular, but does not depend
+on it. It may also be used independently.
diff --git a/www/py-dj52-drf-spectacular/Makefile b/www/py-dj52-drf-spectacular/Makefile
new file mode 100644
index 000000000000..0b0dff5282b8
--- /dev/null
+++ b/www/py-dj52-drf-spectacular/Makefile
@@ -0,0 +1,35 @@
+PORTNAME= drf-spectacular
+DISTVERSION= 0.28.0
+CATEGORIES= www python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj52-
+DISTNAME= drf_spectacular-${DISTVERSION}
+
+MAINTAINER= kai@FreeBSD.org
+COMMENT= Sane/flexible OpenAPI 3 schema generation for Django REST framework
+WWW= https://github.com/tfranzel/drf-spectacular
+
+LICENSE= BSD3CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django52>=2.2:www/py-django52@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}dj52-djangorestframework>=3.10.3:www/py-dj52-djangorestframework@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}inflection>=0.3.1:devel/py-inflection@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}jsonschema>=2.6.0:devel/py-jsonschema@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}uritemplate>=2.0.0:net/py-uritemplate@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pyyaml>=5.1:devel/py-pyyaml@${PY_FLAVOR}
+
+USES= python:3.10+
+USE_PYTHON= autoplist distutils
+
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
+
+NO_ARCH= yes
+
+OPTIONS_DEFINE= SIDECAR
+OPTIONS_DEFAULT= SIDECAR
+
+SIDECAR_DESC= Enable self-contained Swagger/Redoc UI installation
+SIDECAR_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}dj52-drf-spectacular-sidecar>0:www/py-dj52-drf-spectacular-sidecar@${PY_FLAVOR}
+
+.include <bsd.port.mk>
diff --git a/www/py-dj52-drf-spectacular/distinfo b/www/py-dj52-drf-spectacular/distinfo
new file mode 100644
index 000000000000..22f12c0442aa
--- /dev/null
+++ b/www/py-dj52-drf-spectacular/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1733482018
+SHA256 (drf_spectacular-0.28.0.tar.gz) = 2c778a47a40ab2f5078a7c42e82baba07397bb35b074ae4680721b2805943061
+SIZE (drf_spectacular-0.28.0.tar.gz) = 237849
diff --git a/www/py-dj52-drf-spectacular/pkg-descr b/www/py-dj52-drf-spectacular/pkg-descr
new file mode 100644
index 000000000000..7f053d6244dc
--- /dev/null
+++ b/www/py-dj52-drf-spectacular/pkg-descr
@@ -0,0 +1,24 @@
+This project has 3 goals:
+
+* Extract as much schema information from DRF as possible.
+* Provide flexibility to make the schema usable in the real world (not only
+ toy examples).
+* Generate a schema that works well with the most popular client generators.
+
+The code is a heavily modified fork of the DRF OpenAPI generator, which is/was
+lacking all of the below listed features:
+
+* Serializers modelled as components. (arbitrary nesting + recursion supported)
+* @extend_schema decorator for customization of APIView, Viewsets,
+ function-based views, and @action
+* Authentication support (DRF natives included, easily extendable)
+* Custom serializer class support (easily extendable)
+* SerializerMethodField() type via type hinting or @extend_schema_field
+* i18n support, Tags extraction, Description extraction from docstrings
+* Request/response/parameter examples, Callback operations
+* Vendor specification extensions (x-*) in info, operations, parameters,
+ components, and security schemes
+* Sane fallbacks and sane operation_id naming (based on path)
+* Schema serving with SpectacularAPIView (Redoc and Swagger-UI views are
+ also available)
+* Optional input/output serializer component split
diff --git a/www/py-dj52-social-auth-app-django/Makefile b/www/py-dj52-social-auth-app-django/Makefile
new file mode 100644
index 000000000000..db3778e0f22b
--- /dev/null
+++ b/www/py-dj52-social-auth-app-django/Makefile
@@ -0,0 +1,34 @@
+PORTNAME= social-auth-app-django
+DISTVERSION= 5.4.3
+CATEGORIES= www security python
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj52-
+
+MAINTAINER= kai@FreeBSD.org
+COMMENT= Social Authentication and Django integration
+WWW= https://github.com/python-social-auth/social-app-django
+
+LICENSE= BSD3CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= ${PY_SETUPTOOLS} \
+ ${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django52>=3.2:www/py-django52@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}social-auth-core>=4.4<5:security/py-social-auth-core@${PY_FLAVOR}
+TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}mock>0:devel/py-mock@${PY_FLAVOR}
+
+USES= python:3.10+
+USE_GITHUB= yes
+GH_ACCOUNT= python-social-auth
+GH_PROJECT= social-app-django
+USE_PYTHON= autoplist pep517
+
+TEST_ENV= PYTHONPATH=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}
+
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
+
+NO_ARCH= yes
+
+do-test:
+ @cd ${WRKSRC} && ${SETENV} ${TEST_ENV} ${PYTHON_CMD} manage.py test -v3
+
+.include <bsd.port.mk>
diff --git a/www/py-dj52-social-auth-app-django/distinfo b/www/py-dj52-social-auth-app-django/distinfo
new file mode 100644
index 000000000000..68863aa8bae5
--- /dev/null
+++ b/www/py-dj52-social-auth-app-django/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1740213116
+SHA256 (python-social-auth-social-app-django-5.4.3_GH0.tar.gz) = 4dd02d76ffa390e6a2d7fe319869384c81d32c73b826eb09a10023cf66738389
+SIZE (python-social-auth-social-app-django-5.4.3_GH0.tar.gz) = 25327
diff --git a/www/py-dj52-social-auth-app-django/pkg-descr b/www/py-dj52-social-auth-app-django/pkg-descr
new file mode 100644
index 000000000000..fa7d52777ed7
--- /dev/null
+++ b/www/py-dj52-social-auth-app-django/pkg-descr
@@ -0,0 +1,6 @@
+Python Social Auth is an easy to setup social authentication/registration
+mechanism with support for several frameworks and auth providers.
+
+This is the Django component of the python-social-auth ecosystem, it implements
+the needed functionality to integrate social-auth-core in a Django based
+project.
diff --git a/www/py-dj52-strawberry-graphql-django/Makefile b/www/py-dj52-strawberry-graphql-django/Makefile
new file mode 100644
index 000000000000..88d95afad756
--- /dev/null
+++ b/www/py-dj52-strawberry-graphql-django/Makefile
@@ -0,0 +1,37 @@
+PORTNAME= strawberry-graphql-django
+DISTVERSION= 0.60.0
+CATEGORIES= www python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj52-
+DISTNAME= strawberry_graphql_django-${DISTVERSION}
+
+MAINTAINER= kai@FreeBSD.org
+COMMENT= Strawberry GraphQL Django extension
+WWW= https://github.com/strawberry-graphql/strawberry-django
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= ${PY_SETUPTOOLS} \
+ ${PYTHON_PKGNAMEPREFIX}poetry-core>=1.0.0:devel/py-poetry-core@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django52>=4.2:www/py-django52@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}asgiref>=3.8:www/py-asgiref@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}dj52-strawberry-graphql>=0.264.0:devel/py-dj52-strawberry-graphql@${PY_FLAVOR}
+
+USES= python:3.10+
+USE_PYTHON= autoplist pep517
+
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
+
+NO_ARCH= yes
+
+OPTIONS_DEFINE= DEBUG-TOOLBAR ENUM
+OPTIONS_DEFAULT= DEBUG-TOOLBAR ENUM
+
+DEBUG-TOOLBAR_DESC= Debug support
+ENUM_DESC= Integration for Django's TextChoices/IntegerChoices enumerations
+
+DEBUG-TOOLBAR_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}dj52-django-debug-toolbar>=3.4:www/py-dj52-django-debug-toolbar@${PY_FLAVOR}
+ENUM_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}dj52-django-choices-field>=2.2.2:www/py-dj52-django-choices-field@${PY_FLAVOR}
+
+.include <bsd.port.mk>
diff --git a/www/py-dj52-strawberry-graphql-django/distinfo b/www/py-dj52-strawberry-graphql-django/distinfo
new file mode 100644
index 000000000000..ed5dfad9d92e
--- /dev/null
+++ b/www/py-dj52-strawberry-graphql-django/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1749230619
+SHA256 (strawberry_graphql_django-0.60.0.tar.gz) = a5d210bd4458be298f86d8b1b8d01ce0208291b5b6b227cd0cfd97c51cf71ee8
+SIZE (strawberry_graphql_django-0.60.0.tar.gz) = 84511
diff --git a/www/py-dj52-strawberry-graphql-django/pkg-descr b/www/py-dj52-strawberry-graphql-django/pkg-descr
new file mode 100644
index 000000000000..bea2083c6410
--- /dev/null
+++ b/www/py-dj52-strawberry-graphql-django/pkg-descr
@@ -0,0 +1,15 @@
+This package provides powerful tools to generate GraphQL types, queries,
+mutations and resolvers from Django models.
+
+Supported Features:
+
+* GraphQL type generation from models
+* Filtering, pagination and ordering
+* Basic create, retrieve, update and delete (CRUD) types and mutations
+* Basic Django auth support, current user query, login and logout mutations
+* Django sync and async views
+* Permission extension using django's permissioning system
+* Relay support with automatic resolvers generation
+* Query optimization to improve performance and avoid common pitfalls (e.g n+1)
+* Debug Toolbar integration with graphiql to display metrics like SQL queries
+* Unit test integration
diff --git a/www/py-django-rich/Makefile b/www/py-django-rich/Makefile
index 4d02403cfbd0..26ce48c28111 100644
--- a/www/py-django-rich/Makefile
+++ b/www/py-django-rich/Makefile
@@ -1,9 +1,9 @@
PORTNAME= django-rich
-PORTVERSION= 1.14.0
+DISTVERSION= 2.0.0
CATEGORIES= www python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
-DISTNAME= django_rich-${PORTVERSION}
+DISTNAME= django_rich-${DISTVERSION}
MAINTAINER= kai@FreeBSD.org
COMMENT= Extensions for using Rich with Django
@@ -17,7 +17,7 @@ BUILD_DEPENDS= ${PY_SETUPTOOLS} \
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django42>=4.2:www/py-django42@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}rich>=10.0.0:textproc/py-rich@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist pep517
CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
diff --git a/www/py-django-rich/distinfo b/www/py-django-rich/distinfo
index e43721ecd9d6..ff93b43f1403 100644
--- a/www/py-django-rich/distinfo
+++ b/www/py-django-rich/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1739187658
-SHA256 (django_rich-1.14.0.tar.gz) = 737b3093a9ba993a40cefc5fb0d7bb12767adb78c9944e6d3107805caca3dcd7
-SIZE (django_rich-1.14.0.tar.gz) = 61077
+TIMESTAMP = 1747327116
+SHA256 (django_rich-2.0.0.tar.gz) = 3646edf7223f05b9775ec9a38ab5a33be93042fc3de3d5e31eacf84da6091913
+SIZE (django_rich-2.0.0.tar.gz) = 61448
diff --git a/www/py-django-storages/Makefile b/www/py-django-storages/Makefile
index 66d553726460..853b5605ce5f 100644
--- a/www/py-django-storages/Makefile
+++ b/www/py-django-storages/Makefile
@@ -1,8 +1,9 @@
PORTNAME= django-storages
-PORTVERSION= 1.14.4
+PORTVERSION= 1.14.6
CATEGORIES= www python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+DISTNAME= django_storages-${PORTVERSION}
MAINTAINER= python@FreeBSD.org
COMMENT= Generic storages for Django
@@ -19,6 +20,8 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django42>=3.2:www/py-django42@${PY_FLAVOR}
USES= python
USE_PYTHON= autoplist concurrent pep517
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
+
NO_ARCH= yes
# AZURE option requires newer devel/py-azure-storage-blob (not yet in the ports tree).
diff --git a/www/py-django-storages/distinfo b/www/py-django-storages/distinfo
index 46ba87cd5184..fdf7fdd929d0 100644
--- a/www/py-django-storages/distinfo
+++ b/www/py-django-storages/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1720608714
-SHA256 (django-storages-1.14.4.tar.gz) = 69aca94d26e6714d14ad63f33d13619e697508ee33ede184e462ed766dc2a73f
-SIZE (django-storages-1.14.4.tar.gz) = 83496
+TIMESTAMP = 1744777452
+SHA256 (django_storages-1.14.6.tar.gz) = 7a25ce8f4214f69ac9c7ce87e2603887f7ae99326c316bc8d2d75375e09341c9
+SIZE (django_storages-1.14.6.tar.gz) = 87587
diff --git a/www/py-django-tree-queries/Makefile b/www/py-django-tree-queries/Makefile
index 128a298f3514..6b772d243f16 100644
--- a/www/py-django-tree-queries/Makefile
+++ b/www/py-django-tree-queries/Makefile
@@ -1,5 +1,5 @@
PORTNAME= django-tree-queries
-DISTVERSION= 0.19.0
+DISTVERSION= 0.20.0
CATEGORIES= www python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/www/py-django-tree-queries/distinfo b/www/py-django-tree-queries/distinfo
index e9af148a8406..6b5d8d223639 100644
--- a/www/py-django-tree-queries/distinfo
+++ b/www/py-django-tree-queries/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1736247584
-SHA256 (django_tree_queries-0.19.0.tar.gz) = d1325e75f96e90b86c4316a3d63498101ec05703f4e629786b561e8aaab0e4a7
-SIZE (django_tree_queries-0.19.0.tar.gz) = 11541
+TIMESTAMP = 1750580543
+SHA256 (django_tree_queries-0.20.0.tar.gz) = 5439d8bf9f4eafab66175d23ddd4e0a639b1be47cfc357561ff740ef7b6f4df3
+SIZE (django_tree_queries-0.20.0.tar.gz) = 18083
diff --git a/www/py-drf-spectacular-sidecar/Makefile b/www/py-drf-spectacular-sidecar/Makefile
index 9fe0bf108f6b..e5933d077fa3 100644
--- a/www/py-drf-spectacular-sidecar/Makefile
+++ b/www/py-drf-spectacular-sidecar/Makefile
@@ -1,5 +1,5 @@
PORTNAME= drf-spectacular-sidecar
-DISTVERSION= 2025.4.1
+DISTVERSION= 2025.6.1
CATEGORIES= www python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/www/py-drf-spectacular-sidecar/distinfo b/www/py-drf-spectacular-sidecar/distinfo
index 4e6c5ab53ebf..2ba7b8f8b212 100644
--- a/www/py-drf-spectacular-sidecar/distinfo
+++ b/www/py-drf-spectacular-sidecar/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1744368988
-SHA256 (drf_spectacular_sidecar-2025.4.1.tar.gz) = ea7dc4e674174616589d258b5c9676f3c451ec422e62b79e31234d39db53922d
-SIZE (drf_spectacular_sidecar-2025.4.1.tar.gz) = 2402076
+TIMESTAMP = 1749230590
+SHA256 (drf_spectacular_sidecar-2025.6.1.tar.gz) = ee6752c73d712265a61b9e2ca6f71c3b2bd89f30f39cf9f8cda98e7f371fcbcf
+SIZE (drf_spectacular_sidecar-2025.6.1.tar.gz) = 2407117
diff --git a/www/py-freenit/Makefile b/www/py-freenit/Makefile
index 4a37f51e943d..aa5c09260cf5 100644
--- a/www/py-freenit/Makefile
+++ b/www/py-freenit/Makefile
@@ -1,5 +1,5 @@
PORTNAME= freenit
-DISTVERSION= 0.3.14
+DISTVERSION= 0.3.17
CATEGORIES= www devel python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
@@ -31,11 +31,13 @@ TEST_ENV= PYTHONPATH=${WRKSRC}/src
NO_ARCH= yes
SUB_LIST= PYTHON_VER=${PYTHON_VER}
-OPTIONS_DEFINE= ORMAR
-OPTIONS_DEFAULT= ORMAR
+OPTIONS_DEFINE= LDAP SQL
+OPTIONS_DEFAULT= SQL
-ORMAR_DESC= Support for SQL databases using Ormar
-ORMAR_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}alembic>=0:databases/py-alembic@${PY_FLAVOR} \
+LDAP_DESC= Support for OpenLDAP using Beanie
+SQL_DESC= Support for SQL databases using Ormar
+LDAP_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}bonsai>=0:net/py-bonsai@${PY_FLAVOR}
+SQL_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}alembic>=0:databases/py-alembic@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}ormar>0:databases/py-ormar@${PY_FLAVOR}
.include <bsd.port.mk>
diff --git a/www/py-freenit/distinfo b/www/py-freenit/distinfo
index ef63c2eb0107..e8f6d22ce868 100644
--- a/www/py-freenit/distinfo
+++ b/www/py-freenit/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1745763362
-SHA256 (freenit-0.3.14.tar.gz) = 0dc8de8a49e62471ca2ee02dee3986cae829f0a512357aa41dcd4c337a88f447
-SIZE (freenit-0.3.14.tar.gz) = 26271
+TIMESTAMP = 1750844784
+SHA256 (freenit-0.3.17.tar.gz) = daff3a346f4b9fa414df0561e1d2ec8972bf0391af53e04553bb7992a07f4716
+SIZE (freenit-0.3.17.tar.gz) = 27786
diff --git a/www/shiori/Makefile b/www/shiori/Makefile
index e368c2645269..a8bafe630a2e 100644
--- a/www/shiori/Makefile
+++ b/www/shiori/Makefile
@@ -1,7 +1,6 @@
PORTNAME= shiori
DISTVERSIONPREFIX= v
-DISTVERSION= 1.7.3
-PORTREVISION= 3
+DISTVERSION= 1.7.4
CATEGORIES= www
MAINTAINER= nivit@FreeBSD.org
diff --git a/www/shiori/distinfo b/www/shiori/distinfo
index 477b07f5aa30..51989a34f03b 100644
--- a/www/shiori/distinfo
+++ b/www/shiori/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1737293250
-SHA256 (go/www_shiori/shiori-v1.7.3/v1.7.3.mod) = 247336cc5dfbdf0bf093b310f9e1ff920eaa47e8a1abca571d3f5f536be826c9
-SIZE (go/www_shiori/shiori-v1.7.3/v1.7.3.mod) = 6740
-SHA256 (go/www_shiori/shiori-v1.7.3/v1.7.3.zip) = de0e1a4db3e3e37d9b1030777cf41dae5a91868ec779f174c370e0e185a4665a
-SIZE (go/www_shiori/shiori-v1.7.3/v1.7.3.zip) = 7037104
+TIMESTAMP = 1750495895
+SHA256 (go/www_shiori/shiori-v1.7.4/v1.7.4.mod) = 247336cc5dfbdf0bf093b310f9e1ff920eaa47e8a1abca571d3f5f536be826c9
+SIZE (go/www_shiori/shiori-v1.7.4/v1.7.4.mod) = 6740
+SHA256 (go/www_shiori/shiori-v1.7.4/v1.7.4.zip) = 5de0eff8f67d7455f83b7ea2d724adb77e43c5c5838d19539f86953aacd11eab
+SIZE (go/www_shiori/shiori-v1.7.4/v1.7.4.zip) = 7037128
diff --git a/www/sitecopy/Makefile b/www/sitecopy/Makefile
index 18693972bd3e..069a0bbbc106 100644
--- a/www/sitecopy/Makefile
+++ b/www/sitecopy/Makefile
@@ -11,6 +11,8 @@ WWW= https://www.manyfish.co.uk/sitecopy/
LICENSE= GPLv2
LICENSE_FILE= ${WRKSRC}/COPYING
+BROKEN= Fails to build with neon 0.32+, configure: incompatible neon library version 0.34.0: wanted 0.24 25 26 27 28 29 30 31 32
+
LIB_DEPENDS= libneon.so:www/neon
USES= gmake gnome localbase
diff --git a/www/squid/Makefile b/www/squid/Makefile
index 33b326d4413a..43984fbbbe58 100644
--- a/www/squid/Makefile
+++ b/www/squid/Makefile
@@ -1,12 +1,7 @@
PORTNAME= squid
-DISTVERSION= 6.12
-PORTREVISION= 1
+DISTVERSION= 6.13
CATEGORIES= www
-MASTER_SITES= http://www2.pl.squid-cache.org/Versions/v6/ \
- http://www1.il.squid-cache.org/Versions/v6/ \
- http://www2.gr.squid-cache.org/Versions/v6/ \
- http://ca2.squid-cache.org/Versions/v6/ \
- https://www.squid-cache.org/Versions/v6/
+MASTER_SITES= https://github.com/${PORTNAME}-cache/${PORTNAME}/releases/download/${PORTNAME:tu}_${DISTVERSION:S|.|_|g}/
PATCH_SITES= http://www2.pl.squid-cache.org/%SUBDIR%/ \
http://www1.il.squid-cache.org/%SUBDIR%/ \
@@ -17,7 +12,8 @@ PATCH_SITE_SUBDIR= Versions/v6/changesets
MAINTAINER= timp87@gmail.com
COMMENT= HTTP Caching Proxy
-WWW= https://www.squid-cache.org/
+WWW= https://www.squid-cache.org/ \
+ https://github.com/squid-cache/squid/
LICENSE= GPLv2
LICENSE_FILE= ${WRKSRC}/COPYING
@@ -209,9 +205,11 @@ WCCP_CONFIGURE_ENABLE= wccp
MYDOCS= QUICKSTART README RELEASENOTES.html doc/debug-sections.txt
change_files= ChangeLog errors/Makefile.am errors/Makefile.in \
- src/auth/basic/SMB_LM/README.html src/Makefile.am \
- src/Makefile.in src/cf_gen.cc src/squid.8.in \
- test-suite/Makefile.in tools/Makefile.am tools/Makefile.in
+ src/auth/basic/SMB_LM/README.html \
+ src/Makefile.am src/Makefile.in \
+ src/cf_gen.cc src/squid.8.in \
+ test-suite/Makefile.in test-suite/Makefile.am \
+ tools/Makefile.am tools/Makefile.in
.include <bsd.port.options.mk>
@@ -223,6 +221,7 @@ EXTERNAL_ACL+= file_userip unix_group delayer
# POLA: allow the old global make.conf(5) (pre src.conf(5)) defines, too:
.if ${PORT_OPTIONS:MAUTH_NIS} && !defined(NO_NIS) && !defined(WITHOUT_NIS)
BASIC_AUTH+= NIS
+CPPFLAGS+= -DBOOL_DEFINED
.endif
# POLA: allow the old global make.conf(5) (pre src.conf(5)) defines, too:
diff --git a/www/squid/distinfo b/www/squid/distinfo
index a716d8c3cf74..3482b7d60f5c 100644
--- a/www/squid/distinfo
+++ b/www/squid/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1733684468
-SHA256 (squid-6.12.tar.xz) = f3df3abb2603a513266f24a5d4699a9f0d76b9f554d1848b67f9c51cd3b3cb50
-SIZE (squid-6.12.tar.xz) = 2548220
+TIMESTAMP = 1749986346
+SHA256 (squid-6.13.tar.xz) = 232e0567946ccc0115653c3c18f01e83f2d9cc49c43d9dead8b319af0b35ad52
+SIZE (squid-6.13.tar.xz) = 2548680
diff --git a/www/squid/files/patch-configure b/www/squid/files/patch-configure
index c98cda36c325..0aa171813c01 100644
--- a/www/squid/files/patch-configure
+++ b/www/squid/files/patch-configure
@@ -1,27 +1,15 @@
---- configure.orig 2024-10-11 07:24:17 UTC
+--- configure.orig 2025-02-01 11:08:28 UTC
+++ configure
-@@ -29452,7 +29452,7 @@ fi
- fi
+@@ -43956,7 +43956,7 @@ BUILD_HELPER="NIS"
+ ##
-
--if test "x$with_nettle" != "xno"]
-+if test "x$with_nettle" != "xno"
- then :
-
-
-@@ -44043,7 +44043,10 @@ else $as_nop
-
- else $as_nop
-
-- BUILD_HELPER=""
-+# XXX: On FreeBSD we have to do this to make NIS work
-+# until https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=188247
-+# is resolved.
-+ BUILD_HELPER="NIS"
-
- fi
-
-@@ -50892,6 +50895,7 @@ ac_fn_cxx_check_type "$LINENO" "cpu_set_t" "ac_cv_type
+ BUILD_HELPER="NIS"
+- for ac_header in sys/types.h rpc/rpc.h rpcsvc/ypclnt.h rpcsvc/yp_prot.h crypt.h
++ for ac_header in sys/types.h rpc/rpc.h rpcsvc/ypclnt.h rpcsvc/yp_prot.h rpcsvc/crypt.h
+ do :
+ as_ac_Header=`printf "%s\n" "ac_cv_header_$ac_header" | $as_tr_sh`
+ ac_fn_cxx_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "
+@@ -50825,6 +50825,7 @@ ac_fn_cxx_check_type "$LINENO" "cpu_set_t" "ac_cv_type
ac_fn_cxx_check_type "$LINENO" "cpu_set_t" "ac_cv_type_cpu_set_t" "
#if HAVE_SCHED_H
@@ -29,7 +17,7 @@
#include <sched.h>
#endif
-@@ -53860,6 +53864,7 @@ else $as_nop
+@@ -53793,6 +53794,7 @@ else $as_nop
# include <sys/ioccom.h>
# include <netinet/in.h>
#undef minor_t
diff --git a/www/squid/files/patch-src-cf.data.pre b/www/squid/files/patch-src_cf.data.pre
index bfcdb4b2bc8a..5d2e4ecc1086 100644
--- a/www/squid/files/patch-src-cf.data.pre
+++ b/www/squid/files/patch-src_cf.data.pre
@@ -1,6 +1,6 @@
---- src/cf.data.pre.orig 2024-03-04 05:45:51 UTC
+--- src/cf.data.pre.orig 2025-01-31 08:52:43 UTC
+++ src/cf.data.pre
-@@ -5526,6 +5526,10 @@ DEFAULT: @DEFAULT_PID_FILE@
+@@ -5552,6 +5552,10 @@ DOC_START
LOC: Config.pidFilename
DOC_START
A filename to write the process-id to. To disable, enter "none".
diff --git a/www/squid/files/squid.in b/www/squid/files/squid.in
index e8ea315cc356..b1ba8938bf56 100644
--- a/www/squid/files/squid.in
+++ b/www/squid/files/squid.in
@@ -60,14 +60,16 @@ rcvar=squid_enable
# Make sure that we invoke squid with "-f ${squid_conf}"; define this
# variable early so reload_cmd and stop_precmd pick it up:
-extra_commands="reload configtest"
-reload_cmd=squid_reload
+# Workaround for https://bugs.squid-cache.org/show_bug.cgi?id=5390 until squid-7 is ported
+#extra_commands="reload configtest"
+#reload_cmd=squid_reload
start_precmd=squid_prestart
start_postcmd=squid_getpid
-stop_precmd=squid_prestop
-configtest_cmd=squid_configtest
-reload_precmd=squid_configtest
-restart_precmd=squid_configtest
+# Workaround for https://bugs.squid-cache.org/show_bug.cgi?id=5390 until squid-7 is ported
+#stop_precmd=squid_prestop
+#configtest_cmd=squid_configtest
+#reload_precmd=squid_configtest
+#restart_precmd=squid_configtest
# squid(8) will not start if ${squid_conf} is not present so try
# to catch that beforehand via ${required_files} rather than make
@@ -128,7 +130,8 @@ squid_prestart()
return 0
fi
- squid_configtest
+ # Workaround for https://bugs.squid-cache.org/show_bug.cgi?id=5390 until squid-7 is ported
+ #squid_configtest
}
squid_reload()
diff --git a/www/tinyauth/Makefile b/www/tinyauth/Makefile
new file mode 100644
index 000000000000..deb93522b649
--- /dev/null
+++ b/www/tinyauth/Makefile
@@ -0,0 +1,49 @@
+PORTNAME= tinyauth
+DISTVERSIONPREFIX= v
+DISTVERSION= 3.4.1
+CATEGORIES= www
+MASTER_SITES= LOCAL/dtxdf/${PORTNAME}/
+DISTFILES= ${PORTNAME}-${DISTVERSION}.frontend${EXTRACT_SUFX}
+
+MAINTAINER= dtxdf@FreeBSD.org
+COMMENT= Simplest way to protect your apps with a login screen
+WWW= https://tinyauth.app
+
+LICENSE= GPLv3
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+USES= go:1.23,modules
+USE_GITHUB= yes
+GH_ACCOUNT= steveiliop56
+
+USE_RC_SUBR= ${PORTNAME}
+
+GO_MOD_DIST= github
+GO_MODULE= github.com/steveiliop56/${PORTNAME}
+GO_BUILDFLAGS= -ldflags "\
+ -X 'tinyauth/internal/constants.Version=${DISTVERSIONPREFIX}${DISTVERSION}' \
+ -X 'tinyauth/internal/constants.CommitHash=${GITID}' \
+ -X 'tinyauth/internal/constants.BuildTimestamp=${BUILD_DATE}'"
+
+SUB_FILES= pkg-message
+SUB_LIST= USER=${USERS:[1]}
+
+USERS= ${TINYAUTH_USER}
+GROUPS= ${TINYAUTH_GROUP}
+
+PLIST_FILES= bin/${PORTNAME}
+
+# Run 'git checkout ${DISTVERSIONPREFIX}${DISTVERSION} && git rev-parse HEAD'
+# in the Tinyauth repository to get the value of GITID.
+GITID= 9eb296f14644267410655122e8aff6f0db83371a
+
+BUILD_DATE= $$(date -u '+%Y-%m-%dT%H:%M:%S')
+
+TINYAUTH_USER= ${PORTNAME}
+TINYAUTH_GROUP= ${TINYAUTH_USER}
+
+pre-build:
+ @${MKDIR} ${WRKSRC}/internal/assets/dist
+ @cd ${WRKDIR}/tinyauth-frontend && ${COPYTREE_SHARE} . ${WRKSRC}/internal/assets/dist
+
+.include <bsd.port.mk>
diff --git a/www/tinyauth/distinfo b/www/tinyauth/distinfo
new file mode 100644
index 000000000000..2325305b60e0
--- /dev/null
+++ b/www/tinyauth/distinfo
@@ -0,0 +1,7 @@
+TIMESTAMP = 1750535616
+SHA256 (go/www_tinyauth/steveiliop56-tinyauth-v3.4.1_GH0/tinyauth-3.4.1.frontend.tar.gz) = 65cfc1c70e7882d1152d8391b3126f294e388af1e1dacc7fa77d8274d12d189f
+SIZE (go/www_tinyauth/steveiliop56-tinyauth-v3.4.1_GH0/tinyauth-3.4.1.frontend.tar.gz) = 912295
+SHA256 (go/www_tinyauth/steveiliop56-tinyauth-v3.4.1_GH0/go.mod) = 822e543197823d37d4c6718279f77e610c6bb866a9cc34689f20fcc592c1b295
+SIZE (go/www_tinyauth/steveiliop56-tinyauth-v3.4.1_GH0/go.mod) = 5138
+SHA256 (go/www_tinyauth/steveiliop56-tinyauth-v3.4.1_GH0/steveiliop56-tinyauth-v3.4.1_GH0.tar.gz) = 75357015d84e62eb427fca54c9782459a2779d8ea2478602b447aef875757ebc
+SIZE (go/www_tinyauth/steveiliop56-tinyauth-v3.4.1_GH0/steveiliop56-tinyauth-v3.4.1_GH0.tar.gz) = 5629386
diff --git a/www/tinyauth/files/pkg-message.in b/www/tinyauth/files/pkg-message.in
new file mode 100644
index 000000000000..ead130a4241c
--- /dev/null
+++ b/www/tinyauth/files/pkg-message.in
@@ -0,0 +1,17 @@
+[
+{ type: install
+ message: <<EOM
+Tinyauth is installed
+
+1) Configure it in %%PREFIX%%/etc/tinyauth.env
+
+2) Enable it with
+
+ sysrc tinyauth_enable=YES
+
+3) Start it with
+
+ service tinyauth start
+EOM
+}
+]
diff --git a/www/tinyauth/files/tinyauth.in b/www/tinyauth/files/tinyauth.in
new file mode 100644
index 000000000000..00e28e49e60e
--- /dev/null
+++ b/www/tinyauth/files/tinyauth.in
@@ -0,0 +1,35 @@
+#!/bin/sh
+
+# PROVIDE: tinyauth
+# REQUIRE: LOGIN
+# KEYWORD: shutdown
+#
+# Configuration settings for tinyauth in /etc/rc.conf
+#
+# tinyauth_enable (bool): Enable tinyauth. (Default=NO)
+# tinyauth_env_file (str): Path containing the environment variables
+# to be used by tinyauth. (Default: %%PREFIX%%/etc/tinyauth.env)
+# tinyauth_logfile (str): Log file used to store the tinyauth's output. (Default: /var/log/tinyauth.log)
+# tinyauth_pidfile (str): File used by tinyauth to store the process ID. (Default: /var/run/tinyauth.pid)
+# tinyauth_runas (str): User to run tinyauth as. (Default: %%USER%%)
+
+. /etc/rc.subr
+
+name="tinyauth"
+desc="Simplest way to protect your apps with a login screen"
+rcvar="tinyauth_enable"
+
+load_rc_config $name
+
+: ${tinyauth_enable:="NO"}
+: ${tinyauth_env_file:="%%PREFIX%%/etc/tinyauth.env"}
+: ${tinyauth_logfile:="/var/log/tinyauth.log"}
+: ${tinyauth_pidfile:="/var/run/tinyauth.pid"}
+: ${tinyauth_runas:="%%USER%%"}
+
+pidfile="${tinyauth_pidfile}"
+procname="%%LOCALBASE%%/bin/tinyauth"
+command="/usr/sbin/daemon"
+command_args="-o '${tinyauth_logfile}' -p '${pidfile}' -u '${tinyauth_runas}' -t '${desc}' -- '${procname}'"
+
+run_rc_command "$1"
diff --git a/www/tinyauth/pkg-descr b/www/tinyauth/pkg-descr
new file mode 100644
index 000000000000..6ac24c9465b9
--- /dev/null
+++ b/www/tinyauth/pkg-descr
@@ -0,0 +1,4 @@
+Tinyauth is a simple authentication middleware that adds a simple
+login screen or OAuth with Google, Github and any provider to all
+of your docker apps. It supports all the popular proxies like
+Traefik, Nginx and Caddy.
diff --git a/www/tor-browser/Makefile b/www/tor-browser/Makefile
index 6c54676498e6..b0c94ed27b82 100644
--- a/www/tor-browser/Makefile
+++ b/www/tor-browser/Makefile
@@ -1,6 +1,5 @@
PORTNAME= tor-browser
-DISTVERSION= 14.5.3
-PORTREVISION= 1
+DISTVERSION= 14.5.4
CATEGORIES= www net security wayland
TAG_BASE= 90dbac96420394aa35ce29385814742ac4942b26
TAG_TOR= 9cbc3b3d25d2c5c77f1b6b3172ba6bcad2563939
@@ -18,9 +17,9 @@ MASTER_SITES= TOR \
LOCAL/vvd:source5
MASTER_SITE_SUBDIR= torbrowser/${DISTVERSION}/:DEFAULT \
download/releases/:source3
-DISTNAME= src-firefox-tor-browser-128.11.0esr-14.5-1-build3
+DISTNAME= src-firefox-tor-browser-128.12.0esr-14.5-1-build1
MANUAL= manual_215922.zip
-NOSCRIPT= noscript-13.0.6.xpi
+NOSCRIPT= noscript-13.0.8.xpi
DISTFILES= ${DISTNAME}.tar.xz \
${MANUAL}:source1 \
fonts-3--4348e1.tar.zst:source2 \
diff --git a/www/tor-browser/distinfo b/www/tor-browser/distinfo
index 3c6762f42035..17b1427f4f3d 100644
--- a/www/tor-browser/distinfo
+++ b/www/tor-browser/distinfo
@@ -1,12 +1,12 @@
-TIMESTAMP = 1748354421
-SHA256 (src-firefox-tor-browser-128.11.0esr-14.5-1-build3.tar.xz) = 349e0bdc52b6b150732a0483e1a1d66e47e608b2d77697112d2285751f476f53
-SIZE (src-firefox-tor-browser-128.11.0esr-14.5-1-build3.tar.xz) = 611118336
+TIMESTAMP = 1750789506
+SHA256 (src-firefox-tor-browser-128.12.0esr-14.5-1-build1.tar.xz) = d79e2760287bb86cddf99da0e73e0dd2fe54eb301958f58404deb475e61a47f8
+SIZE (src-firefox-tor-browser-128.12.0esr-14.5-1-build1.tar.xz) = 611154864
SHA256 (manual_215922.zip) = b5ed703f54d52e9f197320f3698e936d585a3fed23cc4f9fbf59edce2869f885
SIZE (manual_215922.zip) = 28305786
SHA256 (fonts-3--4348e1.tar.zst) = 7fbbecece6de777f196982f6eb567970a6d8e7ac2bf5b1ad6b90e1ea36374032
SIZE (fonts-3--4348e1.tar.zst) = 27441580
-SHA256 (noscript-13.0.6.xpi) = 85066ef24c44cc839b2d6bbe4d3d08652c8e09f06515e1b86ee72ba26c406989
-SIZE (noscript-13.0.6.xpi) = 992587
+SHA256 (noscript-13.0.8.xpi) = 9d978cfe083cb9cce120b5ee41e8933d752d7ab4680bf517c5ec4b29c4cfd2dc
+SIZE (noscript-13.0.8.xpi) = 993143
SHA256 (tpo-translation-90dbac96420394aa35ce29385814742ac4942b26_GL0.tar.gz) = dd720795ebd4a335e522fc48956e81b1ba62580aae33d99997ecdaf6866a3537
SIZE (tpo-translation-90dbac96420394aa35ce29385814742ac4942b26_GL0.tar.gz) = 793166
SHA256 (tpo-translation-9cbc3b3d25d2c5c77f1b6b3172ba6bcad2563939_GL0.tar.gz) = 033bd5bb2e4e2f852d3a711c4e652a389f32974fe0304a969f518680d849a32c
diff --git a/www/wget2/Makefile b/www/wget2/Makefile
index c0615c687e1d..437de18068ce 100644
--- a/www/wget2/Makefile
+++ b/www/wget2/Makefile
@@ -1,5 +1,6 @@
PORTNAME= wget2
DISTVERSION= 2.2.0
+PORTREVISION= 1
CATEGORIES= www
MASTER_SITES= GNU/wget