From 20d9016a244025e4853fa2235364b411bfd001c9 Mon Sep 17 00:00:00 2001 From: Muhammad Moinur Rahman Date: Sun, 18 May 2025 19:57:58 +0200 Subject: [PATCH 001/661] databases/pgpool-II-43: Update version 4.3.14=>4.3.15 Changelog: https://www.pgpool.net/docs/latest/en/html/release-4-3-15.html --- databases/pgpool-II-43/Makefile | 2 +- databases/pgpool-II-43/distinfo | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/databases/pgpool-II-43/Makefile b/databases/pgpool-II-43/Makefile index aaf0c0487c49..03aabba7997c 100644 --- a/databases/pgpool-II-43/Makefile +++ b/databases/pgpool-II-43/Makefile @@ -1,5 +1,5 @@ PORTNAME= pgpool-II -DISTVERSION= 4.3.14 +DISTVERSION= 4.3.15 CATEGORIES= databases MASTER_SITES= http://www.pgpool.net/mediawiki/images/ PKGNAMESUFFIX= -43 diff --git a/databases/pgpool-II-43/distinfo b/databases/pgpool-II-43/distinfo index 6368944e662a..48ecf622aad7 100644 --- a/databases/pgpool-II-43/distinfo +++ b/databases/pgpool-II-43/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1741070774 -SHA256 (pgpool-II-4.3.14.tar.gz) = 641b26a6060cb9d6f8fa5a5125bd4cf1d9e27bff9e4dc9d40a3f0c295e1d0fee -SIZE (pgpool-II-4.3.14.tar.gz) = 5014610 +TIMESTAMP = 1747321582 +SHA256 (pgpool-II-4.3.15.tar.gz) = 4e20e1c7b86355008f48c8fd643698312b13bbc7973ad607988aad16fda9eb48 +SIZE (pgpool-II-4.3.15.tar.gz) = 5126489 From 3f3815cbe5451a26dca5683bba6fb4e0d9a8d771 Mon Sep 17 00:00:00 2001 From: Muhammad Moinur Rahman Date: Sun, 18 May 2025 20:05:52 +0200 Subject: [PATCH 002/661] databases/pgpool-II-44: Update version 4.4.11=>4.4.12 Changelog: https://www.pgpool.net/docs/latest/en/html/release-4-4-12.html --- databases/pgpool-II-44/Makefile | 2 +- databases/pgpool-II-44/distinfo | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/databases/pgpool-II-44/Makefile b/databases/pgpool-II-44/Makefile index 7a4a6b68b20d..ac2fe9c2b510 100644 --- a/databases/pgpool-II-44/Makefile +++ b/databases/pgpool-II-44/Makefile @@ -1,5 +1,5 @@ PORTNAME= pgpool-II -DISTVERSION= 4.4.11 +DISTVERSION= 4.4.12 CATEGORIES= databases MASTER_SITES= http://www.pgpool.net/mediawiki/images/ PKGNAMESUFFIX= -44 diff --git a/databases/pgpool-II-44/distinfo b/databases/pgpool-II-44/distinfo index 478acc225fee..5531009a876e 100644 --- a/databases/pgpool-II-44/distinfo +++ b/databases/pgpool-II-44/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1741070935 -SHA256 (pgpool-II-4.4.11.tar.gz) = 7a46a7dc78a37185bff94b253aeb45ebe387f38e173551ecc5451aa8c3571bea -SIZE (pgpool-II-4.4.11.tar.gz) = 5126252 +TIMESTAMP = 1747591099 +SHA256 (pgpool-II-4.4.12.tar.gz) = 39d964df36d69fb943a8eb46038f685c8bb0428900d34d7189b0db6b28bde5a8 +SIZE (pgpool-II-4.4.12.tar.gz) = 5197601 From da4dd00bc3465b5191b7630b7fab8fe034dc78e0 Mon Sep 17 00:00:00 2001 From: Muhammad Moinur Rahman Date: Sun, 18 May 2025 20:07:25 +0200 Subject: [PATCH 003/661] databases/pgpool-II-45: Update version 4.5.6=>4.5.7 Changelog: https://www.pgpool.net/docs/latest/en/html/release-4-5-7.html --- databases/pgpool-II-45/Makefile | 2 +- databases/pgpool-II-45/distinfo | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/databases/pgpool-II-45/Makefile b/databases/pgpool-II-45/Makefile index dfe0e5d67131..9091600770d5 100644 --- a/databases/pgpool-II-45/Makefile +++ b/databases/pgpool-II-45/Makefile @@ -1,5 +1,5 @@ PORTNAME= pgpool-II -DISTVERSION= 4.5.6 +DISTVERSION= 4.5.7 CATEGORIES= databases MASTER_SITES= http://www.pgpool.net/mediawiki/images/ PKGNAMESUFFIX= -45 diff --git a/databases/pgpool-II-45/distinfo b/databases/pgpool-II-45/distinfo index cb22bc8bd1ea..70d7d98cb433 100644 --- a/databases/pgpool-II-45/distinfo +++ b/databases/pgpool-II-45/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1741071006 -SHA256 (pgpool-II-4.5.6.tar.gz) = 23af1f4c4fdc29ca1f2dd642c1541af578f6fbf699337869e7649a4f52bd756d -SIZE (pgpool-II-4.5.6.tar.gz) = 5311237 +TIMESTAMP = 1747591571 +SHA256 (pgpool-II-4.5.7.tar.gz) = 8c25f9e7cf803e3bc800e7589a5af265685b2ea13bc19663dda3b01c781dc58e +SIZE (pgpool-II-4.5.7.tar.gz) = 5456994 From 97caa41d64456d0f9d285d36a18f503a03be7051 Mon Sep 17 00:00:00 2001 From: Muhammad Moinur Rahman Date: Sun, 18 May 2025 20:08:44 +0200 Subject: [PATCH 004/661] databases/pgpool-II-46: Update version 4.6.0=>4.6.1 Changelog: https://www.pgpool.net/docs/latest/en/html/release-4-6-1.html --- databases/pgpool-II-46/Makefile | 2 +- databases/pgpool-II-46/distinfo | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/databases/pgpool-II-46/Makefile b/databases/pgpool-II-46/Makefile index 590d4fa53e76..13df38beb68c 100644 --- a/databases/pgpool-II-46/Makefile +++ b/databases/pgpool-II-46/Makefile @@ -1,5 +1,5 @@ PORTNAME= pgpool-II -DISTVERSION= 4.6.0 +DISTVERSION= 4.6.1 CATEGORIES= databases MASTER_SITES= http://www.pgpool.net/mediawiki/images/ PKGNAMESUFFIX= -46 diff --git a/databases/pgpool-II-46/distinfo b/databases/pgpool-II-46/distinfo index 8045a142ef57..573ee3c66d85 100644 --- a/databases/pgpool-II-46/distinfo +++ b/databases/pgpool-II-46/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1741071089 -SHA256 (pgpool-II-4.6.0.tar.gz) = f68a6571442d7ea53b69f39d749ad457790b00180e19b019fc82e235bab07321 -SIZE (pgpool-II-4.6.0.tar.gz) = 5396128 +TIMESTAMP = 1747591668 +SHA256 (pgpool-II-4.6.1.tar.gz) = 0f8805d93bc40002c8019dc40ae03a71a3d144bd39f3dffe6fa01f7fc19bb8e8 +SIZE (pgpool-II-4.6.1.tar.gz) = 5549482 From 3f6d775fa7a3e53a3424ecadfbd05f67cbfce9bb Mon Sep 17 00:00:00 2001 From: Muhammad Moinur Rahman Date: Sun, 18 May 2025 20:12:34 +0200 Subject: [PATCH 005/661] devel/cirrus-cli: Update version 0.131.2=>0.132.0 Changelog: https://github.com/cirruslabs/cirrus-cli/releases/tag/v0.132.0 --- devel/cirrus-cli/Makefile | 2 +- devel/cirrus-cli/distinfo | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/devel/cirrus-cli/Makefile b/devel/cirrus-cli/Makefile index 8db5f3d20a07..d1a9883bd0a7 100644 --- a/devel/cirrus-cli/Makefile +++ b/devel/cirrus-cli/Makefile @@ -1,6 +1,6 @@ PORTNAME= cirrus-cli DISTVERSIONPREFIX= v -DISTVERSION= 0.131.2 +DISTVERSION= 0.132.0 CATEGORIES= devel MAINTAINER= bofh@FreeBSD.org diff --git a/devel/cirrus-cli/distinfo b/devel/cirrus-cli/distinfo index a026f8b1d0e5..5ee845eb84bf 100644 --- a/devel/cirrus-cli/distinfo +++ b/devel/cirrus-cli/distinfo @@ -1,5 +1,5 @@ -TIMESTAMP = 1747217072 -SHA256 (go/devel_cirrus-cli/cirrus-cli-v0.131.2/v0.131.2.mod) = 4c57cb388bf0476e369fbf2c9cf5cb4ad0485ab9c6d1dfc029c9f54c49acc0c2 -SIZE (go/devel_cirrus-cli/cirrus-cli-v0.131.2/v0.131.2.mod) = 10858 -SHA256 (go/devel_cirrus-cli/cirrus-cli-v0.131.2/v0.131.2.zip) = 058f4bef8dbcda9bb71648690ca6400715b44ef178954af49a6d96d8f2b644a5 -SIZE (go/devel_cirrus-cli/cirrus-cli-v0.131.2/v0.131.2.zip) = 1315773 +TIMESTAMP = 1747591860 +SHA256 (go/devel_cirrus-cli/cirrus-cli-v0.132.0/v0.132.0.mod) = 4176a8972f255ac76b65a3a29e4255d81717d22159da748c8aa910bdb7d598a1 +SIZE (go/devel_cirrus-cli/cirrus-cli-v0.132.0/v0.132.0.mod) = 10858 +SHA256 (go/devel_cirrus-cli/cirrus-cli-v0.132.0/v0.132.0.zip) = ffc85b49c3ca162420b93b044894b8b3bf1740e5a07021fb65cdb669c17a19e8 +SIZE (go/devel_cirrus-cli/cirrus-cli-v0.132.0/v0.132.0.zip) = 1317411 From feec1fce591940893d96f7f0bbca1b462e6096b0 Mon Sep 17 00:00:00 2001 From: Muhammad Moinur Rahman Date: Sun, 18 May 2025 20:27:31 +0200 Subject: [PATCH 006/661] databases/pspg: Update version 5.8.10=>5.8.11 Changelog: https://github.com/okbob/pspg/releases/tag/5.8.11 --- databases/pspg/Makefile | 2 +- databases/pspg/distinfo | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/databases/pspg/Makefile b/databases/pspg/Makefile index 3816690fa7cd..33a1ed7559c2 100644 --- a/databases/pspg/Makefile +++ b/databases/pspg/Makefile @@ -1,5 +1,5 @@ PORTNAME= pspg -DISTVERSION= 5.8.10 +DISTVERSION= 5.8.11 CATEGORIES= databases MAINTAINER= bofh@FreeBSD.org diff --git a/databases/pspg/distinfo b/databases/pspg/distinfo index b475c917d275..6f2043740bb0 100644 --- a/databases/pspg/distinfo +++ b/databases/pspg/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1747216936 -SHA256 (okbob-pspg-5.8.10_GH0.tar.gz) = 806d6b3c3f53144487368caff851d3373735129db68908b9eb45efa58e3d0a8e -SIZE (okbob-pspg-5.8.10_GH0.tar.gz) = 2445610 +TIMESTAMP = 1747591745 +SHA256 (okbob-pspg-5.8.11_GH0.tar.gz) = ae1122d7946c69ca17b3e2e672418957a1b3c6efa221eed62be7d5f7b5e3d0ea +SIZE (okbob-pspg-5.8.11_GH0.tar.gz) = 2446197 From 44e96993f40813bab3a8838e4b6d3665b7c5cac4 Mon Sep 17 00:00:00 2001 From: Muhammad Moinur Rahman Date: Sun, 18 May 2025 20:30:21 +0200 Subject: [PATCH 007/661] devel/protoc-gen-go-grpc: Update version 1.72.0=>1.72.1 Changelog: https://github.com/grpc/grpc-go/releases/tag/v1.72.1 --- devel/protoc-gen-go-grpc/Makefile | 6 +----- devel/protoc-gen-go-grpc/distinfo | 6 +++--- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/devel/protoc-gen-go-grpc/Makefile b/devel/protoc-gen-go-grpc/Makefile index 1a59ba7faccd..64301aad7960 100644 --- a/devel/protoc-gen-go-grpc/Makefile +++ b/devel/protoc-gen-go-grpc/Makefile @@ -1,6 +1,6 @@ PORTNAME= protoc-gen-go-grpc DISTVERSIONPREFIX= v -DISTVERSION= 1.72.0 +DISTVERSION= 1.72.1 CATEGORIES= devel MAINTAINER= bofh@FreeBSD.org @@ -23,12 +23,8 @@ GH_TUPLE= \ open-telemetry:opentelemetry-go:v1.34.0:open_telemetry_opentelemetry_go/vendor/go.opentelemetry.io/otel \ protocolbuffers:protobuf-go:v1.36.5:protocolbuffers_protobuf_go/vendor/google.golang.org/protobuf -#GO_MODULE= google.golang.org/grpc GO_TARGET= ./cmd/protoc-gen-go-grpc PLIST_FILES= bin/protoc-gen-go-grpc -#post-patch: -# @${CP} -R ${WRKDIR}/grpc-go-${DISTVERSION}/cmd ${WRKSRC}/ - .include diff --git a/devel/protoc-gen-go-grpc/distinfo b/devel/protoc-gen-go-grpc/distinfo index cfb4062fbf5c..eb63a75fe7c6 100644 --- a/devel/protoc-gen-go-grpc/distinfo +++ b/devel/protoc-gen-go-grpc/distinfo @@ -1,6 +1,6 @@ -TIMESTAMP = 1746316897 -SHA256 (grpc-grpc-go-v1.72.0_GH0.tar.gz) = bfd9b72523f56391aa568b464775a1241f5f38fba8d7f5f1edc1f1d8cde3d2f4 -SIZE (grpc-grpc-go-v1.72.0_GH0.tar.gz) = 2410705 +TIMESTAMP = 1747592888 +SHA256 (grpc-grpc-go-v1.72.1_GH0.tar.gz) = 1b40636aaefd7afd74abd6e9796cfd7b1419a0c4d9846f0c7d5a5c0b1ae51f84 +SIZE (grpc-grpc-go-v1.72.1_GH0.tar.gz) = 2412814 SHA256 (golang-net-v0.34.0_GH0.tar.gz) = 3d5ec65e81b6f1d9530a3008f35722e9cf6d4905b20c19a7126f58aae515996c SIZE (golang-net-v0.34.0_GH0.tar.gz) = 1466242 SHA256 (golang-sys-v0.29.0_GH0.tar.gz) = 7bac3e0a686a05d0e86ca110917b45f60553d6c146dba8a4cdafb911486428e7 From 070ae13bf7eb0aeb24a3409e7707425248504b74 Mon Sep 17 00:00:00 2001 From: Muhammad Moinur Rahman Date: Sun, 18 May 2025 21:11:29 +0200 Subject: [PATCH 008/661] devel/py-aiortc: Update version 1.11.0=>1.12.0 Changelog: https://github.com/aiortc/aiortc/releases/tag/1.12.0 --- devel/py-aiortc/Makefile | 25 ++++++++++++------------- devel/py-aiortc/distinfo | 6 +++--- 2 files changed, 15 insertions(+), 16 deletions(-) diff --git a/devel/py-aiortc/Makefile b/devel/py-aiortc/Makefile index 32b5b9a0bc14..63a346282e2f 100644 --- a/devel/py-aiortc/Makefile +++ b/devel/py-aiortc/Makefile @@ -1,6 +1,5 @@ PORTNAME= aiortc -DISTVERSION= 1.11.0 -PORTREVISION= 1 +DISTVERSION= 1.12.0 CATEGORIES= devel multimedia python www MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} @@ -13,21 +12,21 @@ LICENSE= BSD3CLAUSE LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}cffi>=1.0.0:devel/py-cffi@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR} -LIB_DEPENDS= libopus.so:audio/opus \ - libvpx.so:multimedia/libvpx + ${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR} \ + ${PY_SETUPTOOLS} RUN_DEPENDS= ${PYNUMPY} \ - ${PYTHON_PKGNAMEPREFIX}aioice>=0.9.0:devel/py-aioice@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}av>=9.0.0:multimedia/py-av@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}aioice>=0.10.1:devel/py-aioice@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}av>=14.0.0:multimedia/py-av@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}google-crc32c>=1.1:devel/py-google-crc32c@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}openssl>=23.1.0:security/py-openssl@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}pyee>=9.0.0:devel/py-pyee@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}pylibsrtp>=0.5.6:devel/py-pylibsrtp@${PY_FLAVOR} + ${PYTHON_PKGNAMEPREFIX}openssl>=25.0.0:security/py-openssl@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pyee>=13.0.0:devel/py-pyee@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pylibsrtp>=0.10.0:devel/py-pylibsrtp@${PY_FLAVOR} USES= localbase python -USE_PYTHON= autoplist concurrent cryptography distutils +USE_PYTHON= autoplist concurrent cryptography pep517 -post-install: - ${STRIP_CMD} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/${PORTNAME}/codecs/*.so +post-patch: + @${REINPLACE_CMD} -e 's|^license = "BSD-3-Clause"|license = { text = "BSD-3-Clause" }|' \ + ${WRKSRC}/pyproject.toml .include diff --git a/devel/py-aiortc/distinfo b/devel/py-aiortc/distinfo index 021511b546ff..94275c35a4aa 100644 --- a/devel/py-aiortc/distinfo +++ b/devel/py-aiortc/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1743439480 -SHA256 (aiortc-1.11.0.tar.gz) = 50b9d86f6cba87d95ce7c6b051949208b48f8062b231837aed8f049045f11a28 -SIZE (aiortc-1.11.0.tar.gz) = 1179206 +TIMESTAMP = 1747593181 +SHA256 (aiortc-1.12.0.tar.gz) = c99d89a60a473074532020329de7ee23253bac17606d85ba4aab4c6148e94b39 +SIZE (aiortc-1.12.0.tar.gz) = 1175343 From 71eb9cf78895270441e4298782fda608645e879b Mon Sep 17 00:00:00 2001 From: Muhammad Moinur Rahman Date: Sun, 18 May 2025 21:17:25 +0200 Subject: [PATCH 009/661] devel/py-buildbot-pkg: Update version 4.2.1=>4.3.0 Changelog: https://github.com/buildbot/buildbot/releases/tag/v4.3.0 Sponsored by: The FreeBSD Foundation --- devel/py-buildbot-pkg/Makefile | 2 +- devel/py-buildbot-pkg/distinfo | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/devel/py-buildbot-pkg/Makefile b/devel/py-buildbot-pkg/Makefile index 938b9f25f450..528e21f6a274 100644 --- a/devel/py-buildbot-pkg/Makefile +++ b/devel/py-buildbot-pkg/Makefile @@ -1,5 +1,5 @@ PORTNAME= buildbot-pkg -DISTVERSION= 4.2.1 +DISTVERSION= 4.3.0 CATEGORIES= devel python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} diff --git a/devel/py-buildbot-pkg/distinfo b/devel/py-buildbot-pkg/distinfo index 4788b29f37f1..4595990f03fd 100644 --- a/devel/py-buildbot-pkg/distinfo +++ b/devel/py-buildbot-pkg/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1746273569 -SHA256 (buildbot_pkg-4.2.1.tar.gz) = 9687b343918c704f69264115d164b97bf9cce636cb0d49f380d7bafb1fa6f884 -SIZE (buildbot_pkg-4.2.1.tar.gz) = 5147 +TIMESTAMP = 1747219343 +SHA256 (buildbot_pkg-4.3.0.tar.gz) = 42933a779e508c0e2ed62708cfc5d23b78ba456436268d8ddbfd51786abdf57e +SIZE (buildbot_pkg-4.3.0.tar.gz) = 5132 From 5774365f42cd2153f7a7191b66843b44bc1264b5 Mon Sep 17 00:00:00 2001 From: Muhammad Moinur Rahman Date: Sun, 18 May 2025 21:20:39 +0200 Subject: [PATCH 010/661] devel/py-tox: Update version 4.25.0=>4.26.0 Changelog: https://github.com/tox-dev/tox/releases/tag/4.26.0 --- devel/py-tox/Makefile | 20 ++++++++++---------- devel/py-tox/distinfo | 6 +++--- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/devel/py-tox/Makefile b/devel/py-tox/Makefile index 7306df513a3a..5bf01f11d229 100644 --- a/devel/py-tox/Makefile +++ b/devel/py-tox/Makefile @@ -1,6 +1,5 @@ PORTNAME= tox -DISTVERSION= 4.25.0 -PORTREVISION= 1 +DISTVERSION= 4.26.0 CATEGORIES= devel python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} @@ -13,17 +12,18 @@ LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatch-vcs>=0.4:devel/py-hatch-vcs@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}hatchling>=1.21:devel/py-hatchling@${PY_FLAVOR} -RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}cachetools>=5.3.2:devel/py-cachetools@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}hatchling>=1.27:devel/py-hatchling@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}cachetools>=5.5.1:devel/py-cachetools@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}chardet>=5.2:textproc/py-chardet@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}colorama>=0.4.6:devel/py-colorama@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}filelock>=3.13.1:sysutils/py-filelock@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}packaging>=23.2:devel/py-packaging@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}platformdirs>=4.1:devel/py-platformdirs@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}pluggy>=1.3:devel/py-pluggy@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}pyproject-api>=1.6.1:devel/py-pyproject-api@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}filelock>=3.16.1:sysutils/py-filelock@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}packaging>=24.2:devel/py-packaging@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}platformdirs>=4.3.6:devel/py-platformdirs@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pluggy>=1.5:devel/py-pluggy@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pyproject-api>=1.8:devel/py-pyproject-api@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}virtualenv>=20.25:devel/py-virtualenv@${PY_FLAVOR} \ - ${PY_TOMLI} + ${PY_TOMLI} \ + ${PY_TYPING_EXTENSIONS} USES= python USE_PYTHON= autoplist concurrent pep517 diff --git a/devel/py-tox/distinfo b/devel/py-tox/distinfo index 10f60eb15733..a4ba3a1c1b79 100644 --- a/devel/py-tox/distinfo +++ b/devel/py-tox/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1743156581 -SHA256 (tox-4.25.0.tar.gz) = dd67f030317b80722cf52b246ff42aafd3ed27ddf331c415612d084304cf5e52 -SIZE (tox-4.25.0.tar.gz) = 196255 +TIMESTAMP = 1747595879 +SHA256 (tox-4.26.0.tar.gz) = a83b3b67b0159fa58e44e646505079e35a43317a62d2ae94725e0586266faeca +SIZE (tox-4.26.0.tar.gz) = 197260 From 027ed37c8446c11bfb52a2cac05cd58c6f869b71 Mon Sep 17 00:00:00 2001 From: Muhammad Moinur Rahman Date: Sun, 18 May 2025 21:25:16 +0200 Subject: [PATCH 011/661] print/py-reportlab: Update version 4.4.0=>4.4.1 - Pet portclippy Changelog: https://hg.reportlab.com/hg-public/reportlab/file/tip/CHANGES.md --- print/py-reportlab/Makefile | 7 +++++-- print/py-reportlab/distinfo | 6 +++--- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/print/py-reportlab/Makefile b/print/py-reportlab/Makefile index 155d3b78d1ad..b27050337837 100644 --- a/print/py-reportlab/Makefile +++ b/print/py-reportlab/Makefile @@ -1,5 +1,5 @@ PORTNAME= reportlab -DISTVERSION= 4.4.0 +DISTVERSION= 4.4.1 CATEGORIES= print python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} @@ -24,15 +24,18 @@ PFBFER_VERSION= 20180109 PFBFER= pfbfer-${PFBFER_VERSION}.zip MAKE_ENV= PACKAGE_PATH="${REPORTLABDIR}" + +DOCSDIR= ${PREFIX}/share/doc/${PKGNAMEPREFIX}${PORTNAME} NO_ARCH= yes REPORTLABDIR= ${PYTHONPREFIX_SITELIBDIR}/reportlab -DOCSDIR= ${PREFIX}/share/doc/${PKGNAMEPREFIX}${PORTNAME} PORTDOCS= reportlab-userguide.pdf OPTIONS_DEFINE= CJK FREETYPE DOCS OPTIONS_DEFAULT=CJK FREETYPE + CJK_DESC= Adobe CMaps + CJK_RUN_DEPENDS= ${LOCALBASE}/share/fonts/adobe-cmaps/ac15/cid2code.txt:print/adobe-cmaps FREETYPE_LIB_DEPENDS= libfreetype.so:print/freetype2 diff --git a/print/py-reportlab/distinfo b/print/py-reportlab/distinfo index 73f87ed1302a..be3dc01bb987 100644 --- a/print/py-reportlab/distinfo +++ b/print/py-reportlab/distinfo @@ -1,5 +1,5 @@ -TIMESTAMP = 1745485354 -SHA256 (reportlab-4.4.0.tar.gz) = a64d85513910e246c21dc97ccc3c9054a1d44370bf8fc1fab80af937814354d5 -SIZE (reportlab-4.4.0.tar.gz) = 3597413 +TIMESTAMP = 1747596073 +SHA256 (reportlab-4.4.1.tar.gz) = 5f9b9fc0b7a48e8912c25ccf69d26b82980ab0da718e4f583fa720e8f8f5073f +SIZE (reportlab-4.4.1.tar.gz) = 3509107 SHA256 (pfbfer-20180109.zip) = 851b431550e866b217317d09dd33b5535ae081200975ad4dd25e80be2af10fec SIZE (pfbfer-20180109.zip) = 737561 From d997396f2fd80b0caa572d5a5f4c5f9f2ad9d69b Mon Sep 17 00:00:00 2001 From: Muhammad Moinur Rahman Date: Sun, 18 May 2025 21:28:23 +0200 Subject: [PATCH 012/661] sysutils/httm: Update version 0.47.0=>0.47.1 Changelog: https://github.com/kimono-koans/httm/releases/tag/0.47.1 --- sysutils/httm/Makefile | 2 +- sysutils/httm/Makefile.crates | 12 +++--------- sysutils/httm/distinfo | 18 +++++++++--------- 3 files changed, 13 insertions(+), 19 deletions(-) diff --git a/sysutils/httm/Makefile b/sysutils/httm/Makefile index ce18d00723ef..e66152396ece 100644 --- a/sysutils/httm/Makefile +++ b/sysutils/httm/Makefile @@ -1,5 +1,5 @@ PORTNAME= httm -DISTVERSION= 0.47.0 +DISTVERSION= 0.47.1 CATEGORIES= sysutils MAINTAINER= bofh@FreeBSD.org diff --git a/sysutils/httm/Makefile.crates b/sysutils/httm/Makefile.crates index e47e254aa53b..5faebca22b72 100644 --- a/sysutils/httm/Makefile.crates +++ b/sysutils/httm/Makefile.crates @@ -1,9 +1,3 @@ -===> License MPL20 accepted by the user -===> httm-0.47.0 depends on file: /usr/local/sbin/pkg - found -===> Fetching all distfiles required by httm-0.47.0 for building -===> Extracting for httm-0.47.0 -=> SHA256 Checksum OK for kimono-koans-httm-0.47.0_GH0.tar.gz. -===> Moving crates to /usr/ports/sysutils/httm/work/httm-0.47.0/cargo-crates CARGO_CRATES= ahash-0.3.8 \ aho-corasick-1.1.3 \ ansi_term-0.12.1 \ @@ -22,8 +16,8 @@ CARGO_CRATES= ahash-0.3.8 \ cfg-if-1.0.0 \ cfg_aliases-0.2.1 \ clap-2.34.0 \ - clap-4.5.37 \ - clap_builder-4.5.37 \ + clap-4.5.38 \ + clap_builder-4.5.38 \ clap_lex-0.7.4 \ colorchoice-1.0.3 \ console-0.15.5 \ @@ -76,7 +70,7 @@ CARGO_CRATES= ahash-0.3.8 \ memchr-2.7.4 \ memoffset-0.8.0 \ nix-0.24.3 \ - nix-0.30.0 \ + nix-0.30.1 \ nu-ansi-term-0.50.1 \ num-conv-0.1.0 \ num_threads-0.1.6 \ diff --git a/sysutils/httm/distinfo b/sysutils/httm/distinfo index 7c0effed99a4..9be2027f1a86 100644 --- a/sysutils/httm/distinfo +++ b/sysutils/httm/distinfo @@ -1,4 +1,4 @@ -TIMESTAMP = 1746269811 +TIMESTAMP = 1747596368 SHA256 (rust/crates/ahash-0.3.8.crate) = e8fd72866655d1904d6b0997d0b07ba561047d070fbe29de039031c641b61217 SIZE (rust/crates/ahash-0.3.8.crate) = 28650 SHA256 (rust/crates/aho-corasick-1.1.3.crate) = 8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916 @@ -35,10 +35,10 @@ SHA256 (rust/crates/cfg_aliases-0.2.1.crate) = 613afe47fcd5fac7ccf1db93babcb082c SIZE (rust/crates/cfg_aliases-0.2.1.crate) = 6355 SHA256 (rust/crates/clap-2.34.0.crate) = a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c SIZE (rust/crates/clap-2.34.0.crate) = 202210 -SHA256 (rust/crates/clap-4.5.37.crate) = eccb054f56cbd38340b380d4a8e69ef1f02f1af43db2f0cc817a4774d80ae071 -SIZE (rust/crates/clap-4.5.37.crate) = 56962 -SHA256 (rust/crates/clap_builder-4.5.37.crate) = efd9466fac8543255d3b1fcad4762c5e116ffe808c8a3043d4263cd4fd4862a2 -SIZE (rust/crates/clap_builder-4.5.37.crate) = 168761 +SHA256 (rust/crates/clap-4.5.38.crate) = ed93b9805f8ba930df42c2590f05453d5ec36cbb85d018868a5b24d31f6ac000 +SIZE (rust/crates/clap-4.5.38.crate) = 57140 +SHA256 (rust/crates/clap_builder-4.5.38.crate) = 379026ff283facf611b0ea629334361c4211d1b12ee01024eec1591133b04120 +SIZE (rust/crates/clap_builder-4.5.38.crate) = 169177 SHA256 (rust/crates/clap_lex-0.7.4.crate) = f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6 SIZE (rust/crates/clap_lex-0.7.4.crate) = 12858 SHA256 (rust/crates/colorchoice-1.0.3.crate) = 5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990 @@ -143,8 +143,8 @@ SHA256 (rust/crates/memoffset-0.8.0.crate) = d61c719bcfbcf5d62b3a09efa6088de8c54 SIZE (rust/crates/memoffset-0.8.0.crate) = 8912 SHA256 (rust/crates/nix-0.24.3.crate) = fa52e972a9a719cecb6864fb88568781eb706bac2cd1d4f04a648542dbf78069 SIZE (rust/crates/nix-0.24.3.crate) = 266843 -SHA256 (rust/crates/nix-0.30.0.crate) = 537bc3c4a347b87fd52ac6c03a02ab1302962cfd93373c5d7a112cdc337854cc -SIZE (rust/crates/nix-0.30.0.crate) = 342229 +SHA256 (rust/crates/nix-0.30.1.crate) = 74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6 +SIZE (rust/crates/nix-0.30.1.crate) = 342015 SHA256 (rust/crates/nu-ansi-term-0.50.1.crate) = d4a28e057d01f97e61255210fcff094d74ed0466038633e95017f5beb68e4399 SIZE (rust/crates/nu-ansi-term-0.50.1.crate) = 28536 SHA256 (rust/crates/num-conv-0.1.0.crate) = 51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9 @@ -325,5 +325,5 @@ SHA256 (rust/crates/xattr-1.5.0.crate) = 0d65cbf2f12c15564212d48f4e3dfb87923d25d SIZE (rust/crates/xattr-1.5.0.crate) = 14694 SHA256 (rust/crates/yaml-rust-0.3.5.crate) = e66366e18dc58b46801afbf2ca7661a9f59cc8c5962c29892b6039b4f86fa992 SIZE (rust/crates/yaml-rust-0.3.5.crate) = 42087 -SHA256 (kimono-koans-httm-0.47.0_GH0.tar.gz) = bf0d12b822d13838bdad289b59dfa4bcc5436b1d6621abb8e400cd1f52e12f5d -SIZE (kimono-koans-httm-0.47.0_GH0.tar.gz) = 136271 +SHA256 (kimono-koans-httm-0.47.1_GH0.tar.gz) = 30174bbf0ee2c29590e2ae768393ca7ffc302f2a4b4bc481f363f8e51cfcf757 +SIZE (kimono-koans-httm-0.47.1_GH0.tar.gz) = 136345 From 02399de801d1696d2ca144641d0f24cfc61423f3 Mon Sep 17 00:00:00 2001 From: Muhammad Moinur Rahman Date: Sun, 18 May 2025 21:29:49 +0200 Subject: [PATCH 013/661] textproc/fzf: Update version 0.61.2=>0.62.0 Changelog: https://github.com/junegunn/fzf/releases/tag/v0.62.0 --- textproc/fzf/Makefile | 4 ++-- textproc/fzf/distinfo | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/textproc/fzf/Makefile b/textproc/fzf/Makefile index 2f1bc8578a87..81193ac27c5c 100644 --- a/textproc/fzf/Makefile +++ b/textproc/fzf/Makefile @@ -1,6 +1,6 @@ PORTNAME= fzf DISTVERSIONPREFIX= v -DISTVERSION= 0.61.2 +DISTVERSION= 0.62.0 CATEGORIES= textproc MASTER_SITES= https://raw.githubusercontent.com/${GH_ACCOUNT}/${GH_PROJECT}/${DISTVERSIONFULL}/:gomod DISTFILES= go.mod:gomod @@ -21,7 +21,7 @@ GH_PROJECT= fzf GO_MODULE= github.com/junegunn/fzf GO_BUILDFLAGS= -ldflags="-X main.version=${DISTVERSION} -X main.revision=${COMMIT_ID} -s -w" -COMMIT_ID= 90ad1b7 +COMMIT_ID= d226d84 PLIST_FILES= bin/fzf share/man/man1/fzf.1.gz diff --git a/textproc/fzf/distinfo b/textproc/fzf/distinfo index 3c60274ecc1b..2b56ac886d08 100644 --- a/textproc/fzf/distinfo +++ b/textproc/fzf/distinfo @@ -1,5 +1,5 @@ -TIMESTAMP = 1747219243 -SHA256 (go/textproc_fzf/junegunn-fzf-v0.61.2_GH0/go.mod) = d28136ddcb65827d87be980ad5387e4aeee3f01edcb3f0c74aa031b895ae4f55 -SIZE (go/textproc_fzf/junegunn-fzf-v0.61.2_GH0/go.mod) = 527 -SHA256 (go/textproc_fzf/junegunn-fzf-v0.61.2_GH0/junegunn-fzf-v0.61.2_GH0.tar.gz) = 15a2d8b9bcd9cf85219f02f3cf750c45acd3d5901ce69a7dcdb9db3e12f36a90 -SIZE (go/textproc_fzf/junegunn-fzf-v0.61.2_GH0/junegunn-fzf-v0.61.2_GH0.tar.gz) = 331925 +TIMESTAMP = 1747596554 +SHA256 (go/textproc_fzf/junegunn-fzf-v0.62.0_GH0/go.mod) = d28136ddcb65827d87be980ad5387e4aeee3f01edcb3f0c74aa031b895ae4f55 +SIZE (go/textproc_fzf/junegunn-fzf-v0.62.0_GH0/go.mod) = 527 +SHA256 (go/textproc_fzf/junegunn-fzf-v0.62.0_GH0/junegunn-fzf-v0.62.0_GH0.tar.gz) = e5beae86a3d026b2c2cfc165715d45b831b9f337a9e96f711ba3bc3d15e50900 +SIZE (go/textproc_fzf/junegunn-fzf-v0.62.0_GH0/junegunn-fzf-v0.62.0_GH0.tar.gz) = 333078 From 751840d1b2631c14b8a989051e1d132d65d9548d Mon Sep 17 00:00:00 2001 From: Ronald Klop Date: Sun, 18 May 2025 21:45:40 +0200 Subject: [PATCH 014/661] databases/mongodb80: 8.0.9 Changes: https://www.mongodb.com/docs/v8.0/release-notes/8.0/#8.0.9---may-1--2025 Announcement: https://www.mongodb.com/community/forums/t/mongodb-8-0-9-is-released/321462?u=r_k - refactored do-configure to use HAS_CONFIGURE which properly passes CONFIGURE_ENV - updates spidermonkey to MozJS 128.8-ESR - needs cbindgen now - pet portclippy and portfmt (moved vars around) - replaced multiple paths with MOZJS_WRKSRC - removed a mozjs patch which is in upstream now --- databases/mongodb80/Makefile | 55 ++++++++++--------- databases/mongodb80/distinfo | 12 ++-- ...patch-src_third__party_mozjs_gen-config.sh | 16 ++++-- 3 files changed, 44 insertions(+), 39 deletions(-) diff --git a/databases/mongodb80/Makefile b/databases/mongodb80/Makefile index d5092f9dc9ff..88b5017d5905 100644 --- a/databases/mongodb80/Makefile +++ b/databases/mongodb80/Makefile @@ -1,13 +1,8 @@ PORTNAME= mongodb DISTVERSIONPREFIX= r -DISTVERSION= 8.0.8 -PORTREVISION= 1 +DISTVERSION= 8.0.9 CATEGORIES= databases net -MASTER_SITES= https://hg.mozilla.org/mozilla-central/raw-rev/:patches PKGNAMESUFFIX= ${DISTVERSION:R:S/.//} -DISTFILES= 223087fdc29f18678f6174e9807b8780e439acf6:patches # https://bugzilla.mozilla.org/1894423 -EXTRACT_ONLY= ${GH_ACCOUNT}-${GH_PROJECT}-${DISTVERSIONPREFIX}${DISTVERSION}_GH0.tar.gz \ - ${GH_ACCOUNT}-forks-spidermonkey-${MOZJS_TAG}_GH0.tar.gz MAINTAINER= ronald@FreeBSD.org COMMENT= MongoDB Community Edition (8.0.x Branch) @@ -32,7 +27,8 @@ BUILD_DEPENDS= ${PY_SETUPTOOLS} \ ${PYTHON_PKGNAMEPREFIX}pyyaml>=3.11:devel/py-pyyaml@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}requests>0:www/py-requests@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}retry2>0:devel/py-retry2@${PY_FLAVOR} \ - git:devel/git@tiny + git:devel/git@tiny \ + rust-cbindgen>0:devel/rust-cbindgen # build depends used while running ${WRKSRC}/src/third_party/mozjs/gen-config.sh BUILD_DEPENDS+= gm4:devel/m4 \ gsed:textproc/gsed @@ -44,14 +40,16 @@ LIB_DEPENDS= libcurl.so:ftp/curl \ libzstd.so:archivers/zstd FLAVORS= default armv80a + armv80a_PKGNAMESUFFIX= ${DISTVERSION:R:S/.//}-armv80a USES= compiler:c++20-lang cpe python:build scons shebangfix ssl # gmake is used while running ${WRKSRC}/src/third_party/mozjs/gen-config.sh USES+= gmake pkgconfig +CPE_PRODUCT= mongodb # mozjs tag comes from ${WRKSRC}/src/third_party/mozjs/get-sources.sh -MOZJS_TAG= 4c197344dfc48dfbbd242333878f17f0379e6205 +MOZJS_TAG= ee5eabe03bfae1cba9d97eb380fbc9408707b9ee USE_GITHUB= yes GH_ACCOUNT= mongodb mongodb-forks:mozjs @@ -62,7 +60,12 @@ USE_RC_SUBR= mongod SHEBANG_FILES= buildscripts/scons.py python_OLD_CMD= @python_interpreter@ -CONFIGURE_ENV+= M4=${LOCALBASE}/bin/gm4 +HAS_CONFIGURE= yes +CONFIGURE_SCRIPT= gen-config.sh +CONFIGURE_ARGS+= ${MOZJS_ARCH} \ + freebsd +CONFIGURE_ENV+= PYTHON3="${PYTHON_CMD}" + MAKE_ARGS= --allocator=system \ --cxx-std=20 \ --disable-warnings-as-errors \ @@ -79,6 +82,7 @@ MAKE_ARGS= --allocator=system \ AR=llvm-ar \ MONGO_VERSION=${DISTVERSION} \ VERBOSE=on +ALL_TARGET= install-servers CFLAGS+= -DBOOST_NO_CXX98_FUNCTION_BASE @@ -92,15 +96,18 @@ EXTRACT_AFTER_ARGS= --exclude src/third_party/snappy-* \ --exclude src/third_party/zstandard \ --no-same-owner --no-same-permissions +# This ports is only following the Major Release. +# https://docs.mongodb.com/manual/reference/versioning/ +PORTSCOUT= limit:^8\.0\. + +CONFIGURE_WRKSRC= ${MOZJS_WRKSRC} + USERS= mongodb GROUPS= mongodb OPTIONS_DEFINE= LTO NOAVX SASL OPTIONS_DEFINE_aarch64= ARMV80A OPTIONS_DEFAULT= NOAVX SASL -.if ${FLAVOR:U} == armv80a -OPTIONS_SET+= ARMV80A -.endif # MongoDB on non-LSE ARM cpu like Raspberry Pi can work but is unsupported upstream. # Can give corruption on high concurrency. @@ -119,20 +126,18 @@ NOAVX_EXTRA_PATCHES= ${FILESDIR}/extrapatch-src_third__party_mozjs_SConscript \ SASL_LIB_DEPENDS= libsasl2.so:security/cyrus-sasl2 SASL_MAKE_ARGS= --use-sasl-client +MOZJS_WRKSRC= ${WRKSRC}/src/third_party/mozjs + +.if ${FLAVOR:U} == armv80a +OPTIONS_SET+= ARMV80A +.endif + .include .if ${FLAVOR:U} == armv80a && ${ARCH} != aarch64 IGNORE= flavor armv80a is only valid on aarch64 .endif -ALL_TARGET= install-servers - -# This ports is only following the Major Release. -# https://docs.mongodb.com/manual/reference/versioning/ -PORTSCOUT= limit:^7\.0\. - -CPE_PRODUCT= mongodb - .if ${ARCH} == amd64 MOZJS_ARCH= x86_64 .elif ${ARCH} == powerpc64le @@ -143,15 +148,11 @@ MOZJS_ARCH= ${ARCH} post-extract: # Verify we downloaded the proper mozjs git tag. - ${SH} -xc "test \"X`grep -E '^LIB_GIT_REVISION=' ${WRKSRC}/src/third_party/mozjs/get-sources.sh`\" = \"XLIB_GIT_REVISION=${MOZJS_TAG}\"" + ${SH} -xc "test \"X`grep -E '^LIB_GIT_REVISION=' ${MOZJS_WRKSRC}/get-sources.sh`\" = \"XLIB_GIT_REVISION=${MOZJS_TAG}\"" -post-patch: - ${PATCH} -d ${WRKSRC}/src/third_party/mozjs/extract --quiet -p1 -V none < ${DISTDIR}/223087fdc29f18678f6174e9807b8780e439acf6 - -do-configure: +pre-configure: # Replacement of ${WRKSRC}/src/third_party/mozjs/get-sources.sh - ${LN} -sF ${WRKDIR}/spidermonkey-${MOZJS_TAG} ${WRKSRC}/src/third_party/mozjs/mozilla-release - cd ${WRKSRC}/src/third_party/mozjs && PYTHON3="${PYTHON_CMD}" ${SH} ./gen-config.sh ${MOZJS_ARCH} freebsd + ${LN} -sF ${WRKDIR}/spidermonkey-${MOZJS_TAG} ${MOZJS_WRKSRC}/mozilla-release do-build: ${WRKSRC}/buildscripts/scons.py -C ${WRKSRC} ${MAKE_ARGS} diff --git a/databases/mongodb80/distinfo b/databases/mongodb80/distinfo index c74232ebd757..ed1014a17d4e 100644 --- a/databases/mongodb80/distinfo +++ b/databases/mongodb80/distinfo @@ -1,7 +1,5 @@ -TIMESTAMP = 1745839944 -SHA256 (223087fdc29f18678f6174e9807b8780e439acf6) = f234371584e2b2bc9953ae4fd145da19c99a6f04087f53d59616aecf29df039c -SIZE (223087fdc29f18678f6174e9807b8780e439acf6) = 1597 -SHA256 (mongodb-mongo-r8.0.8_GH0.tar.gz) = 325e6a8ccac80769f6b1527c8e174794ac10a008de37bc0b491c1fd183f9b80d -SIZE (mongodb-mongo-r8.0.8_GH0.tar.gz) = 94643838 -SHA256 (mongodb-forks-spidermonkey-4c197344dfc48dfbbd242333878f17f0379e6205_GH0.tar.gz) = 25ddc30c800d44231798793f788765e0ae8060b9f9f2f09d7f23955b2f63f034 -SIZE (mongodb-forks-spidermonkey-4c197344dfc48dfbbd242333878f17f0379e6205_GH0.tar.gz) = 164661704 +TIMESTAMP = 1747478715 +SHA256 (mongodb-mongo-r8.0.9_GH0.tar.gz) = e91b309ea620ff26862fefad73bd2fc61695c6546f9c153297cee03d22997974 +SIZE (mongodb-mongo-r8.0.9_GH0.tar.gz) = 95427540 +SHA256 (mongodb-forks-spidermonkey-ee5eabe03bfae1cba9d97eb380fbc9408707b9ee_GH0.tar.gz) = ff2f5ed45ae507d64022e3af17d11dc984b66f9b99931d8da34ce92fe5b6d816 +SIZE (mongodb-forks-spidermonkey-ee5eabe03bfae1cba9d97eb380fbc9408707b9ee_GH0.tar.gz) = 280291333 diff --git a/databases/mongodb80/files/patch-src_third__party_mozjs_gen-config.sh b/databases/mongodb80/files/patch-src_third__party_mozjs_gen-config.sh index e05c48c9f8f7..2e515c03f964 100644 --- a/databases/mongodb80/files/patch-src_third__party_mozjs_gen-config.sh +++ b/databases/mongodb80/files/patch-src_third__party_mozjs_gen-config.sh @@ -1,5 +1,11 @@ ---- src/third_party/mozjs/gen-config.sh.orig 2024-07-22 19:17:33 UTC +--- src/third_party/mozjs/gen-config.sh.orig 2025-05-13 17:12:47 UTC +++ src/third_party/mozjs/gen-config.sh +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/bin/sh + + set -e + set -v @@ -29,6 +29,9 @@ case "$_Path" in } @@ -10,16 +16,16 @@ "platform/aarch64/linux") _CONFIG_OPTS="--host=aarch64-linux" ;; -@@ -109,7 +112,7 @@ CFLAGS="$CFLAGS -D__STDC_FORMAT_MACROS" \ - --disable-js-shell \ - --disable-tests "$_CONFIG_OPTS" +@@ -111,7 +114,7 @@ CFLAGS="$CFLAGS -D__STDC_FORMAT_MACROS" \ + --disable-wasm-moz-intgemm \ + "$_CONFIG_OPTS" -make recurse_export +gmake recurse_export cd ../../../.. -@@ -164,7 +167,7 @@ find "$_Path/build" -name '*.cpp' | +@@ -166,7 +169,7 @@ find "$_Path/build" -name '*.cpp' | find "$_Path/build" -name '*.cpp' | while read unified_file ; do echo "Processing $unified_file" From 9f4f6368dec54375360f2705792f2d7f2e81fe84 Mon Sep 17 00:00:00 2001 From: Derek Schrock Date: Mon, 19 May 2025 01:45:04 +0300 Subject: [PATCH 015/661] devel/universal-ctags: Update p6.1.20250330.0 => p6.1.20250518.0 Commit log: https://github.com/universal-ctags/ctags/compare/p6.1.20250330.0...p6.1.20250518.0 While here remove GNU_CONFIGURE_MANPREFIX and align *CONFIGURE* options. PR: 286914 --- devel/universal-ctags/Makefile | 7 +++---- devel/universal-ctags/distinfo | 6 +++--- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/devel/universal-ctags/Makefile b/devel/universal-ctags/Makefile index d21d930978f2..b0ce28d92bc0 100644 --- a/devel/universal-ctags/Makefile +++ b/devel/universal-ctags/Makefile @@ -1,5 +1,5 @@ PORTNAME= universal-ctags -PORTVERSION= p6.1.20250330.0 +PORTVERSION= p6.1.20250518.0 CATEGORIES= devel MAINTAINER= dereks@lifeofadishwasher.com @@ -13,9 +13,8 @@ USES= autoreconf gmake pkgconfig python:test USE_GITHUB= yes GH_PROJECT= ctags -GNU_CONFIGURE= yes -GNU_CONFIGURE_MANPREFIX= ${PREFIX}/share -CONFIGURE_ARGS= --program-prefix=u +GNU_CONFIGURE= yes +CONFIGURE_ARGS= --program-prefix=u TEST_TARGET= check diff --git a/devel/universal-ctags/distinfo b/devel/universal-ctags/distinfo index 16e51093bbfb..b91911e14870 100644 --- a/devel/universal-ctags/distinfo +++ b/devel/universal-ctags/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1743369000 -SHA256 (universal-ctags-ctags-p6.1.20250330.0_GH0.tar.gz) = 11003d66de23e91add9059da2f82ddf2193834839d00300bb676927357b4d837 -SIZE (universal-ctags-ctags-p6.1.20250330.0_GH0.tar.gz) = 3247341 +TIMESTAMP = 1747604444 +SHA256 (universal-ctags-ctags-p6.1.20250518.0_GH0.tar.gz) = 176e7f2cc0f1751831679f8731c9f54902563df5c99aa2379e218d378338c43e +SIZE (universal-ctags-ctags-p6.1.20250518.0_GH0.tar.gz) = 3271151 From 6dc7ef2f95a10c6646f7e1da60a17a24748b507f Mon Sep 17 00:00:00 2001 From: Christian Weisgerber Date: Mon, 19 May 2025 01:14:54 +0200 Subject: [PATCH 016/661] shells/yash: update to 2.59 yash now implements almost all behaviors required by POSIX.1-2024 --- shells/yash/Makefile | 2 +- shells/yash/distinfo | 6 +++--- shells/yash/pkg-plist | 7 +++++++ 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/shells/yash/Makefile b/shells/yash/Makefile index 87d85f11dab7..571fff93015d 100644 --- a/shells/yash/Makefile +++ b/shells/yash/Makefile @@ -1,5 +1,5 @@ PORTNAME= yash -DISTVERSION= 2.58.1 +DISTVERSION= 2.59 CATEGORIES= shells MASTER_SITES= https://github.com/magicant/${PORTNAME}/releases/download/${DISTVERSION}/ diff --git a/shells/yash/distinfo b/shells/yash/distinfo index 9b7d6bda5df1..44da919f4c82 100644 --- a/shells/yash/distinfo +++ b/shells/yash/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1739132688 -SHA256 (yash-2.58.1.tar.xz) = 7674ece98dc77bcc753db49c4311c30532f981682205f9047f20213a3a6755bb -SIZE (yash-2.58.1.tar.xz) = 784816 +TIMESTAMP = 1747606175 +SHA256 (yash-2.59.tar.xz) = 299a50ea70f23dcbb94cf278f3e99e788b20b613185a0426ed5fdd189b1711ee +SIZE (yash-2.59.tar.xz) = 806348 diff --git a/shells/yash/pkg-plist b/shells/yash/pkg-plist index e8e233349e18..0a8e35a16955 100644 --- a/shells/yash/pkg-plist +++ b/shells/yash/pkg-plist @@ -17,16 +17,20 @@ share/man/man1/yash.1.gz %%DATADIR%%/completion/bash %%DATADIR%%/completion/bg %%DATADIR%%/completion/bindkey +%%DATADIR%%/completion/bmake %%DATADIR%%/completion/break %%DATADIR%%/completion/bsdtar %%DATADIR%%/completion/carthage %%DATADIR%%/completion/cat +%%DATADIR%%/completion/catgirl %%DATADIR%%/completion/cd %%DATADIR%%/completion/chgrp %%DATADIR%%/completion/chmod %%DATADIR%%/completion/chown %%DATADIR%%/completion/chsh %%DATADIR%%/completion/cmp +%%DATADIR%%/completion/cmus +%%DATADIR%%/completion/cmus-remote %%DATADIR%%/completion/comm %%DATADIR%%/completion/command %%DATADIR%%/completion/complete @@ -62,6 +66,7 @@ share/man/man1/yash.1.gz %%DATADIR%%/completion/fgrep %%DATADIR%%/completion/file %%DATADIR%%/completion/find +%%DATADIR%%/completion/fnf %%DATADIR%%/completion/fold %%DATADIR%%/completion/fzy %%DATADIR%%/completion/gawk @@ -93,6 +98,7 @@ share/man/man1/yash.1.gz %%DATADIR%%/completion/git-log %%DATADIR%%/completion/git-ls-remote %%DATADIR%%/completion/git-merge +%%DATADIR%%/completion/git-mv %%DATADIR%%/completion/git-name-rev %%DATADIR%%/completion/git-notes %%DATADIR%%/completion/git-pull @@ -120,6 +126,7 @@ share/man/man1/yash.1.gz %%DATADIR%%/completion/gitg %%DATADIR%%/completion/gitk %%DATADIR%%/completion/gitx +%%DATADIR%%/completion/gmake %%DATADIR%%/completion/gnutar %%DATADIR%%/completion/grep %%DATADIR%%/completion/gtar From 8691d6b29e5055e930ca275e55bad4e953e70fc0 Mon Sep 17 00:00:00 2001 From: Martin Filla Date: Mon, 19 May 2025 02:59:48 +0300 Subject: [PATCH 017/661] www/librewolf: Update 138.0.3-1 => 138.0.4-1 Changelog: https://www.mozilla.org/en-US/firefox/138.0.4/releasenotes/ PR: 286912 MFH: 2025Q2 --- www/librewolf/Makefile | 2 +- www/librewolf/distinfo | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/www/librewolf/Makefile b/www/librewolf/Makefile index 15e83127c5e4..e4f0bb300adb 100644 --- a/www/librewolf/Makefile +++ b/www/librewolf/Makefile @@ -1,5 +1,5 @@ PORTNAME= librewolf -DISTVERSION= 138.0.3 +DISTVERSION= 138.0.4 LWPATCH= -1 DISTVERSIONSUFFIX= ${LWPATCH}.source CATEGORIES= www wayland diff --git a/www/librewolf/distinfo b/www/librewolf/distinfo index 5848fa1442f7..f9f8c30042a3 100644 --- a/www/librewolf/distinfo +++ b/www/librewolf/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1747328459 -SHA256 (librewolf-138.0.3-1.source.tar.gz) = 0a849bb4cb4448004451f1af87c12a951d782048e8668b9b6754246089c45dcb -SIZE (librewolf-138.0.3-1.source.tar.gz) = 1019083591 +TIMESTAMP = 1747577982 +SHA256 (librewolf-138.0.4-1.source.tar.gz) = b63081971871154cf115ef3f237e865c2c1358c7086c3ff71c21918d4f343e9f +SIZE (librewolf-138.0.4-1.source.tar.gz) = 1018411007 From 0d172055c7083a879abb31f9462e8a9471111d03 Mon Sep 17 00:00:00 2001 From: Fukang Chen Date: Mon, 19 May 2025 03:31:25 +0000 Subject: [PATCH 018/661] devel/p5-File-Copy-Link: Update to 0.200 - Update to 0.200 - Pet portclippy Changelog: https://metacpan.org/release/RMBARKER/File-Copy-Link-0.200/source/Changes --- devel/p5-File-Copy-Link/Makefile | 8 ++++++-- devel/p5-File-Copy-Link/distinfo | 5 +++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/devel/p5-File-Copy-Link/Makefile b/devel/p5-File-Copy-Link/Makefile index 61f69eb11977..8d043ca95d65 100644 --- a/devel/p5-File-Copy-Link/Makefile +++ b/devel/p5-File-Copy-Link/Makefile @@ -1,5 +1,5 @@ PORTNAME= File-Copy-Link -PORTVERSION= 0.140 +PORTVERSION= 0.200 CATEGORIES= devel perl5 MASTER_SITES= CPAN PKGNAMEPREFIX= p5- @@ -11,8 +11,12 @@ WWW= https://metacpan.org/release/File-Copy-Link LICENSE= ART10 GPLv1+ LICENSE_COMB= dual -NO_ARCH= yes +TEST_DEPENDS= p5-Test-Pod>=1:devel/p5-Test-Pod \ + p5-Test-Pod-Coverage>=1:devel/p5-Test-Pod-Coverage + USES= perl5 USE_PERL5= configure +NO_ARCH= yes + .include diff --git a/devel/p5-File-Copy-Link/distinfo b/devel/p5-File-Copy-Link/distinfo index 5d08df3f81fe..e0f503f9ab65 100644 --- a/devel/p5-File-Copy-Link/distinfo +++ b/devel/p5-File-Copy-Link/distinfo @@ -1,2 +1,3 @@ -SHA256 (File-Copy-Link-0.140.tar.gz) = 2063656dcd38bade43dc7f1e2ef5f1b6a8086c2f15d37b334189bd2a28e8ffeb -SIZE (File-Copy-Link-0.140.tar.gz) = 11157 +TIMESTAMP = 1747559854 +SHA256 (File-Copy-Link-0.200.tar.gz) = 9cfa2f1b51b417126631b8ab24ee65d307fb8f76489acca6d66fada03ee59b29 +SIZE (File-Copy-Link-0.200.tar.gz) = 12294 From d2ec172b883875003e29bc40ab2640123354e1ea Mon Sep 17 00:00:00 2001 From: Dries Michiels Date: Mon, 19 May 2025 07:04:26 +0200 Subject: [PATCH 019/661] www/homer-web: update to 25.05.2 Changes: https://github.com/bastienwirtz/homer/releases/tag/v25.05.2 --- www/homer-web/Makefile | 2 +- www/homer-web/distinfo | 6 +- www/homer-web/pkg-plist | 119 ++++++++++++++++++++-------------------- 3 files changed, 63 insertions(+), 64 deletions(-) diff --git a/www/homer-web/Makefile b/www/homer-web/Makefile index 24b0cf1031e0..aa1cb6536dc9 100644 --- a/www/homer-web/Makefile +++ b/www/homer-web/Makefile @@ -1,6 +1,6 @@ PORTNAME= homer DISTVERSIONPREFIX= v -DISTVERSION= 25.05.1 +DISTVERSION= 25.05.2 CATEGORIES= www MASTER_SITES= https://github.com/bastienwirtz/${PORTNAME}/releases/download/${DISTVERSIONPREFIX}${DISTVERSION}/ PKGNAMESUFFIX= -web diff --git a/www/homer-web/distinfo b/www/homer-web/distinfo index 2beb55f9b52a..085dbc6db5eb 100644 --- a/www/homer-web/distinfo +++ b/www/homer-web/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1746467397 -SHA256 (homer-25.05.1/homer.zip) = dc6cec598c7c33008ea66c6a424317190d2a2aba3a54dc2f512e4dba2f088e92 -SIZE (homer-25.05.1/homer.zip) = 1135408 +TIMESTAMP = 1747630986 +SHA256 (homer-25.05.2/homer.zip) = e6b98feced71787642be3e1bbbee5dbc41e2a580228baad88fe7246a9ada3f1d +SIZE (homer-25.05.2/homer.zip) = 1134626 diff --git a/www/homer-web/pkg-plist b/www/homer-web/pkg-plist index b1e81603448d..7ac5b5cc0b39 100644 --- a/www/homer-web/pkg-plist +++ b/www/homer-web/pkg-plist @@ -19,99 +19,99 @@ %%WWWDIR%%/index.html %%WWWDIR%%/logo.png %%WWWDIR%%/registerSW.js -%%WWWDIR%%/resources/AdGuardHome-BfFM9H2A.js +%%WWWDIR%%/resources/AdGuardHome-Cu_6JEdC.js %%WWWDIR%%/resources/AdGuardHome-Tw0vCF6f.css -%%WWWDIR%%/resources/CopyToClipboard-CjlqRd3R.js %%WWWDIR%%/resources/CopyToClipboard-DUc_NqZL.css -%%WWWDIR%%/resources/DockerSocketProxy-CtBSfVQ4.js -%%WWWDIR%%/resources/DockerSocketProxy-x5542i92.css +%%WWWDIR%%/resources/CopyToClipboard-DnEhRlbV.js +%%WWWDIR%%/resources/DockerSocketProxy-1behWyyp.js +%%WWWDIR%%/resources/DockerSocketProxy-DYHxpllM.css +%%WWWDIR%%/resources/Docuseal-CS2PfU1J.js %%WWWDIR%%/resources/Docuseal-GTRlXpFw.css -%%WWWDIR%%/resources/Docuseal-yh1Bp7eU.js +%%WWWDIR%%/resources/Emby-BjICRaP_.js %%WWWDIR%%/resources/Emby-Cc4XwFHX.css -%%WWWDIR%%/resources/Emby-CvTs9TNE.js -%%WWWDIR%%/resources/FreshRSS-BdJMV5mk.css -%%WWWDIR%%/resources/FreshRSS-BtwguxfM.js -%%WWWDIR%%/resources/Gitea-BjQsojkJ.js +%%WWWDIR%%/resources/FreshRSS-B2oAXOny.js +%%WWWDIR%%/resources/FreshRSS-D6eQ8Kbw.css %%WWWDIR%%/resources/Gitea-DJOaXsSb.css -%%WWWDIR%%/resources/Glances-D-J3iX4l.js +%%WWWDIR%%/resources/Gitea-RRIgDn7w.js +%%WWWDIR%%/resources/Glances-Chku44Px.js +%%WWWDIR%%/resources/Gotify-BgzkB-3Y.js %%WWWDIR%%/resources/Gotify-CgkfqLBJ.css -%%WWWDIR%%/resources/Gotify-yj4dQwQn.js -%%WWWDIR%%/resources/Healthchecks-CG-ysnp9.js +%%WWWDIR%%/resources/Healthchecks-AObEB_xO.js %%WWWDIR%%/resources/Healthchecks-CuXYh2ap.css -%%WWWDIR%%/resources/HomeAssistant-4k1cqTqL.js %%WWWDIR%%/resources/HomeAssistant-D4G66XLG.css +%%WWWDIR%%/resources/HomeAssistant-DrPLsZar.js %%WWWDIR%%/resources/Immich-BQJ4xb-9.css -%%WWWDIR%%/resources/Immich-Dpmapxbu.js -%%WWWDIR%%/resources/Jellystat-CRlyhbsa.js +%%WWWDIR%%/resources/Immich-DlmpD0mC.js +%%WWWDIR%%/resources/Jellystat-CbiCXDql.js %%WWWDIR%%/resources/Jellystat-YCL3xwF6.css -%%WWWDIR%%/resources/Lidarr-D1KR85PC.js +%%WWWDIR%%/resources/Lidarr-CLcf-XQ6.js %%WWWDIR%%/resources/Lidarr-Dza-1-vv.css -%%WWWDIR%%/resources/Linkding-Fa1evqHd.js -%%WWWDIR%%/resources/Matrix-CTCYXHVe.js +%%WWWDIR%%/resources/Linkding-Bcj9DoPV.js +%%WWWDIR%%/resources/Matrix-Hzvly6x7.js %%WWWDIR%%/resources/Matrix-Q-bxbOqk.css -%%WWWDIR%%/resources/Mealie-chMEgEVI.js +%%WWWDIR%%/resources/Mealie-CLBYZtEP.js +%%WWWDIR%%/resources/Medusa-DYHhrgNG.js %%WWWDIR%%/resources/Medusa-DcXIgM3A.css -%%WWWDIR%%/resources/Medusa-G2vEvJaZ.js -%%WWWDIR%%/resources/Mylar-Bk6mFch6.js %%WWWDIR%%/resources/Mylar-D14wGFq4.css -%%WWWDIR%%/resources/Nextcloud-BkTg4YmH.js +%%WWWDIR%%/resources/Mylar-GRac72Bx.js +%%WWWDIR%%/resources/Nextcloud-BNQ1Lusd.js %%WWWDIR%%/resources/Nextcloud-v71Ld_Cv.css -%%WWWDIR%%/resources/OctoPrint-B1Yz07FH.js +%%WWWDIR%%/resources/OctoPrint-CZYpZFzI.js %%WWWDIR%%/resources/OctoPrint-DqTJwI-L.css -%%WWWDIR%%/resources/Olivetin-CMt84iMk.js +%%WWWDIR%%/resources/Olivetin-BGNKkrOb.js %%WWWDIR%%/resources/Olivetin-D8ESXpq5.css +%%WWWDIR%%/resources/OpenHAB-3FFnMtMR.js %%WWWDIR%%/resources/OpenHAB-BjwTZqa0.css -%%WWWDIR%%/resources/OpenHAB-DqO798QH.js -%%WWWDIR%%/resources/OpenWeather-BKPkxLGY.css -%%WWWDIR%%/resources/OpenWeather-UWsD3Ken.js -%%WWWDIR%%/resources/PaperlessNG-Dr2jVcHs.js -%%WWWDIR%%/resources/PeaNUT-C28MUCr8.js +%%WWWDIR%%/resources/OpenWeather-BabLKX1b.js +%%WWWDIR%%/resources/OpenWeather-CGFhy5zp.css +%%WWWDIR%%/resources/PaperlessNG-oWfRjp9q.js +%%WWWDIR%%/resources/PeaNUT-BgH2df17.js %%WWWDIR%%/resources/PiAlert-27f4aoYp.css -%%WWWDIR%%/resources/PiAlert-DmtXo46V.js -%%WWWDIR%%/resources/PiHole-3sFywXPg.css -%%WWWDIR%%/resources/PiHole-CewW1sJ8.js +%%WWWDIR%%/resources/PiAlert-DQIOdNw5.js +%%WWWDIR%%/resources/PiHole-B590p74K.css +%%WWWDIR%%/resources/PiHole-CYpoxC7G.js %%WWWDIR%%/resources/Ping-BVyk1tW9.css -%%WWWDIR%%/resources/Ping-CDn56lAz.js -%%WWWDIR%%/resources/Plex-CtqAc55C.css -%%WWWDIR%%/resources/Plex-U4yR0ZN3.js +%%WWWDIR%%/resources/Ping-fi6Ns6kR.js +%%WWWDIR%%/resources/Plex-CYMU8-Xj.js +%%WWWDIR%%/resources/Plex-D9cFNqvv.css %%WWWDIR%%/resources/Portainer-BQaRgpcO.css -%%WWWDIR%%/resources/Portainer-BrAttM5X.js -%%WWWDIR%%/resources/Prometheus-BvsyBoCa.js +%%WWWDIR%%/resources/Portainer-CIbatA6O.js +%%WWWDIR%%/resources/Prometheus-BpnOLe8b.js %%WWWDIR%%/resources/Prometheus-DW7rR0zJ.css %%WWWDIR%%/resources/Prowlarr-C0MntQnn.css -%%WWWDIR%%/resources/Prowlarr-D0o-_4lR.js +%%WWWDIR%%/resources/Prowlarr-DxxcG7yf.js %%WWWDIR%%/resources/Proxmox-B7Ne6yNU.css -%%WWWDIR%%/resources/Proxmox-CXr0bID6.js -%%WWWDIR%%/resources/Radarr-DGpUY4mN.js +%%WWWDIR%%/resources/Proxmox-BdtgVaPM.js +%%WWWDIR%%/resources/Radarr-CGR3qyQt.js %%WWWDIR%%/resources/Radarr-Drh5L8HP.css -%%WWWDIR%%/resources/Readarr-DtScEyIt.js +%%WWWDIR%%/resources/Readarr-D-hglqIL.js %%WWWDIR%%/resources/Readarr-QGnLos4n.css %%WWWDIR%%/resources/Rtorrent-8y0Hk3ah.css -%%WWWDIR%%/resources/Rtorrent-CVI1EAT2.js -%%WWWDIR%%/resources/SABnzbd-Bq1E7sfL.js -%%WWWDIR%%/resources/SABnzbd-C7_KSBXO.css +%%WWWDIR%%/resources/Rtorrent-Br5Zwikh.js +%%WWWDIR%%/resources/SABnzbd-8iUmv5zX.js +%%WWWDIR%%/resources/SABnzbd-Doh_UVaM.css %%WWWDIR%%/resources/Scrutiny-BFyhoSmH.css -%%WWWDIR%%/resources/Scrutiny-N52Py8RU.js +%%WWWDIR%%/resources/Scrutiny-NK54uZOt.js %%WWWDIR%%/resources/Sonarr-B0qW27KC.css -%%WWWDIR%%/resources/Sonarr-CF-5Hk9N.js -%%WWWDIR%%/resources/SpeedtestTracker-CYrwstzE.js +%%WWWDIR%%/resources/Sonarr-CutaVloJ.js +%%WWWDIR%%/resources/SpeedtestTracker-WmpXDxlz.js +%%WWWDIR%%/resources/Tautulli-B81_2SB0.js %%WWWDIR%%/resources/Tautulli-CfeJITWv.css -%%WWWDIR%%/resources/Tautulli-CmYOkCJF.js %%WWWDIR%%/resources/Tdarr-BvRK51o8.css -%%WWWDIR%%/resources/Tdarr-ZSMoTlRe.js +%%WWWDIR%%/resources/Tdarr-DcPzSkDN.js %%WWWDIR%%/resources/ThemeChooser-CcNjZIAP.css -%%WWWDIR%%/resources/ThemeChooser-UvSE6ows.js -%%WWWDIR%%/resources/Traefik-CFx7BitS.js +%%WWWDIR%%/resources/ThemeChooser-KKiR7zA_.js +%%WWWDIR%%/resources/Traefik-BwTNK5Rs.js %%WWWDIR%%/resources/Traefik-QfL0WZ4b.css -%%WWWDIR%%/resources/TruenasScale-Dlh3PNum.js +%%WWWDIR%%/resources/TruenasScale-BnAlcXxz.js %%WWWDIR%%/resources/TruenasScale-maMPkiom.css -%%WWWDIR%%/resources/UptimeKuma-CcWwR8ZM.js +%%WWWDIR%%/resources/UptimeKuma-BFp0iigK.js %%WWWDIR%%/resources/UptimeKuma-Fq8eQnsp.css -%%WWWDIR%%/resources/Vaultwarden-DTS3MIuR.js +%%WWWDIR%%/resources/Vaultwarden-CH7Xt_PN.js %%WWWDIR%%/resources/Vaultwarden-Dy-eliI8.css %%WWWDIR%%/resources/WUD-BLIHvfpt.css -%%WWWDIR%%/resources/WUD-dvk-H_mn.js -%%WWWDIR%%/resources/Wallabag-BgScaCez.js +%%WWWDIR%%/resources/WUD-BQz1SsPh.js +%%WWWDIR%%/resources/Wallabag-CD96f6ec.js %%WWWDIR%%/resources/Wallabag-VA4tCsKR.css %%WWWDIR%%/resources/fa-brands-400-D1LuMI3I.ttf %%WWWDIR%%/resources/fa-brands-400-D_cYUPeE.woff2 @@ -121,11 +121,10 @@ %%WWWDIR%%/resources/fa-solid-900-D0aA9rwL.ttf %%WWWDIR%%/resources/fa-v4compatibility-C9RhG_FT.woff2 %%WWWDIR%%/resources/fa-v4compatibility-CCth-dXg.ttf -%%WWWDIR%%/resources/index-CszYxh3i.css -%%WWWDIR%%/resources/index-D-u-9ayF.js +%%WWWDIR%%/resources/index-CgyetKj3.css +%%WWWDIR%%/resources/index-NXnxvJjD.js %%WWWDIR%%/resources/noto-latin-normal-GUnxZaaT.woff2 +%%WWWDIR%%/resources/qBittorrent-B6NJkixf.js %%WWWDIR%%/resources/qBittorrent-B7KcPLhg.css -%%WWWDIR%%/resources/qBittorrent-DVukxuYf.js -%%WWWDIR%%/resources/service-BGjJGoFF.js %%WWWDIR%%/sw.js %%WWWDIR%%/workbox-84c915bb.js From 2497b04b239a95df54832e5e2f1ba1f6d06c252d Mon Sep 17 00:00:00 2001 From: Dries Michiels Date: Mon, 19 May 2025 07:06:49 +0200 Subject: [PATCH 020/661] net/dhcpcd: update to 10.2.3 Changes: https://github.com/NetworkConfiguration/dhcpcd/releases/tag/v10.2.3 --- net/dhcpcd/Makefile | 2 +- net/dhcpcd/distinfo | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/net/dhcpcd/Makefile b/net/dhcpcd/Makefile index a055b445c774..34649b0cbc36 100644 --- a/net/dhcpcd/Makefile +++ b/net/dhcpcd/Makefile @@ -1,5 +1,5 @@ PORTNAME= dhcpcd -DISTVERSION= 10.2.2 +DISTVERSION= 10.2.3 CATEGORIES= net MASTER_SITES= https://github.com/NetworkConfiguration/${PORTNAME}/releases/download/v${DISTVERSION}/ diff --git a/net/dhcpcd/distinfo b/net/dhcpcd/distinfo index 66b2435f6931..232bfeb2f81b 100644 --- a/net/dhcpcd/distinfo +++ b/net/dhcpcd/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1740499857 -SHA256 (dhcpcd-10.2.2.tar.xz) = 5f257b02f874b3b8cb031e5be79c99cf9cbd4f65eae2a50c9b1beddafb3f51bc -SIZE (dhcpcd-10.2.2.tar.xz) = 275700 +TIMESTAMP = 1747631204 +SHA256 (dhcpcd-10.2.3.tar.xz) = 4137a382d1a203bffdf8e757bbdfd0032433d06e5c69a3785b88b83251f89616 +SIZE (dhcpcd-10.2.3.tar.xz) = 276216 From 6fbd4d0f7aed40402c0b3cfdb284d7ebaaf9047b Mon Sep 17 00:00:00 2001 From: Emanuel Haupt Date: Mon, 19 May 2025 08:38:33 +0200 Subject: [PATCH 021/661] x11/xterm: Update to 399 --- x11/xterm/Makefile | 2 +- x11/xterm/distinfo | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/x11/xterm/Makefile b/x11/xterm/Makefile index fc645604e223..8329aa102ce5 100644 --- a/x11/xterm/Makefile +++ b/x11/xterm/Makefile @@ -1,5 +1,5 @@ PORTNAME= xterm -DISTVERSION= 398 +DISTVERSION= 399 CATEGORIES= x11 MASTER_SITES= https://invisible-island.net/archives/xterm/:src1 \ https://invisible-mirror.net/archives/xterm/:src1 \ diff --git a/x11/xterm/distinfo b/x11/xterm/distinfo index 3475ea369f7a..46833203a35d 100644 --- a/x11/xterm/distinfo +++ b/x11/xterm/distinfo @@ -1,5 +1,5 @@ -TIMESTAMP = 1745737664 -SHA256 (xterm-398.tgz) = f679bd45f97063f10a880ecf7fc1611a9a03e8c8b98f063e99e0a079e87ee968 -SIZE (xterm-398.tgz) = 1605117 +TIMESTAMP = 1747636325 +SHA256 (xterm-399.tgz) = 9db34ad0f53ddb1223d70b247c8391e52f3e4b166d6ad85426a4c47813d1b1e3 +SIZE (xterm-399.tgz) = 1605985 SHA256 (bsd-xterm-icons-1.tgz) = fcf51dce0e23e9911a16ed7f2ce835bb6ff2ada65f023c29fdd8abda2795bf7c SIZE (bsd-xterm-icons-1.tgz) = 22718 From afe426f1093439c5bbd6aec184e9594b8c37f6b4 Mon Sep 17 00:00:00 2001 From: Hiroki Tagato Date: Mon, 19 May 2025 18:03:38 +0900 Subject: [PATCH 022/661] devel/py-ty: update to 0.0.1a5 Changelog: https://github.com/astral-sh/ty/blob/0.0.1-alpha.5/CHANGELOG.md Reported by: portscout --- devel/py-ty/Makefile | 2 +- devel/py-ty/distinfo | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/devel/py-ty/Makefile b/devel/py-ty/Makefile index 800234f9179c..83ec31aea8dc 100644 --- a/devel/py-ty/Makefile +++ b/devel/py-ty/Makefile @@ -1,5 +1,5 @@ PORTNAME= ty -DISTVERSION= 0.0.1a4 +DISTVERSION= 0.0.1a5 CATEGORIES= devel python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} diff --git a/devel/py-ty/distinfo b/devel/py-ty/distinfo index 954282516758..b05a56df4991 100644 --- a/devel/py-ty/distinfo +++ b/devel/py-ty/distinfo @@ -1,6 +1,6 @@ -TIMESTAMP = 1747437956 -SHA256 (ty-0.0.1a4.tar.gz) = 6da8d3a946e93fc2ed6ee902e40768a78188c6452bebcd2d1192ed7661cef8c5 -SIZE (ty-0.0.1a4.tar.gz) = 2878803 +TIMESTAMP = 1747643460 +SHA256 (ty-0.0.1a5.tar.gz) = 7a2e7a1c0174e3328132dd74a2a7fba7d8ee2f5fea8b37618b3a411b2d40177b +SIZE (ty-0.0.1a5.tar.gz) = 2877650 SHA256 (rust/crates/adler2-2.0.0.crate) = 512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627 SIZE (rust/crates/adler2-2.0.0.crate) = 13529 SHA256 (rust/crates/aho-corasick-1.1.3.crate) = 8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916 From 2a0a0b962e0dfebeebc4e9816796a63641055eec Mon Sep 17 00:00:00 2001 From: Ganael LAPLANCHE Date: Mon, 19 May 2025 12:03:00 +0200 Subject: [PATCH 023/661] emulators/dolphin-emu: Fix build with upcoming fmt 11.2.0 PR: 286857 Reported by: diizzy --- emulators/dolphin-emu/Makefile | 7 ++++++- emulators/dolphin-emu/distinfo | 6 +++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/emulators/dolphin-emu/Makefile b/emulators/dolphin-emu/Makefile index a4f52e9efce0..1cbe42b46e74 100644 --- a/emulators/dolphin-emu/Makefile +++ b/emulators/dolphin-emu/Makefile @@ -1,8 +1,13 @@ PORTNAME= dolphin-emu PORTVERSION= 2412 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= emulators +# XXX Backport fmt>=11 support +PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/ +PATCHFILES+= b79bdb13c05b.patch:-p1 +PATCHFILES+= 825092ad33a2.patch:-p1 + MAINTAINER= martymac@FreeBSD.org COMMENT= Gamecube and Wii Emulator WWW= https://www.dolphin-emu.org diff --git a/emulators/dolphin-emu/distinfo b/emulators/dolphin-emu/distinfo index 26bf4a00eab1..48a44bb7014e 100644 --- a/emulators/dolphin-emu/distinfo +++ b/emulators/dolphin-emu/distinfo @@ -1,4 +1,4 @@ -TIMESTAMP = 1737057858 +TIMESTAMP = 1747599788 SHA256 (dolphin-emu-dolphin-2412_GH0.tar.gz) = 6aafc7d3b6f735a727db26c329679d4973b1b15e028c82e4452c33c4eb9fefa4 SIZE (dolphin-emu-dolphin-2412_GH0.tar.gz) = 19926717 SHA256 (GPUOpen-LibrariesAndSDKs-VulkanMemoryAllocator-009ecd192c1289c7529bff248a16cfe896254816_GH0.tar.gz) = 5ed5125086a92666f1698df907a29f54f11197c382996094b556a1b22186ecaf @@ -17,3 +17,7 @@ SHA256 (syoyo-tinygltf-c5641f2c22d117da7971504591a8f6a41ece488b_GH0.tar.gz) = 63 SIZE (syoyo-tinygltf-c5641f2c22d117da7971504591a8f6a41ece488b_GH0.tar.gz) = 5903179 SHA256 (arsenm-sanitizers-cmake-aab6948fa863bc1cbe5d0850bc46b9ef02ed4c1a_GH0.tar.gz) = 9f5b073625375322236a94ce8d2d803cdedad321c91e63845f487b9ebfb2c433 SIZE (arsenm-sanitizers-cmake-aab6948fa863bc1cbe5d0850bc46b9ef02ed4c1a_GH0.tar.gz) = 7234 +SHA256 (b79bdb13c05b.patch) = 1e4fe7e830f2d3ab61a24694e8b7470be844b56381481c44acce0f10945bcee2 +SIZE (b79bdb13c05b.patch) = 2867 +SHA256 (825092ad33a2.patch) = 5d68298c60ea7b891ef43e5361fe24559fa2981bcc0e40174dc8f850f95d5846 +SIZE (825092ad33a2.patch) = 829 From c7e47c2c9516da4d67a5c420a1da11df939ea1d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs=20Daniel=20Colmenares=20Oviedo?= Date: Mon, 19 May 2025 14:18:00 +0300 Subject: [PATCH 024/661] www/py-httpx-retries: Update 0.3.0 => 0.4.0 Changelogs: https://github.com/will-ockmore/httpx-retries/releases/tag/0.3.1 https://github.com/will-ockmore/httpx-retries/releases/tag/0.3.2 https://github.com/will-ockmore/httpx-retries/releases/tag/0.4.0 https://github.com/will-ockmore/httpx-retries/blob/0.4.0/CHANGELOG.md PR: 286925 --- www/py-httpx-retries/Makefile | 2 +- www/py-httpx-retries/distinfo | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/www/py-httpx-retries/Makefile b/www/py-httpx-retries/Makefile index 7a76411077d8..a06943fcc8e0 100644 --- a/www/py-httpx-retries/Makefile +++ b/www/py-httpx-retries/Makefile @@ -1,5 +1,5 @@ PORTNAME= httpx-retries -PORTVERSION= 0.3.2 +DISTVERSION= 0.4.0 CATEGORIES= www python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} diff --git a/www/py-httpx-retries/distinfo b/www/py-httpx-retries/distinfo index 8252ea8abcbe..4ef455958702 100644 --- a/www/py-httpx-retries/distinfo +++ b/www/py-httpx-retries/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1745649955 -SHA256 (httpx_retries-0.3.2.tar.gz) = af2cc82f18e9196612e3c73aba027982450b6581f565af659dd8f5c884e991e0 -SIZE (httpx_retries-0.3.2.tar.gz) = 12530 +TIMESTAMP = 1747637137 +SHA256 (httpx_retries-0.4.0.tar.gz) = a7aa513e3f1eef347aac69adecfad9f421210a84df88c88f935ec130f98e6642 +SIZE (httpx_retries-0.4.0.tar.gz) = 12571 From 53025c675c2466c5595da7fc59239f422c0f0c25 Mon Sep 17 00:00:00 2001 From: Koichiro Iwao Date: Mon, 19 May 2025 21:31:22 +0900 Subject: [PATCH 025/661] security/dehydrated: Update to 0.7.2 Changes: https://github.com/dehydrated-io/dehydrated/releases/tag/v0.7.2 --- security/dehydrated/Makefile | 3 +-- security/dehydrated/distinfo | 6 +++--- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/security/dehydrated/Makefile b/security/dehydrated/Makefile index 91503e154f03..35546b7b1a94 100644 --- a/security/dehydrated/Makefile +++ b/security/dehydrated/Makefile @@ -1,7 +1,6 @@ PORTNAME= dehydrated DISTVERSIONPREFIX= v -DISTVERSION= 0.7.1-6 -DISTVERSIONSUFFIX= -g4fd777e +DISTVERSION= 0.7.2 CATEGORIES= security MAINTAINER= meta@FreeBSD.org diff --git a/security/dehydrated/distinfo b/security/dehydrated/distinfo index 9298ccf74384..4d15a725879f 100644 --- a/security/dehydrated/distinfo +++ b/security/dehydrated/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1709697522 -SHA256 (dehydrated-io-dehydrated-v0.7.1-6-g4fd777e_GH0.tar.gz) = de412c89502df7beb08e20d2d6e6f2b9f314dc60e6a12d08f9e7712b80d569c6 -SIZE (dehydrated-io-dehydrated-v0.7.1-6-g4fd777e_GH0.tar.gz) = 120738 +TIMESTAMP = 1747655926 +SHA256 (dehydrated-io-dehydrated-v0.7.2_GH0.tar.gz) = 34d0e316dd86108cf302fddfe1c6d7b72c2fa98bed338ddd6c0155da2ec75a94 +SIZE (dehydrated-io-dehydrated-v0.7.2_GH0.tar.gz) = 121861 From 14b2731a2d76b3acaaa43f523fb6ea6e78fc751b Mon Sep 17 00:00:00 2001 From: Koichiro Iwao Date: Mon, 19 May 2025 21:32:34 +0900 Subject: [PATCH 026/661] sysutils/mackerel-agent: Update to 0.85.0 Changes: https://github.com/mackerelio/mackerel-agent/releases/tag/v0.85.0 --- sysutils/mackerel-agent/Makefile | 3 +-- sysutils/mackerel-agent/distinfo | 10 +++++----- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/sysutils/mackerel-agent/Makefile b/sysutils/mackerel-agent/Makefile index 5fff6c7a8adb..227baae28737 100644 --- a/sysutils/mackerel-agent/Makefile +++ b/sysutils/mackerel-agent/Makefile @@ -1,7 +1,6 @@ PORTNAME= mackerel-agent DISTVERSIONPREFIX= v -DISTVERSION= 0.84.3 -PORTREVISION= 1 +DISTVERSION= 0.85.0 CATEGORIES= sysutils MAINTAINER= meta@FreeBSD.org diff --git a/sysutils/mackerel-agent/distinfo b/sysutils/mackerel-agent/distinfo index c7e145c4f26f..7e4f16e5dbf4 100644 --- a/sysutils/mackerel-agent/distinfo +++ b/sysutils/mackerel-agent/distinfo @@ -1,5 +1,5 @@ -TIMESTAMP = 1744776975 -SHA256 (go/sysutils_mackerel-agent/mackerel-agent-v0.84.3/v0.84.3.mod) = 0bfbbbc63923dac1522431f7c16a7893a055cfe0b06658a36d80cf0d28fd2aad -SIZE (go/sysutils_mackerel-agent/mackerel-agent-v0.84.3/v0.84.3.mod) = 1950 -SHA256 (go/sysutils_mackerel-agent/mackerel-agent-v0.84.3/v0.84.3.zip) = 86264c0a3f1fb4287161f10f9352f6bcbb5145f373c6b87a25dc6dbe91eff580 -SIZE (go/sysutils_mackerel-agent/mackerel-agent-v0.84.3/v0.84.3.zip) = 251748 +TIMESTAMP = 1747657942 +SHA256 (go/sysutils_mackerel-agent/mackerel-agent-v0.85.0/v0.85.0.mod) = 0bfbbbc63923dac1522431f7c16a7893a055cfe0b06658a36d80cf0d28fd2aad +SIZE (go/sysutils_mackerel-agent/mackerel-agent-v0.85.0/v0.85.0.mod) = 1950 +SHA256 (go/sysutils_mackerel-agent/mackerel-agent-v0.85.0/v0.85.0.zip) = 2b8259c37217448553d2a6bed2df7ba2ae37bd076fdc5ca06d5743d5cbc48235 +SIZE (go/sysutils_mackerel-agent/mackerel-agent-v0.85.0/v0.85.0.zip) = 251809 From ea162c79ab1f9fffbe7ceea3e1509e25a2ee0a31 Mon Sep 17 00:00:00 2001 From: Koichiro Iwao Date: Mon, 19 May 2025 21:37:59 +0900 Subject: [PATCH 027/661] devel/ruby-build: Update to 20250516 Changes: https://github.com/rbenv/ruby-build/releases/tag/v20250516 --- devel/ruby-build/Makefile | 2 +- devel/ruby-build/distinfo | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/devel/ruby-build/Makefile b/devel/ruby-build/Makefile index 546a0ad2c001..200b117e01d5 100644 --- a/devel/ruby-build/Makefile +++ b/devel/ruby-build/Makefile @@ -1,5 +1,5 @@ PORTNAME= ruby-build -PORTVERSION= 20250507 +PORTVERSION= 20250516 DISTVERSIONPREFIX= v CATEGORIES= devel ruby diff --git a/devel/ruby-build/distinfo b/devel/ruby-build/distinfo index b718802bd86b..5da711488710 100644 --- a/devel/ruby-build/distinfo +++ b/devel/ruby-build/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1746666968 -SHA256 (rbenv-ruby-build-v20250507_GH0.tar.gz) = 59992f934dccb48d2547969efd3075a5338617e02a5bff8c566ca1e51b6d349d -SIZE (rbenv-ruby-build-v20250507_GH0.tar.gz) = 96694 +TIMESTAMP = 1747658250 +SHA256 (rbenv-ruby-build-v20250516_GH0.tar.gz) = 16b3778d6a8ab04dec53078bedb728d87dec97727b9e88c0acd8194a9728c269 +SIZE (rbenv-ruby-build-v20250516_GH0.tar.gz) = 96894 From 1d8cb3467810bb6908dab1222fd47a36d0cebcb8 Mon Sep 17 00:00:00 2001 From: Olivier Cochard Date: Mon, 19 May 2025 14:58:22 +0200 Subject: [PATCH 028/661] net/bird3: Update to 3.1.1 Changelog: https://gitlab.nic.cz/labs/bird/-/blob/67438ba9/NEWS PR: 286833 Reported by: Marek Zarychta Sponsored by: Netflix --- net/bird3/Makefile | 4 +- net/bird3/distinfo | 6 +- .../patch-00-kernel-Fix-crash-for-merge-paths | 38 -- .../files/patch-01-Table-not-feeding-twice | 39 -- .../patch-02-kernel-trace-the-final-result | 53 --- .../files/patch-03-BGP-fix-locking-order | 176 -------- .../patch-04-BFD-Fix-session-locking-order | 400 ------------------ .../patch-05-mainloop-dropped-old-socket | 86 ---- .../files/patch-06-cli-allocate-tx-buffers | 134 ------ .../files/patch-07-cli-flushing-tmp-linpool | 29 -- .../files/patch-08-kernel-feed-only-once | 274 ------------ net/bird3/files/patch-09-graceful-recovery | 311 -------------- net/bird3/files/patch-10-stonehenge | 116 ----- .../files/patch-11-route-attribute-storage | 80 ---- .../files/patch-12-BGP-tx-bucket-storage | 84 ---- .../patch-13-allocate-normalization-buckets | 100 ----- net/bird3/files/patch-14-BGP-fix-dislpay-name | 25 -- ...tch-15-BGP-fixed-deterministic-med-crashes | 65 --- .../patch-16-Table-old-best-route-refeed-fix | 87 ---- 19 files changed, 5 insertions(+), 2102 deletions(-) delete mode 100644 net/bird3/files/patch-00-kernel-Fix-crash-for-merge-paths delete mode 100644 net/bird3/files/patch-01-Table-not-feeding-twice delete mode 100644 net/bird3/files/patch-02-kernel-trace-the-final-result delete mode 100644 net/bird3/files/patch-03-BGP-fix-locking-order delete mode 100644 net/bird3/files/patch-04-BFD-Fix-session-locking-order delete mode 100644 net/bird3/files/patch-05-mainloop-dropped-old-socket delete mode 100644 net/bird3/files/patch-06-cli-allocate-tx-buffers delete mode 100644 net/bird3/files/patch-07-cli-flushing-tmp-linpool delete mode 100644 net/bird3/files/patch-08-kernel-feed-only-once delete mode 100644 net/bird3/files/patch-09-graceful-recovery delete mode 100644 net/bird3/files/patch-10-stonehenge delete mode 100644 net/bird3/files/patch-11-route-attribute-storage delete mode 100644 net/bird3/files/patch-12-BGP-tx-bucket-storage delete mode 100644 net/bird3/files/patch-13-allocate-normalization-buckets delete mode 100644 net/bird3/files/patch-14-BGP-fix-dislpay-name delete mode 100644 net/bird3/files/patch-15-BGP-fixed-deterministic-med-crashes delete mode 100644 net/bird3/files/patch-16-Table-old-best-route-refeed-fix diff --git a/net/bird3/Makefile b/net/bird3/Makefile index 8c27bcafdc41..e2ab2236fc95 100644 --- a/net/bird3/Makefile +++ b/net/bird3/Makefile @@ -1,7 +1,7 @@ PORTNAME= bird -DISTVERSION= 3.0.0 +DISTVERSION= 3.1.1 CATEGORIES= net -MASTER_SITES= https://bird.network.cz/download/ +MASTER_SITES= https://bird.nic.cz/download/ PKGNAMESUFFIX= 3 MAINTAINER= olivier@FreeBSD.org diff --git a/net/bird3/distinfo b/net/bird3/distinfo index 66fda3f7d35c..afb1fadf1af4 100644 --- a/net/bird3/distinfo +++ b/net/bird3/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1734554961 -SHA256 (bird-3.0.0.tar.gz) = 8130440a2e273ba6456df2fb3acb43da7cb4d566f94a294a3a52a1b118f2512a -SIZE (bird-3.0.0.tar.gz) = 2641569 +TIMESTAMP = 1747656270 +SHA256 (bird-3.1.1.tar.gz) = 297251974ff883e4ef03fccd6c912d116ed49ff2f1c63b66d1dba5f07094444a +SIZE (bird-3.1.1.tar.gz) = 2725214 diff --git a/net/bird3/files/patch-00-kernel-Fix-crash-for-merge-paths b/net/bird3/files/patch-00-kernel-Fix-crash-for-merge-paths deleted file mode 100644 index d008d4cf070c..000000000000 --- a/net/bird3/files/patch-00-kernel-Fix-crash-for-merge-paths +++ /dev/null @@ -1,38 +0,0 @@ -From b6caccfd45fb639b6dd3a8d140d3c5ba4cc79311 Mon Sep 17 00:00:00 2001 -From: Maria Matejka -Date: Thu, 19 Dec 2024 11:00:15 +0100 -Subject: [PATCH] Kernel: Fix crash for merge paths on if no route is in BIRD - -There was a missing check for a NULL return value. -Also fixed an indenting error. - -Thanks to Radu Anghel for reporting it: -https://bird.network.cz/pipermail/bird-users/2024-December/017977.html ---- - nest/rt-table.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/nest/rt-table.c b/nest/rt-table.c -index fd8bb50dd..05191d743 100644 ---- nest/rt-table.c -+++ nest/rt-table.c -@@ -5265,14 +5265,14 @@ krt_export_net(struct channel *c, const net_addr *a, linpool *lp) - if (c->ra_mode == RA_MERGED) - { - struct rt_export_feed *feed = rt_net_feed(c->table, a, NULL); -- if (!feed->count_routes) -+ if (!feed || !feed->count_routes) - return NULL; - - if (!bmap_test(&c->export_accepted_map, feed->block[0].id)) - return NULL; - - return rt_export_merged(c, feed, lp, 1); -- } -+ } - - static _Thread_local rte best; - best = rt_net_best(c->table, a); --- -GitLab - diff --git a/net/bird3/files/patch-01-Table-not-feeding-twice b/net/bird3/files/patch-01-Table-not-feeding-twice deleted file mode 100644 index 4fb40a644fb2..000000000000 --- a/net/bird3/files/patch-01-Table-not-feeding-twice +++ /dev/null @@ -1,39 +0,0 @@ -From 0a2f92ad205d96d0be0945ecf2bb740b68d5a3c1 Mon Sep 17 00:00:00 2001 -From: Maria Matejka -Date: Thu, 19 Dec 2024 11:54:05 +0100 -Subject: [PATCH] Table: not feeding twice, once is enough - -If there is no feed pending, the requested one should be -activated immediately, otherwise it is activated only after -the full run, effectively running first a full feed and -then the requested one. ---- - nest/rt-export.c | 12 ++++++++++-- - 1 file changed, 10 insertions(+), 2 deletions(-) - -diff --git a/nest/rt-export.c b/nest/rt-export.c -index 7368447de..7d51e54cf 100644 ---- nest/rt-export.c -+++ nest/rt-export.c -@@ -357,8 +357,16 @@ rt_export_refeed_feeder(struct rt_export_feeder *f, struct rt_feeding_request *r - if (!rfr) - return; - -- rfr->next = f->feed_pending; -- f->feed_pending = rfr; -+ if (f->feeding) -+ { -+ rfr->next = f->feed_pending; -+ f->feed_pending = rfr; -+ } -+ else -+ { -+ rfr->next = NULL; -+ f->feeding = rfr; -+ } - } - - void rt_export_refeed_request(struct rt_export_request *rer, struct rt_feeding_request *rfr) --- -GitLab - diff --git a/net/bird3/files/patch-02-kernel-trace-the-final-result b/net/bird3/files/patch-02-kernel-trace-the-final-result deleted file mode 100644 index a3c97320f30e..000000000000 --- a/net/bird3/files/patch-02-kernel-trace-the-final-result +++ /dev/null @@ -1,53 +0,0 @@ -From ab74652f96c301dd2d2d2a831dd1a159ae1d5e02 Mon Sep 17 00:00:00 2001 -From: Maria Matejka -Date: Thu, 19 Dec 2024 12:28:27 +0100 -Subject: [PATCH] Kernel: when channel traces, we have to trace the final - result - -Otherwise it looks like we are sending too much traffic to netlink -every other while, which is not true. Now we can disambiguate between -in-kernel updates and ignored routes. ---- - sysdep/unix/krt.c | 14 +++++++++++--- - 1 file changed, 11 insertions(+), 3 deletions(-) - -diff --git a/sysdep/unix/krt.c b/sysdep/unix/krt.c -index 2770b8be2..34882b88f 100644 ---- sysdep/unix/krt.c -+++ sysdep/unix/krt.c -@@ -672,7 +672,7 @@ krt_preexport(struct channel *C, rte *e) - } - - static void --krt_rt_notify(struct proto *P, struct channel *ch UNUSED, const net_addr *net, -+krt_rt_notify(struct proto *P, struct channel *ch, const net_addr *net, - rte *new, const rte *old) - { - struct krt_proto *p = (struct krt_proto *) P; -@@ -688,13 +688,21 @@ krt_rt_notify(struct proto *P, struct channel *ch UNUSED, const net_addr *net, - case KPS_IDLE: - case KPS_PRUNING: - if (new && bmap_test(&p->seen_map, new->id)) -- /* Already installed and seen in the kernel dump */ -- return; -+ if (ch->debug & D_ROUTES) -+ { -+ /* Already installed and seen in the kernel dump */ -+ log(L_TRACE "%s.%s: %N already in kernel", -+ P->name, ch->name, net); -+ return; -+ } - - /* fall through */ - case KPS_SCANNING: - /* Actually replace the route */ - krt_replace_rte(p, net, new, old); -+ if (ch->debug & D_ROUTES) -+ log(L_TRACE "%s.%s: %N %s kernel", -+ P->name, ch->name, net, old ? "replaced in" : "added to"); - break; - - } --- -GitLab - diff --git a/net/bird3/files/patch-03-BGP-fix-locking-order b/net/bird3/files/patch-03-BGP-fix-locking-order deleted file mode 100644 index 51b73c26f8f8..000000000000 --- a/net/bird3/files/patch-03-BGP-fix-locking-order +++ /dev/null @@ -1,176 +0,0 @@ -From 6779e5da698feb9b9e02411859ad81885ba46c01 Mon Sep 17 00:00:00 2001 -From: Maria Matejka -Date: Fri, 20 Dec 2024 11:28:00 +0100 -Subject: [PATCH] BGP: fix locking order error on dynamic protocol spawn - -We missed that the protocol spawner violates the prescribed -locking order. When the rtable level is locked, no new protocol can be -started, thus we need to: - -* create the protocol from a clean mainloop context -* in protocol start hook, take the socket - -Testsuite: cf-bgp-autopeer -Fixes: #136 - -Thanks to Job Snijders for reporting: -https://trubka.network.cz/pipermail/bird-users/2024-December/017980.html ---- - nest/proto.c | 19 +++++++++++++++++++ - nest/protocol.h | 2 ++ - proto/bgp/bgp.c | 46 +++++++++++++++++++++++++++++++++++----------- - 3 files changed, 56 insertions(+), 11 deletions(-) - -diff --git a/nest/proto.c b/nest/proto.c -index dded84f51..678697d69 100644 ---- nest/proto.c -+++ nest/proto.c -@@ -1867,6 +1867,25 @@ proto_spawn(struct proto_config *cf, uint disabled) - return p; - } - -+bool -+proto_disable(struct proto *p) -+{ -+ ASSERT_DIE(birdloop_inside(&main_birdloop)); -+ bool changed = !p->disabled; -+ p->disabled = 1; -+ proto_rethink_goal(p); -+ return changed; -+} -+ -+bool -+proto_enable(struct proto *p) -+{ -+ ASSERT_DIE(birdloop_inside(&main_birdloop)); -+ bool changed = p->disabled; -+ p->disabled = 0; -+ proto_rethink_goal(p); -+ return changed; -+} - - /** - * DOC: Graceful restart recovery -diff --git a/nest/protocol.h b/nest/protocol.h -index 25ed6f553..cf7ecb898 100644 ---- nest/protocol.h -+++ nest/protocol.h -@@ -78,6 +78,8 @@ void proto_build(struct protocol *); /* Called from protocol to register itself - void protos_preconfig(struct config *); - void protos_commit(struct config *new, struct config *old, int type); - struct proto * proto_spawn(struct proto_config *cf, uint disabled); -+bool proto_disable(struct proto *p); -+bool proto_enable(struct proto *p); - void protos_dump_all(struct dump_request *); - - #define GA_UNKNOWN 0 /* Attribute not recognized */ -diff --git a/proto/bgp/bgp.c b/proto/bgp/bgp.c -index 5fc2b5fff..3170e3a42 100644 ---- proto/bgp/bgp.c -+++ proto/bgp/bgp.c -@@ -378,8 +378,6 @@ bgp_startup(struct bgp_proto *p) - if (p->postponed_sk) - { - /* Apply postponed incoming connection */ -- sk_reloop(p->postponed_sk, p->p.loop); -- - bgp_setup_conn(p, &p->incoming_conn); - bgp_setup_sk(&p->incoming_conn, p->postponed_sk); - bgp_send_open(&p->incoming_conn); -@@ -583,6 +581,9 @@ bgp_graceful_close_conn(struct bgp_conn *conn, int subcode, byte *data, uint len - static void - bgp_down(struct bgp_proto *p) - { -+ /* Check that the dynamic BGP socket has been picked up */ -+ ASSERT_DIE(p->postponed_sk == NULL); -+ - if (bgp_start_state(p) > BSS_PREPARE) - { - bgp_setup_auth(p, 0); -@@ -617,8 +618,8 @@ bgp_decision(void *vp) - bgp_down(p); - } - --static struct bgp_proto * --bgp_spawn(struct bgp_proto *pp, ip_addr remote_ip) -+static void -+bgp_spawn(struct bgp_proto *pp, struct birdsock *sk) - { - struct symbol *sym; - char fmt[SYM_MAX_LEN]; -@@ -635,9 +636,16 @@ bgp_spawn(struct bgp_proto *pp, ip_addr remote_ip) - cfg_mem = NULL; - - /* Just pass remote_ip to bgp_init() */ -- ((struct bgp_config *) sym->proto)->remote_ip = remote_ip; -+ ((struct bgp_config *) sym->proto)->remote_ip = sk->daddr; -+ -+ /* Create the protocol disabled initially */ -+ SKIP_BACK_DECLARE(struct bgp_proto, p, p, proto_spawn(sym->proto, 1)); - -- return (void *) proto_spawn(sym->proto, 0); -+ /* Pass the socket */ -+ p->postponed_sk = sk; -+ -+ /* And enable the protocol */ -+ proto_enable(&p->p); - } - - void -@@ -1489,10 +1497,15 @@ bgp_incoming_connection(sock *sk, uint dummy UNUSED) - /* For dynamic BGP, spawn new instance and postpone the socket */ - if (bgp_is_dynamic(p)) - { -- p = bgp_spawn(p, sk->daddr); -- p->postponed_sk = sk; -- rmove(sk, p->p.pool); -- goto leave; -+ UNLOCK_DOMAIN(rtable, bgp_listen_domain); -+ -+ /* The dynamic protocol must be in the START state */ -+ ASSERT_DIE(p->p.proto_state == PS_START); -+ birdloop_leave(p->p.loop); -+ -+ /* Now we have a clean mainloop */ -+ bgp_spawn(p, sk); -+ return 0; - } - - rmove(sk, p->p.pool); -@@ -1806,7 +1819,6 @@ bgp_start(struct proto *P) - p->incoming_conn.state = BS_IDLE; - p->neigh = NULL; - p->bfd_req = NULL; -- p->postponed_sk = NULL; - p->gr_ready = 0; - p->gr_active_num = 0; - -@@ -1848,6 +1860,16 @@ bgp_start(struct proto *P) - channel_graceful_restart_lock(&c->c); - } - -+ /* Now it's the last chance to move the postponed socket to this BGP, -+ * as bgp_start is the only hook running from main loop. */ -+ if (p->postponed_sk) -+ { -+ LOCK_DOMAIN(rtable, bgp_listen_domain); -+ rmove(p->postponed_sk, p->p.pool); -+ sk_reloop(p->postponed_sk, p->p.loop); -+ UNLOCK_DOMAIN(rtable, bgp_listen_domain); -+ } -+ - /* - * Before attempting to create the connection, we need to lock the port, - * so that we are the only instance attempting to talk with that neighbor. -@@ -1999,6 +2021,8 @@ bgp_init(struct proto_config *CF) - p->remote_ip = cf->remote_ip; - p->remote_as = cf->remote_as; - -+ p->postponed_sk = NULL; -+ - /* Hack: We use cf->remote_ip just to pass remote_ip from bgp_spawn() */ - if (cf->c.parent) - cf->remote_ip = IPA_NONE; --- -GitLab - diff --git a/net/bird3/files/patch-04-BFD-Fix-session-locking-order b/net/bird3/files/patch-04-BFD-Fix-session-locking-order deleted file mode 100644 index 3f5500500691..000000000000 --- a/net/bird3/files/patch-04-BFD-Fix-session-locking-order +++ /dev/null @@ -1,400 +0,0 @@ -From 83495362789d961914c4bfaa590e31cb17370ed0 Mon Sep 17 00:00:00 2001 -From: Maria Matejka -Date: Sat, 21 Dec 2024 19:02:22 +0100 -Subject: [PATCH] BFD: Fix session reconfiguration locking order - -The sessions have to be updated asynchronously to avoid -cross-locking between protocols. - -Testsuite: cf-ibgp-bfd-switch, cf-ibgp-multi-bfd-auth -Fixes: #139 - -Thanks to Daniel Suchy for reporting: -https://trubka.network.cz/pipermail/bird-users/2024-December/017984.html ---- - nest/bfd.h | 7 ++- - proto/bfd/bfd.c | 144 +++++++++++++++++++++++--------------------- - proto/bfd/bfd.h | 21 +------ - proto/bfd/config.Y | 42 +++++-------- - proto/bfd/packets.c | 4 +- - 5 files changed, 98 insertions(+), 120 deletions(-) - -diff --git a/nest/bfd.h b/nest/bfd.h -index 5dacff5d7..c046152f8 100644 ---- nest/bfd.h -+++ nest/bfd.h -@@ -18,8 +18,11 @@ struct bfd_options { - u32 min_tx_int; - u32 idle_tx_int; - u8 multiplier; -- u8 passive; -- u8 passive_set; -+ PACKED enum bfd_opt_passive { -+ BFD_OPT_PASSIVE_UNKNOWN = 0, -+ BFD_OPT_PASSIVE, -+ BFD_OPT_NOT_PASSIVE, -+ } passive; - u8 mode; - u8 auth_type; /* Authentication type (BFD_AUTH_*) */ - list *passwords; /* Passwords for authentication */ -diff --git a/proto/bfd/bfd.c b/proto/bfd/bfd.c -index 34f992b93..4997f803a 100644 ---- proto/bfd/bfd.c -+++ proto/bfd/bfd.c -@@ -172,17 +172,17 @@ static void bfd_free_iface(struct bfd_iface *ifa); - * BFD sessions - */ - --static inline struct bfd_session_config --bfd_merge_options(const struct bfd_iface_config *cf, const struct bfd_options *opts) -+static inline struct bfd_options -+bfd_merge_options(const struct bfd_options *bottom, const struct bfd_options *top) - { -- return (struct bfd_session_config) { -- .min_rx_int = opts->min_rx_int ?: cf->min_rx_int, -- .min_tx_int = opts->min_tx_int ?: cf->min_tx_int, -- .idle_tx_int = opts->idle_tx_int ?: cf->idle_tx_int, -- .multiplier = opts->multiplier ?: cf->multiplier, -- .passive = opts->passive_set ? opts->passive : cf->passive, -- .auth_type = opts->auth_type ?: cf->auth_type, -- .passwords = opts->passwords ?: cf->passwords, -+ return (struct bfd_options) { -+ .min_rx_int = top->min_rx_int ?: bottom->min_rx_int, -+ .min_tx_int = top->min_tx_int ?: bottom->min_tx_int, -+ .idle_tx_int = top->idle_tx_int ?: bottom->idle_tx_int, -+ .multiplier = top->multiplier ?: bottom->multiplier, -+ .passive = top->passive ?: bottom->passive, -+ .auth_type = top->auth_type ?: bottom->auth_type, -+ .passwords = top->passwords ?: bottom->passwords, - }; - } - -@@ -478,7 +478,7 @@ bfd_add_session(struct bfd_proto *p, ip_addr addr, ip_addr local, struct iface * - HASH_INSERT(p->session_hash_id, HASH_ID, s); - HASH_INSERT(p->session_hash_ip, HASH_IP, s); - -- s->cf = bfd_merge_options(ifa->cf, opts); -+ s->cf = bfd_merge_options(&ifa->cf->opts, opts); - - /* Initialization of state variables - see RFC 5880 6.8.1 */ - s->loc_state = BFD_STATE_DOWN; -@@ -561,26 +561,58 @@ bfd_remove_session(struct bfd_proto *p, struct bfd_session *s) - birdloop_leave(p->p.loop); - } - -+struct bfd_reconfigure_sessions_deferred_call { -+ struct deferred_call dc; -+ struct bfd_proto *p; -+ config_ref old_config; -+}; -+ - static void --bfd_reconfigure_session(struct bfd_proto *p, struct bfd_session *s) -+bfd_reconfigure_sessions(struct deferred_call *dc) - { -- if (EMPTY_LIST(s->request_list)) -- return; -+ SKIP_BACK_DECLARE(struct bfd_reconfigure_sessions_deferred_call, -+ brsdc, dc, dc); - -- ASSERT_DIE(birdloop_inside(p->p.loop)); -+ struct bfd_proto *p = brsdc->p; -+ birdloop_enter(p->p.loop); - -- SKIP_BACK_DECLARE(struct bfd_request, req, n, HEAD(s->request_list)); -- s->cf = bfd_merge_options(s->ifa->cf, &req->opts); -+ HASH_WALK(p->session_hash_id, next_id, s) -+ { -+ if (!EMPTY_LIST(s->request_list)) -+ { -+ SKIP_BACK_DECLARE(struct bfd_request, req, n, HEAD(s->request_list)); -+ struct bfd_options opts = bfd_merge_options(&s->ifa->cf->opts, &req->opts); - -- u32 tx = (s->loc_state == BFD_STATE_UP) ? s->cf.min_tx_int : s->cf.idle_tx_int; -- bfd_session_set_min_tx(s, tx); -- bfd_session_set_min_rx(s, s->cf.min_rx_int); -- s->detect_mult = s->cf.multiplier; -- s->passive = s->cf.passive; -+#define CHK(x) (opts.x != s->cf.x) || -+ bool reload = MACRO_FOREACH(CHK, -+ min_rx_int, -+ min_tx_int, -+ idle_tx_int, -+ multiplier, -+ passive) false; /* terminating the || chain */ -+#undef CHK - -- bfd_session_control_tx_timer(s, 0); -+ s->cf = opts; -+ -+ if (reload) -+ { -+ u32 tx = (s->loc_state == BFD_STATE_UP) ? s->cf.min_tx_int : s->cf.idle_tx_int; -+ bfd_session_set_min_tx(s, tx); -+ bfd_session_set_min_rx(s, s->cf.min_rx_int); -+ s->detect_mult = s->cf.multiplier; -+ s->passive = s->cf.passive; -+ -+ bfd_session_control_tx_timer(s, 0); -+ -+ TRACE(D_EVENTS, "Session to %I reconfigured", s->addr); -+ } -+ } -+ } -+ HASH_WALK_END; -+ birdloop_leave(p->p.loop); - -- TRACE(D_EVENTS, "Session to %I reconfigured", s->addr); -+ /* Now the config is clean */ -+ OBSREF_CLEAR(brsdc->old_config); - } - - -@@ -589,10 +621,12 @@ bfd_reconfigure_session(struct bfd_proto *p, struct bfd_session *s) - */ - - static struct bfd_iface_config bfd_default_iface = { -- .min_rx_int = BFD_DEFAULT_MIN_RX_INT, -- .min_tx_int = BFD_DEFAULT_MIN_TX_INT, -- .idle_tx_int = BFD_DEFAULT_IDLE_TX_INT, -- .multiplier = BFD_DEFAULT_MULTIPLIER, -+ .opts = { -+ .min_rx_int = BFD_DEFAULT_MIN_RX_INT, -+ .min_tx_int = BFD_DEFAULT_MIN_TX_INT, -+ .idle_tx_int = BFD_DEFAULT_IDLE_TX_INT, -+ .multiplier = BFD_DEFAULT_MULTIPLIER, -+ }, - }; - - static inline struct bfd_iface_config * -@@ -650,24 +684,6 @@ bfd_free_iface(struct bfd_iface *ifa) - mb_free(ifa); - } - --static void --bfd_reconfigure_iface(struct bfd_proto *p UNUSED, struct bfd_iface *ifa, struct bfd_config *nc) --{ -- struct bfd_iface_config *new = bfd_find_iface_config(nc, ifa->iface); -- struct bfd_iface_config *old = ifa->cf; -- -- /* Check options that are handled in bfd_reconfigure_session() */ -- ifa->changed = -- (new->min_rx_int != old->min_rx_int) || -- (new->min_tx_int != old->min_tx_int) || -- (new->idle_tx_int != old->idle_tx_int) || -- (new->multiplier != old->multiplier) || -- (new->passive != old->passive); -- -- /* This should be probably changed to not access ifa->cf from the BFD thread */ -- ifa->cf = new; --} -- - - /* - * BFD requests -@@ -900,20 +916,7 @@ bfd_request_session(pool *p, ip_addr addr, ip_addr local, - void - bfd_update_request(struct bfd_request *req, const struct bfd_options *opts) - { -- struct bfd_session *s = req->session; -- -- if (!memcmp(opts, &req->opts, sizeof(const struct bfd_options))) -- return; -- - req->opts = *opts; -- -- if (s) -- { -- struct bfd_proto *p = s->ifa->bfd; -- birdloop_enter(p->p.loop); -- bfd_reconfigure_session(p, s); -- birdloop_leave(p->p.loop); -- } - } - - static void -@@ -1193,21 +1196,22 @@ bfd_reconfigure(struct proto *P, struct proto_config *c) - (new->zero_udp6_checksum_rx != old->zero_udp6_checksum_rx)) - return 0; - -- birdloop_mask_wakeups(p->p.loop); -- - WALK_LIST(ifa, p->iface_list) -- bfd_reconfigure_iface(p, ifa, new); -- -- HASH_WALK(p->session_hash_id, next_id, s) -- { -- if (s->ifa->changed) -- bfd_reconfigure_session(p, s); -- } -- HASH_WALK_END; -+ ifa->cf = bfd_find_iface_config(new, ifa->iface); - - bfd_reconfigure_neighbors(p, new); - -- birdloop_unmask_wakeups(p->p.loop); -+ /* Sessions get reconfigured after all the config is applied */ -+ struct bfd_reconfigure_sessions_deferred_call brsdc = { -+ .dc.hook = bfd_reconfigure_sessions, -+ .p = p, -+ }; -+ SKIP_BACK_DECLARE(struct bfd_reconfigure_sessions_deferred_call, -+ brsdcp, dc, defer_call(&brsdc.dc, sizeof brsdc)); -+ -+ /* We need to keep the old config alive until all the sessions get -+ * reconfigured */ -+ OBSREF_SET(brsdcp->old_config, P->cf->global); - - return 1; - } -diff --git a/proto/bfd/bfd.h b/proto/bfd/bfd.h -index 578ce8755..107829b72 100644 ---- proto/bfd/bfd.h -+++ proto/bfd/bfd.h -@@ -54,24 +54,7 @@ struct bfd_config - struct bfd_iface_config - { - struct iface_patt i; -- u32 min_rx_int; -- u32 min_tx_int; -- u32 idle_tx_int; -- u8 multiplier; -- u8 passive; -- u8 auth_type; /* Authentication type (BFD_AUTH_*) */ -- list *passwords; /* Passwords for authentication */ --}; -- --struct bfd_session_config --{ -- u32 min_rx_int; -- u32 min_tx_int; -- u32 idle_tx_int; -- u8 multiplier; -- u8 passive; -- u8 auth_type; /* Authentication type (BFD_AUTH_*) */ -- list *passwords; /* Passwords for authentication */ -+ struct bfd_options opts; - }; - - struct bfd_neighbor -@@ -146,7 +129,7 @@ struct bfd_session - u32 loc_id; /* Local session ID (local discriminator) */ - u32 rem_id; /* Remote session ID (remote discriminator) */ - -- struct bfd_session_config cf; /* Static configuration parameters */ -+ struct bfd_options cf; /* Static configuration parameters */ - - u32 des_min_tx_int; /* Desired min rx interval, local option */ - u32 des_min_tx_new; /* Used for des_min_tx_int change */ -diff --git a/proto/bfd/config.Y b/proto/bfd/config.Y -index 9e9919c4e..56d1ffac4 100644 ---- proto/bfd/config.Y -+++ proto/bfd/config.Y -@@ -86,44 +86,37 @@ bfd_iface_start: - add_tail(&BFD_CFG->patt_list, NODE this_ipatt); - init_list(&this_ipatt->ipn_list); - -- BFD_IFACE->min_rx_int = BFD_DEFAULT_MIN_RX_INT; -- BFD_IFACE->min_tx_int = BFD_DEFAULT_MIN_TX_INT; -- BFD_IFACE->idle_tx_int = BFD_DEFAULT_IDLE_TX_INT; -- BFD_IFACE->multiplier = BFD_DEFAULT_MULTIPLIER; -+ this_bfd_opts = &BFD_IFACE->opts; -+ -+ this_bfd_opts->min_rx_int = BFD_DEFAULT_MIN_RX_INT; -+ this_bfd_opts->min_tx_int = BFD_DEFAULT_MIN_TX_INT; -+ this_bfd_opts->idle_tx_int = BFD_DEFAULT_IDLE_TX_INT; -+ this_bfd_opts->multiplier = BFD_DEFAULT_MULTIPLIER; - - reset_passwords(); - }; - - bfd_iface_finish: - { -- BFD_IFACE->passwords = get_passwords(); -+ this_bfd_opts->passwords = get_passwords(); - -- if (!BFD_IFACE->auth_type != !BFD_IFACE->passwords) -+ if (!this_bfd_opts->auth_type != !this_bfd_opts->passwords) - cf_warn("Authentication and password options should be used together"); - -- if (BFD_IFACE->passwords) -+ if (this_bfd_opts->passwords) - { - struct password_item *pass; -- WALK_LIST(pass, *BFD_IFACE->passwords) -+ WALK_LIST(pass, *this_bfd_opts->passwords) - { - if (pass->alg) - cf_error("Password algorithm option not available in BFD protocol"); - -- pass->alg = bfd_auth_type_to_hash_alg[BFD_IFACE->auth_type]; -+ pass->alg = bfd_auth_type_to_hash_alg[this_bfd_opts->auth_type]; - } - } --}; - --bfd_iface_item: -- INTERVAL expr_us { BFD_IFACE->min_rx_int = BFD_IFACE->min_tx_int = $2; } -- | MIN RX INTERVAL expr_us { BFD_IFACE->min_rx_int = $4; } -- | MIN TX INTERVAL expr_us { BFD_IFACE->min_tx_int = $4; } -- | IDLE TX INTERVAL expr_us { BFD_IFACE->idle_tx_int = $4; } -- | MULTIPLIER expr { BFD_IFACE->multiplier = $2; } -- | PASSIVE bool { BFD_IFACE->passive = $2; } -- | AUTHENTICATION bfd_auth_type { BFD_IFACE->auth_type = $2; } -- | password_list {} -- ; -+ this_bfd_opts = NULL; -+}; - - bfd_auth_type: - NONE { $$ = BFD_AUTH_NONE; } -@@ -134,14 +127,9 @@ bfd_auth_type: - | METICULOUS KEYED SHA1 { $$ = BFD_AUTH_METICULOUS_KEYED_SHA1; } - ; - --bfd_iface_opts: -- /* empty */ -- | bfd_iface_opts bfd_iface_item ';' -- ; -- - bfd_iface_opt_list: - /* empty */ -- | '{' bfd_iface_opts '}' -+ | '{' bfd_items '}' - ; - - bfd_iface: -@@ -194,7 +182,7 @@ bfd_item: - | MIN TX INTERVAL expr_us { this_bfd_opts->min_tx_int = $4; } - | IDLE TX INTERVAL expr_us { this_bfd_opts->idle_tx_int = $4; } - | MULTIPLIER expr { this_bfd_opts->multiplier = $2; } -- | PASSIVE bool { this_bfd_opts->passive = $2; this_bfd_opts->passive_set = 1; } -+ | PASSIVE bool { this_bfd_opts->passive = $2 ? BFD_OPT_PASSIVE : BFD_OPT_NOT_PASSIVE; } - | GRACEFUL { this_bfd_opts->mode = BGP_BFD_GRACEFUL; } - | AUTHENTICATION bfd_auth_type { this_bfd_opts->auth_type = $2; } - | password_list {} -diff --git a/proto/bfd/packets.c b/proto/bfd/packets.c -index 1ceb470c1..f8bd63d73 100644 ---- proto/bfd/packets.c -+++ proto/bfd/packets.c -@@ -109,7 +109,7 @@ const u8 bfd_auth_type_to_hash_alg[] = { - static void - bfd_fill_authentication(struct bfd_proto *p, struct bfd_session *s, struct bfd_ctl_packet *pkt) - { -- struct bfd_session_config *cf = &s->cf; -+ struct bfd_options *cf = &s->cf; - struct password_item *pass = password_find(cf->passwords, 0); - uint meticulous = 0; - -@@ -179,7 +179,7 @@ bfd_fill_authentication(struct bfd_proto *p, struct bfd_session *s, struct bfd_c - static int - bfd_check_authentication(struct bfd_proto *p, struct bfd_session *s, struct bfd_ctl_packet *pkt) - { -- struct bfd_session_config *cf = &s->cf; -+ struct bfd_options *cf = &s->cf; - const char *err_dsc = NULL; - uint err_val = 0; - uint auth_type = 0; --- -GitLab - diff --git a/net/bird3/files/patch-05-mainloop-dropped-old-socket b/net/bird3/files/patch-05-mainloop-dropped-old-socket deleted file mode 100644 index eea4d1d26af2..000000000000 --- a/net/bird3/files/patch-05-mainloop-dropped-old-socket +++ /dev/null @@ -1,86 +0,0 @@ -From 3d1f19e335f55c8cfa3cb7ca9d7b88ca03173d8e Mon Sep 17 00:00:00 2001 -From: Maria Matejka -Date: Sun, 22 Dec 2024 21:32:28 +0100 -Subject: [PATCH] Mainloop: Dropped old socket prioritization magic - -This is now done in worker threads and the mainloop needs to do other things, -most notably kernel and CLI, with less overhead of repeatedly checking poll. ---- - sysdep/unix/io-loop.c | 2 +- - sysdep/unix/io.c | 21 +++++++-------------- - 2 files changed, 8 insertions(+), 15 deletions(-) - -diff --git a/sysdep/unix/io-loop.c b/sysdep/unix/io-loop.c -index f69189e06..a72c69a03 100644 ---- sysdep/unix/io-loop.c -+++ sysdep/unix/io-loop.c -@@ -1403,7 +1403,7 @@ bool task_still_in_limit(void) - { - static u64 main_counter = 0; - if (this_birdloop == &main_birdloop) -- return (++main_counter % 2048); /* This is a hack because of no accounting in mainloop */ -+ return (++main_counter % 512); /* This is a hack because of no accounting in mainloop */ - else - return ns_now() < account_last + this_thread->max_loop_time_ns; - } -diff --git a/sysdep/unix/io.c b/sysdep/unix/io.c -index f9785c074..51395e1e9 100644 ---- sysdep/unix/io.c -+++ sysdep/unix/io.c -@@ -53,14 +53,15 @@ - - /* Maximum number of calls of tx handler for one socket in one - * poll iteration. Should be small enough to not monopolize CPU by -- * one protocol instance. -+ * one protocol instance. But as most of the problems are now offloaded -+ * to worker threads, too low values may actually bring problems with -+ * latency. - */ --#define MAX_STEPS 4 -+#define MAX_STEPS 2048 - - /* Maximum number of calls of rx handler for all sockets in one poll -- iteration. RX callbacks are often much more costly so we limit -- this to gen small latencies */ --#define MAX_RX_STEPS 4 -+ iteration. RX callbacks are often a little bit more costly. */ -+#define MAX_RX_STEPS 512 - - - /* -@@ -2581,8 +2582,6 @@ io_init(void) - srandom((uint) (now ^ (now >> 32))); - } - --static int short_loops = 0; --#define SHORT_LOOP_MAX 10 - #define WORK_EVENTS_MAX 10 - - sock *stored_sock; -@@ -2670,10 +2669,9 @@ io_loop(void) - { - if (pfd.pfd.data[0].revents & POLLIN) - { -- /* IO loop reload requested */ -+ /* Somebody sent an event to mainloop */ - pipe_drain(&main_birdloop.thread->wakeup); - atomic_fetch_and_explicit(&main_birdloop.thread_transition, ~LTT_PING, memory_order_acq_rel); -- continue; - } - - times_update(); -@@ -2719,11 +2717,6 @@ io_loop(void) - main_birdloop.sock_active = sk_next(s); - } - -- short_loops++; -- if (events && (short_loops < SHORT_LOOP_MAX)) -- continue; -- short_loops = 0; -- - int count = 0; - main_birdloop.sock_active = stored_sock; - if (main_birdloop.sock_active == NULL) --- -GitLab - diff --git a/net/bird3/files/patch-06-cli-allocate-tx-buffers b/net/bird3/files/patch-06-cli-allocate-tx-buffers deleted file mode 100644 index 0e9af5de5d63..000000000000 --- a/net/bird3/files/patch-06-cli-allocate-tx-buffers +++ /dev/null @@ -1,134 +0,0 @@ -From de9dbee796876f5b621e40e0082612aad746cac1 Mon Sep 17 00:00:00 2001 -From: Maria Matejka -Date: Sun, 22 Dec 2024 22:10:38 +0100 -Subject: [PATCH] CLI: allocate TX buffers as pages, not by malloc - -Every malloc risks heap bloating and these blocks are already -the same size as pages. ---- - nest/cli.c | 59 ++++++++++++++++++++++++++++++++++++++++++------------ - nest/cli.h | 2 +- - 2 files changed, 47 insertions(+), 14 deletions(-) - -diff --git a/nest/cli.c b/nest/cli.c -index 3b8e6f468..b33ffd437 100644 ---- nest/cli.c -+++ nest/cli.c -@@ -81,13 +81,14 @@ cli_alloc_out(cli *c, int size) - o = c->tx_buf; - else - { -- o = mb_alloc(c->pool, sizeof(struct cli_out) + CLI_TX_BUF_SIZE); -+ o = alloc_page(); -+ c->tx_pending_count++; - if (c->tx_write) - c->tx_write->next = o; - else - c->tx_buf = o; - o->wpos = o->outpos = o->buf; -- o->end = o->buf + CLI_TX_BUF_SIZE; -+ o->end = (void *) o + page_size; - } - c->tx_write = o; - if (!c->tx_pos) -@@ -167,19 +168,18 @@ cli_hello(cli *c) - static void - cli_free_out(cli *c) - { -- struct cli_out *o, *p; -+ for (struct cli_out *o = c->tx_buf, *n; o; o = n) -+ { -+ n = o->next; -+ free_page(o); -+ c->tx_pending_count--; -+ } - -- if (o = c->tx_buf) -- { -- o->wpos = o->outpos = o->buf; -- while (p = o->next) -- { -- o->next = p->next; -- mb_free(p); -- } -- } -+ c->tx_buf = NULL; - c->tx_write = c->tx_pos = NULL; - c->async_msg_size = 0; -+ -+ ASSERT_DIE(c->tx_pending_count == 0); - } - - void -@@ -189,6 +189,38 @@ cli_written(cli *c) - ev_schedule(c->event); - } - -+/* A dummy resource to show and free memory pages allocated for pending TX */ -+struct cli_tx_resource { -+ resource r; -+ struct cli *c; -+}; -+ -+static void -+cli_tx_resource_free(resource *r) -+{ -+ cli_free_out(SKIP_BACK(struct cli_tx_resource, r, r)->c); -+} -+ -+static void -+cli_tx_resource_dump(struct dump_request *dreq UNUSED, resource *r UNUSED) {} -+ -+static struct resmem -+cli_tx_resource_memsize(resource *r) -+{ -+ return (struct resmem) { -+ .effective = SKIP_BACK(struct cli_tx_resource, r, r)->c->tx_pending_count * page_size, -+ .overhead = sizeof(struct cli_tx_resource), -+ }; -+} -+ -+static struct resclass cli_tx_resource_class = { -+ .name = "CLI TX buffers", -+ .size = sizeof (struct cli_tx_resource), -+ .free = cli_tx_resource_free, -+ .dump = cli_tx_resource_dump, -+ .memsize = cli_tx_resource_memsize, -+}; -+ - - static byte *cli_rh_pos; - static uint cli_rh_len; -@@ -272,7 +304,8 @@ cli * - cli_new(struct birdsock *sock, struct cli_config *cf) - { - pool *p = rp_new(cli_pool, the_bird_domain.the_bird, "CLI"); -- cli *c = mb_alloc(p, sizeof(cli)); -+ struct cli_tx_resource *ctr = ralloc(p, &cli_tx_resource_class); -+ cli *c = ctr->c = mb_alloc(p, sizeof(cli)); - - bzero(c, sizeof(cli)); - c->pool = p; -diff --git a/nest/cli.h b/nest/cli.h -index d86ec3801..671be04d8 100644 ---- nest/cli.h -+++ nest/cli.h -@@ -17,7 +17,6 @@ - #include "conf/conf.h" - - #define CLI_RX_BUF_SIZE 4096 --#define CLI_TX_BUF_SIZE 4096 - #define CLI_MAX_ASYNC_QUEUE 4096 - - #define CLI_MSG_SIZE 500 -@@ -49,6 +48,7 @@ typedef struct cli { - uint log_mask; /* Mask of allowed message levels */ - uint log_threshold; /* When free < log_threshold, store only important messages */ - uint async_msg_size; /* Total size of async messages queued in tx_buf */ -+ uint tx_pending_count; /* How many blocks are pending */ - } cli; - - struct cli_config { --- -GitLab - diff --git a/net/bird3/files/patch-07-cli-flushing-tmp-linpool b/net/bird3/files/patch-07-cli-flushing-tmp-linpool deleted file mode 100644 index c05321812dac..000000000000 --- a/net/bird3/files/patch-07-cli-flushing-tmp-linpool +++ /dev/null @@ -1,29 +0,0 @@ -From 5fd0fd77e293328f354e7f6ed22632ba6ff96593 Mon Sep 17 00:00:00 2001 -From: Maria Matejka -Date: Sun, 22 Dec 2024 22:26:44 +0100 -Subject: [PATCH] CLI: Flushing tmp_linpool after every shown net. - -There is no reason to keep the allocated objects through multiple nets. ---- - nest/rt-show.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/nest/rt-show.c b/nest/rt-show.c -index 3986da83d..aa9209ca5 100644 ---- nest/rt-show.c -+++ nest/rt-show.c -@@ -282,8 +282,9 @@ rt_show_cont(struct cli *c) - rt_show_table(d); - - RT_FEED_WALK(&d->tab->req, f) -- if (f->count_routes) -- rt_show_net(d, f); -+ TMP_SAVED -+ if (f->count_routes) -+ rt_show_net(d, f); - - if (rt_export_feed_active(&d->tab->req)) - rt_feeder_unsubscribe(&d->tab->req); --- -GitLab - diff --git a/net/bird3/files/patch-08-kernel-feed-only-once b/net/bird3/files/patch-08-kernel-feed-only-once deleted file mode 100644 index 33a98cbc4795..000000000000 --- a/net/bird3/files/patch-08-kernel-feed-only-once +++ /dev/null @@ -1,274 +0,0 @@ -From 0fa80d7c79428e5370740a2eba5605b65131ebd6 Mon Sep 17 00:00:00 2001 -From: Maria Matejka -Date: Mon, 23 Dec 2024 11:58:05 +0100 -Subject: [PATCH] Kernel: feed only once during startup - -There was an inefficiency in the initial scan state machine, -causing routes to be fed several times instead of just once. -Now the export startup is postponed until first krt_scan() -finishes and we actually can do the pruning with full information. ---- - nest/proto.c | 4 ++- - nest/protocol.h | 2 ++ - sysdep/unix/krt.c | 69 ++++++++++++++++++++++++++++------------------- - sysdep/unix/krt.h | 5 ++-- - 4 files changed, 48 insertions(+), 32 deletions(-) - -diff --git a/nest/proto.c b/nest/proto.c -index 678697d69..6fa74e9f1 100644 ---- nest/proto.c -+++ nest/proto.c -@@ -676,9 +676,11 @@ void channel_notify_basic(void *); - void channel_notify_accepted(void *); - void channel_notify_merged(void *); - --static void -+void - channel_start_export(struct channel *c) - { -+ ASSERT_DIE(birdloop_inside(c->proto->loop)); -+ - if (rt_export_get_state(&c->out_req) != TES_DOWN) - bug("%s.%s: Attempted to start channel's already started export", c->proto->name, c->name); - -diff --git a/nest/protocol.h b/nest/protocol.h -index cf7ecb898..2bfa1628a 100644 ---- nest/protocol.h -+++ nest/protocol.h -@@ -747,6 +747,8 @@ int proto_configure_channel(struct proto *p, struct channel **c, struct channel_ - - void channel_set_state(struct channel *c, uint state); - -+void channel_start_export(struct channel *c); -+ - void channel_add_obstacle(struct channel *c); - void channel_del_obstacle(struct channel *c); - -diff --git a/sysdep/unix/krt.c b/sysdep/unix/krt.c -index 34882b88f..1658dd6fe 100644 ---- sysdep/unix/krt.c -+++ sysdep/unix/krt.c -@@ -342,6 +342,8 @@ krt_learn_async(struct krt_proto *p, rte *e, int new) - /* Hook defined in nest/rt-table.c ... to be refactored away later */ - rte *krt_export_net(struct channel *c, const net_addr *a, linpool *lp); - -+static void krt_rt_notify(struct proto *P, struct channel *ch, const net_addr *net, rte *new, const rte *old); -+ - static int - krt_same_dest(rte *k, rte *e) - { -@@ -361,6 +363,11 @@ krt_same_dest(rte *k, rte *e) - void - krt_got_route(struct krt_proto *p, rte *e, s8 src) - { -+ /* If we happen to get an asynchronous route notification -+ * before initialization, we wait for the scan. */ -+ if (p->sync_state == KPS_INIT) -+ return; -+ - rte *new = NULL; - e->pflags = 0; - -@@ -391,10 +398,6 @@ krt_got_route(struct krt_proto *p, rte *e, s8 src) - - /* The rest is for KRT_SRC_BIRD (or KRT_SRC_UNKNOWN) */ - -- /* We wait for the initial feed to have correct installed state */ -- if (!p->ready) -- goto ignore; -- - /* Get the exported version */ - new = krt_export_net(p->p.main_channel, e->net, krt_filter_lp); - -@@ -423,10 +426,6 @@ aseen: - krt_trace_in(p, e, "already seen"); - goto done; - --ignore: -- krt_trace_in(p, e, "ignored"); -- goto done; -- - update: - krt_trace_in(p, new, "updating"); - krt_replace_rte(p, e->net, new, e); -@@ -447,12 +446,21 @@ krt_init_scan(struct krt_proto *p) - { - switch (p->sync_state) - { -+ case KPS_INIT: -+ /* Allow exports now */ -+ p->p.rt_notify = krt_rt_notify; -+ channel_start_export(p->p.main_channel); -+ rt_refresh_begin(&p->p.main_channel->in_req); -+ p->sync_state = KPS_FIRST_SCAN; -+ return 1; -+ - case KPS_IDLE: - rt_refresh_begin(&p->p.main_channel->in_req); - bmap_reset(&p->seen_map, 1024); - p->sync_state = KPS_SCANNING; - return 1; - -+ case KPS_FIRST_SCAN: - case KPS_SCANNING: - bug("Kernel scan double-init"); - -@@ -470,14 +478,17 @@ krt_prune(struct krt_proto *p) - { - switch (p->sync_state) - { -+ case KPS_INIT: - case KPS_IDLE: - bug("Kernel scan prune without scan"); - - case KPS_SCANNING: -+ channel_request_full_refeed(p->p.main_channel); -+ /* fall through */ -+ case KPS_FIRST_SCAN: - p->sync_state = KPS_PRUNING; - KRT_TRACE(p, D_EVENTS, "Pruning table %s", p->p.main_channel->table->name); - rt_refresh_end(&p->p.main_channel->in_req); -- channel_request_full_refeed(p->p.main_channel); - break; - - case KPS_PRUNING: -@@ -549,7 +560,7 @@ krt_scan_all(timer *t UNUSED) - krt_do_scan(NULL); - - WALK_LIST2(p, n, krt_proto_list, krt_node) -- if (p->sync_state == KPS_SCANNING) -+ if ((p->sync_state == KPS_SCANNING) || (p->sync_state == KPS_FIRST_SCAN)) - krt_prune(p); - } - -@@ -644,6 +655,9 @@ krt_scan_timer_kick(struct krt_proto *p) - static int - krt_preexport(struct channel *C, rte *e) - { -+ /* The export should not start before proper sync */ -+ ASSERT_DIE(SKIP_BACK(struct krt_proto, p, C->proto)->sync_state != KPS_INIT); -+ - if (e->src->owner == &C->proto->sources) - #ifdef CONFIG_SINGLE_ROUTE - return 1; -@@ -659,15 +673,6 @@ krt_preexport(struct channel *C, rte *e) - return -1; - } - -- /* Before first scan we don't touch the routes */ -- if (!SKIP_BACK(struct krt_proto, p, C->proto)->ready) -- { -- if (C->debug & D_ROUTES) -- log(L_TRACE "%s.%s not ready yet to accept route for %N", -- C->proto->name, C->name, e->net); -- return -1; -- } -- - return 0; - } - -@@ -685,18 +690,24 @@ krt_rt_notify(struct proto *P, struct channel *ch, const net_addr *net, - - switch (p->sync_state) - { -+ case KPS_INIT: -+ bug("Routes in init state should have been rejected by preexport."); -+ - case KPS_IDLE: - case KPS_PRUNING: - if (new && bmap_test(&p->seen_map, new->id)) -+ { - if (ch->debug & D_ROUTES) - { - /* Already installed and seen in the kernel dump */ - log(L_TRACE "%s.%s: %N already in kernel", - P->name, ch->name, net); -- return; - } -+ return; -+ } - - /* fall through */ -+ case KPS_FIRST_SCAN: - case KPS_SCANNING: - /* Actually replace the route */ - krt_replace_rte(p, net, new, old); -@@ -732,7 +743,6 @@ krt_reload_routes(struct channel *C, struct rt_feeding_request *rfr) - - if (KRT_CF->learn) - { -- p->reload = 1; - krt_scan_timer_kick(p); - } - -@@ -749,15 +759,18 @@ krt_export_fed(struct channel *C) - { - struct krt_proto *p = (void *) C->proto; - -- p->ready = 1; -- p->initialized = 1; -- - switch (p->sync_state) - { -+ case KPS_INIT: -+ bug("KRT export started before scan"); -+ - case KPS_IDLE: - krt_scan_timer_kick(p); - break; - -+ case KPS_FIRST_SCAN: -+ bug("KRT export done before first scan"); -+ - case KPS_SCANNING: - break; - -@@ -831,7 +844,8 @@ krt_init(struct proto_config *CF) - p->p.main_channel = proto_add_channel(&p->p, proto_cf_main_channel(CF)); - - p->p.preexport = krt_preexport; -- p->p.rt_notify = krt_rt_notify; -+ /* Not setting rt_notify here to not start exports, must wait for the first scan -+ * and then we can start exports manually */ - p->p.iface_sub.if_notify = krt_if_notify; - p->p.reload_routes = krt_reload_routes; - p->p.export_fed = krt_export_fed; -@@ -887,7 +901,7 @@ krt_shutdown(struct proto *P) - return PS_FLUSH; - - /* FIXME we should flush routes even when persist during reconfiguration */ -- if (p->initialized && !KRT_CF->persist && (P->down_code != PDC_CMD_GR_DOWN)) -+ if ((p->sync_state != KPS_INIT) && !KRT_CF->persist && (P->down_code != PDC_CMD_GR_DOWN)) - { - struct rt_export_feeder req = (struct rt_export_feeder) - { -@@ -922,8 +936,7 @@ krt_shutdown(struct proto *P) - static void - krt_cleanup(struct krt_proto *p) - { -- p->ready = 0; -- p->initialized = 0; -+ p->sync_state = KPS_INIT; - - krt_sys_shutdown(p); - rem_node(&p->krt_node); -diff --git a/sysdep/unix/krt.h b/sysdep/unix/krt.h -index 394e74010..14be715f8 100644 ---- sysdep/unix/krt.h -+++ sysdep/unix/krt.h -@@ -59,10 +59,9 @@ struct krt_proto { - struct bmap seen_map; /* Routes seen during last periodic scan */ - node krt_node; /* Node in krt_proto_list */ - byte af; /* Kernel address family (AF_*) */ -- byte ready; /* Initial feed has been finished */ -- byte initialized; /* First scan has been finished */ -- byte reload; /* Next scan is doing reload */ - PACKED enum krt_prune_state { -+ KPS_INIT, -+ KPS_FIRST_SCAN, - KPS_IDLE, - KPS_SCANNING, - KPS_PRUNING, --- -GitLab - diff --git a/net/bird3/files/patch-09-graceful-recovery b/net/bird3/files/patch-09-graceful-recovery deleted file mode 100644 index d576f80ebc42..000000000000 --- a/net/bird3/files/patch-09-graceful-recovery +++ /dev/null @@ -1,311 +0,0 @@ -From f7639a9fafa7411ebd1f2af56c270b970ac09f3d Mon Sep 17 00:00:00 2001 -From: Maria Matejka -Date: Mon, 23 Dec 2024 21:06:26 +0100 -Subject: [PATCH] Graceful recovery: converted to obstacles - -Yet another refcounting mechanism had a locking collision. ---- - nest/proto.c | 178 ++++++++++++++++++++++++++---------------------- - nest/protocol.h | 14 +++- - 2 files changed, 110 insertions(+), 82 deletions(-) - -diff --git a/nest/proto.c b/nest/proto.c -index 6fa74e9f1..caf99829b 100644 ---- nest/proto.c -+++ nest/proto.c -@@ -31,15 +31,8 @@ static list STATIC_LIST_INIT(protocol_list); - #define CD(c, msg, args...) ({ if (c->debug & D_STATES) log(L_TRACE "%s.%s: " msg, c->proto->name, c->name ?: "?", ## args); }) - #define PD(p, msg, args...) ({ if (p->debug & D_STATES) log(L_TRACE "%s: " msg, p->name, ## args); }) - --static timer *gr_wait_timer; -- --#define GRS_NONE 0 --#define GRS_INIT 1 --#define GRS_ACTIVE 2 --#define GRS_DONE 3 -- --static int graceful_restart_state; --static u32 graceful_restart_locks; -+static struct graceful_recovery_context _graceful_recovery_context; -+OBSREF(struct graceful_recovery_context) graceful_recovery_context; - - static char *p_states[] = { "DOWN", "START", "UP", "STOP" }; - static char *c_states[] = { "DOWN", "START", "UP", "STOP", "RESTART" }; -@@ -912,7 +905,7 @@ channel_do_stop(struct channel *c) - ev_postpone(&c->reimport_event); - - c->gr_wait = 0; -- if (c->gr_lock) -+ if (OBSREF_GET(c->gr_lock)) - channel_graceful_restart_unlock(c); - - CALL(c->class->shutdown, c); -@@ -1407,7 +1400,7 @@ proto_start(struct proto *p) - DBG("Kicking %s up\n", p->name); - PD(p, "Starting"); - -- if (graceful_restart_state == GRS_INIT) -+ if (OBSREF_GET(graceful_recovery_context)) - p->gr_recovery = 1; - - if (p->cf->loop_order != DOMAIN_ORDER(the_bird)) -@@ -1921,7 +1914,45 @@ proto_enable(struct proto *p) - * - */ - --static void graceful_restart_done(timer *t); -+/** -+ * graceful_restart_done - finalize graceful restart -+ * @t: unused -+ * -+ * When there are no locks on graceful restart, the functions finalizes the -+ * graceful restart recovery. Protocols postponing route export until the end of -+ * the recovery are awakened and the export to them is enabled. -+ */ -+static void -+graceful_recovery_done(struct callback *_ UNUSED) -+{ -+ ASSERT_DIE(birdloop_inside(&main_birdloop)); -+ ASSERT_DIE(_graceful_recovery_context.grc_state == GRS_ACTIVE); -+ -+ tm_stop(&_graceful_recovery_context.wait_timer); -+ log(L_INFO "Graceful recovery done"); -+ -+ WALK_TLIST(proto, p, &global_proto_list) -+ PROTO_LOCKED_FROM_MAIN(p) -+ { -+ p->gr_recovery = 0; -+ -+ struct channel *c; -+ WALK_LIST(c, p->channels) -+ { -+ ASSERT_DIE(!OBSREF_GET(c->gr_lock)); -+ -+ /* Resume postponed export of routes */ -+ if ((c->channel_state == CS_UP) && c->gr_wait && p->rt_notify) -+ channel_start_export(c); -+ -+ /* Cleanup */ -+ c->gr_wait = 0; -+ } -+ } -+ -+ _graceful_recovery_context.grc_state = GRS_DONE; -+} -+ - - /** - * graceful_restart_recovery - request initial graceful restart recovery -@@ -1933,7 +1964,30 @@ static void graceful_restart_done(timer *t); - void - graceful_restart_recovery(void) - { -- graceful_restart_state = GRS_INIT; -+ obstacle_target_init( -+ &_graceful_recovery_context.obstacles, -+ &_graceful_recovery_context.obstacles_cleared, -+ &root_pool, "Graceful recovery"); -+ -+ OBSREF_SET(graceful_recovery_context, &_graceful_recovery_context); -+ _graceful_recovery_context.grc_state = GRS_INIT; -+} -+ -+static void -+graceful_recovery_timeout(timer *t UNUSED) -+{ -+ log(L_INFO "Graceful recovery timeout"); -+ WALK_TLIST(proto, p, &global_proto_list) -+ PROTO_LOCKED_FROM_MAIN(p) -+ { -+ struct channel *c; -+ WALK_LIST(c, p->channels) -+ if (OBSREF_GET(c->gr_lock)) -+ { -+ log(L_INFO "Graceful recovery: Not waiting for %s.%s", p->name, c->name); -+ OBSREF_CLEAR(c->gr_lock); -+ } -+ } - } - - /** -@@ -1946,73 +2000,35 @@ graceful_restart_recovery(void) - void - graceful_restart_init(void) - { -- if (!graceful_restart_state) -+ if (!OBSREF_GET(graceful_recovery_context)) - return; - -- log(L_INFO "Graceful restart started"); -+ log(L_INFO "Graceful recovery started"); - -- if (!graceful_restart_locks) -- { -- graceful_restart_done(NULL); -- return; -- } -+ _graceful_recovery_context.grc_state = GRS_ACTIVE; - -- graceful_restart_state = GRS_ACTIVE; -- gr_wait_timer = tm_new_init(proto_pool, graceful_restart_done, NULL, 0, 0); -+ _graceful_recovery_context.wait_timer = (timer) { .hook = graceful_recovery_timeout }; - u32 gr_wait = atomic_load_explicit(&global_runtime, memory_order_relaxed)->gr_wait; -- tm_start(gr_wait_timer, gr_wait S); --} -- --/** -- * graceful_restart_done - finalize graceful restart -- * @t: unused -- * -- * When there are no locks on graceful restart, the functions finalizes the -- * graceful restart recovery. Protocols postponing route export until the end of -- * the recovery are awakened and the export to them is enabled. All other -- * related state is cleared. The function is also called when the graceful -- * restart wait timer fires (but there are still some locks). -- */ --static void --graceful_restart_done(timer *t) --{ -- log(L_INFO "Graceful restart done"); -- graceful_restart_state = GRS_DONE; -- -- WALK_TLIST(proto, p, &global_proto_list) -- { -- if (!p->gr_recovery) -- continue; -- -- struct channel *c; -- WALK_LIST(c, p->channels) -- { -- /* Resume postponed export of routes */ -- if ((c->channel_state == CS_UP) && c->gr_wait && p->rt_notify) -- channel_start_export(c); -+ tm_start(&_graceful_recovery_context.wait_timer, gr_wait S); - -- /* Cleanup */ -- c->gr_wait = 0; -- c->gr_lock = 0; -- } -- -- p->gr_recovery = 0; -- } -+ callback_init(&_graceful_recovery_context.obstacles_cleared, graceful_recovery_done, &main_birdloop); - -- graceful_restart_locks = 0; -- -- rfree(t); -+ /* The last clearing of obstacle reference will cause -+ * the graceful recovery finish immediately. */ -+ OBSREF_CLEAR(graceful_recovery_context); - } - - void - graceful_restart_show_status(void) - { -- if (graceful_restart_state != GRS_ACTIVE) -+ if (_graceful_recovery_context.grc_state != GRS_ACTIVE) - return; - - cli_msg(-24, "Graceful restart recovery in progress"); -- cli_msg(-24, " Waiting for %d channels to recover", graceful_restart_locks); -- cli_msg(-24, " Wait timer is %t/%u", tm_remains(gr_wait_timer), -+ cli_msg(-24, " Waiting for %u channels to recover", -+ obstacle_target_count(&_graceful_recovery_context.obstacles)); -+ cli_msg(-24, " Wait timer is %t/%u", -+ tm_remains(&_graceful_recovery_context.wait_timer), - atomic_load_explicit(&global_runtime, memory_order_relaxed)->gr_wait); - } - -@@ -2032,14 +2048,22 @@ graceful_restart_show_status(void) - void - channel_graceful_restart_lock(struct channel *c) - { -- ASSERT(graceful_restart_state == GRS_INIT); -- ASSERT(c->proto->gr_recovery); -+ ASSERT_DIE(birdloop_inside(&main_birdloop)); - -- if (c->gr_lock) -+ if (OBSREF_GET(c->gr_lock)) - return; - -- c->gr_lock = 1; -- graceful_restart_locks++; -+ switch (_graceful_recovery_context.grc_state) -+ { -+ case GRS_INIT: -+ case GRS_ACTIVE: -+ OBSREF_SET(c->gr_lock, &_graceful_recovery_context); -+ break; -+ -+ case GRS_NONE: -+ case GRS_DONE: -+ break; -+ } - } - - /** -@@ -2052,18 +2076,10 @@ channel_graceful_restart_lock(struct channel *c) - void - channel_graceful_restart_unlock(struct channel *c) - { -- if (!c->gr_lock) -- return; -- -- c->gr_lock = 0; -- graceful_restart_locks--; -- -- if ((graceful_restart_state == GRS_ACTIVE) && !graceful_restart_locks) -- tm_start(gr_wait_timer, 0); -+ OBSREF_CLEAR(c->gr_lock); - } - - -- - /** - * protos_dump_all - dump status of all protocols - * -@@ -2615,9 +2631,9 @@ channel_show_info(struct channel *c) - cli_msg(-1006, " Input filter: %s", filter_name(c->in_filter)); - cli_msg(-1006, " Output filter: %s", filter_name(c->out_filter)); - -- if (graceful_restart_state == GRS_ACTIVE) -+ if (_graceful_recovery_context.grc_state == GRS_ACTIVE) - cli_msg(-1006, " GR recovery: %s%s", -- c->gr_lock ? " pending" : "", -+ OBSREF_GET(c->gr_lock) ? " pending" : "", - c->gr_wait ? " waiting" : ""); - - channel_show_limit(&c->rx_limit, "Receive limit:", c->limit_active & (1 << PLD_RX), c->limit_actions[PLD_RX]); -diff --git a/nest/protocol.h b/nest/protocol.h -index 2bfa1628a..ec561b263 100644 ---- nest/protocol.h -+++ nest/protocol.h -@@ -659,7 +659,7 @@ struct channel { - - u8 channel_state; - u8 reloadable; /* Hook reload_routes() is allowed on the channel */ -- u8 gr_lock; /* Graceful restart mechanism should wait for this channel */ -+ OBSREF(struct graceful_recovery_context) gr_lock; /* Graceful restart mechanism should wait for this channel */ - u8 gr_wait; /* Route export to channel is postponed until graceful restart */ - - u32 obstacles; /* External obstacles remaining before cleanup */ -@@ -763,4 +763,16 @@ void *channel_config_new(const struct channel_class *cc, const char *name, uint - void *channel_config_get(const struct channel_class *cc, const char *name, uint net_type, struct proto_config *proto); - int channel_reconfigure(struct channel *c, struct channel_config *cf); - -+struct graceful_recovery_context { -+ struct obstacle_target obstacles; -+ struct callback obstacles_cleared; -+ enum { -+ GRS_NONE, -+ GRS_INIT, -+ GRS_ACTIVE, -+ GRS_DONE, -+ } grc_state; -+ timer wait_timer; -+}; -+ - #endif --- -GitLab - diff --git a/net/bird3/files/patch-10-stonehenge b/net/bird3/files/patch-10-stonehenge deleted file mode 100644 index a640442dae8d..000000000000 --- a/net/bird3/files/patch-10-stonehenge +++ /dev/null @@ -1,116 +0,0 @@ -From f6ef8b5b58c674dd270b40aa57d20d2d638c48e9 Mon Sep 17 00:00:00 2001 -From: Maria Matejka -Date: Tue, 24 Dec 2024 12:18:39 +0100 -Subject: [PATCH] Stonehenge: multi-slab allocator - -To mid-term allocate and free lots of small blocks in a fast pace, -mb_alloc is too slow and causes heap bloating. We can already allocate -blocks from slabs, and if we allow for a little bit of inefficiency, -we can just use multiple slabs with stepped sizes. - -This technique is already used in ea_list allocation which is gonna be -converted to Stonehenge. ---- - lib/resource.h | 14 ++++++++++++ - lib/slab.c | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 76 insertions(+) - -diff --git a/lib/resource.h b/lib/resource.h -index 48bf1f9ba..12b788510 100644 ---- lib/resource.h -+++ lib/resource.h -@@ -139,6 +139,20 @@ void *sl_allocz(slab *); - void sl_free(void *); - void sl_delete(slab *); - -+/* A whole stonehenge of slabs */ -+ -+typedef struct stonehenge stonehenge; -+typedef struct sth_block { -+ void *block; -+ bool large; -+} sth_block; -+ -+stonehenge *sth_new(pool *); -+sth_block sth_alloc(stonehenge *, uint size); -+sth_block sth_allocz(stonehenge *, uint size); -+void sth_free(sth_block); -+void sth_delete(stonehenge *); -+ - /* - * Low-level memory allocation functions, please don't use - * outside resource manager and possibly sysdep code. -diff --git a/lib/slab.c b/lib/slab.c -index ca971f9fb..d68bfef1e 100644 ---- lib/slab.c -+++ lib/slab.c -@@ -469,4 +469,66 @@ slab_lookup(resource *r, unsigned long a) - return NULL; - } - -+static const uint stonehenge_sizes[] = { 56, 112, 168, 288, 448, 800, 1344 }; -+ -+struct stonehenge { -+ pool *p; -+ slab *s[ARRAY_SIZE(stonehenge_sizes)]; -+}; -+ -+sth_block -+sth_alloc(stonehenge *sth, uint size) -+{ -+ for (uint i=0; is[i]) -+ sth->s[i] = sl_new(sth->p, stonehenge_sizes[i]); -+ -+ return (sth_block) { .block = sl_alloc(sth->s[i]), }; -+ } -+ -+ return (sth_block) { -+ .block = mb_alloc(sth->p, size), -+ .large = 1, -+ }; -+} -+ -+sth_block -+sth_allocz(stonehenge *sth, uint size) -+{ -+ sth_block b = sth_alloc(sth, size); -+ bzero(b.block, size); -+ return b; -+} -+ -+void -+sth_free(sth_block b) -+{ -+ if (b.large) -+ mb_free(b.block); -+ else -+ sl_free(b.block); -+} -+ -+stonehenge * -+sth_new(pool *pp) -+{ -+ stonehenge tmps = { -+ .p = rp_new(pp, pp->domain, "Stonehenge"), -+ }; -+ -+ stonehenge *s = sth_alloc(&tmps, sizeof(stonehenge)).block; -+ *s = tmps; -+ return s; -+} -+ -+void sth_delete(stonehenge *s) -+{ -+ pool *p = s->p; -+ sth_free((sth_block) { s }); -+ rp_free(p); -+} -+ -+ - #endif --- -GitLab - diff --git a/net/bird3/files/patch-11-route-attribute-storage b/net/bird3/files/patch-11-route-attribute-storage deleted file mode 100644 index 5097846203eb..000000000000 --- a/net/bird3/files/patch-11-route-attribute-storage +++ /dev/null @@ -1,80 +0,0 @@ -From 8b389a503ef56aa69aa456fabebd562abe247119 Mon Sep 17 00:00:00 2001 -From: Maria Matejka -Date: Tue, 24 Dec 2024 13:12:58 +0100 -Subject: [PATCH] Route attribute storage moved to Stonehenge - ---- - nest/rt-attr.c | 29 ++++++++--------------------- - 1 file changed, 8 insertions(+), 21 deletions(-) - -diff --git a/nest/rt-attr.c b/nest/rt-attr.c -index a0f7d5718..8d651efb2 100644 ---- nest/rt-attr.c -+++ nest/rt-attr.c -@@ -204,9 +204,7 @@ DOMAIN(attrs) attrs_domain; - - pool *rta_pool; - --/* Assuming page size of 4096, these are magic values for slab allocation */ --static const uint ea_slab_sizes[] = { 56, 112, 168, 288, 448, 800, 1344 }; --static slab *ea_slab[ARRAY_SIZE(ea_slab_sizes)]; -+static stonehenge *ea_sth; - - static slab *rte_src_slab; - -@@ -1583,24 +1581,18 @@ ea_lookup_slow(ea_list *o, u32 squash_upto, enum ea_stored oid) - return rr; - } - -- struct ea_storage *r = NULL; - uint elen = ea_list_size(o); - uint sz = elen + sizeof(struct ea_storage); -- for (uint i=0; il, o, elen); - ea_list_ref(r->l); - -- r->l->flags |= huge; -+ if (b.large) -+ r->l->flags |= EALF_HUGE; -+ - r->l->stored = oid; - r->hash_key = h; - atomic_store_explicit(&r->uc, 1, memory_order_release); -@@ -1668,10 +1660,7 @@ ea_free_deferred(struct deferred_call *dc) - - /* And now we can free the object, finally */ - ea_list_unref(r->l); -- if (r->l->flags & EALF_HUGE) -- mb_free(r); -- else -- sl_free(r); -+ sth_free((sth_block) { r, !!(r->l->flags & EALF_HUGE) }); - - RTA_UNLOCK; - } -@@ -1722,9 +1711,7 @@ rta_init(void) - RTA_LOCK; - rta_pool = rp_new(&root_pool, attrs_domain.attrs, "Attributes"); - -- for (uint i=0; i -Date: Tue, 24 Dec 2024 13:22:56 +0100 -Subject: [PATCH] BGP: TX bucket storage moved to Stonehenge - ---- - proto/bgp/attrs.c | 11 +++++++---- - proto/bgp/bgp.h | 4 ++-- - 2 files changed, 9 insertions(+), 6 deletions(-) - -diff --git a/proto/bgp/attrs.c b/proto/bgp/attrs.c -index a2feaef53..725c469ff 100644 ---- proto/bgp/attrs.c -+++ proto/bgp/attrs.c -@@ -1734,13 +1734,16 @@ bgp_get_bucket(struct bgp_ptx_private *c, ea_list *new) - uint size = sizeof(struct bgp_bucket) + ea_size; - - /* Allocate the bucket */ -- b = mb_alloc(c->pool, size); -+ sth_block blk = sth_alloc(c->sth, size); -+ b = blk.block; - *b = (struct bgp_bucket) { }; - init_list(&b->prefixes); - b->hash = hash; - - /* Copy the ea_list */ - ea_list_copy(b->eattrs, new, ea_size); -+ if (blk.large) -+ b->eattrs->flags |= EALF_HUGE; - - /* Insert the bucket to bucket hash */ - HASH_INSERT2(c->bucket_hash, RBH, c->pool, b); -@@ -1764,7 +1767,7 @@ static void - bgp_free_bucket(struct bgp_ptx_private *c, struct bgp_bucket *b) - { - HASH_REMOVE2(c->bucket_hash, RBH, c->pool, b); -- mb_free(b); -+ sth_free((sth_block) { b, !!(b->eattrs->flags & EALF_HUGE) }); - } - - int -@@ -2086,6 +2089,7 @@ bgp_init_pending_tx(struct bgp_channel *c) - - bpp->lock = dom; - bpp->pool = p; -+ bpp->sth = sth_new(p); - bpp->c = c; - - bgp_init_bucket_table(bpp); -@@ -2160,8 +2164,7 @@ bgp_free_pending_tx(struct bgp_channel *bc) - HASH_WALK_END; - - HASH_FREE(c->bucket_hash); -- sl_delete(c->bucket_slab); -- c->bucket_slab = NULL; -+ sth_delete(c->sth); - - rp_free(c->pool); - -diff --git a/proto/bgp/bgp.h b/proto/bgp/bgp.h -index 202e78ba3..dac6e84ea 100644 ---- proto/bgp/bgp.h -+++ proto/bgp/bgp.h -@@ -452,7 +452,8 @@ struct bgp_ptx_private { - struct { BGP_PTX_PUBLIC; }; - struct bgp_ptx_private **locked_at; - -- pool *pool; /* Resource pool for TX related allocations */ -+ pool *pool; /* Pool for infrequent long-term blocks */ -+ stonehenge *sth; /* Bucket allocator */ - - HASH(struct bgp_bucket) bucket_hash; /* Hash table of route buckets */ - struct bgp_bucket *withdraw_bucket; /* Withdrawn routes */ -@@ -461,7 +462,6 @@ struct bgp_ptx_private { - HASH(struct bgp_prefix) prefix_hash; /* Hash table of pending prefices */ - - slab *prefix_slab; /* Slab holding prefix nodes */ -- slab *bucket_slab; /* Slab holding buckets to send */ - - char bmp; /* This is a fake ptx for BMP encoding */ - }; --- -GitLab - diff --git a/net/bird3/files/patch-13-allocate-normalization-buckets b/net/bird3/files/patch-13-allocate-normalization-buckets deleted file mode 100644 index 60ff582d71c5..000000000000 --- a/net/bird3/files/patch-13-allocate-normalization-buckets +++ /dev/null @@ -1,100 +0,0 @@ -From c3c12e1b4ff908211b156a182a5027f2b11b0709 Mon Sep 17 00:00:00 2001 -From: Maria Matejka -Date: Tue, 24 Dec 2024 16:16:55 +0100 -Subject: [PATCH] Allocate the normalization buckets on stack - -Even though allocating from tmp_linpool is quite cheap, -it isn't cheap when the block is larger than a page, which is the case here. -Instead, we now allocate just the result which typically fits in a page, -avoiding a necessity of a malloc(). ---- - nest/rt-attr.c | 37 ++++++++++++++++++++++++------------- - 1 file changed, 24 insertions(+), 13 deletions(-) - -diff --git a/nest/rt-attr.c b/nest/rt-attr.c -index 8d651efb2..9d5e10980 100644 ---- nest/rt-attr.c -+++ nest/rt-attr.c -@@ -967,8 +967,8 @@ ea_list_size(ea_list *o) - * and creates the final structure useful for storage or fast searching. - * The method is a bucket sort. - * -- * Returns the final ea_list with some excess memory at the end, -- * allocated from the tmp_linpool. The adata is linked from the original places. -+ * Returns the final ea_list allocated from the tmp_linpool. -+ * The adata is linked from the original places. - */ - ea_list * - ea_normalize(ea_list *e, u32 upto) -@@ -976,21 +976,17 @@ ea_normalize(ea_list *e, u32 upto) - /* We expect some work to be actually needed. */ - ASSERT_DIE(!BIT32_TEST(&upto, e->stored)); - -- /* Allocate the output */ -- ea_list *out = tmp_allocz(ea_class_max * sizeof(eattr) + sizeof(ea_list)); -- *out = (ea_list) { -- .flags = EALF_SORTED, -- }; -- -+ /* Allocate the buckets locally */ -+ eattr *buckets = allocz(ea_class_max * sizeof(eattr)); - uint min_id = ~0, max_id = 0; - -- eattr *buckets = out->attrs; -+ ea_list *next = NULL; - - /* Walk the attribute lists, one after another. */ - for (; e; e = e->next) - { -- if (!out->next && BIT32_TEST(&upto, e->stored)) -- out->next = e; -+ if (!next && BIT32_TEST(&upto, e->stored)) -+ next = e; - - for (int i = 0; i < e->count; i++) - { -@@ -1000,7 +996,7 @@ ea_normalize(ea_list *e, u32 upto) - if (id < min_id) - min_id = id; - -- if (out->next) -+ if (next) - { - /* Underlay: check whether the value is duplicate */ - if (buckets[id].id && buckets[id].fresh) -@@ -1026,6 +1022,18 @@ ea_normalize(ea_list *e, u32 upto) - } - } - -+ /* Find out how big the output actually is. */ -+ uint len = 0; -+ for (uint id = min_id; id <= max_id; id++) -+ if (buckets[id].id && !(buckets[id].undef && buckets[id].fresh)) -+ len++; -+ -+ ea_list *out = tmp_alloc(sizeof(ea_list) + len * sizeof(eattr)); -+ *out = (ea_list) { -+ .flags = EALF_SORTED, -+ .next = next, -+ }; -+ - /* And now we just walk the list from beginning to end and collect - * everything to the beginning of the list. - * Walking just that part which is inhabited for sure. */ -@@ -1044,9 +1052,12 @@ ea_normalize(ea_list *e, u32 upto) - - /* Move the attribute to the beginning */ - ASSERT_DIE(out->count < id); -- buckets[out->count++] = buckets[id]; -+ ASSERT_DIE(out->count < len); -+ out->attrs[out->count++] = buckets[id]; - } - -+ ASSERT_DIE(out->count == len); -+ - /* We want to bisect only if the list is long enough */ - if (out->count > 5) - out->flags |= EALF_BISECT; --- -GitLab - diff --git a/net/bird3/files/patch-14-BGP-fix-dislpay-name b/net/bird3/files/patch-14-BGP-fix-dislpay-name deleted file mode 100644 index faf53ec128ef..000000000000 --- a/net/bird3/files/patch-14-BGP-fix-dislpay-name +++ /dev/null @@ -1,25 +0,0 @@ -From b58bfcad683f46da9470ad87e8c78e423e04ff97 Mon Sep 17 00:00:00 2001 -From: Maria Matejka -Date: Fri, 27 Dec 2024 16:22:59 +0100 -Subject: [PATCH] BGP: fix display name of bgp_otc attribute - ---- - proto/bgp/attrs.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/proto/bgp/attrs.c b/proto/bgp/attrs.c -index 725c469ff..5dc06be51 100644 ---- proto/bgp/attrs.c -+++ proto/bgp/attrs.c -@@ -1192,7 +1192,7 @@ static union bgp_attr_desc bgp_attr_table[BGP_ATTR_MAX] = { - .decode = bgp_decode_large_community, - }, - [BA_ONLY_TO_CUSTOMER] = { -- .name = "otc", -+ .name = "bgp_otc", - .type = T_INT, - .flags = BAF_OPTIONAL | BAF_TRANSITIVE, - .encode = bgp_encode_u32, --- -GitLab - diff --git a/net/bird3/files/patch-15-BGP-fixed-deterministic-med-crashes b/net/bird3/files/patch-15-BGP-fixed-deterministic-med-crashes deleted file mode 100644 index 15f3fac00287..000000000000 --- a/net/bird3/files/patch-15-BGP-fixed-deterministic-med-crashes +++ /dev/null @@ -1,65 +0,0 @@ -From c5b07695ce810e4345ed1811eadfce935c83b324 Mon Sep 17 00:00:00 2001 -From: Maria Matejka -Date: Tue, 7 Jan 2025 11:08:04 +0100 -Subject: [PATCH] BGP: fixed deterministic med crashes - -There were several places of forgotten NULL checks. - -Thanks to Alarig Le Lay for reporting: -https://trubka.network.cz/pipermail/bird-users/2024-December/017990.html ---- - nest/rt-table.c | 14 ++++++++++++-- - proto/bgp/attrs.c | 8 ++++---- - 2 files changed, 16 insertions(+), 6 deletions(-) - -diff --git a/nest/rt-table.c b/nest/rt-table.c -index 05191d743..fc6d0d4e0 100644 ---- nest/rt-table.c -+++ nest/rt-table.c -@@ -2024,12 +2024,22 @@ rte_recalculate(struct rtable_private *table, struct rt_import_hook *c, struct n - do_recalculate: - /* Add the new route to the list right behind the old one */ - if (new_stored) -+ { -+ /* There is the same piece of code several lines farther. Needs refactoring. -+ * The old_stored check is needed because of the possible jump from deterministic med */ -+ if (old_stored) - { - atomic_store_explicit(&new_stored->next, atomic_load_explicit(&old_stored->next, memory_order_relaxed), memory_order_release); - atomic_store_explicit(&old_stored->next, new_stored, memory_order_release); -- -- table->rt_count++; - } -+ else -+ { -+ atomic_store_explicit(&new_stored->next, NULL, memory_order_release); -+ atomic_store_explicit(last_ptr, new_stored, memory_order_release); -+ } -+ -+ table->rt_count++; -+ } - - /* Find a new optimal route (if there is any) */ - struct rte_storage * _Atomic *bp = &local_sentinel.next; -diff --git a/proto/bgp/attrs.c b/proto/bgp/attrs.c -index 5dc06be51..db6542343 100644 ---- proto/bgp/attrs.c -+++ proto/bgp/attrs.c -@@ -2689,10 +2689,10 @@ bgp_rte_recalculate(struct rtable_private *table, net *net, - struct rte_storage *new_stored, struct rte_storage *old_stored, struct rte_storage *old_best_stored) - { - struct rte_storage *key_stored = new_stored ? new_stored : old_stored; -- const struct rte *new = &new_stored->rte, -- *old = &old_stored->rte, -- *old_best = &old_best_stored->rte, -- *key = &key_stored->rte; -+ const struct rte *new = RTE_OR_NULL(new_stored), -+ *old = RTE_OR_NULL(old_stored), -+ *old_best = RTE_OR_NULL(old_best_stored), -+ *key = RTE_OR_NULL(key_stored); - - u32 lpref = rt_get_preference(key); - u32 lasn = bgp_get_neighbor(key); --- -GitLab - diff --git a/net/bird3/files/patch-16-Table-old-best-route-refeed-fix b/net/bird3/files/patch-16-Table-old-best-route-refeed-fix deleted file mode 100644 index 60dc7cece2a2..000000000000 --- a/net/bird3/files/patch-16-Table-old-best-route-refeed-fix +++ /dev/null @@ -1,87 +0,0 @@ -From 2e14832d36c83b2ab5b7fb28b701de554fa5fdd9 Mon Sep 17 00:00:00 2001 -From: Maria Matejka -Date: Tue, 7 Jan 2025 12:13:57 +0100 -Subject: [PATCH] Table: old best route refeed fix - -When refeeding with RA_OPTIMAL, the old best routes weren't announced, -leading to weird behavior of protocols, mostly kernel. Fixed. ---- - nest/rt-table.c | 30 ++++++++++++++++++++++++++---- - 1 file changed, 26 insertions(+), 4 deletions(-) - -diff --git a/nest/rt-table.c b/nest/rt-table.c -index fc6d0d4e0..18a445a62 100644 ---- nest/rt-table.c -+++ nest/rt-table.c -@@ -1485,11 +1485,18 @@ channel_notify_basic(void *_channel) - rte *new = &u->feed->block[i]; - rte *old = NULL; - for (uint o = oldpos; o < u->feed->count_routes; o++) -- if (new->src == u->feed->block[o].src) -+ if ((c->ra_mode == RA_ANY) && (new->src == u->feed->block[o].src)) - { - old = &u->feed->block[o]; - break; - } -+ else if ((c->ra_mode == RA_OPTIMAL) && ( -+ bmap_test(&c->export_accepted_map, u->feed->block[o].id) || -+ bmap_test(&c->export_rejected_map, u->feed->block[o].id))) -+ { -+ ASSERT_DIE(!old); -+ old = &u->feed->block[o]; -+ } - - rt_notify_basic(c, new, old); - -@@ -2542,10 +2549,14 @@ rt_feed_net_best(struct rt_exporter *e, struct rcu_unwinder *u, u32 index, bool - last_in_net = atomic_load_explicit(&n->best.last, memory_order_acquire); - first = rt_net_feed_validate_first(tr, first_in_net, last_in_net, first); - -- uint ecnt = 0; -+ uint ecnt = 0, ocnt = 0; - for (const struct rt_pending_export *rpe = first; rpe; - rpe = atomic_load_explicit(&rpe->next, memory_order_acquire)) -+ { - ecnt++; -+ if (rpe->it.old) -+ ocnt++; -+ } - - if (ecnt) { - const net_addr *a = (first->it.new ?: first->it.old)->net; -@@ -2558,10 +2569,11 @@ rt_feed_net_best(struct rt_exporter *e, struct rcu_unwinder *u, u32 index, bool - if (!ecnt && (!best || prefilter && !prefilter(f, best->rte.net))) - return NULL; - -- struct rt_export_feed *feed = rt_alloc_feed(!!best, ecnt); -+ struct rt_export_feed *feed = rt_alloc_feed(!!best + ocnt, ecnt); -+ uint bpos = 0; - if (best) - { -- feed->block[0] = best->rte; -+ feed->block[bpos++] = best->rte; - feed->ni = NET_TO_INDEX(best->rte.net); - } - else -@@ -2575,8 +2587,18 @@ rt_feed_net_best(struct rt_exporter *e, struct rcu_unwinder *u, u32 index, bool - if (e >= ecnt) - RT_READ_RETRY(tr); - else -+ { - feed->exports[e++] = rpe->it.seq; -+ if (rpe->it.old) -+ { -+ ASSERT_DIE(bpos < !!best + ocnt); -+ feed->block[bpos] = *rpe->it.old; -+ feed->block[bpos].flags |= REF_OBSOLETE; -+ bpos++; -+ } -+ } - -+ ASSERT_DIE(bpos == !!best + ocnt); - ASSERT_DIE(e == ecnt); - } - --- -GitLab - From edd8241043811a949b6c3d8b0277cc6b8907d6f0 Mon Sep 17 00:00:00 2001 From: Joe Marcus Clarke Date: Mon, 19 May 2025 09:21:03 -0400 Subject: [PATCH 029/661] net-mgmt/rancid3: Be less verbose with EdgeMax devices Ignore a few transient lines in EdgeMax device output to cut down on the noise. --- net-mgmt/rancid3/Makefile | 1 + net-mgmt/rancid3/files/patch-lib_edgemax.pm.in | 17 +++++++++++++++++ 2 files changed, 18 insertions(+) create mode 100644 net-mgmt/rancid3/files/patch-lib_edgemax.pm.in diff --git a/net-mgmt/rancid3/Makefile b/net-mgmt/rancid3/Makefile index aeaf5e9509cb..7fea86fa8003 100644 --- a/net-mgmt/rancid3/Makefile +++ b/net-mgmt/rancid3/Makefile @@ -1,5 +1,6 @@ PORTNAME= rancid PORTVERSION= 3.14 +PORTREVISION= 1 CATEGORIES= net-mgmt MASTER_SITES= ftp://ftp.shrubbery.net/pub/rancid/ PKGNAMESUFFIX= 3 diff --git a/net-mgmt/rancid3/files/patch-lib_edgemax.pm.in b/net-mgmt/rancid3/files/patch-lib_edgemax.pm.in new file mode 100644 index 000000000000..1e7b176f5f89 --- /dev/null +++ b/net-mgmt/rancid3/files/patch-lib_edgemax.pm.in @@ -0,0 +1,17 @@ +--- lib/edgemax.pm.in.orig 2025-05-19 13:16:15 UTC ++++ lib/edgemax.pm.in +@@ -237,9 +237,11 @@ sub WriteTerm { + next if (/^\s*$/); + $linecnt++; + +- /^!current configuration\s*:/i && next; +- /^!system (description|software|up\s?time)/i && next; +- /^!current sntp synch/i && next; ++ /^!\s?current configuration\s*:/i && next; ++ /^!\s?system (description|software|up\s?time)/i && next; ++ /^!\s?current sntp synch/i && next; ++ /^!\s?config created time/i && next; ++ /^show running-config/ && next; + /^$/ && next; # blank lines + + /^ length / && next; # kill length on serial lines From b5aff04d74ef6c9fc44cda6d2857b79468c519e0 Mon Sep 17 00:00:00 2001 From: Matthias Fechner Date: Sun, 11 May 2025 08:20:10 +0300 Subject: [PATCH 030/661] devel/rubygem-google-apis-core-gitlab: update to 0.17.0 Changes: https://github.com/googleapis/google-api-ruby-client/blob/main/google-apis-core/CHANGELOG.md --- devel/rubygem-google-apis-core-gitlab/Makefile | 2 +- devel/rubygem-google-apis-core-gitlab/distinfo | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/devel/rubygem-google-apis-core-gitlab/Makefile b/devel/rubygem-google-apis-core-gitlab/Makefile index a2a828ac6b1a..38b711c8ae2a 100644 --- a/devel/rubygem-google-apis-core-gitlab/Makefile +++ b/devel/rubygem-google-apis-core-gitlab/Makefile @@ -1,5 +1,5 @@ PORTNAME= google-apis-core -PORTVERSION= 0.15.1 +PORTVERSION= 0.17.0 CATEGORIES= devel rubygems MASTER_SITES= RG PKGNAMESUFFIX= -gitlab diff --git a/devel/rubygem-google-apis-core-gitlab/distinfo b/devel/rubygem-google-apis-core-gitlab/distinfo index 9b8d9030b307..87d3135f0b6d 100644 --- a/devel/rubygem-google-apis-core-gitlab/distinfo +++ b/devel/rubygem-google-apis-core-gitlab/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1722711311 -SHA256 (rubygem/google-apis-core-0.15.1.gem) = 91484122791af5b2f3d3f4297912748febe2b5d704d04ad54cbf5df87339a71a -SIZE (rubygem/google-apis-core-0.15.1.gem) = 36352 +TIMESTAMP = 1746940334 +SHA256 (rubygem/google-apis-core-0.17.0.gem) = 3d4408b26b3f4b517b869be3c5aba40db0e172b4481c20ff882ef47579dd08f8 +SIZE (rubygem/google-apis-core-0.17.0.gem) = 36352 From 2ee21239d196d14459a6efcf6d91446e12efb24a Mon Sep 17 00:00:00 2001 From: Matthias Fechner Date: Sat, 17 May 2025 15:24:41 +0300 Subject: [PATCH 031/661] www/gitlab: new ports required for 18.0.0 --- databases/Makefile | 5 ++ databases/rubygem-activemodel-gitlab/Makefile | 24 +++++++++ databases/rubygem-activemodel-gitlab/distinfo | 3 ++ .../rubygem-activemodel-gitlab/pkg-descr | 7 +++ .../rubygem-activerecord-gitlab/Makefile | 26 ++++++++++ .../rubygem-activerecord-gitlab/distinfo | 3 ++ .../rubygem-activerecord-gitlab/pkg-descr | 11 +++++ .../Makefile | 20 ++++++++ .../distinfo | 3 ++ .../pkg-descr | 1 + .../rubygem-globalid-rails-gitlab/Makefile | 20 ++++++++ .../rubygem-globalid-rails-gitlab/distinfo | 3 ++ .../rubygem-globalid-rails-gitlab/pkg-descr | 1 + .../Makefile | 22 +++++++++ .../distinfo | 3 ++ .../pkg-descr | 1 + devel/Makefile | 12 +++++ devel/rubygem-actionview-gitlab/Makefile | 30 ++++++++++++ devel/rubygem-actionview-gitlab/distinfo | 3 ++ devel/rubygem-actionview-gitlab/pkg-descr | 4 ++ devel/rubygem-activejob-gitlab/Makefile | 28 +++++++++++ devel/rubygem-activejob-gitlab/distinfo | 3 ++ devel/rubygem-activejob-gitlab/pkg-descr | 16 ++++++ devel/rubygem-activesupport-gitlab/Makefile | 37 ++++++++++++++ devel/rubygem-activesupport-gitlab/distinfo | 3 ++ devel/rubygem-activesupport-gitlab/pkg-descr | 4 ++ devel/rubygem-devise-rails-gitlab/Makefile | 26 ++++++++++ devel/rubygem-devise-rails-gitlab/distinfo | 3 ++ devel/rubygem-devise-rails-gitlab/pkg-descr | 5 ++ .../Makefile | 20 ++++++++ .../distinfo | 3 ++ .../pkg-descr | 1 + .../Makefile | 22 +++++++++ .../distinfo | 3 ++ .../pkg-descr | 1 + devel/rubygem-irb-gitlab/Makefile | 28 +++++++++++ devel/rubygem-irb-gitlab/distinfo | 3 ++ devel/rubygem-irb-gitlab/pkg-descr | 2 + devel/rubygem-peek-rails-gitlab/Makefile | 20 ++++++++ devel/rubygem-peek-rails-gitlab/distinfo | 3 ++ devel/rubygem-peek-rails-gitlab/pkg-descr | 14 ++++++ .../rubygem-rails-i18n-rails-gitlab/Makefile | 21 ++++++++ .../rubygem-rails-i18n-rails-gitlab/distinfo | 3 ++ .../rubygem-rails-i18n-rails-gitlab/pkg-descr | 4 ++ devel/rubygem-rdoc-gitlab/Makefile | 29 +++++++++++ devel/rubygem-rdoc-gitlab/distinfo | 3 ++ devel/rubygem-rdoc-gitlab/pkg-descr | 3 ++ .../Makefile | 22 +++++++++ .../distinfo | 3 ++ .../pkg-descr | 9 ++++ .../Makefile | 22 +++++++++ .../distinfo | 3 ++ .../pkg-descr | 1 + mail/Makefile | 3 ++ mail/rubygem-actionmailbox-gitlab/Makefile | 32 ++++++++++++ mail/rubygem-actionmailbox-gitlab/distinfo | 3 ++ mail/rubygem-actionmailbox-gitlab/pkg-descr | 12 +++++ mail/rubygem-actionmailer-gitlab/Makefile | 29 +++++++++++ mail/rubygem-actionmailer-gitlab/distinfo | 3 ++ mail/rubygem-actionmailer-gitlab/pkg-descr | 12 +++++ .../Makefile | 22 +++++++++ .../distinfo | 3 ++ .../pkg-descr | 18 +++++++ net/Makefile | 1 + net/rubygem-activestorage-gitlab/Makefile | 28 +++++++++++ net/rubygem-activestorage-gitlab/distinfo | 3 ++ net/rubygem-activestorage-gitlab/pkg-descr | 11 +++++ security/Makefile | 1 + .../rubygem-doorkeeper-rails-gitlab/Makefile | 22 +++++++++ .../rubygem-doorkeeper-rails-gitlab/distinfo | 3 ++ .../rubygem-doorkeeper-rails-gitlab/pkg-descr | 2 + textproc/Makefile | 2 + textproc/rubygem-actiontext-gitlab/Makefile | 29 +++++++++++ textproc/rubygem-actiontext-gitlab/distinfo | 3 ++ textproc/rubygem-actiontext-gitlab/pkg-descr | 7 +++ .../Makefile | 22 +++++++++ .../distinfo | 3 ++ .../pkg-descr | 6 +++ www/Makefile | 12 +++++ www/gitlab/Makefile.common | 3 ++ www/rubygem-actioncable-gitlab/Makefile | 28 +++++++++++ www/rubygem-actioncable-gitlab/distinfo | 3 ++ www/rubygem-actioncable-gitlab/pkg-descr | 7 +++ www/rubygem-actionpack-gitlab/Makefile | 32 ++++++++++++ www/rubygem-actionpack-gitlab/distinfo | 3 ++ www/rubygem-actionpack-gitlab/pkg-descr | 19 +++++++ .../Makefile | 20 ++++++++ .../distinfo | 3 ++ .../pkg-descr | 12 +++++ www/rubygem-gon-rails-gitlab/Makefile | 24 +++++++++ www/rubygem-gon-rails-gitlab/distinfo | 3 ++ www/rubygem-gon-rails-gitlab/pkg-descr | 2 + .../Makefile | 21 ++++++++ .../distinfo | 3 ++ .../pkg-descr | 1 + .../Makefile | 21 ++++++++ .../distinfo | 3 ++ .../pkg-descr | 1 + www/rubygem-kaminari-rails-gitlab/Makefile | 25 ++++++++++ www/rubygem-kaminari-rails-gitlab/distinfo | 3 ++ www/rubygem-kaminari-rails-gitlab/pkg-descr | 2 + www/rubygem-lograge-rails-gitlab/Makefile | 22 +++++++++ www/rubygem-lograge-rails-gitlab/distinfo | 3 ++ www/rubygem-lograge-rails-gitlab/pkg-descr | 6 +++ www/rubygem-rails-gitlab/Makefile | 49 +++++++++++++++++++ www/rubygem-rails-gitlab/distinfo | 3 ++ www/rubygem-rails-gitlab/pkg-descr | 23 +++++++++ www/rubygem-railties-gitlab/Makefile | 36 ++++++++++++++ www/rubygem-railties-gitlab/distinfo | 3 ++ www/rubygem-railties-gitlab/pkg-descr | 4 ++ www/rubygem-redis-rack-gitlab/Makefile | 25 ++++++++++ www/rubygem-redis-rack-gitlab/distinfo | 3 ++ www/rubygem-redis-rack-gitlab/pkg-descr | 1 + www/rubygem-responders-rails-gitlab/Makefile | 21 ++++++++ www/rubygem-responders-rails-gitlab/distinfo | 3 ++ www/rubygem-responders-rails-gitlab/pkg-descr | 1 + 116 files changed, 1304 insertions(+) create mode 100644 databases/rubygem-activemodel-gitlab/Makefile create mode 100644 databases/rubygem-activemodel-gitlab/distinfo create mode 100644 databases/rubygem-activemodel-gitlab/pkg-descr create mode 100644 databases/rubygem-activerecord-gitlab/Makefile create mode 100644 databases/rubygem-activerecord-gitlab/distinfo create mode 100644 databases/rubygem-activerecord-gitlab/pkg-descr create mode 100644 databases/rubygem-flipper-active_record-rails-gitlab/Makefile create mode 100644 databases/rubygem-flipper-active_record-rails-gitlab/distinfo create mode 100644 databases/rubygem-flipper-active_record-rails-gitlab/pkg-descr create mode 100644 databases/rubygem-globalid-rails-gitlab/Makefile create mode 100644 databases/rubygem-globalid-rails-gitlab/distinfo create mode 100644 databases/rubygem-globalid-rails-gitlab/pkg-descr create mode 100644 databases/rubygem-redis-actionpack-rails-gitlab/Makefile create mode 100644 databases/rubygem-redis-actionpack-rails-gitlab/distinfo create mode 100644 databases/rubygem-redis-actionpack-rails-gitlab/pkg-descr create mode 100644 devel/rubygem-actionview-gitlab/Makefile create mode 100644 devel/rubygem-actionview-gitlab/distinfo create mode 100644 devel/rubygem-actionview-gitlab/pkg-descr create mode 100644 devel/rubygem-activejob-gitlab/Makefile create mode 100644 devel/rubygem-activejob-gitlab/distinfo create mode 100644 devel/rubygem-activejob-gitlab/pkg-descr create mode 100644 devel/rubygem-activesupport-gitlab/Makefile create mode 100644 devel/rubygem-activesupport-gitlab/distinfo create mode 100644 devel/rubygem-activesupport-gitlab/pkg-descr create mode 100644 devel/rubygem-devise-rails-gitlab/Makefile create mode 100644 devel/rubygem-devise-rails-gitlab/distinfo create mode 100644 devel/rubygem-devise-rails-gitlab/pkg-descr create mode 100644 devel/rubygem-flipper-active_support_cache_store-rails-gitlab/Makefile create mode 100644 devel/rubygem-flipper-active_support_cache_store-rails-gitlab/distinfo create mode 100644 devel/rubygem-flipper-active_support_cache_store-rails-gitlab/pkg-descr create mode 100644 devel/rubygem-health_check-rails-gitlab/Makefile create mode 100644 devel/rubygem-health_check-rails-gitlab/distinfo create mode 100644 devel/rubygem-health_check-rails-gitlab/pkg-descr create mode 100644 devel/rubygem-irb-gitlab/Makefile create mode 100644 devel/rubygem-irb-gitlab/distinfo create mode 100644 devel/rubygem-irb-gitlab/pkg-descr create mode 100644 devel/rubygem-peek-rails-gitlab/Makefile create mode 100644 devel/rubygem-peek-rails-gitlab/distinfo create mode 100644 devel/rubygem-peek-rails-gitlab/pkg-descr create mode 100644 devel/rubygem-rails-i18n-rails-gitlab/Makefile create mode 100644 devel/rubygem-rails-i18n-rails-gitlab/distinfo create mode 100644 devel/rubygem-rails-i18n-rails-gitlab/pkg-descr create mode 100644 devel/rubygem-rdoc-gitlab/Makefile create mode 100644 devel/rubygem-rdoc-gitlab/distinfo create mode 100644 devel/rubygem-rdoc-gitlab/pkg-descr create mode 100644 devel/rubygem-sidekiq-cron-rails-gitlab/Makefile create mode 100644 devel/rubygem-sidekiq-cron-rails-gitlab/distinfo create mode 100644 devel/rubygem-sidekiq-cron-rails-gitlab/pkg-descr create mode 100644 devel/rubygem-sprockets-rails-rails-gitlab/Makefile create mode 100644 devel/rubygem-sprockets-rails-rails-gitlab/distinfo create mode 100644 devel/rubygem-sprockets-rails-rails-gitlab/pkg-descr create mode 100644 mail/rubygem-actionmailbox-gitlab/Makefile create mode 100644 mail/rubygem-actionmailbox-gitlab/distinfo create mode 100644 mail/rubygem-actionmailbox-gitlab/pkg-descr create mode 100644 mail/rubygem-actionmailer-gitlab/Makefile create mode 100644 mail/rubygem-actionmailer-gitlab/distinfo create mode 100644 mail/rubygem-actionmailer-gitlab/pkg-descr create mode 100644 mail/rubygem-premailer-rails-rails-gitlab/Makefile create mode 100644 mail/rubygem-premailer-rails-rails-gitlab/distinfo create mode 100644 mail/rubygem-premailer-rails-rails-gitlab/pkg-descr create mode 100644 net/rubygem-activestorage-gitlab/Makefile create mode 100644 net/rubygem-activestorage-gitlab/distinfo create mode 100644 net/rubygem-activestorage-gitlab/pkg-descr create mode 100644 security/rubygem-doorkeeper-rails-gitlab/Makefile create mode 100644 security/rubygem-doorkeeper-rails-gitlab/distinfo create mode 100644 security/rubygem-doorkeeper-rails-gitlab/pkg-descr create mode 100644 textproc/rubygem-actiontext-gitlab/Makefile create mode 100644 textproc/rubygem-actiontext-gitlab/distinfo create mode 100644 textproc/rubygem-actiontext-gitlab/pkg-descr create mode 100644 textproc/rubygem-rails-dom-testing-rails-gitlab/Makefile create mode 100644 textproc/rubygem-rails-dom-testing-rails-gitlab/distinfo create mode 100644 textproc/rubygem-rails-dom-testing-rails-gitlab/pkg-descr create mode 100644 www/rubygem-actioncable-gitlab/Makefile create mode 100644 www/rubygem-actioncable-gitlab/distinfo create mode 100644 www/rubygem-actioncable-gitlab/pkg-descr create mode 100644 www/rubygem-actionpack-gitlab/Makefile create mode 100644 www/rubygem-actionpack-gitlab/distinfo create mode 100644 www/rubygem-actionpack-gitlab/pkg-descr create mode 100644 www/rubygem-cssbundling-rails-rails-gitlab/Makefile create mode 100644 www/rubygem-cssbundling-rails-rails-gitlab/distinfo create mode 100644 www/rubygem-cssbundling-rails-rails-gitlab/pkg-descr create mode 100644 www/rubygem-gon-rails-gitlab/Makefile create mode 100644 www/rubygem-gon-rails-gitlab/distinfo create mode 100644 www/rubygem-gon-rails-gitlab/pkg-descr create mode 100644 www/rubygem-kaminari-actionview-rails-gitlab/Makefile create mode 100644 www/rubygem-kaminari-actionview-rails-gitlab/distinfo create mode 100644 www/rubygem-kaminari-actionview-rails-gitlab/pkg-descr create mode 100644 www/rubygem-kaminari-activerecord-rails-gitlab/Makefile create mode 100644 www/rubygem-kaminari-activerecord-rails-gitlab/distinfo create mode 100644 www/rubygem-kaminari-activerecord-rails-gitlab/pkg-descr create mode 100644 www/rubygem-kaminari-rails-gitlab/Makefile create mode 100644 www/rubygem-kaminari-rails-gitlab/distinfo create mode 100644 www/rubygem-kaminari-rails-gitlab/pkg-descr create mode 100644 www/rubygem-lograge-rails-gitlab/Makefile create mode 100644 www/rubygem-lograge-rails-gitlab/distinfo create mode 100644 www/rubygem-lograge-rails-gitlab/pkg-descr create mode 100644 www/rubygem-rails-gitlab/Makefile create mode 100644 www/rubygem-rails-gitlab/distinfo create mode 100644 www/rubygem-rails-gitlab/pkg-descr create mode 100644 www/rubygem-railties-gitlab/Makefile create mode 100644 www/rubygem-railties-gitlab/distinfo create mode 100644 www/rubygem-railties-gitlab/pkg-descr create mode 100644 www/rubygem-redis-rack-gitlab/Makefile create mode 100644 www/rubygem-redis-rack-gitlab/distinfo create mode 100644 www/rubygem-redis-rack-gitlab/pkg-descr create mode 100644 www/rubygem-responders-rails-gitlab/Makefile create mode 100644 www/rubygem-responders-rails-gitlab/distinfo create mode 100644 www/rubygem-responders-rails-gitlab/pkg-descr diff --git a/databases/Makefile b/databases/Makefile index 55cca30e9738..8096fff6ce47 100644 --- a/databases/Makefile +++ b/databases/Makefile @@ -890,6 +890,7 @@ SUBDIR += ruby-xapian SUBDIR += rubygem-active_model_serializers SUBDIR += rubygem-active_record_query_trace + SUBDIR += rubygem-activemodel-gitlab SUBDIR += rubygem-activemodel-serializers-xml SUBDIR += rubygem-activemodel4 SUBDIR += rubygem-activemodel5 @@ -902,6 +903,7 @@ SUBDIR += rubygem-activemodel72 SUBDIR += rubygem-activemodel80 SUBDIR += rubygem-activerecord-explain-analyze + SUBDIR += rubygem-activerecord-gitlab SUBDIR += rubygem-activerecord-import SUBDIR += rubygem-activerecord-jdbc-adapter SUBDIR += rubygem-activerecord-jdbcmysql-adapter @@ -963,9 +965,11 @@ SUBDIR += rubygem-fabrication SUBDIR += rubygem-familia SUBDIR += rubygem-flipper-active_record + SUBDIR += rubygem-flipper-active_record-rails-gitlab SUBDIR += rubygem-flipper-active_record-rails70 SUBDIR += rubygem-gdbm SUBDIR += rubygem-globalid + SUBDIR += rubygem-globalid-rails-gitlab SUBDIR += rubygem-globalid-rails5 SUBDIR += rubygem-globalid-rails50 SUBDIR += rubygem-globalid-rails52 @@ -1011,6 +1015,7 @@ SUBDIR += rubygem-red-parquet SUBDIR += rubygem-redis SUBDIR += rubygem-redis-actionpack + SUBDIR += rubygem-redis-actionpack-rails-gitlab SUBDIR += rubygem-redis-actionpack-rails5 SUBDIR += rubygem-redis-actionpack-rails50 SUBDIR += rubygem-redis-actionpack-rails52 diff --git a/databases/rubygem-activemodel-gitlab/Makefile b/databases/rubygem-activemodel-gitlab/Makefile new file mode 100644 index 000000000000..52a7f4f11de6 --- /dev/null +++ b/databases/rubygem-activemodel-gitlab/Makefile @@ -0,0 +1,24 @@ +PORTNAME= activemodel +PORTVERSION= ${RAILS_VERSION} +CATEGORIES= databases rubygems +MASTER_SITES= RG +PKGNAMESUFFIX= -gitlab + +MAINTAINER= mfechner@FreeBSD.org +COMMENT= Toolkit for building modeling frameworks like Active Record +WWW= https://github.com/rails/rails/tree/main/activemodel \ + https://rubyonrails.org/ + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/MIT-LICENSE + +RUN_DEPENDS= rubygem-activesupport-gitlab>=${PORTVERSION}<${PORTVERSION}_99:devel/rubygem-activesupport-gitlab + +USES= gem + +NO_ARCH= yes + +PORTSCOUT= limit:^7\.1\. + +.include "${.CURDIR}/../../www/gitlab/Makefile.common" +.include diff --git a/databases/rubygem-activemodel-gitlab/distinfo b/databases/rubygem-activemodel-gitlab/distinfo new file mode 100644 index 000000000000..e4865ee9c810 --- /dev/null +++ b/databases/rubygem-activemodel-gitlab/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1734888804 +SHA256 (rubygem/activemodel-7.1.5.1.gem) = 74727466854a7fbdfe8f2702ca3112b23877500d4926bf7e02e921ad542191f1 +SIZE (rubygem/activemodel-7.1.5.1.gem) = 69632 diff --git a/databases/rubygem-activemodel-gitlab/pkg-descr b/databases/rubygem-activemodel-gitlab/pkg-descr new file mode 100644 index 000000000000..9e0e982e3352 --- /dev/null +++ b/databases/rubygem-activemodel-gitlab/pkg-descr @@ -0,0 +1,7 @@ +Active Model provides a known set of interfaces for usage in model classes. They +allow for Action Pack helpers to interact with non-Active Record models, for +example. Active Model also helps with building custom ORMs for use outside of +the Rails framework. + +Active Model provides a default module that implements the basic API required to +integrate with Action Pack out of the box: ActiveModel::API. diff --git a/databases/rubygem-activerecord-gitlab/Makefile b/databases/rubygem-activerecord-gitlab/Makefile new file mode 100644 index 000000000000..182cb62b8dd2 --- /dev/null +++ b/databases/rubygem-activerecord-gitlab/Makefile @@ -0,0 +1,26 @@ +PORTNAME= activerecord +PORTVERSION= ${RAILS_VERSION} +CATEGORIES= databases rubygems +MASTER_SITES= RG +PKGNAMESUFFIX= -gitlab + +MAINTAINER= mfechner@FreeBSD.org +COMMENT= Object-relational mapping layer for Rails MVC Framework +WWW= https://github.com/rails/rails/tree/main/activerecord \ + https://rubyonrails.org/ + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/MIT-LICENSE + +RUN_DEPENDS= rubygem-activemodel-gitlab>=${PORTVERSION}<${PORTVERSION}_99:databases/rubygem-activemodel-gitlab \ + rubygem-activesupport-gitlab>=${PORTVERSION}<${PORTVERSION}_99:devel/rubygem-activesupport-gitlab \ + rubygem-timeout>=0.4.0:devel/rubygem-timeout + +USES= gem + +NO_ARCH= yes + +PORTSCOUT= limit:^7\.1\. + +.include "${.CURDIR}/../../www/gitlab/Makefile.common" +.include diff --git a/databases/rubygem-activerecord-gitlab/distinfo b/databases/rubygem-activerecord-gitlab/distinfo new file mode 100644 index 000000000000..d5e0a1e9d921 --- /dev/null +++ b/databases/rubygem-activerecord-gitlab/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1734888806 +SHA256 (rubygem/activerecord-7.1.5.1.gem) = f40ad1609bf33b9ba5bdc4e16d80a77b1517153234ceb413d31d635d7b91f1e3 +SIZE (rubygem/activerecord-7.1.5.1.gem) = 548352 diff --git a/databases/rubygem-activerecord-gitlab/pkg-descr b/databases/rubygem-activerecord-gitlab/pkg-descr new file mode 100644 index 000000000000..2ec976f87967 --- /dev/null +++ b/databases/rubygem-activerecord-gitlab/pkg-descr @@ -0,0 +1,11 @@ +Active Record connects classes to relational database tables to establish an +almost zero-configuration persistence layer for applications. The library +provides a base class that, when subclassed, sets up a mapping between the new +class and an existing table in the database. In the context of an application, +these classes are commonly referred to as models. Models can also be connected +to other models; this is done by defining associations. + +Active Record relies heavily on naming in that it uses class and association +names to establish mappings between respective database tables and foreign key +columns. Although these mappings can be defined explicitly, it's recommended to +follow naming conventions, especially when getting started with the library. diff --git a/databases/rubygem-flipper-active_record-rails-gitlab/Makefile b/databases/rubygem-flipper-active_record-rails-gitlab/Makefile new file mode 100644 index 000000000000..85162f9791b0 --- /dev/null +++ b/databases/rubygem-flipper-active_record-rails-gitlab/Makefile @@ -0,0 +1,20 @@ +PORTNAME= flipper-active_record +PORTVERSION= 0.28.3 +CATEGORIES= databases rubygems +MASTER_SITES= RG +PKGNAMESUFFIX= -rails-gitlab + +MAINTAINER= ruby@FreeBSD.org +COMMENT= ActiveRecord adapter for Flipper +WWW= https://github.com/jnunemaker/flipper + +LICENSE= MIT + +RUN_DEPENDS= rubygem-activerecord-gitlab>=4.2<8:databases/rubygem-activerecord-gitlab \ + rubygem-flipper-gitlab>=${PORTVERSION}<0.29:devel/rubygem-flipper-gitlab + +USES= gem + +NO_ARCH= yes + +.include diff --git a/databases/rubygem-flipper-active_record-rails-gitlab/distinfo b/databases/rubygem-flipper-active_record-rails-gitlab/distinfo new file mode 100644 index 000000000000..b2946f771c56 --- /dev/null +++ b/databases/rubygem-flipper-active_record-rails-gitlab/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1742395937 +SHA256 (rubygem/flipper-active_record-0.28.3.gem) = c6a91c265da8062b75cf575708e325b931e248e5f81582fea8c4cdf461ad1920 +SIZE (rubygem/flipper-active_record-0.28.3.gem) = 10240 diff --git a/databases/rubygem-flipper-active_record-rails-gitlab/pkg-descr b/databases/rubygem-flipper-active_record-rails-gitlab/pkg-descr new file mode 100644 index 000000000000..635d5a774c49 --- /dev/null +++ b/databases/rubygem-flipper-active_record-rails-gitlab/pkg-descr @@ -0,0 +1 @@ +Flipper ActiveRecord is an ActiveRecord adapter for Flipper. diff --git a/databases/rubygem-globalid-rails-gitlab/Makefile b/databases/rubygem-globalid-rails-gitlab/Makefile new file mode 100644 index 000000000000..d2d7830a5099 --- /dev/null +++ b/databases/rubygem-globalid-rails-gitlab/Makefile @@ -0,0 +1,20 @@ +PORTNAME= globalid +PORTVERSION= 1.2.1 +CATEGORIES= databases rubygems +MASTER_SITES= RG +PKGNAMESUFFIX= -rails-gitlab + +MAINTAINER= mfechner@FreeBSD.org +COMMENT= URIs for your models makes it easy to pass references around +WWW= https://github.com/rails/globalid + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/MIT-LICENSE + +RUN_DEPENDS= rubygem-activesupport-gitlab>=6.1:devel/rubygem-activesupport-gitlab + +USES= gem + +NO_ARCH= yes + +.include diff --git a/databases/rubygem-globalid-rails-gitlab/distinfo b/databases/rubygem-globalid-rails-gitlab/distinfo new file mode 100644 index 000000000000..f25598c9d396 --- /dev/null +++ b/databases/rubygem-globalid-rails-gitlab/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1697330208 +SHA256 (rubygem/globalid-1.2.1.gem) = 70bf76711871f843dbba72beb8613229a49429d1866828476f9c9d6ccc327ce9 +SIZE (rubygem/globalid-1.2.1.gem) = 14848 diff --git a/databases/rubygem-globalid-rails-gitlab/pkg-descr b/databases/rubygem-globalid-rails-gitlab/pkg-descr new file mode 100644 index 000000000000..09672db6bc67 --- /dev/null +++ b/databases/rubygem-globalid-rails-gitlab/pkg-descr @@ -0,0 +1 @@ +URIs for your models makes it easy to pass references around. diff --git a/databases/rubygem-redis-actionpack-rails-gitlab/Makefile b/databases/rubygem-redis-actionpack-rails-gitlab/Makefile new file mode 100644 index 000000000000..98ca3d2728bd --- /dev/null +++ b/databases/rubygem-redis-actionpack-rails-gitlab/Makefile @@ -0,0 +1,22 @@ +PORTNAME= redis-actionpack +PORTVERSION= 5.5.0 +CATEGORIES= databases rubygems +MASTER_SITES= RG +PKGNAMESUFFIX= -rails-gitlab + +MAINTAINER= ruby@FreeBSD.org +COMMENT= Redis session store for ActionPack +WWW= https://redis-store.org/redis-actionpack/ + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/MIT-LICENSE + +RUN_DEPENDS= rubygem-actionpack-gitlab>=5:www/rubygem-actionpack-gitlab \ + rubygem-redis-rack-gitlab>=2.1.0<4:www/rubygem-redis-rack-gitlab \ + rubygem-redis-store>=1.1.0<2:devel/rubygem-redis-store + +USES= gem + +NO_ARCH= yes + +.include diff --git a/databases/rubygem-redis-actionpack-rails-gitlab/distinfo b/databases/rubygem-redis-actionpack-rails-gitlab/distinfo new file mode 100644 index 000000000000..e74b30ddb543 --- /dev/null +++ b/databases/rubygem-redis-actionpack-rails-gitlab/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1734501996 +SHA256 (rubygem/redis-actionpack-5.5.0.gem) = dc0570b78c14ec62b35c17b97fab778ee5986bc55e695bfb6826488088693311 +SIZE (rubygem/redis-actionpack-5.5.0.gem) = 14848 diff --git a/databases/rubygem-redis-actionpack-rails-gitlab/pkg-descr b/databases/rubygem-redis-actionpack-rails-gitlab/pkg-descr new file mode 100644 index 000000000000..ebcad6a52a5c --- /dev/null +++ b/databases/rubygem-redis-actionpack-rails-gitlab/pkg-descr @@ -0,0 +1 @@ +Redis session store for ActionPack diff --git a/devel/Makefile b/devel/Makefile index ecbe7c24dc9f..b4ec7c6194e4 100644 --- a/devel/Makefile +++ b/devel/Makefile @@ -6427,6 +6427,7 @@ SUBDIR += rubygem-abstract SUBDIR += rubygem-actionpack-action_caching SUBDIR += rubygem-actionpack-page_caching + SUBDIR += rubygem-actionview-gitlab SUBDIR += rubygem-actionview4 SUBDIR += rubygem-actionview5 SUBDIR += rubygem-actionview50 @@ -6439,6 +6440,7 @@ SUBDIR += rubygem-actionview80 SUBDIR += rubygem-active_hash SUBDIR += rubygem-active_scaffold + SUBDIR += rubygem-activejob-gitlab SUBDIR += rubygem-activejob4 SUBDIR += rubygem-activejob5 SUBDIR += rubygem-activejob50 @@ -6451,6 +6453,7 @@ SUBDIR += rubygem-activejob80 SUBDIR += rubygem-activemessaging SUBDIR += rubygem-activerecord-deprecated_finders + SUBDIR += rubygem-activesupport-gitlab SUBDIR += rubygem-activesupport4 SUBDIR += rubygem-activesupport5 SUBDIR += rubygem-activesupport50 @@ -7207,6 +7210,7 @@ SUBDIR += rubygem-device_detector SUBDIR += rubygem-devise SUBDIR += rubygem-devise-pwned_password + SUBDIR += rubygem-devise-rails-gitlab SUBDIR += rubygem-devise-rails5 SUBDIR += rubygem-devise-rails52 SUBDIR += rubygem-devise-rails60 @@ -7291,6 +7295,7 @@ SUBDIR += rubygem-flexmock SUBDIR += rubygem-flipper SUBDIR += rubygem-flipper-active_support_cache_store + SUBDIR += rubygem-flipper-active_support_cache_store-rails-gitlab SUBDIR += rubygem-flipper-active_support_cache_store-rails70 SUBDIR += rubygem-flipper-gitlab SUBDIR += rubygem-flipper-ui @@ -7430,6 +7435,7 @@ SUBDIR += rubygem-hashie-forbidden_attributes SUBDIR += rubygem-hashie4 SUBDIR += rubygem-health_check + SUBDIR += rubygem-health_check-rails-gitlab SUBDIR += rubygem-health_check-rails70 SUBDIR += rubygem-heapy SUBDIR += rubygem-highline @@ -7466,6 +7472,7 @@ SUBDIR += rubygem-iostruct SUBDIR += rubygem-ipynbdiff SUBDIR += rubygem-irb + SUBDIR += rubygem-irb-gitlab SUBDIR += rubygem-iso8601 SUBDIR += rubygem-jaeger-client SUBDIR += rubygem-jammit @@ -7684,6 +7691,7 @@ SUBDIR += rubygem-peek-gc-rails52 SUBDIR += rubygem-peek-host SUBDIR += rubygem-peek-performance_bar + SUBDIR += rubygem-peek-rails-gitlab SUBDIR += rubygem-peek-rails4 SUBDIR += rubygem-peek-rails52 SUBDIR += rubygem-peek-rails60 @@ -7738,6 +7746,7 @@ SUBDIR += rubygem-rails-deprecated_sanitizer SUBDIR += rubygem-rails-deprecated_sanitizer-rails5 SUBDIR += rubygem-rails-deprecated_sanitizer-rails50 + SUBDIR += rubygem-rails-i18n-rails-gitlab SUBDIR += rubygem-rails-i18n-rails5 SUBDIR += rubygem-rails-i18n-rails50 SUBDIR += rubygem-rails-i18n-rails52 @@ -7764,6 +7773,7 @@ SUBDIR += rubygem-rbtrace SUBDIR += rubygem-rbtree SUBDIR += rubygem-rdoc + SUBDIR += rubygem-rdoc-gitlab SUBDIR += rubygem-re2 SUBDIR += rubygem-react-rails SUBDIR += rubygem-react-rails-rails5 @@ -7883,6 +7893,7 @@ SUBDIR += rubygem-sidekiq SUBDIR += rubygem-sidekiq-bulk SUBDIR += rubygem-sidekiq-cron + SUBDIR += rubygem-sidekiq-cron-rails-gitlab SUBDIR += rubygem-sidekiq-cron-rails70 SUBDIR += rubygem-sidekiq-gitlab SUBDIR += rubygem-sidekiq-scheduler @@ -7917,6 +7928,7 @@ SUBDIR += rubygem-sprockets SUBDIR += rubygem-sprockets-es6 SUBDIR += rubygem-sprockets-helpers + SUBDIR += rubygem-sprockets-rails-rails-gitlab SUBDIR += rubygem-sprockets-rails-rails4 SUBDIR += rubygem-sprockets-rails-rails5 SUBDIR += rubygem-sprockets-rails-rails50 diff --git a/devel/rubygem-actionview-gitlab/Makefile b/devel/rubygem-actionview-gitlab/Makefile new file mode 100644 index 000000000000..992e2ceab740 --- /dev/null +++ b/devel/rubygem-actionview-gitlab/Makefile @@ -0,0 +1,30 @@ +PORTNAME= actionview +PORTVERSION= ${RAILS_VERSION} +CATEGORIES= devel rubygems +MASTER_SITES= RG +PKGNAMESUFFIX= -gitlab + +MAINTAINER= mfechner@FreeBSD.org +COMMENT= Simple, battle-tested conventions and helpers for building web pages +WWW= https://github.com/rails/rails/tree/main/actionview \ + https://rubyonrails.org/ + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/MIT-LICENSE + +RUN_DEPENDS= rubygem-activesupport-gitlab>=${PORTVERSION}<${PORTVERSION}_99:devel/rubygem-activesupport-gitlab \ + rubygem-builder>=3.1<4:devel/rubygem-builder \ + rubygem-erubi>=1.11<2:www/rubygem-erubi \ + rubygem-rails-dom-testing-rails-gitlab>=2.2<3:textproc/rubygem-rails-dom-testing-rails-gitlab \ + rubygem-rails-html-sanitizer>=1.6<2:textproc/rubygem-rails-html-sanitizer + +USES= cpe gem + +NO_ARCH= yes + +CPE_VENDOR= rubyonrails + +PORTSCOUT= limit:^7\.1\. + +.include "${.CURDIR}/../../www/gitlab/Makefile.common" +.include diff --git a/devel/rubygem-actionview-gitlab/distinfo b/devel/rubygem-actionview-gitlab/distinfo new file mode 100644 index 000000000000..89237c9aeba2 --- /dev/null +++ b/devel/rubygem-actionview-gitlab/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1734888808 +SHA256 (rubygem/actionview-7.1.5.1.gem) = 8c559a213501798e29b50b5341a643a70bbf6fa0aa2abaf571d0efc59dc4f6aa +SIZE (rubygem/actionview-7.1.5.1.gem) = 188416 diff --git a/devel/rubygem-actionview-gitlab/pkg-descr b/devel/rubygem-actionview-gitlab/pkg-descr new file mode 100644 index 000000000000..904615b292ae --- /dev/null +++ b/devel/rubygem-actionview-gitlab/pkg-descr @@ -0,0 +1,4 @@ +Action View is a framework for handling view template lookup and rendering, and +provides view helpers that assist when building HTML forms, Atom feeds and more. +Template formats that Action View handles are ERB (embedded Ruby, typically used +to inline short Ruby snippets inside HTML), and XML Builder. diff --git a/devel/rubygem-activejob-gitlab/Makefile b/devel/rubygem-activejob-gitlab/Makefile new file mode 100644 index 000000000000..e7d9e5c7550f --- /dev/null +++ b/devel/rubygem-activejob-gitlab/Makefile @@ -0,0 +1,28 @@ +PORTNAME= activejob +PORTVERSION= ${RAILS_VERSION} +CATEGORIES= devel rubygems +MASTER_SITES= RG +PKGNAMESUFFIX= -gitlab + +MAINTAINER= mfechner@FreeBSD.org +COMMENT= Declare job classes that can be run by a variety of queuing backends +WWW= https://github.com/rails/rails/tree/main/activejob \ + https://rubyonrails.org/ + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/MIT-LICENSE + +RUN_DEPENDS= rubygem-activesupport-gitlab>=${PORTVERSION}<${PORTVERSION}_99:devel/rubygem-activesupport-gitlab \ + rubygem-globalid-rails-gitlab>=0.3.6:databases/rubygem-globalid-rails-gitlab + +USES= cpe gem + +NO_ARCH= yes + +CPE_VENDOR= rubyonrails +CPE_PRODUCT= active_job + +PORTSCOUT= limit:^7\.1\. + +.include "${.CURDIR}/../../www/gitlab/Makefile.common" +.include diff --git a/devel/rubygem-activejob-gitlab/distinfo b/devel/rubygem-activejob-gitlab/distinfo new file mode 100644 index 000000000000..dccec58750c5 --- /dev/null +++ b/devel/rubygem-activejob-gitlab/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1734888810 +SHA256 (rubygem/activejob-7.1.5.1.gem) = 7633376c857f4c491d06b5a7f5d86d9f07afc595398354a3f1abe80eb7e35767 +SIZE (rubygem/activejob-7.1.5.1.gem) = 37376 diff --git a/devel/rubygem-activejob-gitlab/pkg-descr b/devel/rubygem-activejob-gitlab/pkg-descr new file mode 100644 index 000000000000..d618ca834e3c --- /dev/null +++ b/devel/rubygem-activejob-gitlab/pkg-descr @@ -0,0 +1,16 @@ +Active Job is a framework for declaring jobs and making them run on a variety of +queuing backends. These jobs can be everything from regularly scheduled +clean-ups, to billing charges, to mailings -- anything that can be chopped up +into small units of work and run in parallel. + +It also serves as the backend for Action Mailer's #deliver_later functionality +that makes it easy to turn any mailing into a job for running later. That's one +of the most common jobs in a modern web application: sending emails outside the +request-response cycle, so the user doesn't have to wait on it. + +The main point is to ensure that all Rails apps will have a job infrastructure +in place, even if it's in the form of an "immediate runner". We can then have +framework features and other gems build on top of that, without having to worry +about API differences between Delayed Job and Resque. Picking your queuing +backend becomes more of an operational concern, then. And you'll be able to +switch between them without having to rewrite your jobs. diff --git a/devel/rubygem-activesupport-gitlab/Makefile b/devel/rubygem-activesupport-gitlab/Makefile new file mode 100644 index 000000000000..e827dbc8e41b --- /dev/null +++ b/devel/rubygem-activesupport-gitlab/Makefile @@ -0,0 +1,37 @@ +PORTNAME= activesupport +PORTVERSION= ${RAILS_VERSION} +CATEGORIES= devel rubygems +MASTER_SITES= RG +PKGNAMESUFFIX= -gitlab + +MAINTAINER= mfechner@FreeBSD.org +COMMENT= Toolkit of support libraries and Ruby core extensions extracted from the Rails framework +WWW= https://github.com/rails/rails/tree/main/activesupport \ + https://rubyonrails.org/ + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/MIT-LICENSE + +RUN_DEPENDS= rubygem-base64>=0:converters/rubygem-base64 \ + rubygem-benchmark>=0.3:benchmarks/rubygem-benchmark \ + rubygem-bigdecimal>=0:math/rubygem-bigdecimal \ + rubygem-concurrent-ruby>=1.0.2<2:devel/rubygem-concurrent-ruby \ + rubygem-connection_pool>=2.2.5:net/rubygem-connection_pool \ + rubygem-drb>=0:devel/rubygem-drb \ + rubygem-i18n>=1.6,2<2,2:devel/rubygem-i18n \ + rubygem-logger>=1.4.2:devel/rubygem-logger \ + rubygem-minitest>=5.1:devel/rubygem-minitest \ + rubygem-mutex_m>=0:devel/rubygem-mutex_m \ + rubygem-securerandom>=0.3:security/rubygem-securerandom \ + rubygem-tzinfo>=2.0<3:devel/rubygem-tzinfo + +USES= cpe gem + +NO_ARCH= yes + +CPE_VENDOR= activesupport_project + +PORTSCOUT= limit:^7\.1\. + +.include "${.CURDIR}/../../www/gitlab/Makefile.common" +.include diff --git a/devel/rubygem-activesupport-gitlab/distinfo b/devel/rubygem-activesupport-gitlab/distinfo new file mode 100644 index 000000000000..956eb38246ba --- /dev/null +++ b/devel/rubygem-activesupport-gitlab/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1734888812 +SHA256 (rubygem/activesupport-7.1.5.1.gem) = 9f0c482e473b9868cb3dfe3e9db549a3bd2302c02e4f595a5caac144a8c7cfb8 +SIZE (rubygem/activesupport-7.1.5.1.gem) = 258560 diff --git a/devel/rubygem-activesupport-gitlab/pkg-descr b/devel/rubygem-activesupport-gitlab/pkg-descr new file mode 100644 index 000000000000..67a1ee92e655 --- /dev/null +++ b/devel/rubygem-activesupport-gitlab/pkg-descr @@ -0,0 +1,4 @@ +Active Support is a collection of utility classes and standard library +extensions that were found useful for the Rails framework. These additions +reside in this package so they can be loaded as needed in Ruby projects outside +of Rails. diff --git a/devel/rubygem-devise-rails-gitlab/Makefile b/devel/rubygem-devise-rails-gitlab/Makefile new file mode 100644 index 000000000000..6d9d533b556f --- /dev/null +++ b/devel/rubygem-devise-rails-gitlab/Makefile @@ -0,0 +1,26 @@ +PORTNAME= devise +PORTVERSION= 4.9.4 +CATEGORIES= devel rubygems +MASTER_SITES= RG +PKGNAMESUFFIX= -rails-gitlab + +MAINTAINER= mfechner@FreeBSD.org +COMMENT= Flexible authentication solution for Rails with Warden +WWW= https://github.com/heartcombo/devise + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/MIT-LICENSE + +RUN_DEPENDS= rubygem-bcrypt>=3.0<4:security/rubygem-bcrypt \ + rubygem-orm_adapter>=0.1<1:devel/rubygem-orm_adapter \ + rubygem-railties-gitlab>=4.1.0:www/rubygem-railties-gitlab \ + rubygem-responders-rails-gitlab>=0:www/rubygem-responders-rails-gitlab \ + rubygem-warden>=1.2.3<1.3:devel/rubygem-warden + +USES= cpe gem + +NO_ARCH= yes + +CPE_VENDOR= plataformatec + +.include diff --git a/devel/rubygem-devise-rails-gitlab/distinfo b/devel/rubygem-devise-rails-gitlab/distinfo new file mode 100644 index 000000000000..0595d588dc00 --- /dev/null +++ b/devel/rubygem-devise-rails-gitlab/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1714227792 +SHA256 (rubygem/devise-4.9.4.gem) = 920042fe5e704c548aa4eb65ebdd65980b83ffae67feb32c697206bfd975a7f8 +SIZE (rubygem/devise-4.9.4.gem) = 95744 diff --git a/devel/rubygem-devise-rails-gitlab/pkg-descr b/devel/rubygem-devise-rails-gitlab/pkg-descr new file mode 100644 index 000000000000..eda2e6aab5ab --- /dev/null +++ b/devel/rubygem-devise-rails-gitlab/pkg-descr @@ -0,0 +1,5 @@ +Devise is a flexible authentication solution for Rails based on Warden. It: +- Is Rack based; +- Is a complete MVC solution based on Rails engines; +- Allows you to have multiple models signed in at the same time; +- Is based on a modularity concept: use only what you really need. diff --git a/devel/rubygem-flipper-active_support_cache_store-rails-gitlab/Makefile b/devel/rubygem-flipper-active_support_cache_store-rails-gitlab/Makefile new file mode 100644 index 000000000000..7a72d75375f5 --- /dev/null +++ b/devel/rubygem-flipper-active_support_cache_store-rails-gitlab/Makefile @@ -0,0 +1,20 @@ +PORTNAME= flipper-active_support_cache_store +PORTVERSION= 0.28.3 +CATEGORIES= devel rubygems +MASTER_SITES= RG +PKGNAMESUFFIX= -rails-gitlab + +MAINTAINER= ruby@FreeBSD.org +COMMENT= ActiveSupport::Cache store adapter for Flipper +WWW= https://github.com/jnunemaker/flipper + +LICENSE= MIT + +RUN_DEPENDS= rubygem-activesupport-gitlab>=4.2<8:devel/rubygem-activesupport-gitlab \ + rubygem-flipper-gitlab>=${PORTVERSION}<0.29:devel/rubygem-flipper-gitlab + +USES= gem + +NO_ARCH= yes + +.include diff --git a/devel/rubygem-flipper-active_support_cache_store-rails-gitlab/distinfo b/devel/rubygem-flipper-active_support_cache_store-rails-gitlab/distinfo new file mode 100644 index 000000000000..1f5d4ba8dfc8 --- /dev/null +++ b/devel/rubygem-flipper-active_support_cache_store-rails-gitlab/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1742396064 +SHA256 (rubygem/flipper-active_support_cache_store-0.28.3.gem) = 111ae20579920206f001d4b33a9d96770fd23c709beeb6ca136c9ebc96fbd9fd +SIZE (rubygem/flipper-active_support_cache_store-0.28.3.gem) = 6656 diff --git a/devel/rubygem-flipper-active_support_cache_store-rails-gitlab/pkg-descr b/devel/rubygem-flipper-active_support_cache_store-rails-gitlab/pkg-descr new file mode 100644 index 000000000000..36326ed2c572 --- /dev/null +++ b/devel/rubygem-flipper-active_support_cache_store-rails-gitlab/pkg-descr @@ -0,0 +1 @@ +ActiveSupport::Cache store adapter for Flipper diff --git a/devel/rubygem-health_check-rails-gitlab/Makefile b/devel/rubygem-health_check-rails-gitlab/Makefile new file mode 100644 index 000000000000..6eb469b6a832 --- /dev/null +++ b/devel/rubygem-health_check-rails-gitlab/Makefile @@ -0,0 +1,22 @@ +PORTNAME= health_check +PORTVERSION= 3.1.0 +CATEGORIES= devel rubygems +MASTER_SITES= RG +PKGNAMESUFFIX= -rails-gitlab + +MAINTAINER= ruby@FreeBSD.org +COMMENT= Simple health check of Rails app for uptime monitoring +WWW= https://github.com/ianheggie/health_check + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/MIT-LICENSE + +RUN_DEPENDS= rubygem-railties-gitlab>=5.0:www/rubygem-railties-gitlab + +USES= gem shebangfix + +NO_ARCH= yes + +SHEBANG_FILES= test/*railsapp + +.include diff --git a/devel/rubygem-health_check-rails-gitlab/distinfo b/devel/rubygem-health_check-rails-gitlab/distinfo new file mode 100644 index 000000000000..8e87e7350f91 --- /dev/null +++ b/devel/rubygem-health_check-rails-gitlab/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1624630294 +SHA256 (rubygem/health_check-3.1.0.gem) = 10146508237dc54ed7e24c292d8ba7fb8f9590cf26c66e325b947438c4103b57 +SIZE (rubygem/health_check-3.1.0.gem) = 34816 diff --git a/devel/rubygem-health_check-rails-gitlab/pkg-descr b/devel/rubygem-health_check-rails-gitlab/pkg-descr new file mode 100644 index 000000000000..53267c53e60d --- /dev/null +++ b/devel/rubygem-health_check-rails-gitlab/pkg-descr @@ -0,0 +1 @@ +Simple health check of Rails app for uptime monitoring. diff --git a/devel/rubygem-irb-gitlab/Makefile b/devel/rubygem-irb-gitlab/Makefile new file mode 100644 index 000000000000..d18b059d03aa --- /dev/null +++ b/devel/rubygem-irb-gitlab/Makefile @@ -0,0 +1,28 @@ +PORTNAME= irb +PORTVERSION= 1.15.2 +CATEGORIES= devel rubygems +MASTER_SITES= RG +PKGNAMESUFFIX= -gitlab + +MAINTAINER= mfechner@FreeBSD.org +COMMENT= Interactive Ruby +WWW= https://github.com/ruby/irb + +LICENSE= BSD2CLAUSE +LICENSE_FILE= ${WRKSRC}/LICENSE.txt + +RUN_DEPENDS= rubygem-pp>=0.6.0:devel/rubygem-pp \ + rubygem-rdoc-gitlab>=4.0.0:devel/rubygem-rdoc-gitlab \ + rubygem-reline>=0.4.2:devel/rubygem-reline + +USES= gem + +NO_ARCH= yes + +PLIST_FILES= bin/irb \ + share/man/man1/irb.1.gz + +post-install: + ${INSTALL_DATA} ${WRKSRC}/man/irb.1 ${STAGEDIR}${PREFIX}/share/man/man1 + +.include diff --git a/devel/rubygem-irb-gitlab/distinfo b/devel/rubygem-irb-gitlab/distinfo new file mode 100644 index 000000000000..caac9fe6921f --- /dev/null +++ b/devel/rubygem-irb-gitlab/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1744289434 +SHA256 (rubygem/irb-1.15.2.gem) = 222f32952e278da34b58ffe45e8634bf4afc2dc7aa9da23fed67e581aa50fdba +SIZE (rubygem/irb-1.15.2.gem) = 88576 diff --git a/devel/rubygem-irb-gitlab/pkg-descr b/devel/rubygem-irb-gitlab/pkg-descr new file mode 100644 index 000000000000..bc345563e557 --- /dev/null +++ b/devel/rubygem-irb-gitlab/pkg-descr @@ -0,0 +1,2 @@ +IRB stands for "interactive Ruby" and is a tool to interactively execute +Ruby expressions read from the standard input. diff --git a/devel/rubygem-peek-rails-gitlab/Makefile b/devel/rubygem-peek-rails-gitlab/Makefile new file mode 100644 index 000000000000..81405b1932cb --- /dev/null +++ b/devel/rubygem-peek-rails-gitlab/Makefile @@ -0,0 +1,20 @@ +PORTNAME= peek +PORTVERSION= 1.1.0 +CATEGORIES= devel rubygems +MASTER_SITES= RG +PKGNAMESUFFIX= -rails-gitlab + +MAINTAINER= mfechner@FreeBSD.org +COMMENT= Take a peek into your Rails application +WWW= https://github.com/peek/peek + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE.txt + +RUN_DEPENDS= rubygem-railties-gitlab>=4.0.0:www/rubygem-railties-gitlab + +USES= gem + +NO_ARCH= yes + +.include diff --git a/devel/rubygem-peek-rails-gitlab/distinfo b/devel/rubygem-peek-rails-gitlab/distinfo new file mode 100644 index 000000000000..9ef19d243bd1 --- /dev/null +++ b/devel/rubygem-peek-rails-gitlab/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1576923479 +SHA256 (rubygem/peek-1.1.0.gem) = d6501ead8cde46d8d8ed0d59eb6f0ba713d0a41c11a2c4a81447b2dce37b3ecc +SIZE (rubygem/peek-1.1.0.gem) = 25600 diff --git a/devel/rubygem-peek-rails-gitlab/pkg-descr b/devel/rubygem-peek-rails-gitlab/pkg-descr new file mode 100644 index 000000000000..c25be2488a63 --- /dev/null +++ b/devel/rubygem-peek-rails-gitlab/pkg-descr @@ -0,0 +1,14 @@ +This is a profiling tool originally built at GitHub to help us get an insight +into our application. Now, we have extracted this into Peek, so that other Rails +application can experience the same benefit. + +Peek puts a little bar on top of your application to show you all sorts of +helpful information about your application. From the screenshot above, you can +see that Peek provides information about database queries, cache, Resque workers +and more. However, this is only part of Peek's beauty. + +The true beauty of Peek lies in the fact that it is an extensible platform. If +there are some performance metrics that you need but are not available on Peek, +you can find it from the list of available Peek Views and integrate it into +Peek. Even if you do not find what you want on Peek Views, you can always create +your own. diff --git a/devel/rubygem-rails-i18n-rails-gitlab/Makefile b/devel/rubygem-rails-i18n-rails-gitlab/Makefile new file mode 100644 index 000000000000..1e27dc3a6c20 --- /dev/null +++ b/devel/rubygem-rails-i18n-rails-gitlab/Makefile @@ -0,0 +1,21 @@ +PORTNAME= rails-i18n +PORTVERSION= 7.0.10 +CATEGORIES= devel rubygems +MASTER_SITES= RG +PKGNAMESUFFIX= -rails-gitlab + +MAINTAINER= mfechner@FreeBSD.org +COMMENT= Set of common locale data and translations for Rails +WWW= https://github.com/svenfuchs/rails-i18n + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/MIT-LICENSE.txt + +RUN_DEPENDS= rubygem-i18n>=0.7,2<2,2:devel/rubygem-i18n \ + rubygem-railties-gitlab>=6.0.0<8:www/rubygem-railties-gitlab + +USES= gem + +NO_ARCH= yes + +.include diff --git a/devel/rubygem-rails-i18n-rails-gitlab/distinfo b/devel/rubygem-rails-i18n-rails-gitlab/distinfo new file mode 100644 index 000000000000..7ffb16c83918 --- /dev/null +++ b/devel/rubygem-rails-i18n-rails-gitlab/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1730296060 +SHA256 (rubygem/rails-i18n-7.0.10.gem) = efae16e0ac28c0f42e98555c8db1327d69ab02058c8b535e0933cb106dd931ca +SIZE (rubygem/rails-i18n-7.0.10.gem) = 121344 diff --git a/devel/rubygem-rails-i18n-rails-gitlab/pkg-descr b/devel/rubygem-rails-i18n-rails-gitlab/pkg-descr new file mode 100644 index 000000000000..9c9396c860d9 --- /dev/null +++ b/devel/rubygem-rails-i18n-rails-gitlab/pkg-descr @@ -0,0 +1,4 @@ +Centralization of locale data collection for Ruby on Rails. + +It provides a set of common locale data and translations to internationalize +and/or localize your Rails applications. diff --git a/devel/rubygem-rdoc-gitlab/Makefile b/devel/rubygem-rdoc-gitlab/Makefile new file mode 100644 index 000000000000..aa9df190eb3b --- /dev/null +++ b/devel/rubygem-rdoc-gitlab/Makefile @@ -0,0 +1,29 @@ +PORTNAME= rdoc +PORTVERSION= 6.3.4.1 +CATEGORIES= devel rubygems +MASTER_SITES= RG +PKGNAMESUFFIX= -gitlab + +MAINTAINER= mfechner@FreeBSD.org +COMMENT= RDoc produces HTML and command-line documentation for Ruby projects +WWW= https://ruby.github.io/rdoc/ \ + https://github.com/ruby/rdoc + +LICENSE= GPLv2 RUBY +LICENSE_COMB= dual +LICENSE_FILE_RUBY= ${WRKSRC}/LICENSE.rdoc + +USES= cpe gem + +NO_ARCH= yes + +PLIST_FILES= bin/rdoc \ + bin/ri \ + share/man/man1/ri.1.gz + +CPE_VENDOR= ruby-lang + +post-install: + ${INSTALL_DATA} ${WRKSRC}/man/ri.1 ${STAGEDIR}${PREFIX}/share/man/man1 + +.include diff --git a/devel/rubygem-rdoc-gitlab/distinfo b/devel/rubygem-rdoc-gitlab/distinfo new file mode 100644 index 000000000000..4e6f307a78b0 --- /dev/null +++ b/devel/rubygem-rdoc-gitlab/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1747479202 +SHA256 (rubygem/rdoc-6.3.4.1.gem) = 0e1c30d007ed66b25698dea49bbdb5b50e6b25a04a851023d9b9d0317c0dc083 +SIZE (rubygem/rdoc-6.3.4.1.gem) = 570368 diff --git a/devel/rubygem-rdoc-gitlab/pkg-descr b/devel/rubygem-rdoc-gitlab/pkg-descr new file mode 100644 index 000000000000..2feceb4c8aa1 --- /dev/null +++ b/devel/rubygem-rdoc-gitlab/pkg-descr @@ -0,0 +1,3 @@ +RDoc produces HTML and command-line documentation for Ruby projects. RDoc +includes the +rdoc+ and +ri+ tools for generating and displaying online +documentation. See RDoc for a description of RDoc's markup and basic use. diff --git a/devel/rubygem-sidekiq-cron-rails-gitlab/Makefile b/devel/rubygem-sidekiq-cron-rails-gitlab/Makefile new file mode 100644 index 000000000000..8607d6c90d61 --- /dev/null +++ b/devel/rubygem-sidekiq-cron-rails-gitlab/Makefile @@ -0,0 +1,22 @@ +PORTNAME= sidekiq-cron +PORTVERSION= 1.12.0 +CATEGORIES= devel rubygems +MASTER_SITES= RG +PKGNAMESUFFIX= -rails-gitlab + +MAINTAINER= ruby@FreeBSD.org +COMMENT= Enables to set jobs to be run in specified time (using CRON notation) +WWW= https://github.com/sidekiq-cron/sidekiq-cron + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE.txt + +RUN_DEPENDS= rubygem-fugit>=1.8<2:devel/rubygem-fugit \ + rubygem-globalid-rails-gitlab>=1.0.1:databases/rubygem-globalid-rails-gitlab \ + rubygem-sidekiq-gitlab>=6:devel/rubygem-sidekiq-gitlab + +USES= gem + +NO_ARCH= yes + +.include diff --git a/devel/rubygem-sidekiq-cron-rails-gitlab/distinfo b/devel/rubygem-sidekiq-cron-rails-gitlab/distinfo new file mode 100644 index 000000000000..e1a55ac8baab --- /dev/null +++ b/devel/rubygem-sidekiq-cron-rails-gitlab/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1702543774 +SHA256 (rubygem/sidekiq-cron-1.12.0.gem) = 6663080a454088bd88773a0da3ae91e554b8a2e8b06cfc629529a83fd1a3096c +SIZE (rubygem/sidekiq-cron-1.12.0.gem) = 23040 diff --git a/devel/rubygem-sidekiq-cron-rails-gitlab/pkg-descr b/devel/rubygem-sidekiq-cron-rails-gitlab/pkg-descr new file mode 100644 index 000000000000..1763659ffead --- /dev/null +++ b/devel/rubygem-sidekiq-cron-rails-gitlab/pkg-descr @@ -0,0 +1,9 @@ +Sidekiq-Cron is a scheduling add-on for Sidekiq. + +It runs a thread alongside Sidekiq workers to schedule jobs at specified times +(using cron notation * * * * * parsed by Rufus-Scheduler). + +It also checks for new jobs to schedule every 10 seconds and doesn't schedule +the same job multiple times when more than one Sidekiq worker is running. + +Scheduling jobs are added only when at least one Sidekiq process is running. diff --git a/devel/rubygem-sprockets-rails-rails-gitlab/Makefile b/devel/rubygem-sprockets-rails-rails-gitlab/Makefile new file mode 100644 index 000000000000..e2eb78e0843d --- /dev/null +++ b/devel/rubygem-sprockets-rails-rails-gitlab/Makefile @@ -0,0 +1,22 @@ +PORTNAME= sprockets-rails +PORTVERSION= 3.5.2 +CATEGORIES= devel rubygems +MASTER_SITES= RG +PKGNAMESUFFIX= -rails-gitlab + +MAINTAINER= mfechner@FreeBSD.org +COMMENT= Sprockets Rails integration +WWW= https://github.com/rails/sprockets-rails + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/MIT-LICENSE + +RUN_DEPENDS= rubygem-actionpack-gitlab>=5.2:www/rubygem-actionpack-gitlab \ + rubygem-activesupport-gitlab>=5.2:devel/rubygem-activesupport-gitlab \ + rubygem-sprockets>=3.0.0:devel/rubygem-sprockets + +USES= gem + +NO_ARCH= yes + +.include diff --git a/devel/rubygem-sprockets-rails-rails-gitlab/distinfo b/devel/rubygem-sprockets-rails-rails-gitlab/distinfo new file mode 100644 index 000000000000..ac8e143c69bc --- /dev/null +++ b/devel/rubygem-sprockets-rails-rails-gitlab/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1722711329 +SHA256 (rubygem/sprockets-rails-3.5.2.gem) = a9e88e6ce9f8c912d349aa5401509165ec42326baf9e942a85de4b76dbc4119e +SIZE (rubygem/sprockets-rails-3.5.2.gem) = 16384 diff --git a/devel/rubygem-sprockets-rails-rails-gitlab/pkg-descr b/devel/rubygem-sprockets-rails-rails-gitlab/pkg-descr new file mode 100644 index 000000000000..04e7020dca45 --- /dev/null +++ b/devel/rubygem-sprockets-rails-rails-gitlab/pkg-descr @@ -0,0 +1 @@ +Sprockets Rails integration diff --git a/mail/Makefile b/mail/Makefile index 6c286492fe1f..b29b0f531b41 100644 --- a/mail/Makefile +++ b/mail/Makefile @@ -598,12 +598,14 @@ SUBDIR += rspamd-devel SUBDIR += rss2email3 SUBDIR += ruby-notmuch + SUBDIR += rubygem-actionmailbox-gitlab SUBDIR += rubygem-actionmailbox60 SUBDIR += rubygem-actionmailbox61 SUBDIR += rubygem-actionmailbox70 SUBDIR += rubygem-actionmailbox71 SUBDIR += rubygem-actionmailbox72 SUBDIR += rubygem-actionmailbox80 + SUBDIR += rubygem-actionmailer-gitlab SUBDIR += rubygem-actionmailer4 SUBDIR += rubygem-actionmailer5 SUBDIR += rubygem-actionmailer50 @@ -632,6 +634,7 @@ SUBDIR += rubygem-pony SUBDIR += rubygem-premailer SUBDIR += rubygem-premailer-rails + SUBDIR += rubygem-premailer-rails-rails-gitlab SUBDIR += rubygem-premailer-rails-rails5 SUBDIR += rubygem-premailer-rails-rails52 SUBDIR += rubygem-premailer-rails-rails60 diff --git a/mail/rubygem-actionmailbox-gitlab/Makefile b/mail/rubygem-actionmailbox-gitlab/Makefile new file mode 100644 index 000000000000..0dd42085926e --- /dev/null +++ b/mail/rubygem-actionmailbox-gitlab/Makefile @@ -0,0 +1,32 @@ +PORTNAME= actionmailbox +PORTVERSION= ${RAILS_VERSION} +CATEGORIES= mail rubygems +MASTER_SITES= RG +PKGNAMESUFFIX= -gitlab + +MAINTAINER= mfechner@FreeBSD.org +COMMENT= Receive and process incoming emails in Rails applications +WWW= https://github.com/rails/rails/tree/main/actionmailbox \ + https://rubyonrails.org/ + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/MIT-LICENSE + +RUN_DEPENDS= rubygem-actionpack-gitlab>=${PORTVERSION}<${PORTVERSION}_99:www/rubygem-actionpack-gitlab \ + rubygem-activejob-gitlab>=${PORTVERSION}<${PORTVERSION}_99:devel/rubygem-activejob-gitlab \ + rubygem-activerecord-gitlab>=${PORTVERSION}<${PORTVERSION}_99:databases/rubygem-activerecord-gitlab \ + rubygem-activestorage-gitlab>=${PORTVERSION}<${PORTVERSION}_99:net/rubygem-activestorage-gitlab \ + rubygem-activesupport-gitlab>=${PORTVERSION}<${PORTVERSION}_99:devel/rubygem-activesupport-gitlab \ + rubygem-mail>=2.7.1,2:mail/rubygem-mail \ + rubygem-net-imap>=0:mail/rubygem-net-imap \ + rubygem-net-pop>=0:mail/rubygem-net-pop \ + rubygem-net-smtp>=0:mail/rubygem-net-smtp + +USES= gem + +NO_ARCH= yes + +PORTSCOUT= limit:^7\.1\. + +.include "${.CURDIR}/../../www/gitlab/Makefile.common" +.include diff --git a/mail/rubygem-actionmailbox-gitlab/distinfo b/mail/rubygem-actionmailbox-gitlab/distinfo new file mode 100644 index 000000000000..bee32cb33adc --- /dev/null +++ b/mail/rubygem-actionmailbox-gitlab/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1734888814 +SHA256 (rubygem/actionmailbox-7.1.5.1.gem) = c3c20589fe43e6fa88bba2d76a6f9805ffdd02531f4a9a4af8197d59f5a5360a +SIZE (rubygem/actionmailbox-7.1.5.1.gem) = 22528 diff --git a/mail/rubygem-actionmailbox-gitlab/pkg-descr b/mail/rubygem-actionmailbox-gitlab/pkg-descr new file mode 100644 index 000000000000..ffc1daea8253 --- /dev/null +++ b/mail/rubygem-actionmailbox-gitlab/pkg-descr @@ -0,0 +1,12 @@ +Action Mailbox routes incoming emails to controller-like mailboxes for +processing in Rails. It ships with ingresses for Mailgun, Mandrill, Postmark, +and SendGrid. You can also handle inbound mails directly via the built-in Exim, +Postfix, and Qmail ingresses. + +The inbound emails are turned into InboundEmail records using Active Record and +feature lifecycle tracking, storage of the original email on cloud storage via +Active Storage, and responsible data handling with on-by-default incineration. + +These inbound emails are routed asynchronously using Active Job to one or +several dedicated mailboxes, which are capable of interacting directly with the +rest of your domain model. diff --git a/mail/rubygem-actionmailer-gitlab/Makefile b/mail/rubygem-actionmailer-gitlab/Makefile new file mode 100644 index 000000000000..36bf654c541a --- /dev/null +++ b/mail/rubygem-actionmailer-gitlab/Makefile @@ -0,0 +1,29 @@ +PORTNAME= actionmailer +PORTVERSION= ${RAILS_VERSION} +CATEGORIES= mail rubygems +MASTER_SITES= RG +PKGNAMESUFFIX= -gitlab + +MAINTAINER= mfechner@FreeBSD.org +COMMENT= Compose, deliver, and test emails on Rails +WWW= https://github.com/rails/rails/tree/main/actionmailer \ + https://rubyonrails.org/ + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/MIT-LICENSE + +RUN_DEPENDS= rubygem-actionpack-gitlab>=${PORTVERSION}<${PORTVERSION}_99:www/rubygem-actionpack-gitlab \ + rubygem-actionview-gitlab>=${PORTVERSION}<${PORTVERSION}_99:devel/rubygem-actionview-gitlab \ + rubygem-activejob-gitlab>=${PORTVERSION}<${PORTVERSION}_99:devel/rubygem-activejob-gitlab \ + rubygem-activesupport-gitlab>=${PORTVERSION}<${PORTVERSION}_99:devel/rubygem-activesupport-gitlab \ + rubygem-mail>=2.5.4,2<3,2:mail/rubygem-mail \ + rubygem-rails-dom-testing-rails-gitlab>=2.2<3:textproc/rubygem-rails-dom-testing-rails-gitlab + +USES= gem + +NO_ARCH= yes + +PORTSCOUT= limit:^7\.1\. + +.include "${.CURDIR}/../../www/gitlab/Makefile.common" +.include diff --git a/mail/rubygem-actionmailer-gitlab/distinfo b/mail/rubygem-actionmailer-gitlab/distinfo new file mode 100644 index 000000000000..c1c6df2ad492 --- /dev/null +++ b/mail/rubygem-actionmailer-gitlab/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1734888816 +SHA256 (rubygem/actionmailer-7.1.5.1.gem) = b213d6d880b23b093ccfef3b4f87a3d27e4666442f71b5b634b2d19e19a49759 +SIZE (rubygem/actionmailer-7.1.5.1.gem) = 34304 diff --git a/mail/rubygem-actionmailer-gitlab/pkg-descr b/mail/rubygem-actionmailer-gitlab/pkg-descr new file mode 100644 index 000000000000..e757a32e32bf --- /dev/null +++ b/mail/rubygem-actionmailer-gitlab/pkg-descr @@ -0,0 +1,12 @@ +Action Mailer is a framework for designing email service layers. These layers +are used to consolidate code for sending out forgotten passwords, welcome wishes +on signup, invoices for billing, and any other use case that requires a written +notification to either a person or another system. + +Action Mailer is in essence a wrapper around Action Controller and the Mail gem. +It provides a way to make emails using templates in the same way that Action +Controller renders views using templates. + +Additionally, an Action Mailer class can be used to process incoming email, such +as allowing a blog to accept new posts from an email (which could even have been +sent from a phone). diff --git a/mail/rubygem-premailer-rails-rails-gitlab/Makefile b/mail/rubygem-premailer-rails-rails-gitlab/Makefile new file mode 100644 index 000000000000..89ef97c8804f --- /dev/null +++ b/mail/rubygem-premailer-rails-rails-gitlab/Makefile @@ -0,0 +1,22 @@ +PORTNAME= premailer-rails +PORTVERSION= 1.12.0 +CATEGORIES= mail rubygems +MASTER_SITES= RG +PKGNAMESUFFIX= -rails-gitlab + +MAINTAINER= mfechner@FreeBSD.org +COMMENT= CSS styled emails without the hassle +WWW= https://github.com/fphilipe/premailer-rails + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE + +RUN_DEPENDS= rubygem-actionmailer-gitlab>=3:mail/rubygem-actionmailer-gitlab \ + rubygem-net-smtp>=0:mail/rubygem-net-smtp \ + rubygem-premailer>=1.7.9<2:mail/rubygem-premailer + +USES= gem + +NO_ARCH= yes + +.include diff --git a/mail/rubygem-premailer-rails-rails-gitlab/distinfo b/mail/rubygem-premailer-rails-rails-gitlab/distinfo new file mode 100644 index 000000000000..87942c22dfcd --- /dev/null +++ b/mail/rubygem-premailer-rails-rails-gitlab/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1714227794 +SHA256 (rubygem/premailer-rails-1.12.0.gem) = c13815d161b9bc7f7d3d81396b0bb0a61a90fa9bd89931548bf4e537c7710400 +SIZE (rubygem/premailer-rails-1.12.0.gem) = 25088 diff --git a/mail/rubygem-premailer-rails-rails-gitlab/pkg-descr b/mail/rubygem-premailer-rails-rails-gitlab/pkg-descr new file mode 100644 index 000000000000..4d35cd4d87da --- /dev/null +++ b/mail/rubygem-premailer-rails-rails-gitlab/pkg-descr @@ -0,0 +1,18 @@ +premailer-rails is a drop in solution for styling HTML emails with CSS without +having to do the hard work yourself. + +Styling emails is not just a matter of linking to a stylesheet. Most clients, +especially web clients, ignore linked stylesheets or