summaryrefslogtreecommitdiff
path: root/www
diff options
context:
space:
mode:
Diffstat (limited to 'www')
-rw-r--r--www/davical/Makefile3
-rw-r--r--www/davical/files/patch-caldav-ACL.php85
-rw-r--r--www/davical/files/patch-principal-edit.php27
-rw-r--r--www/firefox-esr/Makefile1
-rw-r--r--www/firefox/Makefile3
-rw-r--r--www/firefox/distinfo6
-rw-r--r--www/gallery-dl/Makefile2
-rw-r--r--www/gallery-dl/distinfo6
-rw-r--r--www/librewolf/Makefile1
-rw-r--r--www/linux-freetube/Makefile2
-rw-r--r--www/linux-freetube/distinfo6
-rw-r--r--www/nextcloud-calendar/Makefile2
-rw-r--r--www/nextcloud-calendar/distinfo6
-rw-r--r--www/nextcloud-contacts/Makefile2
-rw-r--r--www/nextcloud-contacts/distinfo6
-rw-r--r--www/py-calibreweb/Makefile32
-rw-r--r--www/py-calibreweb/distinfo6
-rw-r--r--www/py-calibreweb/files/calibreweb.in16
-rw-r--r--www/py-google-api-python-client/Makefile2
-rw-r--r--www/py-google-api-python-client/distinfo6
-rw-r--r--www/py-yt-dlp/Makefile2
-rw-r--r--www/py-yt-dlp/distinfo6
-rw-r--r--www/py-yt-dlp/pkg-plist28
-rw-r--r--www/qt5-webengine/Makefile12
-rw-r--r--www/qt6-httpserver/distinfo6
-rw-r--r--www/qt6-webchannel/distinfo6
-rw-r--r--www/qt6-webengine/Makefile28
-rw-r--r--www/qt6-webengine/distinfo6
-rw-r--r--www/qt6-webengine/files/patch-cmake_Functions.cmake4
-rw-r--r--www/qt6-webengine/files/patch-cmake_QtToolchainHelpers.cmake10
-rw-r--r--www/qt6-webengine/files/patch-configure.cmake16
-rw-r--r--www/qt6-webengine/files/patch-security-rollup246
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_ui_webui_signin_profile__picker__handler.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_ipc_service_gpu__init.cc18
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_build_scripts_gperf.py27
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_runtime__enabled__features.json58
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_dragdrop_os__exchange__data__provider__non__backed.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_ui__base__features.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_ui__base__features.h4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gfx_linux_gbm__wrapper.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_core_CMakeLists.txt10
-rw-r--r--www/qt6-webengine/files/patch-src_core_api_configure.cmake8
-rw-r--r--www/qt6-webengine/files/patch-src_core_compositor_native__skia__output__device__opengl.cpp4
-rw-r--r--www/qt6-websockets/distinfo6
-rw-r--r--www/qt6-webview/distinfo6
-rw-r--r--www/tor-browser/Makefile1
-rw-r--r--www/waterfox/Makefile1
-rw-r--r--www/wslay/Makefile4
-rw-r--r--www/wslay/files/patch-CMakeLists.txt13
-rw-r--r--www/wslay/files/wslay.pc.cmake.in13
-rw-r--r--www/wslay/pkg-plist1
-rw-r--r--www/yt-dlp/Makefile2
-rw-r--r--www/yt-dlp/distinfo6
53 files changed, 554 insertions, 184 deletions
diff --git a/www/davical/Makefile b/www/davical/Makefile
index 148a9b6d5b41..43d48acda575 100644
--- a/www/davical/Makefile
+++ b/www/davical/Makefile
@@ -1,10 +1,11 @@
PORTNAME= davical
DISTVERSIONPREFIX= r
DISTVERSION= 1.1.12
+PORTREVISION= 1
CATEGORIES?= www
PKGNAMESUFFIX= ${PHP_PKGNAMESUFFIX}
-MAINTAINER= ports@FreeBSD.org
+MAINTAINER= dinoex@FreeBSD.org
COMMENT= Simple CalDAV server using a postgres backend
WWW= https://www.davical.org/
diff --git a/www/davical/files/patch-caldav-ACL.php b/www/davical/files/patch-caldav-ACL.php
new file mode 100644
index 000000000000..1f4ae0bf13e4
--- /dev/null
+++ b/www/davical/files/patch-caldav-ACL.php
@@ -0,0 +1,85 @@
+commit effc00474111bf5dff1297dd3c6811c1fdf6b6ca
+Author: Florian Schlichting <fsfs@debian.org>
+Date: Thu Mar 23 22:14:41 2023 +0100
+
+ use "." to concatenate strings, not "+" (fixes #288)
+
+ Unsupported operand types: string + string at /usr/share/davical/inc/caldav-ACL.php:146
+
+diff --git a/inc/caldav-ACL.php b/inc/caldav-ACL.php
+index 861d4389..cb0fa213 100644
+--- inc/caldav-ACL.php.orig
++++ inc/caldav-ACL.php
+@@ -143,7 +143,7 @@ function process_ace( $grantor, $by_principal, $by_collection, $ace ) {
+ $grantee = new DAVResource( DeconstructURL($principal_content->GetContent()) );
+ $grantee_id = $grantee->getProperty('principal_id');
+ if ( !$grantee->Exists() || !$grantee->IsPrincipal() )
+- $request->PreconditionFailed(403,'recognized-principal', 'Principal "' + $principal_content->GetContent() + '" not found.');
++ $request->PreconditionFailed(403,'recognized-principal', 'Principal "' . $principal_content->GetContent() . '" not found.');
+ $sqlparms = array( ':to_principal' => $grantee_id);
+ $where = 'WHERE to_principal=:to_principal AND ';
+ if ( isset($by_principal) ) {
+diff --git a/testing/tests/regression-suite/0946-ACL-err.result b/testing/tests/regression-suite/0946-ACL-err.result
+new file mode 100644
+index 00000000..c0ad5ef7
+--- /dev/null
++++ testing/tests/regression-suite/0946-ACL-err.result
+@@ -0,0 +1,11 @@
++HTTP/1.1 403 Forbidden
++Date: Dow, 01 Jan 2000 00:00:00 GMT
++DAV: 1, 2, 3, access-control, calendar-access, calendar-schedule
++DAV: extended-mkcol, bind, addressbook, calendar-auto-schedule, calendar-proxy
++Content-Length: 137
++Content-Type: text/xml; charset="utf-8"
++
++<?xml version="1.0" encoding="utf-8" ?>
++<error xmlns="DAV:">
++ <recognized-principal/>Principal "/caldav.php/user40/" not found.
++</error>
+diff --git a/testing/tests/regression-suite/0946-ACL-err.test b/testing/tests/regression-suite/0946-ACL-err.test
+new file mode 100644
+index 00000000..945f3a13
+--- /dev/null
++++ testing/tests/regression-suite/0946-ACL-err.test
+@@ -0,0 +1,41 @@
++#
++# ACL setting default privileges on a collection to nothing, and
++# specific privileges to include read-acl.
++#
++TYPE=ACL
++URL=http://regression.host/caldav.php/user1/home/
++HEADER=User-Agent: RFC3744 Spec Tests
++HEADER=Content-Type: text/xml; charset="UTF-8"
++HEAD
++
++
++BEGINDATA
++<?xml version="1.0" encoding="utf-8" ?>
++<acl xmlns="DAV:" xmlns:CalDAV="urn:ietf:params:xml:ns:caldav">
++ <ace>
++ <principal>
++ <href>/caldav.php/user40/</href>
++ </principal>
++ <grant>
++ <privilege><read/></privilege>
++ <privilege><read-acl/></privilege>
++ <privilege><read-current-user-privilege-set/></privilege>
++ <privilege><CalDAV:read-free-busy/></privilege>
++ </grant>
++ </ace>
++ <ace>
++ <principal><authenticated/></principal>
++ <grant>
++ <privilege/>
++ </grant>
++ </ace>
++</acl>
++ENDDATA
++
++QUERY
++SELECT by_principal, by_collection, privileges, p_to.displayname, to_principal
++ FROM grants JOIN dav_principal p_to ON (to_principal=principal_id)
++ LEFT JOIN collection ON (by_collection=collection.collection_id)
++ WHERE collection.dav_name = '/user1/home/'
++ENDQUERY
++
diff --git a/www/davical/files/patch-principal-edit.php b/www/davical/files/patch-principal-edit.php
new file mode 100644
index 000000000000..361be905cb0e
--- /dev/null
+++ b/www/davical/files/patch-principal-edit.php
@@ -0,0 +1,27 @@
+commit e8f3a3e6f2c27e78c2778e0040b385b430dfc9fc
+Author: Andrew Ruthven <puck@catalystcloud.nz>
+Date: Sun Apr 30 12:13:37 2023 +1200
+
+ Add a missing space to a SQL statement to fix adding groups.
+
+ It looks to me like this bug has been present since 2011.
+
+ Closes: #294
+
+diff --git a/inc/ui/principal-edit.php b/inc/ui/principal-edit.php
+index 603fd1e1..df975e22 100644
+--- inc/ui/principal-edit.php.orig
++++ inc/ui/principal-edit.php
+@@ -495,9 +495,9 @@ function group_memberships_browser() {
+ function group_row_editor() {
+ global $c, $id, $editor, $can_write_principal;
+ $grouprow = new Editor("Group Members", "group_member");
+- $sql = 'SELECT principal_id, coalesce(displayname,fullname,username) FROM dav_principal ';
+- $sql .= 'WHERE principal_id NOT IN (SELECT member_id FROM group_member WHERE group_id = '.$id.') ';
+- $sql .= 'AND principal_id != '.$id;
++ $sql = 'SELECT principal_id, coalesce(displayname, fullname, username) FROM dav_principal ';
++ $sql .= 'WHERE principal_id NOT IN (SELECT member_id FROM group_member WHERE group_id = ' . $id . ') ';
++ $sql .= 'AND principal_id != ' . $id . ' ';
+ $sql .= 'ORDER BY 2';
+ $grouprow->SetLookup( 'member_id', $sql);
+ $grouprow->SetSubmitName( 'savegrouprow' );
diff --git a/www/firefox-esr/Makefile b/www/firefox-esr/Makefile
index 0c4835a0173f..058a23506eac 100644
--- a/www/firefox-esr/Makefile
+++ b/www/firefox-esr/Makefile
@@ -1,5 +1,6 @@
PORTNAME= firefox
DISTVERSION= 140.2.0
+PORTREVISION= 1
PORTEPOCH= 1
CATEGORIES= www wayland
MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}esr/source \
diff --git a/www/firefox/Makefile b/www/firefox/Makefile
index 9d2207c39d0c..4d31a1d81930 100644
--- a/www/firefox/Makefile
+++ b/www/firefox/Makefile
@@ -1,5 +1,6 @@
PORTNAME= firefox
-DISTVERSION= 142.0
+DISTVERSION= 142.0.1
+PORTREVISION= 1
PORTEPOCH= 2
CATEGORIES= www wayland
MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}${DISTVERSIONSUFFIX}/source \
diff --git a/www/firefox/distinfo b/www/firefox/distinfo
index 79365ba6be78..f98f10067093 100644
--- a/www/firefox/distinfo
+++ b/www/firefox/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1754937451
-SHA256 (firefox-142.0.source.tar.xz) = 2808e1f10f3b6c593f96f3745a55d12c98107886daef00f1e354c24203a64b0f
-SIZE (firefox-142.0.source.tar.xz) = 638180600
+TIMESTAMP = 1756381378
+SHA256 (firefox-142.0.1.source.tar.xz) = b0adb44ed4c3383e752a5947adbfb0d03f24172cb468831bd49978de25e810c0
+SIZE (firefox-142.0.1.source.tar.xz) = 634262768
diff --git a/www/gallery-dl/Makefile b/www/gallery-dl/Makefile
index 6ed5d3453385..5e67d2aa26ed 100644
--- a/www/gallery-dl/Makefile
+++ b/www/gallery-dl/Makefile
@@ -1,6 +1,6 @@
PORTNAME= gallery-dl
DISTVERSIONPREFIX= v
-DISTVERSION= 1.30.4
+DISTVERSION= 1.30.5
CATEGORIES= www
# Implicit approval to commit trivial version updates.
diff --git a/www/gallery-dl/distinfo b/www/gallery-dl/distinfo
index dcf822e069ed..a5955571df01 100644
--- a/www/gallery-dl/distinfo
+++ b/www/gallery-dl/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1755367236
-SHA256 (mikf-gallery-dl-v1.30.4_GH0.tar.gz) = b4f91fed87743aa2dcd22ca7e4638247e4344176e30b1738dec02ef743da0e12
-SIZE (mikf-gallery-dl-v1.30.4_GH0.tar.gz) = 938199
+TIMESTAMP = 1756044750
+SHA256 (mikf-gallery-dl-v1.30.5_GH0.tar.gz) = 2c035f5366b202726e9347e3bf8642874285f33cf372b9325c34eba696cbe480
+SIZE (mikf-gallery-dl-v1.30.5_GH0.tar.gz) = 944331
diff --git a/www/librewolf/Makefile b/www/librewolf/Makefile
index 6be8c1e5818f..7c8195691bfd 100644
--- a/www/librewolf/Makefile
+++ b/www/librewolf/Makefile
@@ -1,5 +1,6 @@
PORTNAME= librewolf
DISTVERSION= 142.0
+PORTREVISION= 1
LWPATCH= -1
DISTVERSIONSUFFIX= ${LWPATCH}.source
CATEGORIES= www wayland
diff --git a/www/linux-freetube/Makefile b/www/linux-freetube/Makefile
index 4b5d0657a753..07713cc8ccba 100644
--- a/www/linux-freetube/Makefile
+++ b/www/linux-freetube/Makefile
@@ -1,6 +1,6 @@
PORTNAME= freetube
DISTVERSIONPREFIX= v
-DISTVERSION= 0.23.6-beta
+DISTVERSION= 0.23.8-beta
PORTREVISION= 0
CATEGORIES= www
MASTER_SITES= https://github.com/FreeTubeApp/FreeTube/releases/download/${DISTVERSIONFULL}/ \
diff --git a/www/linux-freetube/distinfo b/www/linux-freetube/distinfo
index ca64c04cbc9c..c2dbc0ac22a7 100644
--- a/www/linux-freetube/distinfo
+++ b/www/linux-freetube/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1754724801
-SHA256 (freetube-0.23.6-beta-linux-x64-portable.zip) = aa8d82ed257f1daf844fd4657d2f5b5f118555b126200fb42e11fce2d1375937
-SIZE (freetube-0.23.6-beta-linux-x64-portable.zip) = 104149836
+TIMESTAMP = 1756112923
+SHA256 (freetube-0.23.8-beta-linux-x64-portable.zip) = 6cfba8e67740a8d5a6ab85f3694c779dc2a03b4b40610881ba92d7a212a3ceff
+SIZE (freetube-0.23.8-beta-linux-x64-portable.zip) = 104150148
SHA256 (linux-freetube-icons-0.1.3.zip) = d76906cce52ac5cc730113a6d8598009467480d70a11e7ad81cbe9655bbd941e
SIZE (linux-freetube-icons-0.1.3.zip) = 10580
diff --git a/www/nextcloud-calendar/Makefile b/www/nextcloud-calendar/Makefile
index 8247d403b259..dabb0a9dd7ae 100644
--- a/www/nextcloud-calendar/Makefile
+++ b/www/nextcloud-calendar/Makefile
@@ -1,5 +1,5 @@
PORTNAME= calendar
-PORTVERSION= 5.3.9
+PORTVERSION= 5.5.1
DISTVERSIONPREFIX= v
CATEGORIES= www
diff --git a/www/nextcloud-calendar/distinfo b/www/nextcloud-calendar/distinfo
index b228d5301686..6f627e2af071 100644
--- a/www/nextcloud-calendar/distinfo
+++ b/www/nextcloud-calendar/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1755624521
-SHA256 (nextcloud/calendar-v5.3.9.tar.gz) = 279caa87cb8339051c83b2bd11b99870583554260ad632d2f754b8d7dbf744f5
-SIZE (nextcloud/calendar-v5.3.9.tar.gz) = 19950765
+TIMESTAMP = 1756141036
+SHA256 (nextcloud/calendar-v5.5.1.tar.gz) = f712ca3c33b2bc3be26b51944745c542464a7553417caeda4094104a4bef08c6
+SIZE (nextcloud/calendar-v5.5.1.tar.gz) = 19778822
diff --git a/www/nextcloud-contacts/Makefile b/www/nextcloud-contacts/Makefile
index d5d38b600079..f40ba1d3f697 100644
--- a/www/nextcloud-contacts/Makefile
+++ b/www/nextcloud-contacts/Makefile
@@ -1,5 +1,5 @@
PORTNAME= contacts
-PORTVERSION= 7.2.5
+PORTVERSION= 7.2.6
DISTVERSIONPREFIX= v
CATEGORIES= www
diff --git a/www/nextcloud-contacts/distinfo b/www/nextcloud-contacts/distinfo
index 9cfd5fda3d9f..b0c74cb0dbf3 100644
--- a/www/nextcloud-contacts/distinfo
+++ b/www/nextcloud-contacts/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1755624542
-SHA256 (nextcloud/contacts-v7.2.5.tar.gz) = 03c7457cf79ee137b5cdb2da25fa21bb2c6731b6b2b267c36b78627099ea7e43
-SIZE (nextcloud/contacts-v7.2.5.tar.gz) = 4487588
+TIMESTAMP = 1756412333
+SHA256 (nextcloud/contacts-v7.2.6.tar.gz) = 20cb06e3f90dca3dbea1c1edb049d0ff5cbe2a18255894e0d2ce56b2283f5f6a
+SIZE (nextcloud/contacts-v7.2.6.tar.gz) = 4496148
diff --git a/www/py-calibreweb/Makefile b/www/py-calibreweb/Makefile
index ce288321aefb..e957fa734831 100644
--- a/www/py-calibreweb/Makefile
+++ b/www/py-calibreweb/Makefile
@@ -1,13 +1,9 @@
PORTNAME= calibreweb
-PORTVERSION= 0.6.24
-PORTREVISION= 3
+PORTVERSION= 0.6.25
CATEGORIES= www python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
-PATCH_SITES= https://github.com/janeczku/calibre-web/commit/
-PATCHFILES= f493d4e4e521b99964c0b2a744d54390fc3b663e.patch:-p1
-
MAINTAINER= matthew@wener.org
COMMENT= Web interface for viewing and downloading eBooks from a Calibre DB
WWW= https://github.com/janeczku/calibre-web
@@ -19,6 +15,7 @@ BUILD_DEPENDS= ${PY_SETUPTOOLS} \
${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}APScheduler>=0:devel/py-apscheduler@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}bleach>=0:www/py-bleach@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}certifi>=0:security/py-certifi@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}chardet>=0:textproc/py-chardet@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}flask-babel>=0:devel/py-flask-babel@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}Flask-HTTPAuth>=0:security/py-flask-httpauth@${PY_FLAVOR} \
@@ -28,6 +25,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}APScheduler>=0:devel/py-apscheduler@${PY_FLA
${PYTHON_PKGNAMEPREFIX}iso-639>=0:textproc/py-iso-639@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}lxml5>=0:devel/py-lxml5@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}netifaces-plus>=0:net/py-netifaces-plus@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pycountry>=0:textproc/py-pycountry@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pypdf>=0:print/py-pypdf@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}python-magic>=0:devel/py-python-magic@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}regex>=0:textproc/py-regex@${PY_FLAVOR} \
@@ -38,8 +36,8 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}APScheduler>=0:devel/py-apscheduler@${PY_FLA
${PYTHON_PKGNAMEPREFIX}urllib3>=0:net/py-urllib3@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}Wand>=0:graphics/py-wand@${PY_FLAVOR}
-USES= python
-USE_PYTHON= autoplist pep517
+USES= python ssl
+USE_PYTHON= autoplist cryptography pep517
USE_RC_SUBR= ${PORTNAME}
NO_ARCH= yes
@@ -50,7 +48,6 @@ SUB_LIST= GROUP=${GROUPS} \
PYTHON_CMD=${PYTHON_CMD} \
RC_NAME=calibreweb \
USER=${USERS}
-PATCH_WRKSRC= ${WRKSRC}/src/calibreweb
USERS= ${PORTNAME}
GROUPS= ${PORTNAME}
@@ -58,8 +55,9 @@ GROUPS= ${PORTNAME}
POST_PLIST= fix-plist
PORTDOCS= PKG-INFO README.md
-OPTIONS_DEFINE= CALIBRE COMICS DOCS GDRIVE GMAIL GREADS KOBO LDAP \
- METADATA OAUTH
+# GDRIVE option removed due to expired security/py-oauth2client
+OPTIONS_DEFINE= CALIBRE COMICS DOCS GMAIL GREADS KOBO LDAP METADATA \
+ OAUTH
OPTIONS_DEFAULT= IMAGICK7_X11 SQLA20
OPTIONS_SINGLE= IMAGICK SQLA
@@ -68,7 +66,6 @@ OPTIONS_SINGLE_SQLA= SQLA14 SQLA20
CALIBRE_DESC= Calibre Desktop Conversion and Metadata Editing
COMICS_DESC= Comic Metadata Support
-GDRIVE_DESC= Google Drive Support
GMAIL_DESC= GMail
GREADS_DESC= Goodreads API
IMAGICK6_NOX11_DESC= ImageMagick6 without X11 support
@@ -87,16 +84,6 @@ SQLA_DESC= SQLAchemy Database Toolkit for Python
CALIBRE_RUN_DEPENDS= calibre>=0:deskutils/calibre
COMICS_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}comicapi>=0:archivers/py-comicapi@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}natsort>=0:devel/py-natsort@${PY_FLAVOR}
-GDRIVE_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}gevent>=0:devel/py-gevent@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}google-api-python-client>=0:www/py-google-api-python-client@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}google-auth-httplib2>=0:security/py-google-auth-httplib2@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}greenlet>=0:devel/py-greenlet@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}oauth2client>=0:security/py-oauth2client@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}pyasn1-modules>=0:devel/py-pyasn1-modules@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}PyDrive2>=0:www/py-pydrive2@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}pyyaml>=0:devel/py-pyyaml@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}rsa>=0:security/py-rsa@${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} \
@@ -125,9 +112,6 @@ OAUTH_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}flask-dance>=0:www/py-flask-dance@${PY
SQLA14_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sqlalchemy14>=0:databases/py-sqlalchemy14@${PY_FLAVOR}
SQLA20_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sqlalchemy20>=0:databases/py-sqlalchemy20@${PY_FLAVOR}
-post-patch:
- ${FIND} ${PATCH_WRKSRC} -name '*.orig' -delete
-
pre-install-DOCS-on:
@${MKDIR} ${STAGEDIR}${DOCSDIR}/
${INSTALL_DATA} ${PORTDOCS:S,^,${WRKSRC}/,} ${STAGEDIR}${DOCSDIR}
diff --git a/www/py-calibreweb/distinfo b/www/py-calibreweb/distinfo
index bc6e49d75283..fedffc2bd2c2 100644
--- a/www/py-calibreweb/distinfo
+++ b/www/py-calibreweb/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1731942101
-SHA256 (calibreweb-0.6.24.tar.gz) = 883c956ceb93a9bfa758428904d4122e64a1cf4778e5b6df14b8e50f465b6f9e
-SIZE (calibreweb-0.6.24.tar.gz) = 7126198
+TIMESTAMP = 1756041510
+SHA256 (calibreweb-0.6.25.tar.gz) = 27f8c3c2790ac6732a16eda52bd450a0578ad177c21f68b7373e68a3b86379cc
+SIZE (calibreweb-0.6.25.tar.gz) = 7199153
SHA256 (f493d4e4e521b99964c0b2a744d54390fc3b663e.patch) = 38a80e7ab18d5f06216b5b0b3fbe45d7cd59c3d43aecea2eb4ba9510d6f118ca
SIZE (f493d4e4e521b99964c0b2a744d54390fc3b663e.patch) = 1748
diff --git a/www/py-calibreweb/files/calibreweb.in b/www/py-calibreweb/files/calibreweb.in
index ba413bc6e6ff..75fc5a352314 100644
--- a/www/py-calibreweb/files/calibreweb.in
+++ b/www/py-calibreweb/files/calibreweb.in
@@ -20,11 +20,11 @@
# %%RC_NAME%%_gdrive: Directory and file name of %%RC_NAME%% gdrive
# db is stored.
# Default: %%PREFIX%%/%%RC_NAME%%/gdrive.db
-# %%RC_NAME%%_cert: Directory and file name of %%RC_NAME%% gdrive
-# db is stored.
+# %%RC_NAME%%_cert: Directory and file name of %%RC_NAME%%
+# certificate is stored.
# Default: None
-# %%RC_NAME%%_key: Directory and file name of %%RC_NAME%% gdrive
-# db is stored.
+# %%RC_NAME%%_key: Directory and file name of %%RC_NAME%%
+# key is stored.
# Default: None
# %%RC_NAME%%_flags: Additonal flags as needed
# Default: None
@@ -54,10 +54,10 @@ load_rc_config ${name}
: ${%%RC_NAME%%_enable:=NO}
: ${%%RC_NAME%%_user:=%%USER%%}
: ${%%RC_NAME%%_group:=%%GROUP%%}
-: ${%%RC_NAME%%_ip_addr="0.0.0.0"}
-: ${%%RC_NAME%%_conf_dir="%%DATADIR%%"}
-: ${%%RC_NAME%%_settings="${%%RC_NAME%%_conf_dir}/app.db"}
-: ${%%RC_NAME%%_gdrive="${%%RC_NAME%%_conf_dir}/gdrive.db"}
+: ${%%RC_NAME%%_ip_addr:="0.0.0.0"}
+: ${%%RC_NAME%%_conf_dir:="%%DATADIR%%"}
+: ${%%RC_NAME%%_settings:="${%%RC_NAME%%_conf_dir}/app.db"}
+: ${%%RC_NAME%%_gdrive:="${%%RC_NAME%%_conf_dir}/gdrive.db"}
: ${%%RC_NAME%%_pid:="%%PORTNAME%%.pid"}
: ${%%RC_NAME%%_pid_dir:="/var/run/%%PORTNAME%%"}
: ${%%RC_NAME%%_log:="%%PORTNAME%%.log"}
diff --git a/www/py-google-api-python-client/Makefile b/www/py-google-api-python-client/Makefile
index 11bdf6066214..e134eabcd664 100644
--- a/www/py-google-api-python-client/Makefile
+++ b/www/py-google-api-python-client/Makefile
@@ -1,5 +1,5 @@
PORTNAME= google-api-python-client
-DISTVERSION= 2.178.0
+DISTVERSION= 2.179.0
CATEGORIES= www python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/www/py-google-api-python-client/distinfo b/www/py-google-api-python-client/distinfo
index cb772162aa06..4f137321082d 100644
--- a/www/py-google-api-python-client/distinfo
+++ b/www/py-google-api-python-client/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1754493909
-SHA256 (google_api_python_client-2.178.0.tar.gz) = 99cba921eb471bb5973b780c653ac54d96eef8a42f1b7375b7ab98f257a4414c
-SIZE (google_api_python_client-2.178.0.tar.gz) = 13282628
+TIMESTAMP = 1756125194
+SHA256 (google_api_python_client-2.179.0.tar.gz) = 76a774a49dd58af52e74ce7114db387e58f0aaf6760c9cf9201ab6d731d8bd8d
+SIZE (google_api_python_client-2.179.0.tar.gz) = 13397672
diff --git a/www/py-yt-dlp/Makefile b/www/py-yt-dlp/Makefile
index d39391dcb7a5..68c03806a0fe 100644
--- a/www/py-yt-dlp/Makefile
+++ b/www/py-yt-dlp/Makefile
@@ -1,5 +1,5 @@
PORTNAME= yt-dlp # www/py-yt-dlp is for extending yt-dlp, www/yt-dlp is an application for the end user
-DISTVERSION= 2025.06.09
+DISTVERSION= 2025.08.27
CATEGORIES= www
MASTER_SITES= https://github.com/${PORTNAME}/${PORTNAME}/releases/download/${DISTVERSION}/
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/www/py-yt-dlp/distinfo b/www/py-yt-dlp/distinfo
index f251e6d60e99..ea73dbf540f6 100644
--- a/www/py-yt-dlp/distinfo
+++ b/www/py-yt-dlp/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749518944
-SHA256 (yt-dlp/2025.06.09/yt-dlp.tar.gz) = 46497ade23be173595d0bbdb41553873733696e0272fec5918cdcaebe17549aa
-SIZE (yt-dlp/2025.06.09/yt-dlp.tar.gz) = 6025016
+TIMESTAMP = 1756373628
+SHA256 (yt-dlp/2025.08.27/yt-dlp.tar.gz) = a30442902fadf97280b91c24c4c2191c8ba17515b8a5dd835efc991c03b5bb7b
+SIZE (yt-dlp/2025.08.27/yt-dlp.tar.gz) = 6018553
diff --git a/www/py-yt-dlp/pkg-plist b/www/py-yt-dlp/pkg-plist
index d1fb5a3e94a3..72e34780a72c 100644
--- a/www/py-yt-dlp/pkg-plist
+++ b/www/py-yt-dlp/pkg-plist
@@ -81,7 +81,6 @@ bin/yt-dlp-devel
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/archiveorg.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/arcpublishing.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/ard.py
-%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/arkena.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/arnes.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/art19.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/arte.py
@@ -101,7 +100,6 @@ bin/yt-dlp-devel
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/azmedien.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/baidu.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/banbye.py
-%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/bandaichannel.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/bandcamp.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/bandlab.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/bannedvideo.py
@@ -111,7 +109,6 @@ bin/yt-dlp-devel
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/beatport.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/beeg.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/behindkink.py
-%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/bellmedia.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/berufetv.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/bet.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/bfi.py
@@ -141,6 +138,7 @@ bin/yt-dlp-devel
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/breitbart.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/brightcove.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/brilliantpala.py
+%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/btvplus.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/bundesliga.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/bundestag.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/bunnycdn.py
@@ -192,7 +190,6 @@ bin/yt-dlp-devel
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/cloudycdn.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/clubic.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/clyp.py
-%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/cmt.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/cnbc.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/cnn.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/comedycentral.py
@@ -213,7 +210,6 @@ bin/yt-dlp-devel
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/crtvg.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/cspan.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/ctsnews.py
-%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/ctv.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/ctvnews.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/cultureunplugged.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/curiositystream.py
@@ -258,7 +254,6 @@ bin/yt-dlp-devel
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/duoplay.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/dvtv.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/dw.py
-%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/eagleplatform.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/ebaumsworld.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/ebay.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/egghead.py
@@ -291,6 +286,7 @@ bin/yt-dlp-devel
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/facebook.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/fancode.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/fathom.py
+%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/faulio.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/faz.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/fc2.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/fczenit.py
@@ -419,11 +415,9 @@ bin/yt-dlp-devel
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/jamendo.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/japandiet.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/jeuxvideo.py
-%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/jiocinema.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/jiosaavn.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/jixie.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/joj.py
-%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/joqrag.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/jove.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/jstream.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/jtbc.py
@@ -469,7 +463,6 @@ bin/yt-dlp-devel
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/libsyn.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/lifenews.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/likee.py
-%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/limelight.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/linkedin.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/liputan6.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/listennotes.py
@@ -498,6 +491,7 @@ bin/yt-dlp-devel
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/massengeschmacktv.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/masters.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/matchtv.py
+%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/mave.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/mbn.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/mdr.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/medaltv.py
@@ -519,12 +513,14 @@ bin/yt-dlp-devel
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/microsoftstream.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/minds.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/minoto.py
+%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/mir24tv.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/mirrativ.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/mirrorcouk.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/mit.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/mitele.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/mixch.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/mixcloud.py
+%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/mixlr.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/mlb.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/mlssoccer.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/mocha.py
@@ -590,7 +586,6 @@ bin/yt-dlp-devel
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/noice.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/nonktube.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/noodlemagazine.py
-%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/noovo.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/nosnl.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/nova.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/novaplay.py
@@ -659,9 +654,9 @@ bin/yt-dlp-devel
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/pinterest.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/piramidetv.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/pixivsketch.py
-%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/pladform.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/planetmarathi.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/platzi.py
+%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/playerfm.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/playplustv.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/playsuisse.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/playtvak.py
@@ -669,6 +664,7 @@ bin/yt-dlp-devel
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/pluralsight.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/plutotv.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/plvideo.py
+%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/plyr.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/podbayfm.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/podchaser.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/podomatic.py
@@ -756,6 +752,7 @@ bin/yt-dlp-devel
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/saitosan.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/samplefocus.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/sapo.py
+%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/sauceplus.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/sbs.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/sbscokr.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/screen9.py
@@ -779,6 +776,7 @@ bin/yt-dlp-devel
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/sharepoint.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/sharevideos.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/shemaroome.py
+%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/shiey.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/showroomlive.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/sibnet.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/simplecast.py
@@ -805,7 +803,6 @@ bin/yt-dlp-devel
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/sovietscloset.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/spankbang.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/spiegel.py
-%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/spike.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/sport5.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/sportbox.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/sportdeutschland.py
@@ -869,6 +866,7 @@ bin/yt-dlp-devel
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/tf1.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/tfo.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/theguardian.py
+%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/thehighwire.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/theholetv.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/theintercept.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/theplatform.py
@@ -898,7 +896,6 @@ bin/yt-dlp-devel
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/trueid.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/trunews.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/truth.py
-%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/trutv.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/tube8.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/tubetugraz.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/tubitv.py
@@ -918,7 +915,6 @@ bin/yt-dlp-devel
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/tver.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/tvigle.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/tviplayer.py
-%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/tvland.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/tvn24.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/tvnoe.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/tvopengr.py
@@ -941,6 +937,7 @@ bin/yt-dlp-devel
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/uliza.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/umg.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/unistra.py
+%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/unitednations.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/unity.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/unsupported.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/uol.py
@@ -956,7 +953,6 @@ bin/yt-dlp-devel
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/vbox7.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/veo.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/vesti.py
-%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/vevo.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/vgtv.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/vh1.py
%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/vice.py
@@ -1103,6 +1099,8 @@ bin/yt-dlp-devel
%%PYTHON_SITELIBDIR%%/yt_dlp/utils/_deprecated.py
%%PYTHON_SITELIBDIR%%/yt_dlp/utils/_legacy.py
%%PYTHON_SITELIBDIR%%/yt_dlp/utils/_utils.py
+%%PYTHON_SITELIBDIR%%/yt_dlp/utils/jslib/__init__.py
+%%PYTHON_SITELIBDIR%%/yt_dlp/utils/jslib/devalue.py
%%PYTHON_SITELIBDIR%%/yt_dlp/utils/networking.py
%%PYTHON_SITELIBDIR%%/yt_dlp/utils/progress.py
%%PYTHON_SITELIBDIR%%/yt_dlp/utils/traversal.py
diff --git a/www/qt5-webengine/Makefile b/www/qt5-webengine/Makefile
index 1e7143faccb2..acaab60994f2 100644
--- a/www/qt5-webengine/Makefile
+++ b/www/qt5-webengine/Makefile
@@ -75,7 +75,7 @@ SNDIO_VARS_OFF= QMAKE_CONFIGURE_ARGS+=-no-sndio
# We pass `norecursive' to USES=qmake because src/plugins/plugins.pro checks
# whether webenginewidgets is available, which fails when qmake processes all
# .pro files at once.
-USES= gl gnome gperf jpeg minizip ninja:build nodejs:build,lts \
+USES= gl gnome gperf jpeg minizip ninja:build \
perl5 pkgconfig python:build qmake:norecursive,outsource \
qt-dist:5,webengine shebangfix xorg
USE_GL= gl
@@ -117,7 +117,13 @@ MAKE_ENV+= CC="${CC}" CXX="${CXX}" \
QT_BINARIES= yes
-.include <bsd.port.pre.mk>
+.include <bsd.port.options.mk>
+
+.if ${ARCH:Mi386}
+USES+= nodejs:build,20
+.else
+USES+= nodejs:build,lts
+.endif
.if ${ARCH:Mmips*} || ${ARCH:Mpowerpc*}
PLIST_SUB+= BE="" LE="@comment "
@@ -177,4 +183,4 @@ post-install:
${BRANDELF} -t FreeBSD $$lib ; \
done
-.include <bsd.port.post.mk>
+.include <bsd.port.mk>
diff --git a/www/qt6-httpserver/distinfo b/www/qt6-httpserver/distinfo
index 48782c3db88e..38c80b869b89 100644
--- a/www/qt6-httpserver/distinfo
+++ b/www/qt6-httpserver/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749162746
-SHA256 (KDE/Qt/6.9.1/qthttpserver-everywhere-src-6.9.1.tar.xz) = bfc7b511e2bbc365f11027ae8d7d2e33f3ff63591b866df9a880c51363f02b53
-SIZE (KDE/Qt/6.9.1/qthttpserver-everywhere-src-6.9.1.tar.xz) = 189852
+TIMESTAMP = 1756198097
+SHA256 (KDE/Qt/6.9.2/qthttpserver-everywhere-src-6.9.2.tar.xz) = 1343fa1d1d6dfda9b9de4a1ff36471b6ff4bd16f9ee7c19deb098c15e4714019
+SIZE (KDE/Qt/6.9.2/qthttpserver-everywhere-src-6.9.2.tar.xz) = 175292
diff --git a/www/qt6-webchannel/distinfo b/www/qt6-webchannel/distinfo
index 4dcc026aaef9..0664bc0955ec 100644
--- a/www/qt6-webchannel/distinfo
+++ b/www/qt6-webchannel/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749159379
-SHA256 (KDE/Qt/6.9.1/qtwebchannel-everywhere-src-6.9.1.tar.xz) = 19b401d9210afc416c4080b189b0c9940e90d1f7444f5d046f3d8b1ab5fcf9c0
-SIZE (KDE/Qt/6.9.1/qtwebchannel-everywhere-src-6.9.1.tar.xz) = 209516
+TIMESTAMP = 1756198104
+SHA256 (KDE/Qt/6.9.2/qtwebchannel-everywhere-src-6.9.2.tar.xz) = 878a6337ad4d2c2a1de5bedb28c36b05b2733242d10f6c3d0eae55c5433c8e65
+SIZE (KDE/Qt/6.9.2/qtwebchannel-everywhere-src-6.9.2.tar.xz) = 193888
diff --git a/www/qt6-webengine/Makefile b/www/qt6-webengine/Makefile
index e363ec6cf930..9939ff2dc4d5 100644
--- a/www/qt6-webengine/Makefile
+++ b/www/qt6-webengine/Makefile
@@ -12,22 +12,25 @@
PORTNAME?= webengine
DISTVERSION= ${QT6_VERSION}
-PORTREVISION?= 2 # Master port for print/qt7-pdf. Please keep this line.
+# This is the parent port of print/qt6-pdf. Please always keep 'PORTREVISION?='
+# and reset the value to '0' only after increasing QT6_VERSION in Mk/Uses/qt.mk.
+PORTREVISION?= 0
CATEGORIES?= www
PKGNAMEPREFIX= qt6-
MAINTAINER= kde@FreeBSD.org
COMMENT?= Qt 6 library to render web content
-BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}html5lib>0:www/py-html5lib@${PY_FLAVOR} \
- ${LOCALBASE}/include/vulkan/vulkan.h:graphics/vulkan-headers
+# 32-bit platforms are not supported by upstream, but we're limping them along.
+ONLY_FOR_ARCHS= aarch64 amd64 armv7 i386
+
+BUILD_DEPENDS= ${LOCALBASE}/include/vulkan/vulkan.h:graphics/vulkan-headers
LIB_DEPENDS= libfreetype.so:print/freetype2 \
libnss3.so:security/nss \
libopenjp2.so:graphics/openjpeg \
libxkbcommon.so:x11/libxkbcommon
-USES= bison cmake compiler:c++20-lang gl gperf \
- localbase:ldflags ninja:build nodejs:build,lts \
+USES= cmake compiler:c++20-lang gl localbase:ldflags ninja:build \
pkgconfig python:build qt-dist:6,webengine
USE_GL= opengl
USE_QT= base declarative tools
@@ -45,7 +48,8 @@ CMAKE_OFF+= QT_FEATURE_qtwebengine_build
SYS_LIBS= freetype
.else
-BUILD_DEPENDS+= ${LOCALBASE}/include/linux/videodev2.h:multimedia/v4l_compat
+BUILD_DEPENDS+= ${LOCALBASE}/include/linux/videodev2.h:multimedia/v4l_compat \
+ ${PYTHON_PKGNAMEPREFIX}html5lib>0:www/py-html5lib@${PY_FLAVOR}
LIB_DEPENDS+= libabsl_base.so:devel/abseil \
libavcodec.so:multimedia/ffmpeg \
libdbus-1.so:devel/dbus \
@@ -68,7 +72,7 @@ LIB_DEPENDS+= libabsl_base.so:devel/abseil \
libvpx.so:multimedia/libvpx \
libwebp.so:graphics/webp
-USES+= gnome jpeg minizip xorg
+USES+= bison gnome gperf jpeg minizip xorg
USE_GL+= gbm
USE_QT+= positioning quick3d:build webchannel
USE_GNOME+= glib20 libxml2 libxslt
@@ -139,6 +143,16 @@ SNDIO_CMAKE_ON= -DQT_FEATURE_webengine_system_sndio:BOOL=ON
SNDIO_CMAKE_OFF= -DQT_FEATURE_webengine_system_sndio:BOOL=OFF
.endif
+.include <bsd.port.options.mk>
+
+.if !defined(BUILD_QTPDF)
+. if ${ARCH:Mi386}
+USES+= nodejs:build,20
+. else
+USES+= nodejs:build,lts
+. endif
+.endif
+
post-extract:
@${MKDIR} ${WRKSRC}/src/3rdparty/chromium/media/audio/sndio \
${WRKSRC}/src/3rdparty/chromium/sandbox/policy/freebsd \
diff --git a/www/qt6-webengine/distinfo b/www/qt6-webengine/distinfo
index d4d0b5b8184a..1937cd5f2816 100644
--- a/www/qt6-webengine/distinfo
+++ b/www/qt6-webengine/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749159742
-SHA256 (KDE/Qt/6.9.1/qtwebengine-everywhere-src-6.9.1.tar.xz) = 787dfde22b348f6d620f2207ed7e32ad0a5389373182614272de28ff3f91c26c
-SIZE (KDE/Qt/6.9.1/qtwebengine-everywhere-src-6.9.1.tar.xz) = 672204388
+TIMESTAMP = 1756198709
+SHA256 (KDE/Qt/6.9.2/qtwebengine-everywhere-src-6.9.2.tar.xz) = 99cb0792abc2e39b299d73d8e2aa076b9ebcd55c3f4a4b5fd514eef5a62d03ab
+SIZE (KDE/Qt/6.9.2/qtwebengine-everywhere-src-6.9.2.tar.xz) = 672191852
diff --git a/www/qt6-webengine/files/patch-cmake_Functions.cmake b/www/qt6-webengine/files/patch-cmake_Functions.cmake
index 8264af9b3658..8bb309145150 100644
--- a/www/qt6-webengine/files/patch-cmake_Functions.cmake
+++ b/www/qt6-webengine/files/patch-cmake_Functions.cmake
@@ -1,4 +1,4 @@
---- cmake/Functions.cmake.orig 2025-05-29 01:27:28 UTC
+--- cmake/Functions.cmake.orig 2025-08-18 00:53:11 UTC
+++ cmake/Functions.cmake
@@ -103,7 +103,7 @@ function(add_linker_options target buildDir completeSt
set(libs_rsp "${buildDir}/${ninjaTarget}_libs.rsp")
@@ -9,7 +9,7 @@
get_gn_arch(cpu ${TEST_architecture_arch})
if(CMAKE_CROSSCOMPILING AND cpu STREQUAL "arm" AND ${config} STREQUAL "Debug")
target_link_options(${cmakeTarget} PRIVATE "LINKER:--long-plt")
-@@ -370,6 +370,20 @@ function(add_gn_build_artifacts_to_target)
+@@ -373,6 +373,20 @@ function(add_gn_build_artifacts_to_target)
set_target_properties(${arg_CMAKE_TARGET} PROPERTIES
LINK_DEPENDS ${arg_BUILDDIR}/${config}/${arch}/${arg_NINJA_STAMP}
)
diff --git a/www/qt6-webengine/files/patch-cmake_QtToolchainHelpers.cmake b/www/qt6-webengine/files/patch-cmake_QtToolchainHelpers.cmake
index 4417cdb8a943..b732070f2d7e 100644
--- a/www/qt6-webengine/files/patch-cmake_QtToolchainHelpers.cmake
+++ b/www/qt6-webengine/files/patch-cmake_QtToolchainHelpers.cmake
@@ -1,4 +1,4 @@
---- cmake/QtToolchainHelpers.cmake.orig 2025-05-29 01:27:28 UTC
+--- cmake/QtToolchainHelpers.cmake.orig 2025-08-18 00:53:11 UTC
+++ cmake/QtToolchainHelpers.cmake
@@ -95,6 +95,8 @@ function(get_gn_os result)
set(${result} "mac" PARENT_SCOPE)
@@ -9,7 +9,7 @@
else()
message(DEBUG "Unrecognized OS")
endif()
-@@ -310,7 +312,7 @@ macro(append_build_type_setup)
+@@ -323,7 +325,7 @@ macro(append_build_type_setup)
extend_gn_list(gnArgArg
ARGS enable_precompiled_headers
@@ -18,7 +18,7 @@
)
extend_gn_list(gnArgArg
ARGS dcheck_always_on
-@@ -402,7 +404,7 @@ macro(append_compiler_linker_sdk_setup)
+@@ -415,7 +417,7 @@ macro(append_compiler_linker_sdk_setup)
use_libcxx=true
)
endif()
@@ -27,7 +27,7 @@
extend_gn_list(gnArgArg ARGS use_libcxx
CONDITION QT_FEATURE_stdlib_libcpp
)
-@@ -443,7 +445,7 @@ macro(append_compiler_linker_sdk_setup)
+@@ -456,7 +458,7 @@ macro(append_compiler_linker_sdk_setup)
)
endif()
get_gn_arch(cpu ${TEST_architecture_arch})
@@ -36,7 +36,7 @@
extend_gn_list_cflag(gnArgArg
ARG arm_tune
-@@ -548,7 +550,7 @@ macro(append_toolchain_setup)
+@@ -561,7 +563,7 @@ macro(append_toolchain_setup)
endif()
unset(host_cpu)
unset(target_cpu)
diff --git a/www/qt6-webengine/files/patch-configure.cmake b/www/qt6-webengine/files/patch-configure.cmake
index 5505a55e5e3c..b9217899f331 100644
--- a/www/qt6-webengine/files/patch-configure.cmake
+++ b/www/qt6-webengine/files/patch-configure.cmake
@@ -1,11 +1,11 @@
---- configure.cmake.orig 2025-02-21 12:29:33 UTC
+--- configure.cmake.orig 2025-08-18 00:53:11 UTC
+++ configure.cmake
-@@ -292,12 +292,12 @@ qt_webengine_configure_check("supported-platform"
+@@ -291,12 +291,12 @@ qt_webengine_configure_check("supported-platform"
qt_webengine_configure_check("supported-platform"
MODULES QtWebEngine
-- CONDITION LINUX OR (WIN32 AND NOT (WIN_ARM_64 AND DEFINED ENV{COIN_PLATFORM_ID})) OR MACOS
-+ CONDITION LINUX OR (WIN32 AND NOT (WIN_ARM_64 AND DEFINED ENV{COIN_PLATFORM_ID})) OR MACOS OR FREEBSD
+- CONDITION LINUX OR WIN32 OR MACOS
++ CONDITION LINUX OR WIN32 OR MACOS OR FREEBSD
MESSAGE "Build can be done only on Linux, Windows or macOS."
)
qt_webengine_configure_check("supported-platform"
@@ -15,7 +15,7 @@
MESSAGE "Build can be done only on Linux, Windows, macO, iOS and Android."
)
-@@ -317,15 +317,6 @@ qt_webengine_configure_check("static-build"
+@@ -316,15 +316,6 @@ qt_webengine_configure_check("static-build"
MESSAGE "Static build is not supported."
)
@@ -31,7 +31,7 @@
qt_webengine_configure_check("python3"
MODULES QtWebEngine QtPdf
CONDITION Python3_FOUND
-@@ -448,6 +439,8 @@ qt_webengine_configure_check("compiler"
+@@ -455,6 +446,8 @@ qt_webengine_configure_check("compiler"
CONDITION MSVC OR
(LINUX AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU") OR
(LINUX AND CMAKE_CXX_COMPILER_ID STREQUAL "Clang") OR
@@ -40,7 +40,7 @@
(MACOS AND CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")
MESSAGE
"${CMAKE_CXX_COMPILER_ID} compiler is not supported."
-@@ -457,6 +450,8 @@ qt_webengine_configure_check("compiler"
+@@ -464,6 +457,8 @@ qt_webengine_configure_check("compiler"
CONDITION MSVC OR
(LINUX AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU") OR
(LINUX AND CMAKE_CXX_COMPILER_ID STREQUAL "Clang") OR
@@ -49,7 +49,7 @@
(APPLE AND CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang") OR
(ANDROID AND CMAKE_CXX_COMPILER_ID STREQUAL "Clang") OR
(MINGW AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU") OR
-@@ -709,7 +704,7 @@ qt_feature("webengine-ozone-x11" PRIVATE
+@@ -725,7 +720,7 @@ qt_feature("webengine-ozone-x11" PRIVATE
qt_feature("webengine-ozone-x11" PRIVATE
LABEL "Support X11 on qpa-xcb"
diff --git a/www/qt6-webengine/files/patch-security-rollup b/www/qt6-webengine/files/patch-security-rollup
new file mode 100644
index 000000000000..8955c1fb52d9
--- /dev/null
+++ b/www/qt6-webengine/files/patch-security-rollup
@@ -0,0 +1,246 @@
+Security patches since 6.9.2 release
+
+CVE-2025-8879: Heap buffer overflow in libaom
+CVE-2025-8880: Race in V8
+CVE-2025-8881: Inappropriate implementation in File Picker
+CVE-2025-8901: Out of bounds write in ANGLE
+
+https://github.com/qt/qtwebengine-chromium/compare/136d7fe8aa41c9d4cd764a6b890af9699f5141dd..130-based.diff
+
+diff --git a/chromium/content/browser/web_contents/file_chooser_impl.cc b/chromium/content/browser/web_contents/file_chooser_impl.cc
+index 7e2391bd1afd..d366c5d26bba 100644
+--- src/3rdparty/chromium/content/browser/web_contents/file_chooser_impl.cc
++++ src/3rdparty/chromium/content/browser/web_contents/file_chooser_impl.cc
+@@ -169,6 +169,12 @@ void FileChooserImpl::OpenFileChooser(blink::mojom::FileChooserParamsPtr params,
+ return;
+ }
+
++ // Do not allow open dialogs to have renderer-controlled default_file_name.
++ // See https://crbug.com/433800617 for context.
++ if (params->mode != blink::mojom::FileChooserParams::Mode::kSave) {
++ params->default_file_name = base::FilePath();
++ }
++
+ // Don't allow page with open FileChooser to enter BackForwardCache to avoid
+ // any unexpected behaviour from BackForwardCache.
+ BackForwardCache::DisableForRenderFrameHost(
+diff --git a/chromium/media/audio/audio_input_device.cc b/chromium/media/audio/audio_input_device.cc
+index a7d8e1098241..44abd451c397 100644
+--- src/3rdparty/chromium/media/audio/audio_input_device.cc
++++ src/3rdparty/chromium/media/audio/audio_input_device.cc
+@@ -482,7 +482,7 @@ void AudioInputDevice::AudioThreadCallback::Process(uint32_t pending_data) {
+ const base::TimeTicks capture_time =
+ base::TimeTicks() + base::Microseconds(buffer->params.capture_time_us);
+ const base::TimeTicks now_time = base::TimeTicks::Now();
+- DCHECK_GE(now_time, capture_time);
++ // DCHECK_GE(now_time, capture_time);
+
+ AudioGlitchInfo glitch_info{
+ .duration = base::Microseconds(buffer->params.glitch_duration_us),
+diff --git a/chromium/third_party/angle/src/compiler/translator/Compiler.cpp b/chromium/third_party/angle/src/compiler/translator/Compiler.cpp
+index 107f61cf4603..04b698b7fc08 100644
+--- src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.cpp
++++ src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.cpp
+@@ -775,24 +775,6 @@ bool TCompiler::checkAndSimplifyAST(TIntermBlock *root,
+ return false;
+ }
+
+- // For now, rewrite pixel local storage before collecting variables or any operations on images.
+- //
+- // TODO(anglebug.com/40096838):
+- // Should this actually run after collecting variables?
+- // Do we need more introspection?
+- // Do we want to hide rewritten shader image uniforms from glGetActiveUniform?
+- if (hasPixelLocalStorageUniforms())
+- {
+- ASSERT(
+- IsExtensionEnabled(mExtensionBehavior, TExtension::ANGLE_shader_pixel_local_storage));
+- if (!RewritePixelLocalStorage(this, root, getSymbolTable(), compileOptions,
+- getShaderVersion()))
+- {
+- mDiagnostics.globalError("internal compiler error translating pixel local storage");
+- return false;
+- }
+- }
+-
+ if (shouldRunLoopAndIndexingValidation(compileOptions) &&
+ !ValidateLimitations(root, mShaderType, &mSymbolTable, &mDiagnostics))
+ {
+@@ -939,6 +921,24 @@ bool TCompiler::checkAndSimplifyAST(TIntermBlock *root,
+ return false;
+ }
+
++ // For now, rewrite pixel local storage before collecting variables or any operations on images.
++ //
++ // TODO(anglebug.com/40096838):
++ // Should this actually run after collecting variables?
++ // Do we need more introspection?
++ // Do we want to hide rewritten shader image uniforms from glGetActiveUniform?
++ if (hasPixelLocalStorageUniforms())
++ {
++ ASSERT(
++ IsExtensionEnabled(mExtensionBehavior, TExtension::ANGLE_shader_pixel_local_storage));
++ if (!RewritePixelLocalStorage(this, root, getSymbolTable(), compileOptions,
++ getShaderVersion()))
++ {
++ mDiagnostics.globalError("internal compiler error translating pixel local storage");
++ return false;
++ }
++ }
++
+ // Clamping uniform array bounds needs to happen after validateLimitations pass.
+ if (compileOptions.clampIndirectArrayBounds)
+ {
+diff --git a/chromium/third_party/angle/src/compiler/translator/ValidateOutputs.cpp b/chromium/third_party/angle/src/compiler/translator/ValidateOutputs.cpp
+index 927783db73f6..d3481f1a4d1f 100644
+--- src/3rdparty/chromium/third_party/angle/src/compiler/translator/ValidateOutputs.cpp
++++ src/3rdparty/chromium/third_party/angle/src/compiler/translator/ValidateOutputs.cpp
+@@ -72,15 +72,19 @@ ValidateOutputsTraverser::ValidateOutputsTraverser(const TExtensionBehavior &ext
+ void ValidateOutputsTraverser::visitSymbol(TIntermSymbol *symbol)
+ {
+ if (symbol->variable().symbolType() == SymbolType::Empty)
++ {
+ return;
++ }
+
+ if (mVisitedSymbols.count(symbol->uniqueId().get()) == 1)
++ {
+ return;
++ }
+
+ mVisitedSymbols.insert(symbol->uniqueId().get());
+
+ TQualifier qualifier = symbol->getQualifier();
+- if (qualifier == EvqFragmentOut)
++ if (qualifier == EvqFragmentOut || qualifier == EvqFragmentInOut)
+ {
+ const TLayoutQualifier &layoutQualifier = symbol->getType().getLayoutQualifier();
+ if (layoutQualifier.location != -1)
+diff --git a/chromium/third_party/blink/public/mojom/choosers/file_chooser.mojom b/chromium/third_party/blink/public/mojom/choosers/file_chooser.mojom
+index 22ccb9cc709f..f323fa2aa2eb 100644
+--- src/3rdparty/chromium/third_party/blink/public/mojom/choosers/file_chooser.mojom
++++ src/3rdparty/chromium/third_party/blink/public/mojom/choosers/file_chooser.mojom
+@@ -25,7 +25,7 @@ struct FileChooserParams {
+ kUploadFolder,
+
+ // Allows picking a nonexistent file, and prompts to overwrite if the file
+- // already exists. This is not for Blink but for PPAPI.
++ // already exists.
+ kSave,
+ };
+ Mode mode = kOpen;
+@@ -34,7 +34,8 @@ struct FileChooserParams {
+ // which will be either "Open" or "Save" depending on the mode.
+ mojo_base.mojom.String16 title;
+
+- // Default file name to select in the dialog with kSave mode.
++ // Default file name to select in the dialog with kSave mode. This value
++ // is cleared if mode is not kSave.
+ mojo_base.mojom.FilePath default_file_name;
+
+ // |selected_files| has filenames which a file upload control already
+diff --git a/chromium/third_party/libaom/source/libaom/av1/encoder/ratectrl.c b/chromium/third_party/libaom/source/libaom/av1/encoder/ratectrl.c
+index 4fd5ec6bf54b..82a48c39cb10 100644
+--- src/3rdparty/chromium/third_party/libaom/source/libaom/av1/encoder/ratectrl.c
++++ src/3rdparty/chromium/third_party/libaom/source/libaom/av1/encoder/ratectrl.c
+@@ -3236,8 +3236,9 @@ static void rc_scene_detection_onepass_rt(AV1_COMP *cpi,
+ // non-zero sad exists along bottom border even though source is static.
+ const int border =
+ rc->prev_frame_is_dropped || cpi->svc.number_temporal_layers > 1;
+- // Store blkwise SAD for later use
+- if (width == cm->render_width && height == cm->render_height) {
++ // Store blkwise SAD for later use. Disable for spatial layers for now.
++ if (width == cm->render_width && height == cm->render_height &&
++ cpi->svc.number_spatial_layers == 1) {
+ if (cpi->src_sad_blk_64x64 == NULL) {
+ CHECK_MEM_ERROR(cm, cpi->src_sad_blk_64x64,
+ (uint64_t *)aom_calloc(sb_cols * sb_rows,
+diff --git a/chromium/v8/src/wasm/streaming-decoder.cc b/chromium/v8/src/wasm/streaming-decoder.cc
+index f3745b4c055a..ce5dad96d52f 100644
+--- src/3rdparty/chromium/v8/src/wasm/streaming-decoder.cc
++++ src/3rdparty/chromium/v8/src/wasm/streaming-decoder.cc
+@@ -230,45 +230,61 @@ class V8_EXPORT_PRIVATE AsyncStreamingDecoder : public StreamingDecoder {
+ };
+
+ void AsyncStreamingDecoder::OnBytesReceived(base::Vector<const uint8_t> bytes) {
+- DCHECK(!full_wire_bytes_.empty());
++ TRACE_STREAMING("OnBytesReceived(%zu bytes)\n", bytes.size());
++
++ // Note: The bytes are passed by the embedder, and they might point into the
++ // sandbox. Hence we copy them once and then process those copied bytes, to
++ // avoid being vulnerable to concurrent modification.
++ // Since we might not be able to store the bytes contiguously in memory,
++ // remember up to two byte vectors to process after copying.
++ base::Vector<const uint8_t> copied_bytes[2] = {{}, {}};
++
+ // Fill the previous vector, growing up to 16kB. After that, allocate new
+ // vectors on overflow.
++ DCHECK(!full_wire_bytes_.empty());
++ std::vector<uint8_t>* last_wire_byte_vector = &full_wire_bytes_.back();
++ size_t existing_vector_size = last_wire_byte_vector->size();
+ size_t remaining_capacity =
+- std::max(full_wire_bytes_.back().capacity(), size_t{16} * KB) -
+- full_wire_bytes_.back().size();
++ std::max(last_wire_byte_vector->capacity(), size_t{16} * KB) -
++ existing_vector_size;
+ size_t bytes_for_existing_vector = std::min(remaining_capacity, bytes.size());
+- full_wire_bytes_.back().insert(full_wire_bytes_.back().end(), bytes.data(),
+- bytes.data() + bytes_for_existing_vector);
++ last_wire_byte_vector->insert(last_wire_byte_vector->end(), bytes.data(),
++ bytes.data() + bytes_for_existing_vector);
++ copied_bytes[0] =
++ base::VectorOf(last_wire_byte_vector->data() + existing_vector_size,
++ bytes_for_existing_vector);
+ if (bytes.size() > bytes_for_existing_vector) {
+ // The previous vector's capacity is not enough to hold all new bytes, and
+ // it's bigger than 16kB, so expensive to copy. Allocate a new vector for
+ // the remaining bytes, growing exponentially.
+ size_t new_capacity = std::max(bytes.size() - bytes_for_existing_vector,
+- 2 * full_wire_bytes_.back().capacity());
++ 2 * last_wire_byte_vector->capacity());
+ full_wire_bytes_.emplace_back();
+- full_wire_bytes_.back().reserve(new_capacity);
+- full_wire_bytes_.back().insert(full_wire_bytes_.back().end(),
+- bytes.data() + bytes_for_existing_vector,
+- bytes.end());
++ last_wire_byte_vector = &full_wire_bytes_.back();
++ last_wire_byte_vector->reserve(new_capacity);
++ last_wire_byte_vector->insert(last_wire_byte_vector->end(),
++ bytes.data() + bytes_for_existing_vector,
++ bytes.end());
++ copied_bytes[1] = base::VectorOf(*last_wire_byte_vector);
+ }
++ // Do not access `bytes` any more after copying.
++ DCHECK_EQ(bytes.size(), copied_bytes[0].size() + copied_bytes[1].size());
++ bytes = {};
+
+ if (deserializing()) return;
+
+- TRACE_STREAMING("OnBytesReceived(%zu bytes)\n", bytes.size());
+-
+- size_t current = 0;
+- while (ok() && current < bytes.size()) {
+- size_t num_bytes =
+- state_->ReadBytes(this, bytes.SubVector(current, bytes.size()));
+- current += num_bytes;
+- module_offset_ += num_bytes;
+- if (state_->offset() == state_->buffer().size()) {
+- state_ = state_->Next(this);
++ for (base::Vector<const uint8_t> vec : copied_bytes) {
++ size_t current = 0;
++ while (ok() && current < vec.size()) {
++ size_t num_bytes = state_->ReadBytes(this, vec.SubVectorFrom(current));
++ current += num_bytes;
++ module_offset_ += num_bytes;
++ if (state_->offset() == state_->buffer().size()) {
++ state_ = state_->Next(this);
++ }
+ }
+ }
+- if (ok()) {
+- processor_->OnFinishedChunk();
+- }
++ if (ok()) processor_->OnFinishedChunk();
+ }
+
+ size_t AsyncStreamingDecoder::DecodingState::ReadBytes(
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_ui_webui_signin_profile__picker__handler.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_ui_webui_signin_profile__picker__handler.cc
index 36e6cd423191..f4c2e1339c83 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_ui_webui_signin_profile__picker__handler.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_ui_webui_signin_profile__picker__handler.cc
@@ -1,4 +1,4 @@
---- src/3rdparty/chromium/chrome/browser/ui/webui/signin/profile_picker_handler.cc.orig 2024-10-22 08:31:56 UTC
+--- src/3rdparty/chromium/chrome/browser/ui/webui/signin/profile_picker_handler.cc.orig 2025-08-18 00:53:11 UTC
+++ src/3rdparty/chromium/chrome/browser/ui/webui/signin/profile_picker_handler.cc
@@ -209,7 +209,7 @@ base::Value::Dict CreateProfileEntry(const ProfileAttr
@@ -9,7 +9,7 @@
} else if (base::FeatureList::IsEnabled(
supervised_user::kShowKiteForSupervisedUsers) &&
entry->IsSupervised()) {
-@@ -1224,7 +1224,7 @@ void ProfilePickerHandler::BeginFirstWebContentsProfil
+@@ -1222,7 +1222,7 @@ void ProfilePickerHandler::MaybeUpdateGuestMode() {
}
void ProfilePickerHandler::MaybeUpdateGuestMode() {
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_ipc_service_gpu__init.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_ipc_service_gpu__init.cc
index ac3ee9a58d74..a5c5e3cf4a66 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_ipc_service_gpu__init.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_ipc_service_gpu__init.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/gpu/ipc/service/gpu_init.cc.orig 2025-02-21 12:29:33 UTC
+--- src/3rdparty/chromium/gpu/ipc/service/gpu_init.cc.orig 2025-08-18 00:53:11 UTC
+++ src/3rdparty/chromium/gpu/ipc/service/gpu_init.cc
-@@ -403,7 +403,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
+@@ -401,7 +401,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
enable_watchdog = false;
#endif
@@ -9,7 +9,7 @@
bool gpu_sandbox_start_early = gpu_preferences_.gpu_sandbox_start_early;
#else // !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS))
// For some reasons MacOSX's VideoToolbox might crash when called after
-@@ -440,7 +440,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
+@@ -438,7 +438,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
}
bool attempted_startsandbox = false;
@@ -18,7 +18,7 @@
// On Chrome OS ARM Mali, GPU driver userspace creates threads when
// initializing a GL context, so start the sandbox early.
// TODO(zmo): Need to collect OS version before this.
-@@ -544,7 +544,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
+@@ -542,7 +542,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
gpu_preferences_.gr_context_type = GrContextType::kGL;
}
@@ -27,7 +27,7 @@
// The ContentSandboxHelper is currently the only one implementation of
// GpuSandboxHelper and it has no dependency. Except on Linux where
// VaapiWrapper checks the GL implementation to determine which display
-@@ -626,7 +626,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
+@@ -624,7 +624,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
command_line, gpu_feature_info_,
gpu_preferences_.disable_software_rasterizer, false);
if (gl_use_swiftshader_) {
@@ -36,7 +36,7 @@
VLOG(1) << "Quit GPU process launch to fallback to SwiftShader cleanly "
<< "on Linux";
return false;
-@@ -777,7 +777,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
+@@ -775,7 +775,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
InitializePlatformOverlaySettings(&gpu_info_, gpu_feature_info_);
@@ -45,7 +45,7 @@
// Driver may create a compatibility profile context when collect graphics
// information on Linux platform. Try to collect graphics information
// based on core profile context after disabling platform extensions.
-@@ -832,7 +832,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
+@@ -830,7 +830,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
}
}
}
@@ -54,7 +54,7 @@
(BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_CHROMEOS_DEVICE))
if (!gl_disabled && !gl_use_swiftshader_ && std::getenv("RUNNING_UNDER_RR")) {
// https://rr-project.org/ is a Linux-only record-and-replay debugger that
-@@ -1017,7 +1017,7 @@ void GpuInit::InitializeInProcess(base::CommandLine* c
+@@ -1015,7 +1015,7 @@ void GpuInit::InitializeInProcess(base::CommandLine* c
}
bool gl_disabled = gl::GetGLImplementation() == gl::kGLImplementationDisabled;
@@ -63,7 +63,7 @@
(BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_CHROMEOS_DEVICE))
if (!gl_disabled && !gl_use_swiftshader_ && std::getenv("RUNNING_UNDER_RR")) {
// https://rr-project.org/ is a Linux-only record-and-replay debugger that
-@@ -1078,7 +1078,7 @@ void GpuInit::InitializeInProcess(base::CommandLine* c
+@@ -1076,7 +1076,7 @@ void GpuInit::InitializeInProcess(base::CommandLine* c
}
}
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_build_scripts_gperf.py b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_build_scripts_gperf.py
deleted file mode 100644
index d42d489f943d..000000000000
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_build_scripts_gperf.py
+++ /dev/null
@@ -1,27 +0,0 @@
---- src/3rdparty/chromium/third_party/blink/renderer/build/scripts/gperf.py.orig 2025-03-29 00:50:57 UTC
-+++ src/3rdparty/chromium/third_party/blink/renderer/build/scripts/gperf.py
-@@ -28,24 +28,6 @@ def generate_gperf(gperf_path, gperf_input, gperf_args
- stdout=subprocess.PIPE,
- universal_newlines=True)
- gperf_output = gperf.communicate(gperf_input)[0]
-- # Massage gperf output to be more palatable for modern compilers.
-- # TODO(thakis): Upstream these to gperf so we don't need massaging.
-- # `register` is deprecated in C++11 and removed in C++17, so remove
-- # it from gperf's output.
-- # https://savannah.gnu.org/bugs/index.php?53028
-- gperf_output = re.sub(r'\bregister ', '', gperf_output)
-- # -Wimplicit-fallthrough needs an explicit fallthrough statement,
-- # so replace gperf's /*FALLTHROUGH*/ comment with the statement.
-- # https://savannah.gnu.org/bugs/index.php?53029
-- gperf_output = gperf_output.replace('/*FALLTHROUGH*/',
-- ' [[fallthrough]];')
-- # -Wpointer-to-int-cast warns about casting pointers to smaller ints
-- # Replace {(int)(long)&(foo), bar} with
-- # {static_cast<int>(reinterpret_cast<uintptr_t>(&(foo)), bar}
-- gperf_output = re.sub(
-- r'\(int\)\(long\)(.*?),',
-- r'static_cast<int>(reinterpret_cast<uintptr_t>(\1)),',
-- gperf_output)
- script = 'third_party/blink/renderer/build/scripts/gperf.py'
- return '// Generated by %s\n' % script + gperf_output
- except OSError:
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_runtime__enabled__features.json5 b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_runtime__enabled__features.json5
index 04a903bd35f2..b3b99e8e202e 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_runtime__enabled__features.json5
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_runtime__enabled__features.json5
@@ -1,4 +1,4 @@
---- src/3rdparty/chromium/third_party/blink/renderer/platform/runtime_enabled_features.json5.orig 2025-02-21 12:29:33 UTC
+--- src/3rdparty/chromium/third_party/blink/renderer/platform/runtime_enabled_features.json5.orig 2025-08-18 00:53:11 UTC
+++ src/3rdparty/chromium/third_party/blink/renderer/platform/runtime_enabled_features.json5
@@ -384,7 +384,7 @@
name: "AppTitle",
@@ -36,7 +36,7 @@
status: "stable",
public: true,
base_feature: "none",
-@@ -4313,7 +4313,7 @@
+@@ -4320,7 +4320,7 @@
name: "UnrestrictedSharedArrayBuffer",
base_feature: "none",
origin_trial_feature_name: "UnrestrictedSharedArrayBuffer",
@@ -45,7 +45,7 @@
},
// Enables using policy-controlled feature "usb-unrestricted" to allow
// isolated context to access protected USB interface classes and to
-@@ -4460,7 +4460,7 @@
+@@ -4467,7 +4467,7 @@
{
name: "WebAppScopeExtensions",
origin_trial_feature_name: "WebAppScopeExtensions",
@@ -54,7 +54,7 @@
status: "experimental",
base_feature: "none",
},
-@@ -4503,7 +4503,7 @@
+@@ -4510,7 +4510,7 @@
status: "experimental",
base_feature: "none",
origin_trial_feature_name: "WebAppUrlHandling",
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_dragdrop_os__exchange__data__provider__non__backed.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_dragdrop_os__exchange__data__provider__non__backed.cc
index 9008177cfd17..577dde022f49 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_dragdrop_os__exchange__data__provider__non__backed.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_dragdrop_os__exchange__data__provider__non__backed.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/ui/base/dragdrop/os_exchange_data_provider_non_backed.cc.orig 2024-04-19 13:02:56 UTC
+--- src/3rdparty/chromium/ui/base/dragdrop/os_exchange_data_provider_non_backed.cc.orig 2025-08-18 00:53:11 UTC
+++ src/3rdparty/chromium/ui/base/dragdrop/os_exchange_data_provider_non_backed.cc
-@@ -99,7 +99,7 @@ void OSExchangeDataProviderNonBacked::SetPickledData(
+@@ -101,7 +101,7 @@ std::optional<std::u16string> OSExchangeDataProviderNo
std::optional<std::u16string> OSExchangeDataProviderNonBacked::GetString()
const {
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_ui__base__features.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_ui__base__features.cc
index 05f2a3caf372..38b6dcc88c83 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_ui__base__features.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_ui__base__features.cc
@@ -1,4 +1,4 @@
---- src/3rdparty/chromium/ui/base/ui_base_features.cc.orig 2025-02-21 12:29:33 UTC
+--- src/3rdparty/chromium/ui/base/ui_base_features.cc.orig 2025-08-18 00:53:11 UTC
+++ src/3rdparty/chromium/ui/base/ui_base_features.cc
@@ -165,7 +165,7 @@ BASE_FEATURE(kWaylandTextInputV3,
base::FEATURE_DISABLED_BY_DEFAULT);
@@ -18,7 +18,7 @@
(BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS_ASH) && \
!BUILDFLAG(IS_CHROMEOS_LACROS))
BASE_FEATURE(kExperimentalFlingAnimation,
-@@ -385,7 +385,7 @@ bool IsForcedColorsEnabled() {
+@@ -389,7 +389,7 @@ bool IsForcedColorsEnabled() {
// and Linux. This feature will be released for other platforms in later
// milestones.
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_ui__base__features.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_ui__base__features.h
index 2aca842bce0d..0cdc36728a12 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_ui__base__features.h
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_ui__base__features.h
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/ui/base/ui_base_features.h.orig 2025-02-21 12:29:33 UTC
+--- src/3rdparty/chromium/ui/base/ui_base_features.h.orig 2025-08-18 00:53:11 UTC
+++ src/3rdparty/chromium/ui/base/ui_base_features.h
-@@ -143,7 +143,7 @@ BASE_DECLARE_FEATURE(kWaylandTextInputV3);
+@@ -146,7 +146,7 @@ BASE_DECLARE_FEATURE(kWaylandTextInputV3);
BASE_DECLARE_FEATURE(kWaylandTextInputV3);
#endif // BUILDFLAG(IS_OZONE)
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gfx_linux_gbm__wrapper.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gfx_linux_gbm__wrapper.cc
index 2a4d92824384..b48a98195aeb 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gfx_linux_gbm__wrapper.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gfx_linux_gbm__wrapper.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/ui/gfx/linux/gbm_wrapper.cc.orig 2024-09-30 07:45:04 UTC
+--- src/3rdparty/chromium/ui/gfx/linux/gbm_wrapper.cc.orig 2025-08-18 00:53:11 UTC
+++ src/3rdparty/chromium/ui/gfx/linux/gbm_wrapper.cc
-@@ -319,7 +319,7 @@ class Device final : public ui::GbmDevice {
+@@ -331,7 +331,7 @@ class Device final : public ui::GbmDevice {
// of 1x1 BOs which are destroyed before creating the final BO creation used
// to instantiate the returned GbmBuffer.
gfx::Size size_for_verification =
diff --git a/www/qt6-webengine/files/patch-src_core_CMakeLists.txt b/www/qt6-webengine/files/patch-src_core_CMakeLists.txt
index 4c6f56a2e4e2..f04b00dfc8d5 100644
--- a/www/qt6-webengine/files/patch-src_core_CMakeLists.txt
+++ b/www/qt6-webengine/files/patch-src_core_CMakeLists.txt
@@ -1,4 +1,4 @@
---- src/core/CMakeLists.txt.orig 2025-03-09 19:36:47 UTC
+--- src/core/CMakeLists.txt.orig 2025-08-18 00:53:11 UTC
+++ src/core/CMakeLists.txt
@@ -21,7 +21,7 @@ add_subdirectory(tools/qwebengine_convert_dict)
# TOOLCHAIN SETUP
@@ -9,7 +9,7 @@
setup_toolchains()
endif()
-@@ -200,7 +200,7 @@ foreach(arch ${archs})
+@@ -205,7 +205,7 @@ foreach(arch ${archs})
accessibility_activation_observer.cpp accessibility_activation_observer.h
)
@@ -18,7 +18,7 @@
SOURCES
ozone/gl_ozone_angle_qt.cpp ozone/gl_ozone_angle_qt.h
ozone/ozone_util_qt.cpp ozone/ozone_util_qt.h
-@@ -208,17 +208,17 @@ foreach(arch ${archs})
+@@ -213,17 +213,17 @@ foreach(arch ${archs})
ozone/surface_factory_qt.cpp ozone/surface_factory_qt.h
)
@@ -39,7 +39,7 @@
SOURCES
ozone/egl_helper.cpp ozone/egl_helper.h
)
-@@ -438,7 +438,7 @@ foreach(arch ${archs})
+@@ -443,7 +443,7 @@ foreach(arch ${archs})
CONDITION QT_FEATURE_webenginedriver
)
@@ -48,7 +48,7 @@
list(APPEND gnArgArg
angle_enable_gl=true
use_gtk=false # GTK toolkit bindings
-@@ -505,6 +505,10 @@ foreach(arch ${archs})
+@@ -510,6 +510,10 @@ foreach(arch ${archs})
extend_gn_list(gnArgArg
ARGS use_pulseaudio
CONDITION QT_FEATURE_webengine_system_pulseaudio
diff --git a/www/qt6-webengine/files/patch-src_core_api_configure.cmake b/www/qt6-webengine/files/patch-src_core_api_configure.cmake
index 05e20daffc73..3988f9c60e8f 100644
--- a/www/qt6-webengine/files/patch-src_core_api_configure.cmake
+++ b/www/qt6-webengine/files/patch-src_core_api_configure.cmake
@@ -1,4 +1,4 @@
---- src/core/api/configure.cmake.orig 2025-02-21 12:29:33 UTC
+--- src/core/api/configure.cmake.orig 2025-08-18 00:53:11 UTC
+++ src/core/api/configure.cmake
@@ -10,6 +10,7 @@ if(NOT QT_CONFIGURE_RUNNING)
if(PkgConfig_FOUND AND QT_FEATURE_pkg_config)
@@ -8,7 +8,7 @@
pkg_check_modules(XDAMAGE xdamage)
pkg_check_modules(GBM gbm)
pkg_check_modules(LIBVA libva>=1.14)
-@@ -76,6 +77,11 @@ qt_feature("webengine-printing-and-pdf" PRIVATE
+@@ -90,6 +91,11 @@ qt_feature("webengine-printing-and-pdf" PRIVATE
AUTODETECT NOT QT_FEATURE_webengine_embedded_build
CONDITION TARGET Qt::PrintSupport AND QT_FEATURE_printer
)
@@ -20,7 +20,7 @@
qt_feature("webengine-pepper-plugins" PRIVATE
LABEL "Pepper Plugins"
PURPOSE "Enables use of Pepper plugins."
-@@ -157,7 +163,7 @@ qt_feature("webengine-vaapi" PRIVATE
+@@ -171,7 +177,7 @@ qt_feature("webengine-vaapi" PRIVATE
PURPOSE "Enables support for VA-API hardware acceleration"
AUTODETECT GBM_FOUND AND LIBVA_FOUND AND QT_FEATURE_vulkan
# hardware accelerated encoding requires bundled libvpx
@@ -29,7 +29,7 @@
)
list(LENGTH CMAKE_OSX_ARCHITECTURES osx_arch_count)
qt_feature("webenginedriver" PUBLIC
-@@ -196,15 +202,19 @@ qt_configure_add_summary_entry(
+@@ -214,15 +220,19 @@ qt_configure_add_summary_entry(
)
qt_configure_add_summary_entry(
ARGS "webengine-vaapi"
diff --git a/www/qt6-webengine/files/patch-src_core_compositor_native__skia__output__device__opengl.cpp b/www/qt6-webengine/files/patch-src_core_compositor_native__skia__output__device__opengl.cpp
index 079bb283b405..07a5f9437eea 100644
--- a/www/qt6-webengine/files/patch-src_core_compositor_native__skia__output__device__opengl.cpp
+++ b/www/qt6-webengine/files/patch-src_core_compositor_native__skia__output__device__opengl.cpp
@@ -1,6 +1,6 @@
---- src/core/compositor/native_skia_output_device_opengl.cpp.orig 2025-03-09 19:36:47 UTC
+--- src/core/compositor/native_skia_output_device_opengl.cpp.orig 2025-08-18 00:53:11 UTC
+++ src/core/compositor/native_skia_output_device_opengl.cpp
-@@ -247,7 +247,7 @@ QSGTexture *NativeSkiaOutputDeviceOpenGL::texture(QQui
+@@ -248,7 +248,7 @@ QSGTexture *NativeSkiaOutputDeviceOpenGL::texture(QQui
EGL_LINUX_DRM_FOURCC_EXT, drmFormat,
EGL_DMA_BUF_PLANE0_FD_EXT, scopedFd.get(),
EGL_DMA_BUF_PLANE0_OFFSET_EXT, static_cast<EGLAttrib>(nativePixmap->GetDmaBufOffset(0)),
diff --git a/www/qt6-websockets/distinfo b/www/qt6-websockets/distinfo
index 821443cc1d80..2856471e5674 100644
--- a/www/qt6-websockets/distinfo
+++ b/www/qt6-websockets/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749159745
-SHA256 (KDE/Qt/6.9.1/qtwebsockets-everywhere-src-6.9.1.tar.xz) = 98be8c863b7f02cc98eedc0b6eac07544c10a9d2fa11c685fd61f6b243f748f5
-SIZE (KDE/Qt/6.9.1/qtwebsockets-everywhere-src-6.9.1.tar.xz) = 462284
+TIMESTAMP = 1756198713
+SHA256 (KDE/Qt/6.9.2/qtwebsockets-everywhere-src-6.9.2.tar.xz) = be833f667ed8d6c2f41c0b9d1f8addf20b8d2b11c3a9466ec6d70c62121708ee
+SIZE (KDE/Qt/6.9.2/qtwebsockets-everywhere-src-6.9.2.tar.xz) = 447432
diff --git a/www/qt6-webview/distinfo b/www/qt6-webview/distinfo
index 64a0a82d21c9..a623e0ab91f3 100644
--- a/www/qt6-webview/distinfo
+++ b/www/qt6-webview/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749159748
-SHA256 (KDE/Qt/6.9.1/qtwebview-everywhere-src-6.9.1.tar.xz) = c29ad4fbb8f7a2042c4941bef88bb13bd04757eed94d6937ae69e0e4ea0d59a5
-SIZE (KDE/Qt/6.9.1/qtwebview-everywhere-src-6.9.1.tar.xz) = 141260
+TIMESTAMP = 1756198717
+SHA256 (KDE/Qt/6.9.2/qtwebview-everywhere-src-6.9.2.tar.xz) = 4ccfd14ae68222d5709e54c970da51d7f0b4cf58af045a96935dfcc34f1b1ff1
+SIZE (KDE/Qt/6.9.2/qtwebview-everywhere-src-6.9.2.tar.xz) = 125560
diff --git a/www/tor-browser/Makefile b/www/tor-browser/Makefile
index f99e3cb04891..ff5bf958f8a6 100644
--- a/www/tor-browser/Makefile
+++ b/www/tor-browser/Makefile
@@ -1,5 +1,6 @@
PORTNAME= tor-browser
DISTVERSION= 15.0a1
+PORTREVISION= 1
CATEGORIES= www net security wayland
TAG_BASE= 96a559c7c1f7b9231db2b5cece7ecae980ae835d
TAG_TOR= 3becb908fbf68aa77accc1f2e03e2c29f4fe40e2
diff --git a/www/waterfox/Makefile b/www/waterfox/Makefile
index d4cd473ff1ef..b7679d220de8 100644
--- a/www/waterfox/Makefile
+++ b/www/waterfox/Makefile
@@ -1,5 +1,6 @@
PORTNAME= waterfox
DISTVERSION= 6.6.1
+PORTREVISION= 1
PORTEPOCH= 1
CATEGORIES= www
diff --git a/www/wslay/Makefile b/www/wslay/Makefile
index dbac3828d03d..8646a926c82a 100644
--- a/www/wslay/Makefile
+++ b/www/wslay/Makefile
@@ -2,6 +2,7 @@ PORTNAME= wslay
DISTVERSIONPREFIX= release-
DISTVERSION= 1.1.1-22
DISTVERSIONSUFFIX= -g45d2258
+PORTREVISION= 1
CATEGORIES= www devel
MAINTAINER= yuri@FreeBSD.org
@@ -23,4 +24,7 @@ CMAKE_OFF= WSLAY_STATIC
CMAKE_TESTING_ON= WSLAY_TESTS
+post-extract:
+ ${CP} ${FILESDIR}/wslay.pc.cmake.in ${WRKSRC}
+
.include <bsd.port.mk>
diff --git a/www/wslay/files/patch-CMakeLists.txt b/www/wslay/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..ac649aafdd1f
--- /dev/null
+++ b/www/wslay/files/patch-CMakeLists.txt
@@ -0,0 +1,13 @@
+--- CMakeLists.txt.orig 2021-01-15 10:48:52 UTC
++++ CMakeLists.txt
+@@ -35,4 +35,10 @@ if (WSLAY_CONFIGURE_INSTALL)
+ configure_file(wslay-config.cmake.in wslay-config.cmake @ONLY)
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/wslay-config.cmake
+ DESTINATION ${INSTALL_CMAKE_DIR})
++
++ set(INSTALL_LIB_DIR ${CMAKE_INSTALL_PREFIX}/lib)
++ set(INSTALL_INC_DIR ${CMAKE_INSTALL_PREFIX}/include)
++ configure_file(wslay.pc.cmake.in libwslay.pc @ONLY)
++ set(INSTALL_PKGCONFIG_DIR "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig" CACHE PATH "Installation directory for pkgconfig (.pc) files")
++ install(FILES ${CMAKE_BINARY_DIR}/libwslay.pc DESTINATION "${INSTALL_PKGCONFIG_DIR}")
+ endif()
diff --git a/www/wslay/files/wslay.pc.cmake.in b/www/wslay/files/wslay.pc.cmake.in
new file mode 100644
index 000000000000..11ea4f98366a
--- /dev/null
+++ b/www/wslay/files/wslay.pc.cmake.in
@@ -0,0 +1,13 @@
+prefix=@CMAKE_INSTALL_PREFIX@
+exec_prefix=@CMAKE_INSTALL_PREFIX@
+libdir=@INSTALL_LIB_DIR@
+sharedlibdir=@INSTALL_LIB_DIR@
+includedir=@INSTALL_INC_DIR@
+
+Name: wslay
+Description: The WebSocket library in C
+Version: @PACKAGE_VERSION@
+
+Requires:
+Libs: -L${libdir} -L${sharedlibdir} -lwslay_shared
+Cflags: -I${includedir}
diff --git a/www/wslay/pkg-plist b/www/wslay/pkg-plist
index df71549a96c7..3258ab761a41 100644
--- a/www/wslay/pkg-plist
+++ b/www/wslay/pkg-plist
@@ -4,3 +4,4 @@ lib/cmake/wslay/wslay-config.cmake
lib/cmake/wslay/wslay-%%CMAKE_BUILD_TYPE%%.cmake
lib/cmake/wslay/wslay.cmake
lib/libwslay_shared.so
+libdata/pkgconfig/libwslay.pc
diff --git a/www/yt-dlp/Makefile b/www/yt-dlp/Makefile
index 130275e303e7..2f02907ee90f 100644
--- a/www/yt-dlp/Makefile
+++ b/www/yt-dlp/Makefile
@@ -1,5 +1,5 @@
PORTNAME= yt-dlp
-DISTVERSION= 2025.06.09
+DISTVERSION= 2025.08.27
CATEGORIES= www
MASTER_SITES= https://github.com/${PORTNAME}/${PORTNAME}/releases/download/${DISTVERSION}/
DISTNAME= ${PORTNAME}
diff --git a/www/yt-dlp/distinfo b/www/yt-dlp/distinfo
index fac82680ab98..13754cb479a7 100644
--- a/www/yt-dlp/distinfo
+++ b/www/yt-dlp/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749518754
-SHA256 (yt-dlp/2025.06.09/yt-dlp.tar.gz) = 46497ade23be173595d0bbdb41553873733696e0272fec5918cdcaebe17549aa
-SIZE (yt-dlp/2025.06.09/yt-dlp.tar.gz) = 6025016
+TIMESTAMP = 1756371665
+SHA256 (yt-dlp/2025.08.27/yt-dlp.tar.gz) = a30442902fadf97280b91c24c4c2191c8ba17515b8a5dd835efc991c03b5bb7b
+SIZE (yt-dlp/2025.08.27/yt-dlp.tar.gz) = 6018553