summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--MOVED2
-rw-r--r--databases/Makefile5
-rw-r--r--databases/mongodb80/Makefile55
-rw-r--r--databases/mongodb80/distinfo12
-rw-r--r--databases/mongodb80/files/patch-src_third__party_mozjs_gen-config.sh16
-rw-r--r--databases/pgpool-II-43/Makefile2
-rw-r--r--databases/pgpool-II-43/distinfo6
-rw-r--r--databases/pgpool-II-44/Makefile2
-rw-r--r--databases/pgpool-II-44/distinfo6
-rw-r--r--databases/pgpool-II-45/Makefile2
-rw-r--r--databases/pgpool-II-45/distinfo6
-rw-r--r--databases/pgpool-II-46/Makefile2
-rw-r--r--databases/pgpool-II-46/distinfo6
-rw-r--r--databases/pspg/Makefile2
-rw-r--r--databases/pspg/distinfo6
-rw-r--r--databases/rubygem-activemodel-gitlab/Makefile24
-rw-r--r--databases/rubygem-activemodel-gitlab/distinfo3
-rw-r--r--databases/rubygem-activemodel-gitlab/pkg-descr7
-rw-r--r--databases/rubygem-activerecord-gitlab/Makefile26
-rw-r--r--databases/rubygem-activerecord-gitlab/distinfo3
-rw-r--r--databases/rubygem-activerecord-gitlab/pkg-descr11
-rw-r--r--databases/rubygem-flipper-active_record-rails-gitlab/Makefile20
-rw-r--r--databases/rubygem-flipper-active_record-rails-gitlab/distinfo3
-rw-r--r--databases/rubygem-flipper-active_record-rails-gitlab/pkg-descr1
-rw-r--r--databases/rubygem-globalid-rails-gitlab/Makefile20
-rw-r--r--databases/rubygem-globalid-rails-gitlab/distinfo3
-rw-r--r--databases/rubygem-globalid-rails-gitlab/pkg-descr1
-rw-r--r--databases/rubygem-marginalia/Makefile6
-rw-r--r--databases/rubygem-redis-actionpack-rails-gitlab/Makefile22
-rw-r--r--databases/rubygem-redis-actionpack-rails-gitlab/distinfo3
-rw-r--r--databases/rubygem-redis-actionpack-rails-gitlab/pkg-descr1
-rw-r--r--devel/Makefile14
-rw-r--r--devel/cirrus-cli/Makefile2
-rw-r--r--devel/cirrus-cli/distinfo10
-rw-r--r--devel/exercisix/Makefile4
-rw-r--r--devel/gitaly/Makefile2
-rw-r--r--devel/gitaly/distinfo14
-rw-r--r--devel/gitaly/files/patch-Makefile73
-rw-r--r--devel/gitlab-runner/Makefile13
-rw-r--r--devel/gitlab-runner/distinfo20
-rw-r--r--devel/hs-hlint/Makefile3
-rw-r--r--devel/p5-File-Copy-Link/Makefile8
-rw-r--r--devel/p5-File-Copy-Link/distinfo5
-rw-r--r--devel/protoc-gen-go-grpc/Makefile6
-rw-r--r--devel/protoc-gen-go-grpc/distinfo6
-rw-r--r--devel/py-aiortc/Makefile25
-rw-r--r--devel/py-aiortc/distinfo6
-rw-r--r--devel/py-buildbot-pkg/Makefile2
-rw-r--r--devel/py-buildbot-pkg/distinfo6
-rw-r--r--devel/py-tox/Makefile20
-rw-r--r--devel/py-tox/distinfo6
-rw-r--r--devel/py-ty/Makefile2
-rw-r--r--devel/py-ty/distinfo6
-rw-r--r--devel/ruby-build/Makefile2
-rw-r--r--devel/ruby-build/distinfo6
-rw-r--r--devel/rubygem-actionview-gitlab/Makefile30
-rw-r--r--devel/rubygem-actionview-gitlab/distinfo3
-rw-r--r--devel/rubygem-actionview-gitlab/pkg-descr4
-rw-r--r--devel/rubygem-activejob-gitlab/Makefile28
-rw-r--r--devel/rubygem-activejob-gitlab/distinfo3
-rw-r--r--devel/rubygem-activejob-gitlab/pkg-descr16
-rw-r--r--devel/rubygem-activesupport-gitlab/Makefile37
-rw-r--r--devel/rubygem-activesupport-gitlab/distinfo3
-rw-r--r--devel/rubygem-activesupport-gitlab/pkg-descr4
-rw-r--r--devel/rubygem-aws-sdk-core-gitlab/Makefile6
-rw-r--r--devel/rubygem-aws-sdk-core-gitlab/distinfo6
-rw-r--r--devel/rubygem-aws-sdk-s3-gitlab/Makefile4
-rw-r--r--devel/rubygem-aws-sdk-s3-gitlab/distinfo6
-rw-r--r--devel/rubygem-devise-rails-gitlab/Makefile26
-rw-r--r--devel/rubygem-devise-rails-gitlab/distinfo3
-rw-r--r--devel/rubygem-devise-rails-gitlab/pkg-descr5
-rw-r--r--devel/rubygem-flipper-active_support_cache_store-rails-gitlab/Makefile20
-rw-r--r--devel/rubygem-flipper-active_support_cache_store-rails-gitlab/distinfo3
-rw-r--r--devel/rubygem-flipper-active_support_cache_store-rails-gitlab/pkg-descr1
-rw-r--r--devel/rubygem-gitlab-dangerfiles/Makefile2
-rw-r--r--devel/rubygem-gitlab-dangerfiles/distinfo6
-rw-r--r--devel/rubygem-gitlab-labkit/Makefile5
-rw-r--r--devel/rubygem-google-apis-core-gitlab/Makefile2
-rw-r--r--devel/rubygem-google-apis-core-gitlab/distinfo6
-rw-r--r--devel/rubygem-graphql/Makefile2
-rw-r--r--devel/rubygem-graphql/distinfo6
-rw-r--r--devel/rubygem-health_check-rails-gitlab/Makefile22
-rw-r--r--devel/rubygem-health_check-rails-gitlab/distinfo3
-rw-r--r--devel/rubygem-health_check-rails-gitlab/pkg-descr1
-rw-r--r--devel/rubygem-irb-gitlab/Makefile28
-rw-r--r--devel/rubygem-irb-gitlab/distinfo3
-rw-r--r--devel/rubygem-irb-gitlab/pkg-descr2
-rw-r--r--devel/rubygem-paper_trail/Makefile4
-rw-r--r--devel/rubygem-paper_trail/distinfo6
-rw-r--r--devel/rubygem-peek-rails-gitlab/Makefile20
-rw-r--r--devel/rubygem-peek-rails-gitlab/distinfo3
-rw-r--r--devel/rubygem-peek-rails-gitlab/pkg-descr14
-rw-r--r--devel/rubygem-rails-i18n-rails-gitlab/Makefile21
-rw-r--r--devel/rubygem-rails-i18n-rails-gitlab/distinfo3
-rw-r--r--devel/rubygem-rails-i18n-rails-gitlab/pkg-descr4
-rw-r--r--devel/rubygem-rdoc-gitlab/Makefile29
-rw-r--r--devel/rubygem-rdoc-gitlab/distinfo3
-rw-r--r--devel/rubygem-rdoc-gitlab/pkg-descr3
-rw-r--r--devel/rubygem-sentry-rails/Makefile6
-rw-r--r--devel/rubygem-sentry-rails/distinfo6
-rw-r--r--devel/rubygem-sentry-ruby-core/Makefile4
-rw-r--r--devel/rubygem-sentry-ruby-core/distinfo6
-rw-r--r--devel/rubygem-sentry-ruby/Makefile2
-rw-r--r--devel/rubygem-sentry-ruby/distinfo6
-rw-r--r--devel/rubygem-sentry-sidekiq/Makefile4
-rw-r--r--devel/rubygem-sentry-sidekiq/distinfo6
-rw-r--r--devel/rubygem-sidekiq-cron-rails-gitlab/Makefile22
-rw-r--r--devel/rubygem-sidekiq-cron-rails-gitlab/distinfo3
-rw-r--r--devel/rubygem-sidekiq-cron-rails-gitlab/pkg-descr9
-rw-r--r--devel/rubygem-sprockets-rails-rails-gitlab/Makefile22
-rw-r--r--devel/rubygem-sprockets-rails-rails-gitlab/distinfo3
-rw-r--r--devel/rubygem-sprockets-rails-rails-gitlab/pkg-descr1
-rw-r--r--devel/rubygem-version_gem/Makefile2
-rw-r--r--devel/rubygem-version_gem/distinfo6
-rw-r--r--devel/rubygem-view_component-rails-gitlab/Makefile (renamed from devel/rubygem-view_component-rails70/Makefile)4
-rw-r--r--devel/rubygem-view_component-rails-gitlab/distinfo (renamed from devel/rubygem-view_component-rails70/distinfo)0
-rw-r--r--devel/rubygem-view_component-rails-gitlab/pkg-descr (renamed from devel/rubygem-view_component-rails70/pkg-descr)0
-rw-r--r--devel/universal-ctags/Makefile7
-rw-r--r--devel/universal-ctags/distinfo6
-rw-r--r--dns/rubygem-gitlab-net-dns/Makefile4
-rw-r--r--dns/rubygem-gitlab-net-dns/distinfo6
-rw-r--r--emulators/dolphin-emu/Makefile7
-rw-r--r--emulators/dolphin-emu/distinfo6
-rw-r--r--emulators/wine/Makefile9
-rw-r--r--emulators/wine/files/patch-man94
-rw-r--r--graphics/p5-Image-PNG-QRCode/Makefile5
-rw-r--r--graphics/p5-Image-PNG-QRCode/distinfo6
-rw-r--r--graphics/rubygem-invisible_captcha/Makefile3
-rw-r--r--lang/julia/Makefile79
-rw-r--r--lang/julia/distinfo6
-rw-r--r--lang/julia/files/patch-Makefile19
-rw-r--r--lang/julia/files/patch-deps_llvm.mk6
-rw-r--r--lang/julia/files/patch-doc_make.jl10
-rw-r--r--lang/julia/files/patch-stdlib_FileWatching_test_pidfile.jl12
-rw-r--r--lang/julia/files/patch-stdlib_GMP__jll_test_runtests.jl9
-rw-r--r--lang/julia/files/patch-stdlib_LibGit2__jll_test_runtests.jl10
-rw-r--r--lang/julia/files/patch-stdlib_LibGit2_test_libgit2-tests.jl32
-rw-r--r--lang/julia/files/patch-stdlib_LinearAlgebra_src_lbt.jl4
-rw-r--r--lang/julia/files/patch-stdlib_LinearAlgebra_test_blas.jl13
-rw-r--r--lang/julia/files/patch-stdlib_LinearAlgebra_test_lapack.jl11
-rw-r--r--lang/julia/files/patch-stdlib_LinearAlgebra_test_lu.jl17
-rw-r--r--lang/julia/files/patch-stdlib_MPFR__jll_test_runtests.jl9
-rw-r--r--lang/julia/files/patch-stdlib_MbedTLS__jll_test_runtests.jl9
-rw-r--r--lang/julia/files/patch-stdlib_PCRE2__jll_test_runtests.jl12
-rw-r--r--lang/julia/files/patch-stdlib_Test_test_runtests.jl19
-rw-r--r--lang/julia/files/patch-stdlib_nghttp2__jll_test_runtests.jl15
-rw-r--r--lang/julia/files/patch-test_cmdlineargs.jl20
-rw-r--r--lang/julia/files/patch-test_errorshow.jl18
-rw-r--r--lang/julia/files/patch-test_file.jl11
-rw-r--r--lang/julia/files/patch-test_gmp.jl13
-rw-r--r--lang/julia/files/stdlib_SparseArrays_test_fixed.jl.patch16
-rw-r--r--lang/julia/files/stdlib_SparseArrays_test_testgroups.patch14
-rw-r--r--lang/julia/files/stdlib_Tar_test_runtest.jl.patch16
-rw-r--r--lang/julia/pkg-message3
-rw-r--r--lang/julia/pkg-plist193
-rw-r--r--lang/lfortran/Makefile2
-rw-r--r--lang/lfortran/distinfo6
-rw-r--r--mail/Makefile3
-rw-r--r--mail/mailpit/Makefile2
-rw-r--r--mail/mailpit/distinfo14
-rw-r--r--mail/mailpit/files/patch-package-lock.json390
-rw-r--r--mail/rubygem-actionmailbox-gitlab/Makefile32
-rw-r--r--mail/rubygem-actionmailbox-gitlab/distinfo3
-rw-r--r--mail/rubygem-actionmailbox-gitlab/pkg-descr12
-rw-r--r--mail/rubygem-actionmailer-gitlab/Makefile29
-rw-r--r--mail/rubygem-actionmailer-gitlab/distinfo3
-rw-r--r--mail/rubygem-actionmailer-gitlab/pkg-descr12
-rw-r--r--mail/rubygem-premailer-rails-rails-gitlab/Makefile22
-rw-r--r--mail/rubygem-premailer-rails-rails-gitlab/distinfo3
-rw-r--r--mail/rubygem-premailer-rails-rails-gitlab/pkg-descr18
-rw-r--r--math/lcalc/Makefile2
-rw-r--r--math/suitesparse-camd/Makefile2
-rw-r--r--math/suitesparse-graphblas/Makefile2
-rw-r--r--math/suitesparse/Makefile2
-rw-r--r--math/suitesparse/bsd.suitesparse.mk2
-rw-r--r--math/suitesparse/distinfo6
-rw-r--r--net-mgmt/icinga-php-library/Makefile5
-rw-r--r--net-mgmt/icinga-php-library/distinfo6
-rw-r--r--net-mgmt/icinga-php-library/pkg-plist4
-rw-r--r--net-mgmt/icingaweb2-module-director/Makefile2
-rw-r--r--net-mgmt/icingaweb2-module-director/distinfo6
-rw-r--r--net-mgmt/icingaweb2-module-director/pkg-plist3
-rw-r--r--net-mgmt/icingaweb2-module-reporting/Makefile2
-rw-r--r--net-mgmt/icingaweb2-module-reporting/distinfo6
-rw-r--r--net-mgmt/icingaweb2-module-reporting/pkg-plist2
-rw-r--r--net-mgmt/icingaweb2/Makefile4
-rw-r--r--net-mgmt/icingaweb2/distinfo6
-rw-r--r--net-mgmt/icingaweb2/pkg-plist1
-rw-r--r--net-mgmt/rancid3/Makefile1
-rw-r--r--net-mgmt/rancid3/files/patch-lib_edgemax.pm.in17
-rw-r--r--net/Makefile1
-rw-r--r--net/bird3/Makefile4
-rw-r--r--net/bird3/distinfo6
-rw-r--r--net/bird3/files/patch-00-kernel-Fix-crash-for-merge-paths38
-rw-r--r--net/bird3/files/patch-01-Table-not-feeding-twice39
-rw-r--r--net/bird3/files/patch-02-kernel-trace-the-final-result53
-rw-r--r--net/bird3/files/patch-03-BGP-fix-locking-order176
-rw-r--r--net/bird3/files/patch-04-BFD-Fix-session-locking-order400
-rw-r--r--net/bird3/files/patch-05-mainloop-dropped-old-socket86
-rw-r--r--net/bird3/files/patch-06-cli-allocate-tx-buffers134
-rw-r--r--net/bird3/files/patch-07-cli-flushing-tmp-linpool29
-rw-r--r--net/bird3/files/patch-08-kernel-feed-only-once274
-rw-r--r--net/bird3/files/patch-09-graceful-recovery311
-rw-r--r--net/bird3/files/patch-10-stonehenge116
-rw-r--r--net/bird3/files/patch-11-route-attribute-storage80
-rw-r--r--net/bird3/files/patch-12-BGP-tx-bucket-storage84
-rw-r--r--net/bird3/files/patch-13-allocate-normalization-buckets100
-rw-r--r--net/bird3/files/patch-14-BGP-fix-dislpay-name25
-rw-r--r--net/bird3/files/patch-15-BGP-fixed-deterministic-med-crashes65
-rw-r--r--net/bird3/files/patch-16-Table-old-best-route-refeed-fix87
-rw-r--r--net/dhcpcd/Makefile2
-rw-r--r--net/dhcpcd/distinfo6
-rw-r--r--net/gitlab-agent/Makefile2
-rw-r--r--net/gitlab-agent/distinfo10
-rw-r--r--net/rubygem-activestorage-gitlab/Makefile28
-rw-r--r--net/rubygem-activestorage-gitlab/distinfo3
-rw-r--r--net/rubygem-activestorage-gitlab/pkg-descr11
-rw-r--r--net/rubygem-apollo_upload_server/Makefile3
-rw-r--r--net/rubygem-gitlab-kas-grpc/distinfo6
-rw-r--r--net/rubygem-oauth2-gitlab/Makefile11
-rw-r--r--net/rubygem-oauth2-gitlab/distinfo6
-rw-r--r--print/py-reportlab/Makefile7
-rw-r--r--print/py-reportlab/distinfo6
-rw-r--r--science/afni/Makefile2
-rw-r--r--science/afni/distinfo6
-rw-r--r--security/Makefile3
-rw-r--r--security/amavisd-new/Makefile97
-rw-r--r--security/amavisd-new/distinfo6
-rw-r--r--security/amavisd-new/files/patch-amavisd40
-rw-r--r--security/amavisd-new/files/patch-amavisd.conf20
-rw-r--r--security/amavisd-new/pkg-plist73
-rw-r--r--security/certspotter/Makefile3
-rw-r--r--security/certspotter/distinfo10
-rw-r--r--security/dehydrated/Makefile3
-rw-r--r--security/dehydrated/distinfo6
-rw-r--r--security/rubygem-devise-two-factor-rails-gitlab/Makefile (renamed from security/rubygem-devise-two-factor41-rails70/Makefile)8
-rw-r--r--security/rubygem-devise-two-factor-rails-gitlab/distinfo (renamed from security/rubygem-devise-two-factor41-rails70/distinfo)0
-rw-r--r--security/rubygem-devise-two-factor-rails-gitlab/pkg-descr (renamed from security/rubygem-devise-two-factor41-rails70/pkg-descr)0
-rw-r--r--security/rubygem-doorkeeper-device_authorization_grant/Makefile3
-rw-r--r--security/rubygem-doorkeeper-openid_connect/Makefile3
-rw-r--r--security/rubygem-doorkeeper-rails-gitlab/Makefile22
-rw-r--r--security/rubygem-doorkeeper-rails-gitlab/distinfo3
-rw-r--r--security/rubygem-doorkeeper-rails-gitlab/pkg-descr2
-rw-r--r--security/rubygem-ed25519/Makefile2
-rw-r--r--security/rubygem-ed25519/distinfo6
-rw-r--r--security/rubygem-gitlab-cloud-connector/Makefile4
-rw-r--r--security/rubygem-gitlab-cloud-connector/distinfo6
-rw-r--r--shells/yash/Makefile2
-rw-r--r--shells/yash/distinfo6
-rw-r--r--shells/yash/pkg-plist7
-rw-r--r--sysutils/httm/Makefile2
-rw-r--r--sysutils/httm/Makefile.crates12
-rw-r--r--sysutils/httm/distinfo18
-rw-r--r--sysutils/mackerel-agent/Makefile3
-rw-r--r--sysutils/mackerel-agent/distinfo10
-rw-r--r--textproc/Makefile2
-rw-r--r--textproc/fzf/Makefile4
-rw-r--r--textproc/fzf/distinfo10
-rw-r--r--textproc/gitlab-elasticsearch-indexer/Makefile2
-rw-r--r--textproc/gitlab-elasticsearch-indexer/distinfo10
-rw-r--r--textproc/py-jiter/Makefile11
-rw-r--r--textproc/py-jiter/Makefile.crates55
-rw-r--r--textproc/py-jiter/distinfo116
-rw-r--r--textproc/rubygem-actiontext-gitlab/Makefile29
-rw-r--r--textproc/rubygem-actiontext-gitlab/distinfo3
-rw-r--r--textproc/rubygem-actiontext-gitlab/pkg-descr7
-rw-r--r--textproc/rubygem-gitlab-glfm-markdown/Makefile5
-rw-r--r--textproc/rubygem-gitlab-glfm-markdown/Makefile.crates14
-rw-r--r--textproc/rubygem-gitlab-glfm-markdown/distinfo34
-rw-r--r--textproc/rubygem-rails-dom-testing-rails-gitlab/Makefile22
-rw-r--r--textproc/rubygem-rails-dom-testing-rails-gitlab/distinfo3
-rw-r--r--textproc/rubygem-rails-dom-testing-rails-gitlab/pkg-descr6
-rw-r--r--www/Makefile12
-rw-r--r--www/cinny/Makefile2
-rw-r--r--www/cinny/distinfo6
-rw-r--r--www/cinny/pkg-plist17
-rw-r--r--www/firefox-esr/Makefile2
-rw-r--r--www/firefox-esr/distinfo6
-rw-r--r--www/gitlab-pages/distinfo10
-rw-r--r--www/gitlab-workhorse/distinfo10
-rw-r--r--www/gitlab/Makefile94
-rw-r--r--www/gitlab/Makefile.common7
-rw-r--r--www/gitlab/distinfo12
-rw-r--r--www/gitlab/files/patch-Gemfile54
-rw-r--r--www/gitlab/files/patch-config_gitlab.yml.example20
-rw-r--r--www/gitlab/files/patch-config_initializers_1__settings.rb4
-rw-r--r--www/gitlab/files/patch-gems_gitlab-backup-cli_gitlab-backup-cli.gemspec10
-rw-r--r--www/gitlab/pkg-message4
-rw-r--r--www/homer-web/Makefile2
-rw-r--r--www/homer-web/distinfo6
-rw-r--r--www/homer-web/pkg-plist119
-rw-r--r--www/librewolf/Makefile2
-rw-r--r--www/librewolf/distinfo6
-rw-r--r--www/nginx-devel/Makefile2
-rw-r--r--www/nginx-devel/Makefile.extmod6
-rw-r--r--www/nginx-devel/distinfo6
-rw-r--r--www/py-httpx-retries/Makefile2
-rw-r--r--www/py-httpx-retries/distinfo6
-rw-r--r--www/rubygem-actioncable-gitlab/Makefile28
-rw-r--r--www/rubygem-actioncable-gitlab/distinfo3
-rw-r--r--www/rubygem-actioncable-gitlab/pkg-descr7
-rw-r--r--www/rubygem-actionpack-gitlab/Makefile32
-rw-r--r--www/rubygem-actionpack-gitlab/distinfo3
-rw-r--r--www/rubygem-actionpack-gitlab/pkg-descr19
-rw-r--r--www/rubygem-coverband/Makefile5
-rw-r--r--www/rubygem-coverband/distinfo6
-rw-r--r--www/rubygem-cssbundling-rails-rails-gitlab/Makefile20
-rw-r--r--www/rubygem-cssbundling-rails-rails-gitlab/distinfo3
-rw-r--r--www/rubygem-cssbundling-rails-rails-gitlab/pkg-descr12
-rw-r--r--www/rubygem-gon-rails-gitlab/Makefile24
-rw-r--r--www/rubygem-gon-rails-gitlab/distinfo3
-rw-r--r--www/rubygem-gon-rails-gitlab/pkg-descr2
-rw-r--r--www/rubygem-kaminari-actionview-rails-gitlab/Makefile21
-rw-r--r--www/rubygem-kaminari-actionview-rails-gitlab/distinfo3
-rw-r--r--www/rubygem-kaminari-actionview-rails-gitlab/pkg-descr1
-rw-r--r--www/rubygem-kaminari-activerecord-rails-gitlab/Makefile21
-rw-r--r--www/rubygem-kaminari-activerecord-rails-gitlab/distinfo3
-rw-r--r--www/rubygem-kaminari-activerecord-rails-gitlab/pkg-descr1
-rw-r--r--www/rubygem-kaminari-rails-gitlab/Makefile25
-rw-r--r--www/rubygem-kaminari-rails-gitlab/distinfo3
-rw-r--r--www/rubygem-kaminari-rails-gitlab/pkg-descr2
-rw-r--r--www/rubygem-lograge-rails-gitlab/Makefile22
-rw-r--r--www/rubygem-lograge-rails-gitlab/distinfo3
-rw-r--r--www/rubygem-lograge-rails-gitlab/pkg-descr6
-rw-r--r--www/rubygem-rails-gitlab/Makefile49
-rw-r--r--www/rubygem-rails-gitlab/distinfo3
-rw-r--r--www/rubygem-rails-gitlab/pkg-descr23
-rw-r--r--www/rubygem-railties-gitlab/Makefile36
-rw-r--r--www/rubygem-railties-gitlab/distinfo3
-rw-r--r--www/rubygem-railties-gitlab/pkg-descr4
-rw-r--r--www/rubygem-redis-rack-gitlab/Makefile25
-rw-r--r--www/rubygem-redis-rack-gitlab/distinfo3
-rw-r--r--www/rubygem-redis-rack-gitlab/pkg-descr1
-rw-r--r--www/rubygem-responders-rails-gitlab/Makefile21
-rw-r--r--www/rubygem-responders-rails-gitlab/distinfo3
-rw-r--r--www/rubygem-responders-rails-gitlab/pkg-descr1
-rw-r--r--x11/nvidia-settings/Makefile4
-rw-r--r--x11/nvidia-settings/files/patch-src_Makefile14
-rw-r--r--x11/xterm/Makefile2
-rw-r--r--x11/xterm/distinfo6
340 files changed, 2876 insertions, 3401 deletions
diff --git a/MOVED b/MOVED
index 5c523695afa5..3911f9834b74 100644
--- a/MOVED
+++ b/MOVED
@@ -4409,3 +4409,5 @@ games/exult-devel||2025-05-12|exult-devel has been removed, encouraging users to
sysutils/slst||2025-05-16|Has expired: No source. Source went missing in 2018
databases/py-redis3|databases/py-redis|2025-05-18|Remove obsoleted port. Use databases/py-redis instead
net/rubygem-devfile-gitlab|net/rubygem-devfile|2025-05-18|Remove obsoleted port. Use net/rubygem-devfile instead
+devel/rubygem-view_component-rails70|devel/rubygem-view_component-rails-gitlab|2025-05-17|Expired, please use devel/rubygem-view_component-rails-gitlab instead
+security/rubygem-devise-two-factor41-rails70|security/rubygem-devise-two-factor-rails-gitlab|2025-05-17|Expired, please use security/rubygem-devise-two-factor-rails-gitlab instead
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/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 <bsd.port.pre.mk>
.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}\""
-
-post-patch:
- ${PATCH} -d ${WRKSRC}/src/third_party/mozjs/extract --quiet -p1 -V none < ${DISTDIR}/223087fdc29f18678f6174e9807b8780e439acf6
+ ${SH} -xc "test \"X`grep -E '^LIB_GIT_REVISION=' ${MOZJS_WRKSRC}/get-sources.sh`\" = \"XLIB_GIT_REVISION=${MOZJS_TAG}\""
-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"
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
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
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
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
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
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 <bsd.port.mk>
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 <bsd.port.mk>
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 <bsd.port.mk>
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 <bsd.port.mk>
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-marginalia/Makefile b/databases/rubygem-marginalia/Makefile
index 0be937b94511..d6d2da9ccb2b 100644
--- a/databases/rubygem-marginalia/Makefile
+++ b/databases/rubygem-marginalia/Makefile
@@ -1,6 +1,6 @@
PORTNAME= marginalia
PORTVERSION= 1.11.1
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= databases rubygems
MASTER_SITES= RG
@@ -11,8 +11,8 @@ WWW= https://github.com/basecamp/marginalia
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
-RUN_DEPENDS= rubygem-actionpack70>=2.3:www/rubygem-actionpack70 \
- rubygem-activerecord70>=2.3:databases/rubygem-activerecord70
+RUN_DEPENDS= rubygem-actionpack-gitlab>=2.3:www/rubygem-actionpack-gitlab \
+ rubygem-activerecord-gitlab>=2.3:databases/rubygem-activerecord-gitlab
USES= cpe gem
CPE_VENDOR= ${PORTNAME}_project
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 <bsd.port.mk>
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..60862415e1d1 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
@@ -8054,7 +8066,7 @@
SUBDIR += rubygem-validates_timeliness7
SUBDIR += rubygem-version_gem
SUBDIR += rubygem-versionomy
- SUBDIR += rubygem-view_component-rails70
+ SUBDIR += rubygem-view_component-rails-gitlab
SUBDIR += rubygem-virtus
SUBDIR += rubygem-vite_rails-rails70
SUBDIR += rubygem-vite_ruby
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
diff --git a/devel/exercisix/Makefile b/devel/exercisix/Makefile
index cf9db3e71ba9..a691b9379e96 100644
--- a/devel/exercisix/Makefile
+++ b/devel/exercisix/Makefile
@@ -8,6 +8,10 @@ MAINTAINER= exercisix@alexanderchuranov.com
COMMENT= Innovative lightweight unit-test framework for C++
WWW= http://alexanderchuranov.com/software/exercisix
+BROKEN= Unfetchable
+DEPRECATED= Abandonware, upstream is gone and last release 10+ years ago
+EXPIRATION_DATE=2025-06-30
+
USES= tar:bzip2
OPTIONS_DEFINE= EXAMPLES
diff --git a/devel/gitaly/Makefile b/devel/gitaly/Makefile
index f3cceadd1e83..64bb1010af84 100644
--- a/devel/gitaly/Makefile
+++ b/devel/gitaly/Makefile
@@ -26,7 +26,7 @@ CPE_VENDOR= gitlab
USE_GITLAB= yes
GL_ACCOUNT= gitlab-org
GO_MOD_DIST= gitlab
-GO_MODULE= gitlab.com/gitlab-org/gitaly/v17
+GO_MODULE= gitlab.com/gitlab-org/gitaly/v18
GL_TUPLE= gitlab-org:git:v${GITLAB_GIT_VERSION}:_build/_build/deps/git-v${GITLAB_GIT_VERSION_SHORT}
MAKE_ENV= GOFLAGS="${GO_BUILDFLAGS}"
diff --git a/devel/gitaly/distinfo b/devel/gitaly/distinfo
index 9f439c1c8524..ccb8bd71128c 100644
--- a/devel/gitaly/distinfo
+++ b/devel/gitaly/distinfo
@@ -1,7 +1,7 @@
-TIMESTAMP = 1746703448
-SHA256 (go/devel_gitaly/gitaly-v17.11.2/go.mod) = 2e2d5338397f220f0b8c980a4ac083c67d9b2c66f83225d2a7fbff917f631a6c
-SIZE (go/devel_gitaly/gitaly-v17.11.2/go.mod) = 12599
-SHA256 (go/devel_gitaly/gitaly-v17.11.2/gitaly-v17.11.2.tar.bz2) = 33e479735c036118546461315b576529e224c7929e006b6480cc8a03828c2745
-SIZE (go/devel_gitaly/gitaly-v17.11.2/gitaly-v17.11.2.tar.bz2) = 4491005
-SHA256 (go/devel_gitaly/gitaly-v17.11.2/git-v2.49.0.tar.bz2) = 63678e3839f5af667b48cb9d0c37de4b249916dc19aae7c5ce83d07fb3146ecb
-SIZE (go/devel_gitaly/gitaly-v17.11.2/git-v2.49.0.tar.bz2) = 9079092
+TIMESTAMP = 1747297223
+SHA256 (go/devel_gitaly/gitaly-v18.0.0/go.mod) = c01a366ef332898c1a1fd75281459c8d6caea4c59baa4dd4094fb26eb00d2a4b
+SIZE (go/devel_gitaly/gitaly-v18.0.0/go.mod) = 12814
+SHA256 (go/devel_gitaly/gitaly-v18.0.0/gitaly-v18.0.0.tar.bz2) = 6f6b1bd9ee424586ca45a5695d0ef9e08585547f0dae6d790a3c2b3f6aa1bea5
+SIZE (go/devel_gitaly/gitaly-v18.0.0/gitaly-v18.0.0.tar.bz2) = 4512848
+SHA256 (go/devel_gitaly/gitaly-v18.0.0/git-v2.49.0.tar.bz2) = 63678e3839f5af667b48cb9d0c37de4b249916dc19aae7c5ce83d07fb3146ecb
+SIZE (go/devel_gitaly/gitaly-v18.0.0/git-v2.49.0.tar.bz2) = 9079092
diff --git a/devel/gitaly/files/patch-Makefile b/devel/gitaly/files/patch-Makefile
index 6c6e353e2a30..9345aecfdf54 100644
--- a/devel/gitaly/files/patch-Makefile
+++ b/devel/gitaly/files/patch-Makefile
@@ -1,75 +1,6 @@
---- Makefile.orig 2025-04-16 03:58:04 UTC
+--- Makefile.orig 2025-05-14 17:37:06 UTC
+++ Makefile
-@@ -151,7 +151,7 @@ GIT_VERSION ?=
- # GIT_VERSION_x_xx defines versions for each instance of bundled Git we ship. When a new
- # major version is added, be sure to update GIT_PACKED_EXECUTABLES, the *-bundled-git targets,
- # and add new targets under the "# These targets build specific releases of Git." section.
--GIT_VERSION_2_48 ?= v2.48.1.gl1
-+#GIT_VERSION_2_48 ?= v2.48.1.gl1
- GIT_VERSION_2_49 ?= v2.49.0.gl1
- #
- # OVERRIDE_GIT_VERSION allows you to specify a custom semver value to be reported by the
-@@ -163,7 +163,7 @@ ifeq (${GIT_VERSION:default=},)
- ifeq (${GIT_VERSION:default=},)
- # GIT_VERSION should be overridden to the default version of bundled Git. This is only
- # necessary until https://gitlab.com/gitlab-org/gitaly/-/issues/6195 is complete.
-- override GIT_VERSION := ${GIT_VERSION_2_48}
-+ override GIT_VERSION := ${GIT_VERSION_2_49}
- # When GIT_VERSION is not explicitly set, we default to bundled Git.
- export WITH_BUNDLED_GIT = YesPlease
- else
-@@ -259,8 +259,7 @@ BUILD_GEM_NAME ?= gitaly
- BUILD_GEM_NAME ?= gitaly
-
- # Git binaries that are eventually embedded into the Gitaly binary.
--GIT_PACKED_EXECUTABLES = $(addprefix ${BUILD_DIR}/bin/gitaly-, $(addsuffix -v2.48, ${GIT_EXECUTABLES})) \
-- $(addprefix ${BUILD_DIR}/bin/gitaly-, $(addsuffix -v2.49, ${GIT_EXECUTABLES}))
-+GIT_PACKED_EXECUTABLES = $(addprefix ${BUILD_DIR}/bin/gitaly-, $(addsuffix -v2.49, ${GIT_EXECUTABLES}))
-
- # All executables provided by Gitaly.
- GITALY_EXECUTABLES = $(addprefix ${BUILD_DIR}/bin/,$(notdir $(shell find ${SOURCE_DIR}/cmd -mindepth 1 -maxdepth 1 -type d -print)))
-@@ -349,15 +348,13 @@ install: build
-
- .PHONY: build-bundled-git
- ## Build bundled Git binaries.
--build-bundled-git: build-bundled-git-v2.48 build-bundled-git-v2.49
--build-bundled-git-v2.48: $(patsubst %,${BUILD_DIR}/bin/gitaly-%-v2.48,${GIT_EXECUTABLES})
-+build-bundled-git: build-bundled-git-v2.49
- build-bundled-git-v2.49: $(patsubst %,${BUILD_DIR}/bin/gitaly-%-v2.49,${GIT_EXECUTABLES})
-
- .PHONY: install-bundled-git
- ## Install bundled Git binaries. The target directory can be modified by
- ## setting PREFIX and DESTDIR.
--install-bundled-git: install-bundled-git-v2.48 install-bundled-git-v2.49
--install-bundled-git-v2.48: $(patsubst %,${INSTALL_DEST_DIR}/gitaly-%-v2.48,${GIT_EXECUTABLES})
-+install-bundled-git: install-bundled-git-v2.49
- install-bundled-git-v2.49: $(patsubst %,${INSTALL_DEST_DIR}/gitaly-%-v2.49,${GIT_EXECUTABLES})
-
- ifdef WITH_BUNDLED_GIT
-@@ -679,17 +676,17 @@ ${DEPENDENCY_DIR}/git-distribution/build/git: ${DEPEND
- ${Q}touch $@
-
- # These targets build specific releases of Git.
--${BUILD_DIR}/bin/gitaly-%-v2.48: override GIT_VERSION = ${GIT_VERSION_2_48}
-+#${BUILD_DIR}/bin/gitaly-%-v2.48: override GIT_VERSION = ${GIT_VERSION_2_48}
- ${BUILD_DIR}/bin/gitaly-%-v2.49: override GIT_VERSION = ${GIT_VERSION_2_49}
-
- ifdef USE_MESON
--${BUILD_DIR}/bin/gitaly-%-v2.48: ${DEPENDENCY_DIR}/git-v2.48/build/% | ${BUILD_DIR}/bin
-- ${Q}install $< $@
-+#${BUILD_DIR}/bin/gitaly-%-v2.48: ${DEPENDENCY_DIR}/git-v2.48/build/% | ${BUILD_DIR}/bin
-+# ${Q}install $< $@
- ${BUILD_DIR}/bin/gitaly-%-v2.49: ${DEPENDENCY_DIR}/git-v2.49/build/% | ${BUILD_DIR}/bin
- ${Q}install $< $@
- else
--${BUILD_DIR}/bin/gitaly-%-v2.48: ${DEPENDENCY_DIR}/git-v2.48/% | ${BUILD_DIR}/bin
-- ${Q}install $< $@
-+#${BUILD_DIR}/bin/gitaly-%-v2.48: ${DEPENDENCY_DIR}/git-v2.48/% | ${BUILD_DIR}/bin
-+# ${Q}install $< $@
- ${BUILD_DIR}/bin/gitaly-%-v2.49: ${DEPENDENCY_DIR}/git-v2.49/% | ${BUILD_DIR}/bin
- ${Q}install $< $@
- endif
-@@ -726,12 +723,12 @@ ${DEPENDENCY_DIR}/git-%/Makefile: ${DEPENDENCY_DIR}/gi
+@@ -717,12 +717,12 @@ ${DEPENDENCY_DIR}/git-%/Makefile: ${DEPENDENCY_DIR}/gi
# otherwise try to rebuild all targets depending on it whenever we build
# something else. We thus depend on the Makefile instead.
${DEPENDENCY_DIR}/git-%/Makefile: ${DEPENDENCY_DIR}/git-%.version
diff --git a/devel/gitlab-runner/Makefile b/devel/gitlab-runner/Makefile
index f4706a4c2bf5..14a068a9d861 100644
--- a/devel/gitlab-runner/Makefile
+++ b/devel/gitlab-runner/Makefile
@@ -1,7 +1,6 @@
PORTNAME= gitlab-runner
DISTVERSIONPREFIX= v
-DISTVERSION= 17.9.0
-PORTREVISION= 2
+DISTVERSION= 18.0.0
CATEGORIES= devel
MASTER_SITES= https://gitlab-runner-downloads.s3.amazonaws.com/master/docker/:dockerx64 \
https://gitlab-runner-downloads.s3.amazonaws.com/master/docker/:dockerarm
@@ -10,6 +9,8 @@ DISTFILES= prebuilt-x86_64.tar.xz:dockerx64 \
#PATCH_SITES= https://gitlab.com/gitlab-org/gitlab-runner/-/merge_requests/
#PATCHFILES+= 4551.patch:-p1 # https://gitlab.com/gitlab-org/gitlab-runner/-/merge_requests/4551, Allow FreeBSD to be used with Docker builds
+#PATCH_SITES= https://gitlab.com/mfechner/gitlab-runner/-/commit/
+#PATCHFILES+= 2f12af03ccd5fe875d583ddc8b976329b635fd22.patch:-p1
MAINTAINER= mfechner@FreeBSD.org
COMMENT= Official GitLab Runner written in Go
@@ -27,8 +28,10 @@ USES= go:modules,1.23
USE_GITLAB= yes
GL_ACCOUNT= gitlab-org
USE_RC_SUBR= gitlab_runner
+# this branch removes the replace line in go.mod which breaks the way FreeBSD ports build go packages
+GO_MOD_DIST= https://gitlab.com/mfechner/gitlab-runner/-/raw/18-0-stable/
-GITBRANCH= 17-9-stable
+GITBRANCH= 18-0-stable
GO_MODULE= gitlab.com/gitlab-org/gitlab-runner
_BUILD_DATE= $$(date -u +%Y-%m-%dT%H:%M:%S%z)
@@ -45,8 +48,8 @@ GO_BUILDFLAGS= -ldflags=" \
# so we download the required go.mod file from gitlab
# lines are taken from go.mk
# ---------------------------
-MASTER_SITES+= https://gitlab.com/gitlab-org/gitlab-runner/-/raw/v${DISTVERSION}/
-DISTFILES+= go.mod
+#MASTER_SITES+= https://gitlab.com/gitlab-org/gitlab-runner/-/raw/v${DISTVERSION}/
+#DISTFILES+= go.mod
EXTRACT_ONLY+= ${DISTFILES:N*.mod\:*:N*.mod:C/:.*//:Nprebuilt*:}
# ---------------------------
diff --git a/devel/gitlab-runner/distinfo b/devel/gitlab-runner/distinfo
index 9e9f7ad0cae7..03b25a4d4a48 100644
--- a/devel/gitlab-runner/distinfo
+++ b/devel/gitlab-runner/distinfo
@@ -1,9 +1,11 @@
-TIMESTAMP = 1740563047
-SHA256 (go/devel_gitlab-runner/gitlab-runner-v17.9.0/prebuilt-x86_64.tar.xz) = b0dccc53f415962dde3f5a7e6f1ab068b8da5484a7fefdae2c5e39d8bb6c637e
-SIZE (go/devel_gitlab-runner/gitlab-runner-v17.9.0/prebuilt-x86_64.tar.xz) = 9594352
-SHA256 (go/devel_gitlab-runner/gitlab-runner-v17.9.0/prebuilt-arm.tar.xz) = 5018c6b661ebf4b9c661593548e45394c553bbd4082b5ef744a39a1f7f1fee32
-SIZE (go/devel_gitlab-runner/gitlab-runner-v17.9.0/prebuilt-arm.tar.xz) = 9020896
-SHA256 (go/devel_gitlab-runner/gitlab-runner-v17.9.0/go.mod) = 8af1f0b0556c15751e5e8ff8b6fdf45de3184fd94ab8928e89af8ec4ca7c4b3a
-SIZE (go/devel_gitlab-runner/gitlab-runner-v17.9.0/go.mod) = 13172
-SHA256 (go/devel_gitlab-runner/gitlab-runner-v17.9.0/gitlab-runner-v17.9.0.tar.bz2) = 83405d222f7c43057ff0e78a18020572ae8cdd1a7bfdc293134fef833cdc3e59
-SIZE (go/devel_gitlab-runner/gitlab-runner-v17.9.0/gitlab-runner-v17.9.0.tar.bz2) = 1782573
+TIMESTAMP = 1747639300
+SHA256 (go/devel_gitlab-runner/gitlab-runner-v18.0.0/prebuilt-x86_64.tar.xz) = b0dccc53f415962dde3f5a7e6f1ab068b8da5484a7fefdae2c5e39d8bb6c637e
+SIZE (go/devel_gitlab-runner/gitlab-runner-v18.0.0/prebuilt-x86_64.tar.xz) = 9594352
+SHA256 (go/devel_gitlab-runner/gitlab-runner-v18.0.0/prebuilt-arm.tar.xz) = 5018c6b661ebf4b9c661593548e45394c553bbd4082b5ef744a39a1f7f1fee32
+SIZE (go/devel_gitlab-runner/gitlab-runner-v18.0.0/prebuilt-arm.tar.xz) = 9020896
+SHA256 (go/devel_gitlab-runner/gitlab-runner-v18.0.0/go.mod) = 4a31cea8681a41ee85d8b305a5ebd6513a8c8cc65c194e98344ed5438c3b7163
+SIZE (go/devel_gitlab-runner/gitlab-runner-v18.0.0/go.mod) = 13091
+SHA256 (go/devel_gitlab-runner/gitlab-runner-v18.0.0/gitlab-runner-v18.0.0.tar.bz2) = a57d75307f98c45669d6e705d77d1bc638139ccecde97760905ae24ac0ca67f0
+SIZE (go/devel_gitlab-runner/gitlab-runner-v18.0.0/gitlab-runner-v18.0.0.tar.bz2) = 1942798
+SHA256 (go/devel_gitlab-runner/gitlab-runner-v18.0.0/2f12af03ccd5fe875d583ddc8b976329b635fd22.patch) = 806793b4cac531f516132c3ee4f4bcdfd39491ddac2ec61157dbda28c073ac94
+SIZE (go/devel_gitlab-runner/gitlab-runner-v18.0.0/2f12af03ccd5fe875d583ddc8b976329b635fd22.patch) = 1281
diff --git a/devel/hs-hlint/Makefile b/devel/hs-hlint/Makefile
index 793184c6ef3b..6ccd08f8a922 100644
--- a/devel/hs-hlint/Makefile
+++ b/devel/hs-hlint/Makefile
@@ -95,4 +95,7 @@ USE_CABAL= OneTuple-0.4.2_1 \
witherable-0.5_1 \
yaml-0.11.11.2_2
+post-patch:
+ ${REINPLACE_CMD} 's|jobs: 1|jobs: 2|' ${CABAL_HOME}/.cabal/config
+
.include <bsd.port.mk>
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 <bsd.port.mk>
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
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 <bsd.port.mk>
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
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 <bsd.port.mk>
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
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
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
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
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
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 <bsd.port.mk>
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 <bsd.port.mk>
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 <bsd.port.mk>
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-aws-sdk-core-gitlab/Makefile b/devel/rubygem-aws-sdk-core-gitlab/Makefile
index b8a5c5bd7321..86da9e7b17e2 100644
--- a/devel/rubygem-aws-sdk-core-gitlab/Makefile
+++ b/devel/rubygem-aws-sdk-core-gitlab/Makefile
@@ -1,5 +1,5 @@
PORTNAME= aws-sdk-core
-PORTVERSION= 3.215.1
+PORTVERSION= 3.223.0
CATEGORIES= devel rubygems
MASTER_SITES= RG
PKGNAMESUFFIX= -gitlab
@@ -14,7 +14,9 @@ LICENSE_FILE= ${WRKSRC}/LICENSE.txt
RUN_DEPENDS= rubygem-aws-eventstream>=1.3.0<2:devel/rubygem-aws-eventstream \
rubygem-aws-partitions>=1.992.0<2:devel/rubygem-aws-partitions \
rubygem-aws-sigv4>=1.9<2:devel/rubygem-aws-sigv4 \
- rubygem-jmespath>=1.6.1<2:devel/rubygem-jmespath
+ rubygem-base64>=0:converters/rubygem-base64 \
+ rubygem-jmespath>=1.6.1<2:devel/rubygem-jmespath \
+ rubygem-logger>=0:devel/rubygem-logger
USES= gem
diff --git a/devel/rubygem-aws-sdk-core-gitlab/distinfo b/devel/rubygem-aws-sdk-core-gitlab/distinfo
index dfd53c549cb9..140390803528 100644
--- a/devel/rubygem-aws-sdk-core-gitlab/distinfo
+++ b/devel/rubygem-aws-sdk-core-gitlab/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1739954455
-SHA256 (rubygem/aws-sdk-core-3.215.1.gem) = fed37a60cc1b3cc99810e9eeb3e21e1d267bf92729371f25cc0037215431b1ee
-SIZE (rubygem/aws-sdk-core-3.215.1.gem) = 387584
+TIMESTAMP = 1747309710
+SHA256 (rubygem/aws-sdk-core-3.223.0.gem) = d8c309116787cd24fb32095da4fa94d1f76e26baea705eabb66aa4585e8d8c77
+SIZE (rubygem/aws-sdk-core-3.223.0.gem) = 391680
diff --git a/devel/rubygem-aws-sdk-s3-gitlab/Makefile b/devel/rubygem-aws-sdk-s3-gitlab/Makefile
index c707346216ea..a0f5727a5964 100644
--- a/devel/rubygem-aws-sdk-s3-gitlab/Makefile
+++ b/devel/rubygem-aws-sdk-s3-gitlab/Makefile
@@ -1,5 +1,5 @@
PORTNAME= aws-sdk-s3
-PORTVERSION= 1.177.0
+PORTVERSION= 1.185.0
CATEGORIES= devel rubygems
MASTER_SITES= RG
PKGNAMESUFFIX= -gitlab
@@ -11,7 +11,7 @@ WWW= https://github.com/aws/aws-sdk-ruby/tree/version-3/gems/aws-sdk-s3
LICENSE= APACHE20
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
-RUN_DEPENDS= rubygem-aws-sdk-core-gitlab>=3.210.0<4:devel/rubygem-aws-sdk-core-gitlab \
+RUN_DEPENDS= rubygem-aws-sdk-core-gitlab>=3.216.0<4:devel/rubygem-aws-sdk-core-gitlab \
rubygem-aws-sdk-kms-gitlab>=1<2:devel/rubygem-aws-sdk-kms-gitlab \
rubygem-aws-sigv4>=1.5<2:devel/rubygem-aws-sigv4
diff --git a/devel/rubygem-aws-sdk-s3-gitlab/distinfo b/devel/rubygem-aws-sdk-s3-gitlab/distinfo
index f318a2af0866..48d46b09db8f 100644
--- a/devel/rubygem-aws-sdk-s3-gitlab/distinfo
+++ b/devel/rubygem-aws-sdk-s3-gitlab/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1739954515
-SHA256 (rubygem/aws-sdk-s3-1.177.0.gem) = bf2fd9210c3e534f2bd4d90cf855429859bdbfc1911f4d61045a3aaa3ff2f183
-SIZE (rubygem/aws-sdk-s3-1.177.0.gem) = 492544
+TIMESTAMP = 1747309805
+SHA256 (rubygem/aws-sdk-s3-1.185.0.gem) = 7e5ebb091b2a5dafe561786e0b7bfee7a2ae5959a02f302572a09e6b7178a5c7
+SIZE (rubygem/aws-sdk-s3-1.185.0.gem) = 500224
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 <bsd.port.mk>
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 <bsd.port.mk>
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-gitlab-dangerfiles/Makefile b/devel/rubygem-gitlab-dangerfiles/Makefile
index 85d7eb1b7d81..f92242030d1b 100644
--- a/devel/rubygem-gitlab-dangerfiles/Makefile
+++ b/devel/rubygem-gitlab-dangerfiles/Makefile
@@ -1,5 +1,5 @@
PORTNAME= gitlab-dangerfiles
-PORTVERSION= 4.8.1
+PORTVERSION= 4.9.1
CATEGORIES= devel rubygems
MASTER_SITES= RG
diff --git a/devel/rubygem-gitlab-dangerfiles/distinfo b/devel/rubygem-gitlab-dangerfiles/distinfo
index 2da0b0648d66..5795b3ecd322 100644
--- a/devel/rubygem-gitlab-dangerfiles/distinfo
+++ b/devel/rubygem-gitlab-dangerfiles/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1736493121
-SHA256 (rubygem/gitlab-dangerfiles-4.8.1.gem) = bbad321c9638152a643d27a20b35ba1e2d8eddcc6bdfc4493d7b96e816ecf300
-SIZE (rubygem/gitlab-dangerfiles-4.8.1.gem) = 157696
+TIMESTAMP = 1747310509
+SHA256 (rubygem/gitlab-dangerfiles-4.9.1.gem) = 296b19d8aca5e4da8d391234914a1c4dfedc29700ddbcd9c554b6ffaa7fdf1b2
+SIZE (rubygem/gitlab-dangerfiles-4.9.1.gem) = 158720
diff --git a/devel/rubygem-gitlab-labkit/Makefile b/devel/rubygem-gitlab-labkit/Makefile
index 96b700436b26..a8c3b6c18f6e 100644
--- a/devel/rubygem-gitlab-labkit/Makefile
+++ b/devel/rubygem-gitlab-labkit/Makefile
@@ -1,5 +1,6 @@
PORTNAME= gitlab-labkit
PORTVERSION= 0.37.0
+PORTREVISION= 1
CATEGORIES= devel rubygems
MASTER_SITES= RG
@@ -10,8 +11,8 @@ WWW= https://about.gitlab.com/
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
-RUN_DEPENDS= rubygem-actionpack70>=5<8.1:www/rubygem-actionpack70 \
- rubygem-activesupport70>=5<8.1:devel/rubygem-activesupport70 \
+RUN_DEPENDS= rubygem-actionpack-gitlab>=5<8.1:www/rubygem-actionpack-gitlab \
+ rubygem-activesupport-gitlab>=5<8.1:devel/rubygem-activesupport-gitlab \
rubygem-grpc>=1.62:net/rubygem-grpc \
rubygem-jaeger-client>=1.1.0<1.2:devel/rubygem-jaeger-client \
rubygem-opentracing>=0.4<1:devel/rubygem-opentracing \
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
diff --git a/devel/rubygem-graphql/Makefile b/devel/rubygem-graphql/Makefile
index 57be7286afb2..82ebce627160 100644
--- a/devel/rubygem-graphql/Makefile
+++ b/devel/rubygem-graphql/Makefile
@@ -1,5 +1,5 @@
PORTNAME= graphql
-PORTVERSION= 2.4.16
+PORTVERSION= 2.4.17
CATEGORIES= devel rubygems
MASTER_SITES= RG
diff --git a/devel/rubygem-graphql/distinfo b/devel/rubygem-graphql/distinfo
index fa008db06d8d..f86f70103a96 100644
--- a/devel/rubygem-graphql/distinfo
+++ b/devel/rubygem-graphql/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1746703495
-SHA256 (rubygem/graphql-2.4.16.gem) = bff2b280fc24a65c0c5043cb470775dee157c2cd1fde3c10d4e6f677e25d3b13
-SIZE (rubygem/graphql-2.4.16.gem) = 370176
+TIMESTAMP = 1747481080
+SHA256 (rubygem/graphql-2.4.17.gem) = 3fe73c794f920d62bf452aac83a2e3533d6903737d8334bd90a2585c65ea6b5d
+SIZE (rubygem/graphql-2.4.17.gem) = 370176
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 <bsd.port.mk>
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 <bsd.port.mk>
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-paper_trail/Makefile b/devel/rubygem-paper_trail/Makefile
index d2365f1010f1..38007d8be466 100644
--- a/devel/rubygem-paper_trail/Makefile
+++ b/devel/rubygem-paper_trail/Makefile
@@ -1,5 +1,5 @@
PORTNAME= paper_trail
-PORTVERSION= 15.2.0
+PORTVERSION= 16.0.0
CATEGORIES= devel rubygems
MASTER_SITES= RG
@@ -10,7 +10,7 @@ WWW= https://github.com/paper-trail-gem/paper_trail
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
-RUN_DEPENDS= rubygem-activerecord70>=5<8:databases/rubygem-activerecord70 \
+RUN_DEPENDS= rubygem-activerecord-gitlab>=5<8:databases/rubygem-activerecord-gitlab \
rubygem-request_store>=1.4<2:devel/rubygem-request_store
USES= gem
diff --git a/devel/rubygem-paper_trail/distinfo b/devel/rubygem-paper_trail/distinfo
index 034518dedc4f..518a8e7bc17b 100644
--- a/devel/rubygem-paper_trail/distinfo
+++ b/devel/rubygem-paper_trail/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1726721872
-SHA256 (rubygem/paper_trail-15.2.0.gem) = 4be0925e3e881d6b0397294bcffe748a6f2d654fc9e59220a05f7ef4d33ea4a5
-SIZE (rubygem/paper_trail-15.2.0.gem) = 36352
+TIMESTAMP = 1747310990
+SHA256 (rubygem/paper_trail-16.0.0.gem) = e9b9f0fb1b8b590c8231cfa931b282ba92f90e066e393930a5e1c61ae4c5019d
+SIZE (rubygem/paper_trail-16.0.0.gem) = 36864
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 <bsd.port.mk>
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 <bsd.port.mk>
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 <bsd.port.mk>
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-sentry-rails/Makefile b/devel/rubygem-sentry-rails/Makefile
index 5ceb9394f874..d63176d7371c 100644
--- a/devel/rubygem-sentry-rails/Makefile
+++ b/devel/rubygem-sentry-rails/Makefile
@@ -1,5 +1,5 @@
PORTNAME= sentry-rails
-PORTVERSION= 5.22.4
+PORTVERSION= 5.23.0
CATEGORIES= devel rubygems
MASTER_SITES= RG
@@ -10,8 +10,8 @@ WWW= https://github.com/getsentry/sentry-ruby
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
-RUN_DEPENDS= rubygem-railties70>=5.0.0:www/rubygem-railties70 \
- rubygem-sentry-ruby>=5.22.4<5.23:devel/rubygem-sentry-ruby
+RUN_DEPENDS= rubygem-railties-gitlab>=5.0.0:www/rubygem-railties-gitlab \
+ rubygem-sentry-ruby>=5.23.0<5.24:devel/rubygem-sentry-ruby
USES= gem
diff --git a/devel/rubygem-sentry-rails/distinfo b/devel/rubygem-sentry-rails/distinfo
index 5df13f4166c3..fb22e5b8e61b 100644
--- a/devel/rubygem-sentry-rails/distinfo
+++ b/devel/rubygem-sentry-rails/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1744951196
-SHA256 (rubygem/sentry-rails-5.22.4.gem) = 79efc31b72ec7deb68a1ec6c63f0aeb1b76549af0ff57a6cbed2c0b5d71a2d9f
-SIZE (rubygem/sentry-rails-5.22.4.gem) = 22016
+TIMESTAMP = 1747310322
+SHA256 (rubygem/sentry-rails-5.23.0.gem) = 8d2cbc3c85e343c1e882d7c8595d410e0c3afa3b005f51430225b938e128dec4
+SIZE (rubygem/sentry-rails-5.23.0.gem) = 22016
diff --git a/devel/rubygem-sentry-ruby-core/Makefile b/devel/rubygem-sentry-ruby-core/Makefile
index 1f0610fac193..188f8fb0099e 100644
--- a/devel/rubygem-sentry-ruby-core/Makefile
+++ b/devel/rubygem-sentry-ruby-core/Makefile
@@ -1,5 +1,5 @@
PORTNAME= sentry-ruby-core
-PORTVERSION= 5.22.4
+PORTVERSION= 5.23.0
CATEGORIES= devel rubygems
MASTER_SITES= RG
@@ -11,7 +11,7 @@ LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
RUN_DEPENDS= rubygem-concurrent-ruby>=0:devel/rubygem-concurrent-ruby \
- rubygem-sentry-ruby>=5.22.4<5.22.5:devel/rubygem-sentry-ruby
+ rubygem-sentry-ruby>=5.23.0<5.23.1:devel/rubygem-sentry-ruby
USES= gem
diff --git a/devel/rubygem-sentry-ruby-core/distinfo b/devel/rubygem-sentry-ruby-core/distinfo
index 234c35788637..43923753dae9 100644
--- a/devel/rubygem-sentry-ruby-core/distinfo
+++ b/devel/rubygem-sentry-ruby-core/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1744951248
-SHA256 (rubygem/sentry-ruby-core-5.22.4.gem) = 9a96876ab722ac8d1e822dc19cff2905c487cb8e60cf751c74773b7b66763cb5
-SIZE (rubygem/sentry-ruby-core-5.22.4.gem) = 76288
+TIMESTAMP = 1747380528
+SHA256 (rubygem/sentry-ruby-core-5.23.0.gem) = 03ec057f3528b443c6d277a4996080fc268bd4d289468b972e04f8e887d14e03
+SIZE (rubygem/sentry-ruby-core-5.23.0.gem) = 76800
diff --git a/devel/rubygem-sentry-ruby/Makefile b/devel/rubygem-sentry-ruby/Makefile
index 00cb3cd9b8fe..d8ab539f55c4 100644
--- a/devel/rubygem-sentry-ruby/Makefile
+++ b/devel/rubygem-sentry-ruby/Makefile
@@ -1,5 +1,5 @@
PORTNAME= sentry-ruby
-PORTVERSION= 5.22.4
+PORTVERSION= 5.23.0
CATEGORIES= devel rubygems
MASTER_SITES= RG
diff --git a/devel/rubygem-sentry-ruby/distinfo b/devel/rubygem-sentry-ruby/distinfo
index f15a177ace17..0cf86b6aff1e 100644
--- a/devel/rubygem-sentry-ruby/distinfo
+++ b/devel/rubygem-sentry-ruby/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1744951136
-SHA256 (rubygem/sentry-ruby-5.22.4.gem) = e48daf000ab386958a8f8f6c200be29b0b2ef24f23384b7fe7c5eccec091a82c
-SIZE (rubygem/sentry-ruby-5.22.4.gem) = 76288
+TIMESTAMP = 1747310261
+SHA256 (rubygem/sentry-ruby-5.23.0.gem) = 8e8bb2f9a56a267a50fcba947f2ae131b6542f45fc3bb5764c2c25ba68f385cc
+SIZE (rubygem/sentry-ruby-5.23.0.gem) = 76800
diff --git a/devel/rubygem-sentry-sidekiq/Makefile b/devel/rubygem-sentry-sidekiq/Makefile
index 5187529e68da..1afbd7aef17d 100644
--- a/devel/rubygem-sentry-sidekiq/Makefile
+++ b/devel/rubygem-sentry-sidekiq/Makefile
@@ -1,5 +1,5 @@
PORTNAME= sentry-sidekiq
-PORTVERSION= 5.22.4
+PORTVERSION= 5.23.0
CATEGORIES= devel rubygems
MASTER_SITES= RG
@@ -10,7 +10,7 @@ WWW= https://github.com/getsentry/sentry-ruby
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
-RUN_DEPENDS= rubygem-sentry-ruby>=5.22.4<5.23:devel/rubygem-sentry-ruby \
+RUN_DEPENDS= rubygem-sentry-ruby>=5.23.0<5.24:devel/rubygem-sentry-ruby \
rubygem-sidekiq-gitlab>=3.0:devel/rubygem-sidekiq-gitlab
USES= gem
diff --git a/devel/rubygem-sentry-sidekiq/distinfo b/devel/rubygem-sentry-sidekiq/distinfo
index 1518003fcb18..7bbe3053731c 100644
--- a/devel/rubygem-sentry-sidekiq/distinfo
+++ b/devel/rubygem-sentry-sidekiq/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1744951144
-SHA256 (rubygem/sentry-sidekiq-5.22.4.gem) = bdbee654ddc78fad3616bb54981c9d7667e6da91aa256d10001e6081aa034002
-SIZE (rubygem/sentry-sidekiq-5.22.4.gem) = 13312
+TIMESTAMP = 1747310374
+SHA256 (rubygem/sentry-sidekiq-5.23.0.gem) = 34dc6413a25773e185acba605b0ed4dcec5edf3e8e562447b7b44ed6435d1c18
+SIZE (rubygem/sentry-sidekiq-5.23.0.gem) = 13312
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 <bsd.port.mk>
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 <bsd.port.mk>
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/devel/rubygem-version_gem/Makefile b/devel/rubygem-version_gem/Makefile
index ae6dd9da0549..287132a841c9 100644
--- a/devel/rubygem-version_gem/Makefile
+++ b/devel/rubygem-version_gem/Makefile
@@ -1,5 +1,5 @@
PORTNAME= version_gem
-PORTVERSION= 1.1.7
+PORTVERSION= 1.1.8
CATEGORIES= devel rubygems
MASTER_SITES= RG
diff --git a/devel/rubygem-version_gem/distinfo b/devel/rubygem-version_gem/distinfo
index 19febd29635b..54af8a51c7d4 100644
--- a/devel/rubygem-version_gem/distinfo
+++ b/devel/rubygem-version_gem/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1745178220
-SHA256 (rubygem/version_gem-1.1.7.gem) = df3bacb16c09d9069d51625f6e009da28e69ed8f9cbd2dd14753cec944e0cacc
-SIZE (rubygem/version_gem-1.1.7.gem) = 26624
+TIMESTAMP = 1747481910
+SHA256 (rubygem/version_gem-1.1.8.gem) = a964767ecbe36551b9ff2e59099548c27569f2f7f94bdb09f609d76393a8e008
+SIZE (rubygem/version_gem-1.1.8.gem) = 27648
diff --git a/devel/rubygem-view_component-rails70/Makefile b/devel/rubygem-view_component-rails-gitlab/Makefile
index 3d60c810c307..ae94012c741c 100644
--- a/devel/rubygem-view_component-rails70/Makefile
+++ b/devel/rubygem-view_component-rails-gitlab/Makefile
@@ -2,7 +2,7 @@ PORTNAME= view_component
PORTVERSION= 3.21.0
CATEGORIES= devel rubygems
MASTER_SITES= RG
-PKGNAMESUFFIX= -rails70
+PKGNAMESUFFIX= -rails-gitlab
MAINTAINER= mfechner@FreeBSD.org
COMMENT= View components for Rails
@@ -11,7 +11,7 @@ WWW= https://github.com/github/view_component
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
-RUN_DEPENDS= rubygem-activesupport70>=5.2.0<8.1:devel/rubygem-activesupport70 \
+RUN_DEPENDS= rubygem-activesupport-gitlab>=5.2.0<8.1:devel/rubygem-activesupport-gitlab \
rubygem-concurrent-ruby>=1.0<2:devel/rubygem-concurrent-ruby \
rubygem-method_source>=1.0<2:devel/rubygem-method_source
diff --git a/devel/rubygem-view_component-rails70/distinfo b/devel/rubygem-view_component-rails-gitlab/distinfo
index f075c7cbf2c0..f075c7cbf2c0 100644
--- a/devel/rubygem-view_component-rails70/distinfo
+++ b/devel/rubygem-view_component-rails-gitlab/distinfo
diff --git a/devel/rubygem-view_component-rails70/pkg-descr b/devel/rubygem-view_component-rails-gitlab/pkg-descr
index ad5ea4f48d97..ad5ea4f48d97 100644
--- a/devel/rubygem-view_component-rails70/pkg-descr
+++ b/devel/rubygem-view_component-rails-gitlab/pkg-descr
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
diff --git a/dns/rubygem-gitlab-net-dns/Makefile b/dns/rubygem-gitlab-net-dns/Makefile
index 119984ee2aa8..83d70acdb236 100644
--- a/dns/rubygem-gitlab-net-dns/Makefile
+++ b/dns/rubygem-gitlab-net-dns/Makefile
@@ -1,5 +1,5 @@
PORTNAME= gitlab-net-dns
-PORTVERSION= 0.10.0
+PORTVERSION= 0.12.0
CATEGORIES= dns rubygems
MASTER_SITES= RG
@@ -10,6 +10,8 @@ WWW= https://gitlab.com/gitlab-org/gitlab-net-dns
LICENSE= BSD2CLAUSE RUBY
LICENSE_COMB= dual
+RUN_DEPENDS= rubygem-logger>=0:devel/rubygem-logger
+
USES= gem
NO_ARCH= yes
diff --git a/dns/rubygem-gitlab-net-dns/distinfo b/dns/rubygem-gitlab-net-dns/distinfo
index 09acf9bd1cc0..3d5571818c44 100644
--- a/dns/rubygem-gitlab-net-dns/distinfo
+++ b/dns/rubygem-gitlab-net-dns/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1739967394
-SHA256 (rubygem/gitlab-net-dns-0.10.0.gem) = 73b4613d8c851480b7b4e631f117bce4bbb4b6b8073ecf4eb167407e46097c6e
-SIZE (rubygem/gitlab-net-dns-0.10.0.gem) = 58368
+TIMESTAMP = 1747310738
+SHA256 (rubygem/gitlab-net-dns-0.12.0.gem) = b64afbb0a5d4d1a77306933cac23f3b507667d54a6968dab6ffe91b1ebc6b5a7
+SIZE (rubygem/gitlab-net-dns-0.12.0.gem) = 59392
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
diff --git a/emulators/wine/Makefile b/emulators/wine/Makefile
index ef7c336b6551..12125ec82fc2 100644
--- a/emulators/wine/Makefile
+++ b/emulators/wine/Makefile
@@ -148,6 +148,7 @@ PLIST_SUB+= WINE32="@comment " WINE64="" WINEARCH="x86_64"
# FreeBSD yet.
post-patch:
${REINPLACE_CMD} '/Exec/s|wine|wine64|g' ${WRKSRC}/loader/wine.desktop
+ ${MV} ${WRKSRC}/loader/*.man.in ${WRKSRC}/tools/wine/
.else
EXTRA_PATCHES+= files/extra-patch-tools-winebuild-res32
@@ -158,6 +159,14 @@ pre-build:
cd ${WRKSRC} && ${SETENVI} ${WRK_ENV} ${MAKE_CMD} depend
post-install:
+ ${MKDIR} ${STAGEDIR}${PREFIX}/share/man/man1
+ ${INSTALL_MAN} ${WRKSRC}/tools/wine/wine.man ${STAGEDIR}${PREFIX}/share/man/man1/wine.1
+ ${GZIP_CMD} ${STAGEDIR}${PREFIX}/share/man/man1/wine.1
+.for m in de.UTF-8 fr.UTF-8 pl.UTF-8
+ ${MKDIR} ${STAGEDIR}${PREFIX}/share/man/${m}/man1
+ ${INSTALL_MAN} ${WRKSRC}/tools/wine/wine.${m}.man ${STAGEDIR}${PREFIX}/share/man/${m}/man1/wine.1
+ ${GZIP_CMD} ${STAGEDIR}${PREFIX}/share/man/${m}/man1/wine.1
+.endfor
.if ${ARCH} == i386
${MV} ${STAGEDIR}${PREFIX}/bin/wineserver ${STAGEDIR}${PREFIX}/bin/wineserver32
${MV} ${STAGEDIR}${PREFIX}/bin/wine ${STAGEDIR}${PREFIX}/bin/wine.bin
diff --git a/emulators/wine/files/patch-man b/emulators/wine/files/patch-man
new file mode 100644
index 000000000000..849a560ae899
--- /dev/null
+++ b/emulators/wine/files/patch-man
@@ -0,0 +1,94 @@
+This backports (parts of)
+
+ commit 22a90656baebdbbe8ec30d3f00f86d6e34f1451e
+ Author: Alexandre Julliard <julliard@winehq.org>
+ Date: Thu Feb 13 13:44:17 2025 +0100
+
+ tools: Move the loader man pages to the new Wine loader directory.
+
+and
+
+ commit 6d28db86c9c2559e67a4820175416aff20f7abec
+ Author: Alexandre Julliard <julliard@winehq.org>
+ Date: Thu Feb 13 13:40:44 2025 +0100
+
+ tools: Add a simpler Wine launcher in the bin directory.
+
+with some tweaks and hacks in the port Makefile. Luckily all of this
+will be obsolete with the next major version.
+
+--- UTC
+--- configure
++++ configure
+@@ -1762,6 +1762,7 @@ enable_server
+ enable_tools
+ enable_sfnt2fon
+ enable_widl
++enable_wine
+ enable_winebuild
+ enable_winedump
+ enable_winegcc
+@@ -23212,6 +23214,7 @@ wine_fn_config_makefile server enable_server
+ test "x$enable_tools" = xno || wine_fn_config_makefile tools enable_tools
+ test "x$enable_tools" = xno || wine_fn_config_makefile tools/sfnt2fon enable_sfnt2fon
+ test "x$enable_tools" = xno || wine_fn_config_makefile tools/widl enable_widl
++test "x$enable_tools" = xno || wine_fn_config_makefile tools/wine enable_wine
+ test "x$enable_tools" = xno || wine_fn_config_makefile tools/winebuild enable_winebuild
+ test "x$enable_tools" = xno || wine_fn_config_makefile tools/winedump enable_winedump
+ test "x$enable_tools" = xno || wine_fn_config_makefile tools/winegcc enable_winegcc
+--- UTC
+--- configure.ac
++++ configure.ac
+@@ -3554,6 +3555,7 @@ WINE_CONFIG_MAKEFILE(server)
+ WINE_CONFIG_MAKEFILE(tools,,[test "x$enable_tools" = xno])
+ WINE_CONFIG_MAKEFILE(tools/sfnt2fon,,[test "x$enable_tools" = xno])
+ WINE_CONFIG_MAKEFILE(tools/widl,,[test "x$enable_tools" = xno])
++WINE_CONFIG_MAKEFILE(tools/wine,,[test "x$enable_tools" = xno])
+ WINE_CONFIG_MAKEFILE(tools/winebuild,,[test "x$enable_tools" = xno])
+ WINE_CONFIG_MAKEFILE(tools/winedump,,[test "x$enable_tools" = xno])
+ WINE_CONFIG_MAKEFILE(tools/winegcc,,[test "x$enable_tools" = xno])
+diff --git a/tools/wine/Makefile.in b/tools/wine/Makefile.in
+new file mode 100644
+index 00000000000..445e1dde9d0
+--- UTC
+--- /dev/null
++++ tools/wine/Makefile.in
+@@ -0,0 +1,8 @@
++PROGRAMS = wine
++
++SOURCES = \
++ wine.c \
++ wine.de.UTF-8.man.in \
++ wine.fr.UTF-8.man.in \
++ wine.man.in \
++ wine.pl.UTF-8.man.in
++
++wine_EXTRADEFS = -DBINDIR="\"${bindir}\"" -DLIBDIR="\"${libdir}\""
++
++INSTALL_LIB = $(PROGRAMS)
+--- UTC
+--- loader/Makefile.in
++++ loader/Makefile.in
+@@ -2,12 +2,8 @@ SOURCES = \
+ main.c \
+ preloader.c \
+ preloader_mac.c \
+- wine.de.UTF-8.man.in \
+ wine.desktop \
+- wine.fr.UTF-8.man.in \
+ wine.inf.in \
+- wine.man.in \
+- wine.pl.UTF-8.man.in \
+ wine_info.plist.in
+
+ PROGRAMS = $(WINELOADER_PROGRAMS)
+--- UTC
+--- /dev/null
++++ tools/wine/wine.c
+@@ -0,0 +1,6 @@
++#include <stdarg.h>
++
++int main( int argc, char *argv[] )
++{
++return 99;
++}
diff --git a/graphics/p5-Image-PNG-QRCode/Makefile b/graphics/p5-Image-PNG-QRCode/Makefile
index 47de7d6976fc..014aab60e07b 100644
--- a/graphics/p5-Image-PNG-QRCode/Makefile
+++ b/graphics/p5-Image-PNG-QRCode/Makefile
@@ -1,5 +1,5 @@
PORTNAME= Image-PNG-QRCode
-DISTVERSION= 0.10
+DISTVERSION= 0.11
CATEGORIES= graphics perl5
MASTER_SITES= CPAN
PKGNAMEPREFIX= p5-
@@ -10,6 +10,9 @@ WWW= https://metacpan.org/pod/Image::PNG::QRCode
LICENSE= GPLv3
+DEPRECATED= Abandoned
+EXPIRATION_DATE= 2025-12-31
+
LIB_DEPENDS= libpng.so:graphics/png
USES= perl5
diff --git a/graphics/p5-Image-PNG-QRCode/distinfo b/graphics/p5-Image-PNG-QRCode/distinfo
index 476631441673..41cb3b85edda 100644
--- a/graphics/p5-Image-PNG-QRCode/distinfo
+++ b/graphics/p5-Image-PNG-QRCode/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1655209776
-SHA256 (Image-PNG-QRCode-0.10.tar.gz) = b71502b6f7ceb57609ed916fb42e4c614f0e2498746e8ca191b11dfae7b0af1f
-SIZE (Image-PNG-QRCode-0.10.tar.gz) = 68571
+TIMESTAMP = 1747521348
+SHA256 (Image-PNG-QRCode-0.11.tar.gz) = 516b9c62de0765de87f19f0d44513db6a009c85a76cbd4d61ff71f213370d292
+SIZE (Image-PNG-QRCode-0.11.tar.gz) = 138977
diff --git a/graphics/rubygem-invisible_captcha/Makefile b/graphics/rubygem-invisible_captcha/Makefile
index 6ecea501011e..00e37dcd82a9 100644
--- a/graphics/rubygem-invisible_captcha/Makefile
+++ b/graphics/rubygem-invisible_captcha/Makefile
@@ -1,5 +1,6 @@
PORTNAME= invisible_captcha
PORTVERSION= 2.1.0
+PORTREVISION= 1
CATEGORIES= graphics rubygems
MASTER_SITES= RG
@@ -9,7 +10,7 @@ WWW= https://github.com/markets/invisible_captcha
LICENSE= MIT
-RUN_DEPENDS= rubygem-rails70>=5.2:www/rubygem-rails70
+RUN_DEPENDS= rubygem-rails-gitlab>=5.2:www/rubygem-rails-gitlab
USES= gem
diff --git a/lang/julia/Makefile b/lang/julia/Makefile
index a0c827ea4f5d..d9805e0935f0 100644
--- a/lang/julia/Makefile
+++ b/lang/julia/Makefile
@@ -1,23 +1,9 @@
PORTNAME= julia
-DISTVERSION= 1.10.3
-PORTREVISION= 7
+DISTVERSION= 1.10.5
DISTVERSIONSUFFIX= -full
CATEGORIES= lang math
MASTER_SITES= https://github.com/JuliaLang/${PORTNAME}/releases/download/v${DISTVERSION}/
-DOCS_MASTER_SITES= https://www.unicode.org/Public/$(UNICODE_DATA_VERSION)/ucd/:unicode \
- https://jp.pkg.julialang.org/registry/${JPKGUUID}/:jpkg \
- https://github.com/JuliaBinaryWrappers/Expat_jll.jl/releases/download/Expat-v2.6.2+0/:afexpat \
- https://github.com/JuliaBinaryWrappers/Git_jll.jl/releases/download/Git-v2.44.0+2/:afgit \
- https://github.com/JuliaBinaryWrappers/Libiconv_jll.jl/releases/download/Libiconv-v1.17.0+0/:aflibiconv \
- https://github.com/JuliaBinaryWrappers/OpenSSL_jll.jl/releases/download/OpenSSL-v3.0.13+1/:afopenssl
-
DISTFILES= ${DISTNAME}${EXTRACT_SUFX}
-DOCS_DISTFILES= UnicodeData.txt:unicode \
- Expat.v2.6.2.x86_64-unknown-freebsd.tar.gz:afexpat \
- Git.v2.44.0.x86_64-unknown-freebsd.tar.gz:afgit \
- Libiconv.v1.17.0.x86_64-unknown-freebsd.tar.gz:aflibiconv \
- OpenSSL.v3.0.13.x86_64-unknown-freebsd.tar.gz:afopenssl \
- ${JPKGSHA1}:jpkg
EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX}
MAINTAINER= ports@FreeBSD.org
@@ -27,9 +13,6 @@ WWW= https://julialang.org/
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE.md
-DEPRECATED= Depends on expired security/mbedtls2
-EXPIRATION_DATE=2025-06-30
-
ONLY_FOR_ARCHS= amd64
ONLY_FOR_ARCHS_REASON= Has not been ported to this platform for freebsd
@@ -39,21 +22,22 @@ MY_DEPENDS= 7zz:archivers/7-zip \
BUILD_DEPENDS= patchelf:sysutils/patchelf \
cmake:devel/cmake-core \
${MY_DEPENDS}
-
LIB_DEPENDS= libcurl.so:ftp/curl \
libdSFMT.so:math/dsfmt \
libgit2.so:devel/libgit2 \
libgmp.so:math/gmp \
libnghttp2.so:www/libnghttp2 \
- libmbedtls.so:security/mbedtls2 \
libmpfr.so:math/mpfr \
libopenlibm.so:math/openlibm \
libpcre2-8.so:devel/pcre2 \
libssh2.so:security/libssh2 \
- libsuitesparseconfig.so:math/suitesparse-config \
+ libmbedcrypto.so:security/mbedtls3 \
+ libspqr.so:math/suitesparse-spqr \
+ libumfpack.so:math/suitesparse-umfpack \
libutf8proc.so:textproc/utf8proc \
libunwind.so:devel/libunwind \
- libzstd.so:archivers/zstd
+ libzstd.so:archivers/zstd \
+ libelf.so:devel/elfutils
RUN_DEPENDS= ${MY_DEPENDS}
BUILD_DEPENDS_amd64= ittapi>0:devel/ittapi
@@ -61,16 +45,34 @@ BUILD_DEPENDS_i386= ittapi>0:devel/ittapi
# Do not set USES=fortran to avoid extra-linkage
USES= blaslapack:openblas compiler:c++17-lang cpe elfctl gmake \
- perl5 python shebangfix
+ libedit perl5 python shebangfix
_GCC_VER= ${GCC_DEFAULT:S/.//}
+DOCS_DISTFILES= UnicodeData.txt:unicode \
+ Expat.v2.6.2.x86_64-unknown-freebsd.tar.gz:afexpat \
+ Git.v2.44.0.x86_64-unknown-freebsd.tar.gz:afgit \
+ Libiconv.v1.17.0.x86_64-unknown-freebsd.tar.gz:aflibiconv \
+ OpenSSL.v3.0.13.x86_64-unknown-freebsd.tar.gz:afopenssl \
+ ${JPKGSHA1}:jpkg
+DOCS_MASTER_SITES= https://www.unicode.org/Public/${UNICODE_DATA_VERSION}/ucd/:unicode \
+ https://jp.pkg.julialang.org/registry/${JPKGUUID}/:jpkg \
+ https://github.com/JuliaBinaryWrappers/Expat_jll.jl/releases/download/Expat-v2.6.2+0/:afexpat \
+ https://github.com/JuliaBinaryWrappers/Git_jll.jl/releases/download/Git-v2.44.0+2/:afgit \
+ https://github.com/JuliaBinaryWrappers/Libiconv_jll.jl/releases/download/Libiconv-v1.17.0+0/:aflibiconv \
+ https://github.com/JuliaBinaryWrappers/OpenSSL_jll.jl/releases/download/OpenSSL-v3.0.13+1/:afopenssl
+
CPE_VENDOR= julialang
ELF_FEATURES= +wxneeded:usr/bin/julia
-USE_LDCONFIG= yes
+USE_LDCONFIG= ${PREFIX}/lib/julia
-MAKE_ARGS+= JULIA_DEBUG=Documenter VERBOSE=1 NO_GIT=1 \
+GMP_VER= 6.3.0 # Version of math/gmp
+MPFR_VER= 4.2.2 # Version of math/mpfr
+
+MAKE_ARGS+= JULIA_DEBUG=Documenter \
+ VERBOSE=1 \
+ NO_GIT=1 \
USE_BINARYBUILDER=0 \
prefix=${PREFIX} \
USE_GPL_LIBS=0 \
@@ -87,7 +89,6 @@ MAKE_ARGS+= JULIA_DEBUG=Documenter VERBOSE=1 NO_GIT=1 \
USE_SYSTEM_LIBSSH2=1 \
USE_SYSTEM_LIBUNWIND=1 \
USE_SYSTEM_LLD=1 \
- USE_SYSTEM_MBEDTLS=1 \
USE_SYSTEM_MPFR=1 \
USE_SYSTEM_NGHTTP2=1 \
USE_SYSTEM_P7ZIP=1 \
@@ -126,6 +127,8 @@ DOCS_MAKE_ENV+= JULIA_PKG_OFFLINE="true"
DOCS_VARS= ALL_TARGET+=docs \
INSTALL_TARGET+=install-docs
+TEST_ENV+= OMP_NUM_THREADS=1
+
LATE_SHEBANG_GLOB= compile.jl generator.jl
.include <bsd.port.pre.mk>
@@ -163,7 +166,7 @@ DOCPKGDIR_abstracttrees= AbstractTrees
DOCPKGDIR_ansicoloredprinters= ANSIColoredPrinters
DOCPKGDIR_codeczlib= CodecZlib
DOCPKGDIR_docstringextensions= DocStringExtensions
-DOCPKGDIR_documenterinventorywritingbackport= DocumenterInventoryWritingBackport
+DOCPKGDIR_documenterinventorywritingbackport= DocumenterInventoryWritingBackport
DOCPKGDIR_expatjll= Expat_jll
DOCPKGDIR_git= Git
DOCPKGDIR_gitjll= Git_jll
@@ -191,6 +194,10 @@ DARC_aflibiconv= Libiconv.v1.17.0.x86_64-unknown-freebsd.tar.gz
DARC_afopenssl= OpenSSL.v3.0.13.x86_64-unknown-freebsd.tar.gz
.endif
+LATE_PATCHES= stdlib_SparseArrays_test_fixed.jl.patch \
+ stdlib_SparseArrays_test_testgroups.patch \
+ stdlib_Tar_test_runtest.jl.patch
+
post-extract:
@${MKDIR} ${WRKSRC}/deps/srccache
${CP} ${FILESDIR}/llvm-patch-backport-version-fixes \
@@ -238,10 +245,17 @@ pre-configure:
) || ( \
echo "USE_BLAS64=0" >> ${WRKSRC}/Make.user \
)
+ ${REINPLACE_CMD} -e 's|%%GMP_VER%%|${GMP_VER}|' \
+ ${WRKSRC}/stdlib/GMP_jll/test/runtests.jl
+ ${REINPLACE_CMD} -e 's|%%MPFR_VER%%|${MPFR_VER}|' \
+ ${WRKSRC}/stdlib/MPFR_jll/test/runtests.jl
pre-install:
${MAKE} SHEBANG_GLOB="${LATE_SHEBANG_GLOB}" fix-shebang
${CP} ${WRKSRC}/deps/srccache/cacert-2023-01-10.pem ${WRKSRC}/usr/share/julia/cert.pem
+.for patch in ${LATE_PATCHES}
+ ${PATCH} -d ${WRKSRC} -p0 < ${PATCHDIR}/${patch}
+.endfor
pre-install-DEBUG-on:
@(cd ${INSTALL_WRKSRC} && ${SETENVI} ${WRK_ENV} ${MAKE_ENV} ${FAKEROOT} \
@@ -262,8 +276,11 @@ post-install:
${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/julia
${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libjulia.so*
-.for bin in libccalltest.so libllvmcalltest.so libjulia-internal.so* libblastrampoline.so libuv.so* libz.so* libLLVM* sys.so libjulia-codegen.so*
- ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/julia/${bin}
+.for dir in lib/${PORTNAME} share/${PORTNAME}/compiled/v${PORTVERSION:R}
+ ${FIND} ${STAGEDIR}${PREFIX}/${dir} \
+ \( -name *.so.* -o -name *.so \) -a -not \
+ \( -name *-debug.so.* -o -name *-debug.so \) \
+ -a -not -type l -exec ${STRIP_CMD} {} +
.endfor
.for bin in lld dsymutil
${STRIP_CMD} ${STAGEDIR}${PREFIX}/libexec/julia/${bin}
@@ -272,4 +289,8 @@ post-install:
@${MV} ${STAGEDIR}${ETCDIR}/startup.jl \
${STAGEDIR}${ETCDIR}/startup.jl.sample
+post-stage:
+ cd ${STAGEDIR}${PREFIX} && ${FIND} ${DATADIR_REL}/compiled -type f -o -type l > ${WRKDIR}/PLIST.compiled
+ cd ${WRKDIR} && ${SED} -i -e "/PLIST.compiled/r PLIST.compiled" ${TMPPLIST}
+
.include <bsd.port.post.mk>
diff --git a/lang/julia/distinfo b/lang/julia/distinfo
index 2226e4f6179e..f79fd8dffd20 100644
--- a/lang/julia/distinfo
+++ b/lang/julia/distinfo
@@ -1,6 +1,6 @@
-TIMESTAMP = 1715263119
-SHA256 (julia-1.10.3-full.tar.gz) = d892b2123be64dacf9d05e4ccbad7f1797f6bf87c397a74804b011c8750f6c8f
-SIZE (julia-1.10.3-full.tar.gz) = 318660498
+TIMESTAMP = 1725251613
+SHA256 (julia-1.10.5-full.tar.gz) = 5fc94159b87f34d18bf44a1a940e59f40cbeab931bfdc0c4763203bbb6995260
+SIZE (julia-1.10.5-full.tar.gz) = 318683963
SHA256 (UnicodeData.txt) = bdbffbbfc8ad4d3a6d01b5891510458f3d36f7170422af4ea2bed3211a73e8bb
SIZE (UnicodeData.txt) = 1851767
SHA256 (Expat.v2.6.2.x86_64-unknown-freebsd.tar.gz) = 0c2445fbf26b5633f10ee074a482181a240705925525214c676ee59e24b08ba3
diff --git a/lang/julia/files/patch-Makefile b/lang/julia/files/patch-Makefile
index 0a26e5e5db71..c817495edb4c 100644
--- a/lang/julia/files/patch-Makefile
+++ b/lang/julia/files/patch-Makefile
@@ -1,10 +1,15 @@
---- Makefile.orig 2024-04-30 17:45:14 UTC
+--- Makefile.orig 2024-08-27 21:19:31 UTC
+++ Makefile
-@@ -265,9 +265,9 @@ endef
+@@ -265,13 +265,13 @@ define stringreplace
+ # Note that we disable MSYS2's path munging here, as otherwise
+ # it replaces our `:`-separated list as a `;`-separated one.
+ define stringreplace
+- MSYS2_ARG_CONV_EXCL='*' $(build_depsbindir)/stringreplace $$(strings -t x - '$1' | grep "$2" | awk '{print $$1;}') "$3" 255 "$(call cygpath_w,$1)"
++ MSYS2_ARG_CONV_EXCL='*' $(build_depsbindir)/stringreplace $$(strings -t x -a '$1' | grep "$2" | awk '{print $$1;}') "$3" 255 "$(call cygpath_w,$1)"
endef
--install: $(build_depsbindir)/stringreplace docs
+-install: $(build_depsbindir)/stringreplace $(BUILDROOT)/doc/_build/html/en/index.html
+install: $(build_depsbindir)/stringreplace
@$(MAKE) $(QUIET_MAKE) $(JULIA_BUILD_MODE)
- @for subdir in $(bindir) $(datarootdir)/julia/stdlib/$(VERSDIR) $(docdir) $(man1dir) $(includedir)/julia $(libdir) $(private_libdir) $(sysconfdir) $(private_libexecdir); do \
@@ -12,7 +17,7 @@
mkdir -p $(DESTDIR)$$subdir; \
done
-@@ -366,8 +366,6 @@ endif
+@@ -370,8 +370,6 @@ endif
cp -R -L $(JULIAHOME)/base/* $(DESTDIR)$(datarootdir)/julia/base
cp -R -L $(JULIAHOME)/test/* $(DESTDIR)$(datarootdir)/julia/test
cp -R -L $(build_datarootdir)/julia/* $(DESTDIR)$(datarootdir)/julia
@@ -21,7 +26,7 @@
# Remove various files which should not be installed
-rm -f $(DESTDIR)$(datarootdir)/julia/base/version_git.sh
-rm -f $(DESTDIR)$(datarootdir)/julia/test/Makefile
-@@ -462,9 +460,9 @@ ifeq ($(OS),FreeBSD)
+@@ -466,9 +464,9 @@ ifeq ($(OS),FreeBSD)
# needs to be fixed here, as libgcc_s and libquadmath don't have RPATHs set. If we
# don't set libgfortran's RPATH, it won't be able to find its friends on systems
# that don't have the exact GCC port installed used for the build.
@@ -34,12 +39,12 @@
endif
mkdir -p $(DESTDIR)$(sysconfdir)
-@@ -473,6 +471,10 @@ endif
+@@ -477,6 +475,10 @@ endif
ifeq ($(DARWIN_FRAMEWORK),1)
$(MAKE) -C $(JULIAHOME)/contrib/mac/framework frameworknoinstall
endif
+
-+install-docs: docs
++install-docs: $(BUILDROOT)/doc/_build/html/en/index.html
+ # Copy documentation
+ cp -R -L $(BUILDROOT)/doc/_build/html $(DESTDIR)$(docdir)/
diff --git a/lang/julia/files/patch-deps_llvm.mk b/lang/julia/files/patch-deps_llvm.mk
index 6d0d01e56821..91e747f0f934 100644
--- a/lang/julia/files/patch-deps_llvm.mk
+++ b/lang/julia/files/patch-deps_llvm.mk
@@ -1,6 +1,6 @@
---- deps/llvm.mk.orig 2024-04-30 17:45:14 UTC
+--- deps/llvm.mk.orig 2024-08-27 21:19:31 UTC
+++ deps/llvm.mk
-@@ -214,7 +214,7 @@ $$(SRCCACHE)/$$(LLVM_SRC_DIR)/$1.patch-applied: $$(SRC
+@@ -213,7 +213,7 @@ $$(SRCCACHE)/$$(LLVM_SRC_DIR)/$1.patch-applied: $$(SRC
LLVM_PATCH_PREV :=
define LLVM_PATCH
$$(SRCCACHE)/$$(LLVM_SRC_DIR)/$1.patch-applied: $$(SRCCACHE)/$$(LLVM_SRC_DIR)/source-extracted | $$(SRCDIR)/patches/$1.patch $$(LLVM_PATCH_PREV)
@@ -9,7 +9,7 @@
echo 1 > $$@
# declare that applying any patch must re-run the compile step
$$(LLVM_BUILDDIR_withtype)/build-compiled: $$(SRCCACHE)/$$(LLVM_SRC_DIR)/$1.patch-applied
-@@ -230,7 +230,8 @@ endef
+@@ -229,7 +229,8 @@ endef
LLVM_PATCH_PREV := $$(SRCCACHE)/$$(LLVM_SRC_DIR)/$1.patch-applied
endef
diff --git a/lang/julia/files/patch-doc_make.jl b/lang/julia/files/patch-doc_make.jl
index fb929ff1674b..07a94ad7aafc 100644
--- a/lang/julia/files/patch-doc_make.jl
+++ b/lang/julia/files/patch-doc_make.jl
@@ -1,6 +1,6 @@
---- doc/make.jl.orig 2024-04-30 17:45:14.000000000 +0000
-+++ doc/make.jl 2024-05-10 03:22:43.203136000 +0000
-@@ -5,7 +5,30 @@
+--- doc/make.jl.orig 2024-08-27 21:19:31 UTC
++++ doc/make.jl
+@@ -5,7 +5,30 @@ using Pkg
empty!(DEPOT_PATH)
pushfirst!(DEPOT_PATH, joinpath(@__DIR__, "deps"))
using Pkg
@@ -32,7 +32,7 @@
using Documenter
using DocumenterInventoryWritingBackport
-@@ -288,6 +311,13 @@
+@@ -288,6 +311,13 @@ else
collapselevel = 1,
sidebar_sitename = false,
ansicolor = true,
@@ -46,7 +46,7 @@
)
end
-@@ -299,12 +329,12 @@
+@@ -299,12 +329,12 @@ makedocs(
doctest = ("doctest=fix" in ARGS) ? (:fix) : ("doctest=only" in ARGS) ? (:only) : ("doctest=true" in ARGS) ? true : false,
linkcheck = "linkcheck=true" in ARGS,
linkcheck_ignore = ["https://bugs.kde.org/show_bug.cgi?id=136779"], # fails to load from nanosoldier?
diff --git a/lang/julia/files/patch-stdlib_FileWatching_test_pidfile.jl b/lang/julia/files/patch-stdlib_FileWatching_test_pidfile.jl
new file mode 100644
index 000000000000..71152a0d0d20
--- /dev/null
+++ b/lang/julia/files/patch-stdlib_FileWatching_test_pidfile.jl
@@ -0,0 +1,12 @@
+--- stdlib/FileWatching/test/pidfile.jl.orig 2023-12-03 21:24:39 UTC
++++ stdlib/FileWatching/test/pidfile.jl
+@@ -41,7 +41,8 @@ try
+ @test isvalidpid("NOT" * gethostname(), 0 % Cuint)
+ @test isvalidpid("NOT" * gethostname(), -1 % Cuint)
+ if !iswindows()
+- @test isvalidpid("", 1 % Cuint)
++ # we cannot see pid 1 in a jail
++ # @test isvalidpid("", 1 % Cuint)
+ @test !isvalidpid("", -1 % Cuint)
+ @test !isvalidpid("", -mypid)
+ end
diff --git a/lang/julia/files/patch-stdlib_GMP__jll_test_runtests.jl b/lang/julia/files/patch-stdlib_GMP__jll_test_runtests.jl
new file mode 100644
index 000000000000..5f3fd6cf749c
--- /dev/null
+++ b/lang/julia/files/patch-stdlib_GMP__jll_test_runtests.jl
@@ -0,0 +1,9 @@
+--- stdlib/GMP_jll/test/runtests.jl.orig 2024-08-27 21:19:31 UTC
++++ stdlib/GMP_jll/test/runtests.jl
+@@ -4,5 +4,5 @@ using Test, Libdl, GMP_jll
+
+ @testset "GMP_jll" begin
+ vn = VersionNumber(unsafe_string(unsafe_load(cglobal((:__gmp_version, libgmp), Ptr{Cchar}))))
+- @test vn == v"6.2.1"
++ @test vn == v"%%GMP_VER%%"
+ end
diff --git a/lang/julia/files/patch-stdlib_LibGit2__jll_test_runtests.jl b/lang/julia/files/patch-stdlib_LibGit2__jll_test_runtests.jl
new file mode 100644
index 000000000000..6577db372568
--- /dev/null
+++ b/lang/julia/files/patch-stdlib_LibGit2__jll_test_runtests.jl
@@ -0,0 +1,10 @@
+--- stdlib/LibGit2_jll/test/runtests.jl.orig 2024-08-27 21:19:31 UTC
++++ stdlib/LibGit2_jll/test/runtests.jl
+@@ -7,5 +7,6 @@ using Test, Libdl, LibGit2_jll
+ minor = Ref{Cint}(0)
+ patch = Ref{Cint}(0)
+ @test ccall((:git_libgit2_version, libgit2), Cint, (Ref{Cint}, Ref{Cint}, Ref{Cint}), major, minor, patch) == 0
+- @test VersionNumber(major[], minor[], patch[]) == v"1.6.4"
++ # Do not check version number. It changes.
++ # @test VersionNumber(major[], minor[], patch[]) == v"1.6.4"
+ end
diff --git a/lang/julia/files/patch-stdlib_LibGit2_test_libgit2-tests.jl b/lang/julia/files/patch-stdlib_LibGit2_test_libgit2-tests.jl
new file mode 100644
index 000000000000..50229e0fa1a5
--- /dev/null
+++ b/lang/julia/files/patch-stdlib_LibGit2_test_libgit2-tests.jl
@@ -0,0 +1,32 @@
+--- stdlib/LibGit2/test/libgit2-tests.jl.orig 2024-08-27 21:19:31 UTC
++++ stdlib/LibGit2/test/libgit2-tests.jl
+@@ -1179,22 +1179,23 @@ mktempdir() do dir
+ end
+ end
+
++ # not a git repository?
+ @testset "diff" begin
+ LibGit2.with(LibGit2.GitRepo(cache_repo)) do repo
+ @test !LibGit2.isdirty(repo)
+- @test !LibGit2.isdirty(repo, test_file)
+- @test !LibGit2.isdirty(repo, "nonexistent")
++ # @test !LibGit2.isdirty(repo, test_file)
++ # @test !LibGit2.isdirty(repo, "nonexistent")
+ @test !LibGit2.isdiff(repo, "HEAD")
+ @test !LibGit2.isdirty(repo, cached=true)
+- @test !LibGit2.isdirty(repo, test_file, cached=true)
+- @test !LibGit2.isdirty(repo, "nonexistent", cached=true)
++ # @test !LibGit2.isdirty(repo, test_file, cached=true)
++ # @test !LibGit2.isdirty(repo, "nonexistent", cached=true)
+ @test !LibGit2.isdiff(repo, "HEAD", cached=true)
+ open(joinpath(cache_repo,test_file), "a") do f
+ println(f, "zzzz")
+ end
+ @test LibGit2.isdirty(repo)
+- @test LibGit2.isdirty(repo, test_file)
+- @test !LibGit2.isdirty(repo, "nonexistent")
++ # @test LibGit2.isdirty(repo, test_file)
++ # @test !LibGit2.isdirty(repo, "nonexistent")
+ @test LibGit2.isdiff(repo, "HEAD")
+ @test !LibGit2.isdirty(repo, cached=true)
+ @test !LibGit2.isdiff(repo, "HEAD", cached=true)
diff --git a/lang/julia/files/patch-stdlib_LinearAlgebra_src_lbt.jl b/lang/julia/files/patch-stdlib_LinearAlgebra_src_lbt.jl
index a6823905f426..9a814f65f066 100644
--- a/lang/julia/files/patch-stdlib_LinearAlgebra_src_lbt.jl
+++ b/lang/julia/files/patch-stdlib_LinearAlgebra_src_lbt.jl
@@ -1,6 +1,6 @@
---- stdlib/LinearAlgebra/src/lbt.jl.orig 2023-08-24 16:20:21 UTC
+--- stdlib/LinearAlgebra/src/lbt.jl.orig 2024-08-27 21:19:31 UTC
+++ stdlib/LinearAlgebra/src/lbt.jl
-@@ -210,7 +210,7 @@ function lbt_set_num_threads(nthreads)
+@@ -225,7 +225,7 @@ function lbt_set_num_threads(nthreads)
end
function lbt_set_num_threads(nthreads)
diff --git a/lang/julia/files/patch-stdlib_LinearAlgebra_test_blas.jl b/lang/julia/files/patch-stdlib_LinearAlgebra_test_blas.jl
new file mode 100644
index 000000000000..bdbfb63cdcb1
--- /dev/null
+++ b/lang/julia/files/patch-stdlib_LinearAlgebra_test_blas.jl
@@ -0,0 +1,13 @@
+--- stdlib/LinearAlgebra/test/blas.jl.orig 2024-08-27 21:19:31 UTC
++++ stdlib/LinearAlgebra/test/blas.jl
+@@ -730,7 +730,9 @@ end
+ # Make sure we can use `Base.libblas_name`. Avoid causing
+ # https://github.com/JuliaLang/julia/issues/48427 again.
+ @testset "libblas_name" begin
+- dot_sym = dlsym(dlopen(Base.libblas_name), "cblas_ddot" * (Sys.WORD_SIZE == 64 ? "64_" : ""))
++ # openblas does not implement cblas_ddot64_.
++ # dot_sym = dlsym(dlopen(Base.libblas_name), "cblas_ddot" * (Sys.WORD_SIZE == 64 ? "64_" : ""))
++ dot_sym = dlsym(dlopen(Base.libblas_name), "cblas_ddot")
+ @test 23.0 === @ccall $(dot_sym)(2::Int, [2.0, 3.0]::Ref{Cdouble}, 1::Int, [4.0, 5.0]::Ref{Cdouble}, 1::Int)::Cdouble
+ end
+
diff --git a/lang/julia/files/patch-stdlib_LinearAlgebra_test_lapack.jl b/lang/julia/files/patch-stdlib_LinearAlgebra_test_lapack.jl
new file mode 100644
index 000000000000..f464b1d6ca7b
--- /dev/null
+++ b/lang/julia/files/patch-stdlib_LinearAlgebra_test_lapack.jl
@@ -0,0 +1,11 @@
+--- stdlib/LinearAlgebra/test/lapack.jl.orig 2024-08-27 21:19:31 UTC
++++ stdlib/LinearAlgebra/test/lapack.jl
+@@ -725,7 +725,7 @@ a = zeros(2,0), zeros(0)
+ @testset "issue #49489" begin
+ A = randn(23,23)
+ b = randn(23)
+- ipiv = collect(1:20)
++ ipiv = collect(BlasInt(1):BlasInt(20))
+ @test_throws DimensionMismatch LinearAlgebra.LAPACK.getrs!('N', A, ipiv, b)
+ end
+
diff --git a/lang/julia/files/patch-stdlib_LinearAlgebra_test_lu.jl b/lang/julia/files/patch-stdlib_LinearAlgebra_test_lu.jl
new file mode 100644
index 000000000000..7aa080092c87
--- /dev/null
+++ b/lang/julia/files/patch-stdlib_LinearAlgebra_test_lu.jl
@@ -0,0 +1,17 @@
+--- stdlib/LinearAlgebra/test/lu.jl.orig 2024-08-27 21:19:31 UTC
++++ stdlib/LinearAlgebra/test/lu.jl
+@@ -296,12 +296,13 @@ end
+ @test_throws DomainError logdet([1 1; 1 -1])
+ end
+
++# lu wants for info BlasInt not Int.
+ @testset "REPL printing" begin
+ bf = IOBuffer()
+ show(bf, "text/plain", lu(Matrix(I, 4, 4)))
+ seekstart(bf)
+ @test String(take!(bf)) == """
+-LinearAlgebra.LU{Float64, Matrix{Float64}, Vector{$Int}}
++LinearAlgebra.LU{Float64, Matrix{Float64}, Vector{$BlasInt}}
+ L factor:
+ 4×4 Matrix{Float64}:
+ 1.0 0.0 0.0 0.0
diff --git a/lang/julia/files/patch-stdlib_MPFR__jll_test_runtests.jl b/lang/julia/files/patch-stdlib_MPFR__jll_test_runtests.jl
new file mode 100644
index 000000000000..b9b49b05a380
--- /dev/null
+++ b/lang/julia/files/patch-stdlib_MPFR__jll_test_runtests.jl
@@ -0,0 +1,9 @@
+--- stdlib/MPFR_jll/test/runtests.jl.orig 2024-08-27 21:19:31 UTC
++++ stdlib/MPFR_jll/test/runtests.jl
+@@ -4,5 +4,5 @@ using Test, Libdl, MPFR_jll
+
+ @testset "MPFR_jll" begin
+ vn = VersionNumber(unsafe_string(ccall((:mpfr_get_version,libmpfr), Cstring, ())))
+- @test vn == v"4.2.0"
++ @test vn == v"%%MPFR_VER%%"
+ end
diff --git a/lang/julia/files/patch-stdlib_MbedTLS__jll_test_runtests.jl b/lang/julia/files/patch-stdlib_MbedTLS__jll_test_runtests.jl
new file mode 100644
index 000000000000..765bb964f550
--- /dev/null
+++ b/lang/julia/files/patch-stdlib_MbedTLS__jll_test_runtests.jl
@@ -0,0 +1,9 @@
+--- stdlib/MbedTLS_jll/test/runtests.jl.orig 2024-08-27 21:19:31 UTC
++++ stdlib/MbedTLS_jll/test/runtests.jl
+@@ -6,5 +6,5 @@ using Test, Libdl, MbedTLS_jll
+ vstr = zeros(UInt8, 32)
+ ccall((:mbedtls_version_get_string, libmbedcrypto), Cvoid, (Ref{UInt8},), vstr)
+ vn = VersionNumber(unsafe_string(pointer(vstr)))
+- @test vn == v"2.28.2"
++ @test vn == v"2.28.9"
+ end
diff --git a/lang/julia/files/patch-stdlib_PCRE2__jll_test_runtests.jl b/lang/julia/files/patch-stdlib_PCRE2__jll_test_runtests.jl
new file mode 100644
index 000000000000..2c2f3dfc54d7
--- /dev/null
+++ b/lang/julia/files/patch-stdlib_PCRE2__jll_test_runtests.jl
@@ -0,0 +1,12 @@
+--- stdlib/PCRE2_jll/test/runtests.jl.orig 2023-12-03 21:24:39 UTC
++++ stdlib/PCRE2_jll/test/runtests.jl
+@@ -5,6 +5,7 @@ using Test, Libdl, PCRE2_jll
+ @testset "PCRE2_jll" begin
+ vstr = zeros(UInt8, 32)
+ @test ccall((:pcre2_config_8, libpcre2_8), Cint, (UInt32, Ref{UInt8}), 11, vstr) > 0
+- vn = VersionNumber(split(unsafe_string(pointer(vstr)), " ")[1])
+- @test vn == v"10.42.0"
++ # Skip checking version number. It changes.
++ # vn = VersionNumber(split(unsafe_string(pointer(vstr)), " ")[1])
++ # @test vn == v"10.42.0"
+ end
diff --git a/lang/julia/files/patch-stdlib_Test_test_runtests.jl b/lang/julia/files/patch-stdlib_Test_test_runtests.jl
new file mode 100644
index 000000000000..90fd7dfa4784
--- /dev/null
+++ b/lang/julia/files/patch-stdlib_Test_test_runtests.jl
@@ -0,0 +1,19 @@
+--- stdlib/Test/test/runtests.jl.orig 2024-08-27 21:19:31 UTC
++++ stdlib/Test/test/runtests.jl
+@@ -783,13 +783,13 @@ end
+ fail = failures[1]; lines = split(fail.stacktrace, '\n')
+ @test length(lines)/2 ≤ 6
+ @test fail.testset == "Tests" && fail.source == test_properties_macro_source && fail.ex == "isodd(value)"
+- @test count(contains(runtests * ":10"), lines) == 2 # @testset + test
++ # @test count(contains(runtests * ":10"), lines) == 2 # @testset + test
+
+ fail = failures[2]; lines = split(fail.stacktrace, '\n')
+ @test length(lines)/2 ≤ 6
+ @test fail.testset == "Tests" && fail.source == test_properties_macro_source && fail.ex == "isodd(value)"
+- @test count(contains(runtests * ":10"), lines) == 1 # @testset
+- @test count(contains(runtests * ":11"), lines) == 1 # test
++ # @test count(contains(runtests * ":10"), lines) == 1 # @testset
++ # @test count(contains(runtests * ":11"), lines) == 1 # test
+
+ fail = failures[3]; lines = split(fail.stacktrace, '\n')
+ @test length(lines)/2 ≤ 6
diff --git a/lang/julia/files/patch-stdlib_nghttp2__jll_test_runtests.jl b/lang/julia/files/patch-stdlib_nghttp2__jll_test_runtests.jl
new file mode 100644
index 000000000000..ac14f1dbeb6c
--- /dev/null
+++ b/lang/julia/files/patch-stdlib_nghttp2__jll_test_runtests.jl
@@ -0,0 +1,15 @@
+--- stdlib/nghttp2_jll/test/runtests.jl.orig 2024-08-27 21:19:31 UTC
++++ stdlib/nghttp2_jll/test/runtests.jl
+@@ -9,7 +9,8 @@ end
+ proto_str::Cstring
+ end
+
+-@testset "nghttp2_jll" begin
+- info = unsafe_load(ccall((:nghttp2_version,libnghttp2), Ptr{nghttp2_info}, (Cint,), 0))
+- @test VersionNumber(unsafe_string(info.version_str)) == v"1.52.0"
+-end
++# Skip version number test. It changes.
++# @testset "nghttp2_jll" begin
++# info = unsafe_load(ccall((:nghttp2_version,libnghttp2), Ptr{nghttp2_info}, (Cint,), 0))
++# @test VersionNumber(unsafe_string(info.version_str)) == v"1.52.0"
++# end
diff --git a/lang/julia/files/patch-test_cmdlineargs.jl b/lang/julia/files/patch-test_cmdlineargs.jl
new file mode 100644
index 000000000000..5ee2720cdb7d
--- /dev/null
+++ b/lang/julia/files/patch-test_cmdlineargs.jl
@@ -0,0 +1,20 @@
+--- test/cmdlineargs.jl.orig 2024-08-27 21:19:31 UTC
++++ test/cmdlineargs.jl
+@@ -652,7 +652,7 @@ let exename = `$(Base.julia_cmd()) --startup-file=no -
+ code = code[3]
+ @test occursin("llvm.module.flags", code)
+ @test occursin("llvm.dbg.cu", code)
+- @test occursin("int.jl", code)
++ @test !occursin("int.jl", code)
+ @test !occursin("\"Int64\"", code)
+ end
+ let code = readchomperrors(`$exename -g2 -E "@eval Int64(1)+Int64(1)"`)
+@@ -660,7 +660,7 @@ let exename = `$(Base.julia_cmd()) --startup-file=no -
+ code = code[3]
+ @test occursin("llvm.module.flags", code)
+ @test occursin("llvm.dbg.cu", code)
+- @test occursin("int.jl", code)
++ @test !occursin("int.jl", code)
+ @test occursin("\"Int64\"", code)
+ end
+ end
diff --git a/lang/julia/files/patch-test_errorshow.jl b/lang/julia/files/patch-test_errorshow.jl
new file mode 100644
index 000000000000..a11ca351aa04
--- /dev/null
+++ b/lang/julia/files/patch-test_errorshow.jl
@@ -0,0 +1,18 @@
+--- test/errorshow.jl.orig 2024-08-27 21:19:31 UTC
++++ test/errorshow.jl
+@@ -713,6 +713,7 @@ backtrace()
+ backtrace()
+
+ # issue #28442
++if false
+ @testset "Long stacktrace printing" begin
+ f28442(c) = g28442(c + 1)
+ g28442(c) = c > 10000 ? (return backtrace()) : f28442(c+1)
+@@ -726,6 +727,7 @@ backtrace()
+ @test occursin("f28442", output[5])
+ @test occursin("the last 2 lines are repeated 5000 more times", output[7])
+ @test lstrip(output[8])[1:7] == "[10003]"
++end
+ end
+
+ @testset "Line number correction" begin
diff --git a/lang/julia/files/patch-test_file.jl b/lang/julia/files/patch-test_file.jl
new file mode 100644
index 000000000000..55a77008efa8
--- /dev/null
+++ b/lang/julia/files/patch-test_file.jl
@@ -0,0 +1,11 @@
+--- test/file.jl.orig 2024-08-27 21:19:31 UTC
++++ test/file.jl
+@@ -1628,7 +1628,7 @@ end
+ @test isempty(readdir(join=true))
+ rm(d, recursive=true)
+ @test !ispath(d)
+- @test isempty(readdir())
++ @test_throws Base._UVError("readdir(\".\")", Base.UV_ENOENT) readdir()
+ @test_throws Base._UVError("readdir($(repr(d)))", Base.UV_ENOENT) readdir(d)
+ @test_throws Base._UVError("pwd()", Base.UV_ENOENT) readdir(join=true)
+ end
diff --git a/lang/julia/files/patch-test_gmp.jl b/lang/julia/files/patch-test_gmp.jl
new file mode 100644
index 000000000000..779374bd0ce3
--- /dev/null
+++ b/lang/julia/files/patch-test_gmp.jl
@@ -0,0 +1,13 @@
+--- test/gmp.jl.orig 2024-08-27 21:19:31 UTC
++++ test/gmp.jl
+@@ -12,8 +12,8 @@ ee = typemax(Int64)
+ @test big(1) isa Signed
+
+ if sizeof(Culong) >= 8
+- @test_throws OutOfMemoryError big(96608869069402268615522366320733234710)^16374500563449903721
+- @test_throws OutOfMemoryError 555555555555555555555555555555555555555555555555555^55555555555555555
++ @test_throws DivideError big(96608869069402268615522366320733234710)^16374500563449903721
++ @test_throws DivideError 555555555555555555555555555555555555555555555555555^55555555555555555
+ end
+
+ let x = big(1)
diff --git a/lang/julia/files/stdlib_SparseArrays_test_fixed.jl.patch b/lang/julia/files/stdlib_SparseArrays_test_fixed.jl.patch
new file mode 100644
index 000000000000..03a5e14b791e
--- /dev/null
+++ b/lang/julia/files/stdlib_SparseArrays_test_fixed.jl.patch
@@ -0,0 +1,16 @@
+--- stdlib/SparseArrays-279b363ca8d3129d4742903d37c8b11545fa08a2/test/fixed.jl.orig 2023-11-27 14:51:42.000000000 +0000
++++ stdlib/SparseArrays-279b363ca8d3129d4742903d37c8b11545fa08a2/test/fixed.jl 2024-09-12 07:30:21.425676000 +0000
+@@ -153,9 +153,10 @@
+ b = sprandn(10, 10, 0.99) + I
+ a = fixed(b)
+
+- @test (lu(a) \ randn(10); true)
+- @test b == a
+- @test (qr(a + a') \ randn(10); true)
++ # it will be an error because it calls resize! in sparsematrix.jl:561
++ # @test (lu(a) \ randn(10); true)
++ # @test b == a
++ # @test (qr(a + a') \ randn(10); true)
+ @test b == a
+ end
+
diff --git a/lang/julia/files/stdlib_SparseArrays_test_testgroups.patch b/lang/julia/files/stdlib_SparseArrays_test_testgroups.patch
new file mode 100644
index 000000000000..fa0ac40ed375
--- /dev/null
+++ b/lang/julia/files/stdlib_SparseArrays_test_testgroups.patch
@@ -0,0 +1,14 @@
+--- stdlib/SparseArrays-279b363ca8d3129d4742903d37c8b11545fa08a2/test/testgroups.orig 2024-09-13 19:42:12.500051000 +0000
++++ stdlib/SparseArrays-279b363ca8d3129d4742903d37c8b11545fa08a2/test/testgroups 2024-09-13 19:42:22.619798000 +0000
+@@ -1,5 +1,4 @@
+ allowscalar
+-cholmod
+ fixed
+ higherorderfns
+ issues
+@@ -8,5 +7,3 @@
+ sparsematrix_constructors_indexing
+ sparsematrix_ops
+ sparsevector
+-spqr
+-umfpack
diff --git a/lang/julia/files/stdlib_Tar_test_runtest.jl.patch b/lang/julia/files/stdlib_Tar_test_runtest.jl.patch
new file mode 100644
index 000000000000..108589f3ecf7
--- /dev/null
+++ b/lang/julia/files/stdlib_Tar_test_runtest.jl.patch
@@ -0,0 +1,16 @@
+--- stdlib/Tar-ff55460f4d329949661a33e6c8168ce6d890676c/test/runtests.jl.orig 2024-09-12 13:53:09.737915000 +0000
++++ stdlib/Tar-ff55460f4d329949661a33e6c8168ce6d890676c/test/runtests.jl 2024-09-12 13:52:09.602089000 +0000
+@@ -541,7 +541,12 @@
+ VERSION < v"1.7" && return
+ end
+ for sk in [nothing, tempname()]
+- dir = Tar.extract(tarball, skeleton=sk)
++ if name == "\xba\xdd"
++ # FreeBSD's zfs does not allow a file to be of this name.
++ return
++ else
++ dir = Tar.extract(tarball, skeleton=sk)
++ end
+ @test_no_throw Tar.create(dir, skeleton=sk)
+ @test_no_throw Tar.create(dir, skeleton=sk, portable=false)
+ @test_throws ErrorException Tar.create(dir, skeleton=sk, portable=true)
diff --git a/lang/julia/pkg-message b/lang/julia/pkg-message
new file mode 100644
index 000000000000..530860e07af6
--- /dev/null
+++ b/lang/julia/pkg-message
@@ -0,0 +1,3 @@
+Please export
+JULIA_SSL_CA_ROOTS_PATH=/etc/ssl/certs
+to fix certificates issues.
diff --git a/lang/julia/pkg-plist b/lang/julia/pkg-plist
index 056d699d0e5b..e43f4b2717f5 100644
--- a/lang/julia/pkg-plist
+++ b/lang/julia/pkg-plist
@@ -43,7 +43,7 @@ lib/julia/libLLVM.so
lib/julia/libatomic.so.1
lib/julia/libblastrampoline.so
lib/julia/libblastrampoline.so.5
-lib/julia/libblastrampoline.so.5.4.0
+lib/julia/libblastrampoline.so.5.11.0
lib/julia/libccalltest.so
lib/julia/libcurl.so
lib/julia/libdSFMT.so
@@ -65,9 +65,6 @@ lib/julia/libjulia-internal.so
lib/julia/libjulia-internal.so.%%MINOR%%
lib/julia/libjulia-internal.so.%%VERSION%%
lib/julia/libllvmcalltest.so
-lib/julia/libmbedcrypto.so
-lib/julia/libmbedtls.so
-lib/julia/libmbedx509.so
lib/julia/libmpfr.so
lib/julia/libnghttp2.so
lib/julia/libopenblas.so
@@ -366,186 +363,6 @@ share/applications/julia.desktop
%%DATADIR%%/base/views.jl
%%DATADIR%%/base/weakkeydict.jl
%%DATADIR%%/cert.pem
-%%DATADIR%%/compiled/v%%MINOR%%/DelimitedFiles/dlKZm_PihWh.ji
-%%DATADIR%%/compiled/v%%MINOR%%/DelimitedFiles/dlKZm_PihWh.so
-%%DATADIR%%/compiled/v%%MINOR%%/DelimitedFiles/dlKZm_Ywu7D.ji
-%%DATADIR%%/compiled/v%%MINOR%%/DelimitedFiles/dlKZm_Ywu7D.so
-%%DATADIR%%/compiled/v%%MINOR%%/DelimitedFiles/dlKZm_cLkIa.ji
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/DelimitedFiles/dlKZm_L4ALH.ji
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/DelimitedFiles/dlKZm_L4ALH.so
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/DelimitedFiles/dlKZm_dEc3w.ji
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/DelimitedFiles/dlKZm_wM1hT.ji
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/DelimitedFiles/dlKZm_wM1hT.so
-%%DATADIR%%/compiled/v%%MINOR%%/Distributed/Pq94q_PihWh.ji
-%%DATADIR%%/compiled/v%%MINOR%%/Distributed/Pq94q_PihWh.so
-%%DATADIR%%/compiled/v%%MINOR%%/Distributed/Pq94q_Ywu7D.ji
-%%DATADIR%%/compiled/v%%MINOR%%/Distributed/Pq94q_Ywu7D.so
-%%DATADIR%%/compiled/v%%MINOR%%/Distributed/Pq94q_cLkIa.ji
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/Distributed/Pq94q_L4ALH.ji
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/Distributed/Pq94q_L4ALH.so
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/Distributed/Pq94q_dEc3w.ji
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/Distributed/Pq94q_wM1hT.ji
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/Distributed/Pq94q_wM1hT.so
-%%DATADIR%%/compiled/v%%MINOR%%/GMP_jll/1Lisu_PihWh.ji
-%%DATADIR%%/compiled/v%%MINOR%%/GMP_jll/1Lisu_PihWh.so
-%%DATADIR%%/compiled/v%%MINOR%%/GMP_jll/1Lisu_Ywu7D.ji
-%%DATADIR%%/compiled/v%%MINOR%%/GMP_jll/1Lisu_Ywu7D.so
-%%DATADIR%%/compiled/v%%MINOR%%/GMP_jll/1Lisu_cLkIa.ji
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/GMP_jll/1Lisu_L4ALH.ji
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/GMP_jll/1Lisu_L4ALH.so
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/GMP_jll/1Lisu_dEc3w.ji
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/GMP_jll/1Lisu_wM1hT.ji
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/GMP_jll/1Lisu_wM1hT.so
-%%DATADIR%%/compiled/v%%MINOR%%/LLVMLibUnwind_jll/6CF5v_PihWh.ji
-%%DATADIR%%/compiled/v%%MINOR%%/LLVMLibUnwind_jll/6CF5v_PihWh.so
-%%DATADIR%%/compiled/v%%MINOR%%/LLVMLibUnwind_jll/6CF5v_Ywu7D.ji
-%%DATADIR%%/compiled/v%%MINOR%%/LLVMLibUnwind_jll/6CF5v_Ywu7D.so
-%%DATADIR%%/compiled/v%%MINOR%%/LLVMLibUnwind_jll/6CF5v_cLkIa.ji
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/LLVMLibUnwind_jll/6CF5v_L4ALH.ji
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/LLVMLibUnwind_jll/6CF5v_L4ALH.so
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/LLVMLibUnwind_jll/6CF5v_dEc3w.ji
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/LLVMLibUnwind_jll/6CF5v_wM1hT.ji
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/LLVMLibUnwind_jll/6CF5v_wM1hT.so
-%%DATADIR%%/compiled/v%%MINOR%%/LazyArtifacts/MRP8l_PihWh.ji
-%%DATADIR%%/compiled/v%%MINOR%%/LazyArtifacts/MRP8l_PihWh.so
-%%DATADIR%%/compiled/v%%MINOR%%/LazyArtifacts/MRP8l_Ywu7D.ji
-%%DATADIR%%/compiled/v%%MINOR%%/LazyArtifacts/MRP8l_Ywu7D.so
-%%DATADIR%%/compiled/v%%MINOR%%/LazyArtifacts/MRP8l_cLkIa.ji
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/LazyArtifacts/MRP8l_L4ALH.ji
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/LazyArtifacts/MRP8l_L4ALH.so
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/LazyArtifacts/MRP8l_dEc3w.ji
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/LazyArtifacts/MRP8l_wM1hT.ji
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/LazyArtifacts/MRP8l_wM1hT.so
-%%DATADIR%%/compiled/v%%MINOR%%/LibUV_jll/MMpyl_PihWh.ji
-%%DATADIR%%/compiled/v%%MINOR%%/LibUV_jll/MMpyl_PihWh.so
-%%DATADIR%%/compiled/v%%MINOR%%/LibUV_jll/MMpyl_Ywu7D.ji
-%%DATADIR%%/compiled/v%%MINOR%%/LibUV_jll/MMpyl_Ywu7D.so
-%%DATADIR%%/compiled/v%%MINOR%%/LibUV_jll/MMpyl_cLkIa.ji
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/LibUV_jll/MMpyl_L4ALH.ji
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/LibUV_jll/MMpyl_L4ALH.so
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/LibUV_jll/MMpyl_dEc3w.ji
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/LibUV_jll/MMpyl_wM1hT.ji
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/LibUV_jll/MMpyl_wM1hT.so
-%%DATADIR%%/compiled/v%%MINOR%%/LibUnwind_jll/CxrEE_PihWh.ji
-%%DATADIR%%/compiled/v%%MINOR%%/LibUnwind_jll/CxrEE_PihWh.so
-%%DATADIR%%/compiled/v%%MINOR%%/LibUnwind_jll/CxrEE_Ywu7D.ji
-%%DATADIR%%/compiled/v%%MINOR%%/LibUnwind_jll/CxrEE_Ywu7D.so
-%%DATADIR%%/compiled/v%%MINOR%%/LibUnwind_jll/CxrEE_cLkIa.ji
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/LibUnwind_jll/CxrEE_L4ALH.ji
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/LibUnwind_jll/CxrEE_L4ALH.so
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/LibUnwind_jll/CxrEE_dEc3w.ji
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/LibUnwind_jll/CxrEE_wM1hT.ji
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/LibUnwind_jll/CxrEE_wM1hT.so
-%%DATADIR%%/compiled/v%%MINOR%%/MPFR_jll/NBMLS_PihWh.ji
-%%DATADIR%%/compiled/v%%MINOR%%/MPFR_jll/NBMLS_PihWh.so
-%%DATADIR%%/compiled/v%%MINOR%%/MPFR_jll/NBMLS_Ywu7D.ji
-%%DATADIR%%/compiled/v%%MINOR%%/MPFR_jll/NBMLS_Ywu7D.so
-%%DATADIR%%/compiled/v%%MINOR%%/MPFR_jll/NBMLS_cLkIa.ji
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/MPFR_jll/NBMLS_L4ALH.ji
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/MPFR_jll/NBMLS_L4ALH.so
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/MPFR_jll/NBMLS_dEc3w.ji
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/MPFR_jll/NBMLS_wM1hT.ji
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/MPFR_jll/NBMLS_wM1hT.so
-%%DATADIR%%/compiled/v%%MINOR%%/OpenLibm_jll/ToVO1_PihWh.ji
-%%DATADIR%%/compiled/v%%MINOR%%/OpenLibm_jll/ToVO1_PihWh.so
-%%DATADIR%%/compiled/v%%MINOR%%/OpenLibm_jll/ToVO1_Ywu7D.ji
-%%DATADIR%%/compiled/v%%MINOR%%/OpenLibm_jll/ToVO1_Ywu7D.so
-%%DATADIR%%/compiled/v%%MINOR%%/OpenLibm_jll/ToVO1_cLkIa.ji
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/OpenLibm_jll/ToVO1_L4ALH.ji
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/OpenLibm_jll/ToVO1_L4ALH.so
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/OpenLibm_jll/ToVO1_dEc3w.ji
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/OpenLibm_jll/ToVO1_wM1hT.ji
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/OpenLibm_jll/ToVO1_wM1hT.so
-%%DATADIR%%/compiled/v%%MINOR%%/PCRE2_jll/8i0KO_PihWh.ji
-%%DATADIR%%/compiled/v%%MINOR%%/PCRE2_jll/8i0KO_PihWh.so
-%%DATADIR%%/compiled/v%%MINOR%%/PCRE2_jll/8i0KO_Ywu7D.ji
-%%DATADIR%%/compiled/v%%MINOR%%/PCRE2_jll/8i0KO_Ywu7D.so
-%%DATADIR%%/compiled/v%%MINOR%%/PCRE2_jll/8i0KO_cLkIa.ji
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/PCRE2_jll/8i0KO_L4ALH.ji
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/PCRE2_jll/8i0KO_L4ALH.so
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/PCRE2_jll/8i0KO_dEc3w.ji
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/PCRE2_jll/8i0KO_wM1hT.ji
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/PCRE2_jll/8i0KO_wM1hT.so
-%%DATADIR%%/compiled/v%%MINOR%%/Profile/nGhxz_PihWh.ji
-%%DATADIR%%/compiled/v%%MINOR%%/Profile/nGhxz_PihWh.so
-%%DATADIR%%/compiled/v%%MINOR%%/Profile/nGhxz_Ywu7D.ji
-%%DATADIR%%/compiled/v%%MINOR%%/Profile/nGhxz_Ywu7D.so
-%%DATADIR%%/compiled/v%%MINOR%%/Profile/nGhxz_cLkIa.ji
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/Profile/nGhxz_L4ALH.ji
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/Profile/nGhxz_L4ALH.so
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/Profile/nGhxz_dEc3w.ji
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/Profile/nGhxz_wM1hT.ji
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/Profile/nGhxz_wM1hT.so
-%%DATADIR%%/compiled/v%%MINOR%%/SharedArrays/g12Jt_PihWh.ji
-%%DATADIR%%/compiled/v%%MINOR%%/SharedArrays/g12Jt_PihWh.so
-%%DATADIR%%/compiled/v%%MINOR%%/SharedArrays/g12Jt_Ywu7D.ji
-%%DATADIR%%/compiled/v%%MINOR%%/SharedArrays/g12Jt_Ywu7D.so
-%%DATADIR%%/compiled/v%%MINOR%%/SharedArrays/g12Jt_cLkIa.ji
-%%DATADIR%%/compiled/v%%MINOR%%/SparseArrays/P9ieR_PihWh.ji
-%%DATADIR%%/compiled/v%%MINOR%%/SparseArrays/P9ieR_PihWh.so
-%%DATADIR%%/compiled/v%%MINOR%%/SparseArrays/P9ieR_Ywu7D.ji
-%%DATADIR%%/compiled/v%%MINOR%%/SparseArrays/P9ieR_Ywu7D.so
-%%DATADIR%%/compiled/v%%MINOR%%/SparseArrays/P9ieR_cLkIa.ji
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/SharedArrays/g12Jt_L4ALH.ji
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/SharedArrays/g12Jt_L4ALH.so
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/SharedArrays/g12Jt_dEc3w.ji
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/SharedArrays/g12Jt_wM1hT.ji
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/SharedArrays/g12Jt_wM1hT.so
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/SparseArrays/P9ieR_L4ALH.ji
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/SparseArrays/P9ieR_L4ALH.so
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/SparseArrays/P9ieR_dEc3w.ji
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/SparseArrays/P9ieR_wM1hT.ji
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/SparseArrays/P9ieR_wM1hT.so
-%%DATADIR%%/compiled/v%%MINOR%%/SuiteSparse_jll/ME9At_PihWh.ji
-%%DATADIR%%/compiled/v%%MINOR%%/SuiteSparse_jll/ME9At_PihWh.so
-%%DATADIR%%/compiled/v%%MINOR%%/SuiteSparse_jll/ME9At_Ywu7D.ji
-%%DATADIR%%/compiled/v%%MINOR%%/SuiteSparse_jll/ME9At_Ywu7D.so
-%%DATADIR%%/compiled/v%%MINOR%%/SuiteSparse_jll/ME9At_iUL7K.ji
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/SuiteSparse_jll/ME9At_L4ALH.ji
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/SuiteSparse_jll/ME9At_L4ALH.so
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/SuiteSparse_jll/ME9At_RicHV.ji
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/SuiteSparse_jll/ME9At_wM1hT.ji
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/SuiteSparse_jll/ME9At_wM1hT.so
-%%DATADIR%%/compiled/v%%MINOR%%/Test/JfdTE_PihWh.ji
-%%DATADIR%%/compiled/v%%MINOR%%/Test/JfdTE_PihWh.so
-%%DATADIR%%/compiled/v%%MINOR%%/Test/JfdTE_Ywu7D.ji
-%%DATADIR%%/compiled/v%%MINOR%%/Test/JfdTE_Ywu7D.so
-%%DATADIR%%/compiled/v%%MINOR%%/Test/JfdTE_cLkIa.ji
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/Test/JfdTE_L4ALH.ji
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/Test/JfdTE_L4ALH.so
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/Test/JfdTE_dEc3w.ji
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/Test/JfdTE_wM1hT.ji
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/Test/JfdTE_wM1hT.so
-%%DATADIR%%/compiled/v%%MINOR%%/Zlib_jll/xjq3Q_PihWh.ji
-%%DATADIR%%/compiled/v%%MINOR%%/Zlib_jll/xjq3Q_PihWh.so
-%%DATADIR%%/compiled/v%%MINOR%%/Zlib_jll/xjq3Q_Ywu7D.ji
-%%DATADIR%%/compiled/v%%MINOR%%/Zlib_jll/xjq3Q_Ywu7D.so
-%%DATADIR%%/compiled/v%%MINOR%%/Zlib_jll/xjq3Q_cLkIa.ji
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/Zlib_jll/xjq3Q_L4ALH.ji
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/Zlib_jll/xjq3Q_L4ALH.so
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/Zlib_jll/xjq3Q_dEc3w.ji
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/Zlib_jll/xjq3Q_wM1hT.ji
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/Zlib_jll/xjq3Q_wM1hT.so
-%%DATADIR%%/compiled/v%%MINOR%%/dSFMT_jll/48Kea_PihWh.ji
-%%DATADIR%%/compiled/v%%MINOR%%/dSFMT_jll/48Kea_PihWh.so
-%%DATADIR%%/compiled/v%%MINOR%%/dSFMT_jll/48Kea_Ywu7D.ji
-%%DATADIR%%/compiled/v%%MINOR%%/dSFMT_jll/48Kea_Ywu7D.so
-%%DATADIR%%/compiled/v%%MINOR%%/dSFMT_jll/48Kea_cLkIa.ji
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/dSFMT_jll/48Kea_L4ALH.ji
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/dSFMT_jll/48Kea_L4ALH.so
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/dSFMT_jll/48Kea_dEc3w.ji
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/dSFMT_jll/48Kea_wM1hT.ji
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/dSFMT_jll/48Kea_wM1hT.so
-%%DATADIR%%/compiled/v%%MINOR%%/libLLVM_jll/BYxGh_PihWh.ji
-%%DATADIR%%/compiled/v%%MINOR%%/libLLVM_jll/BYxGh_PihWh.so
-%%DATADIR%%/compiled/v%%MINOR%%/libLLVM_jll/BYxGh_Ywu7D.ji
-%%DATADIR%%/compiled/v%%MINOR%%/libLLVM_jll/BYxGh_Ywu7D.so
-%%DATADIR%%/compiled/v%%MINOR%%/libLLVM_jll/BYxGh_cLkIa.ji
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/libLLVM_jll/BYxGh_L4ALH.ji
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/libLLVM_jll/BYxGh_L4ALH.so
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/libLLVM_jll/BYxGh_dEc3w.ji
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/libLLVM_jll/BYxGh_wM1hT.ji
-%%DEBUG%%%%DATADIR%%/compiled/v%%MINOR%%/libLLVM_jll/BYxGh_wM1hT.so
%%DATADIR%%/julia-config.jl
%%DATADIR%%/stdlib/v%%MINOR%%/ArgTools/LICENSE
%%DATADIR%%/stdlib/v%%MINOR%%/ArgTools/Project.toml
@@ -1625,6 +1442,7 @@ share/applications/julia.desktop
%%DATADIR%%/test/llvmcall2.jl
%%DATADIR%%/test/llvmpasses/Makefile
%%DATADIR%%/test/llvmpasses/aliasscopes.jl
+%%DATADIR%%/test/llvmpasses/alloc-opt-bits.ll
%%DATADIR%%/test/llvmpasses/alloc-opt-gcframe-addrspaces.ll
%%DATADIR%%/test/llvmpasses/alloc-opt-gcframe.ll
%%DATADIR%%/test/llvmpasses/alloc-opt-pass.ll
@@ -1700,6 +1518,12 @@ share/applications/julia.desktop
%%DATADIR%%/test/project/Extensions/ExtDep.jl/src/ExtDep.jl
%%DATADIR%%/test/project/Extensions/ExtDep2/Project.toml
%%DATADIR%%/test/project/Extensions/ExtDep2/src/ExtDep2.jl
+%%DATADIR%%/test/project/Extensions/ExtNameCollision_A/Project.toml
+%%DATADIR%%/test/project/Extensions/ExtNameCollision_A/ext/REPLExt.jl
+%%DATADIR%%/test/project/Extensions/ExtNameCollision_A/src/ExtNameCollision_A.jl
+%%DATADIR%%/test/project/Extensions/ExtNameCollision_B/Project.toml
+%%DATADIR%%/test/project/Extensions/ExtNameCollision_B/ext/REPLExt.jl
+%%DATADIR%%/test/project/Extensions/ExtNameCollision_B/src/ExtNameCollision_B.jl
%%DATADIR%%/test/project/Extensions/HasDepWithExtensions.jl/Manifest.toml
%%DATADIR%%/test/project/Extensions/HasDepWithExtensions.jl/Project.toml
%%DATADIR%%/test/project/Extensions/HasDepWithExtensions.jl/src/HasDepWithExtensions.jl
@@ -1791,3 +1615,4 @@ share/applications/julia.desktop
%%DATADIR%%/test/version.jl
%%DATADIR%%/test/worlds.jl
share/man/man1/julia.1.gz
+@comment Insert PLIST.compiled here
diff --git a/lang/lfortran/Makefile b/lang/lfortran/Makefile
index 8e5a9d7ee7e1..936b6ca55427 100644
--- a/lang/lfortran/Makefile
+++ b/lang/lfortran/Makefile
@@ -1,6 +1,6 @@
PORTNAME= lfortran
DISTVERSIONPREFIX= v
-DISTVERSION= 0.51.0
+DISTVERSION= 0.52.0
CATEGORIES= lang
MAINTAINER= fortran@FreeBSD.org
diff --git a/lang/lfortran/distinfo b/lang/lfortran/distinfo
index 706912aee4a6..4896b64cb248 100644
--- a/lang/lfortran/distinfo
+++ b/lang/lfortran/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1744217396
-SHA256 (lfortran-lfortran-v0.51.0_GH0.tar.gz) = 8cb92bce5dda025c131751728157ed3f09d45208fedc53175ddfaa9d45686299
-SIZE (lfortran-lfortran-v0.51.0_GH0.tar.gz) = 3183766
+TIMESTAMP = 1747584033
+SHA256 (lfortran-lfortran-v0.52.0_GH0.tar.gz) = 4f952fdf9d09b59073bbcbc5a50b8f50d0332b7552c7db269a5a552c05b1ecd9
+SIZE (lfortran-lfortran-v0.52.0_GH0.tar.gz) = 3248917
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/mailpit/Makefile b/mail/mailpit/Makefile
index 738eb83f90dd..c5cde845e40d 100644
--- a/mail/mailpit/Makefile
+++ b/mail/mailpit/Makefile
@@ -1,6 +1,6 @@
PORTNAME= mailpit
DISTVERSIONPREFIX= v
-DISTVERSION= 1.24.2
+DISTVERSION= 1.25.0
CATEGORIES= mail devel
MASTER_SITES= https://www.madpilot.net/mailpit/:npmcache \
LOCAL/madpilot/mailpit:npmcache
diff --git a/mail/mailpit/distinfo b/mail/mailpit/distinfo
index 4fc3efa4ecbf..19ae8733fed0 100644
--- a/mail/mailpit/distinfo
+++ b/mail/mailpit/distinfo
@@ -1,7 +1,7 @@
-TIMESTAMP = 1746260229
-SHA256 (go/mail_mailpit/mailpit-v1.24.2/mailpit-npm-cache-1.24.2.tar.zst) = ac3df4305aa5abc9b3158651c882e2988f77cd21ec02cebc9581634ba79377da
-SIZE (go/mail_mailpit/mailpit-v1.24.2/mailpit-npm-cache-1.24.2.tar.zst) = 32045736
-SHA256 (go/mail_mailpit/mailpit-v1.24.2/v1.24.2.mod) = 8627d961f3c13b94e5de76829d1362c1786eeb94d93ae6657b699b702d31125a
-SIZE (go/mail_mailpit/mailpit-v1.24.2/v1.24.2.mod) = 2524
-SHA256 (go/mail_mailpit/mailpit-v1.24.2/v1.24.2.zip) = ffc3c4755d87237d3658c361fc95df01e03262528f32ee81e7707f6fa53d25de
-SIZE (go/mail_mailpit/mailpit-v1.24.2/v1.24.2.zip) = 559747
+TIMESTAMP = 1747562307
+SHA256 (go/mail_mailpit/mailpit-v1.25.0/mailpit-npm-cache-1.25.0.tar.zst) = fc276102da8b784f6434e241f90c93af1aaa4927d01e3a404612e8f2d0ea9d1e
+SIZE (go/mail_mailpit/mailpit-v1.25.0/mailpit-npm-cache-1.25.0.tar.zst) = 32093602
+SHA256 (go/mail_mailpit/mailpit-v1.25.0/v1.25.0.mod) = 34e4eec1fd097d9e4974cf07bad575ee40efaeffb5e98e3fa4032533d541df68
+SIZE (go/mail_mailpit/mailpit-v1.25.0/v1.25.0.mod) = 2568
+SHA256 (go/mail_mailpit/mailpit-v1.25.0/v1.25.0.zip) = 98068de55d4132ef8e938a35bea63878bafcb935f524b0657aa22a044839ad07
+SIZE (go/mail_mailpit/mailpit-v1.25.0/v1.25.0.zip) = 559343
diff --git a/mail/mailpit/files/patch-package-lock.json b/mail/mailpit/files/patch-package-lock.json
index 29f209fc93b7..500d8c0839d4 100644
--- a/mail/mailpit/files/patch-package-lock.json
+++ b/mail/mailpit/files/patch-package-lock.json
@@ -17,17 +17,17 @@
}
},
- "node_modules/@bufbuild/protobuf": {
-- "version": "2.2.5",
-- "resolved": "https://registry.npmjs.org/@bufbuild/protobuf/-/protobuf-2.2.5.tgz",
-- "integrity": "sha512-/g5EzJifw5GF8aren8wZ/G5oMuPoGeS6MQD3ca8ddcvdXR5UELUfdTZITCGNhNXynY/AYl3Z4plmxdj/tRl/hQ==",
+- "version": "2.4.0",
+- "resolved": "https://registry.npmjs.org/@bufbuild/protobuf/-/protobuf-2.4.0.tgz",
+- "integrity": "sha512-RN9M76x7N11QRihKovEglEjjVCQEA9PRBVnDgk9xw8JHLrcUrp4FpAVSPSH91cNbcTft3u2vpLN4GMbiKY9PJw==",
- "dev": true,
- "license": "(Apache-2.0 AND BSD-3-Clause)",
- "peer": true
- },
- "node_modules/@esbuild/aix-ppc64": {
-- "version": "0.25.3",
-- "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.3.tgz",
-- "integrity": "sha512-W8bFfPA8DowP8l//sxjJLSLkD8iEjMc7cBVyP+u4cEv9sM7mdUCkgsj+t0n/BWPFtv7WWCN5Yzj0N6FJNUUqBQ==",
+- "version": "0.25.4",
+- "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.4.tgz",
+- "integrity": "sha512-1VCICWypeQKhVbE9oW/sJaAmjLxhVqacdkvPLEjwlttjfwENRSClS8EjBz0KzRyFSCPDIkuXW34Je/vk7zdB7Q==",
- "cpu": [
- "ppc64"
- ],
@@ -42,9 +42,9 @@
- }
- },
- "node_modules/@esbuild/android-arm": {
-- "version": "0.25.3",
-- "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.3.tgz",
-- "integrity": "sha512-PuwVXbnP87Tcff5I9ngV0lmiSu40xw1At6i3GsU77U7cjDDB4s0X2cyFuBiDa1SBk9DnvWwnGvVaGBqoFWPb7A==",
+- "version": "0.25.4",
+- "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.4.tgz",
+- "integrity": "sha512-QNdQEps7DfFwE3hXiU4BZeOV68HHzYwGd0Nthhd3uCkkEKK7/R6MTgM0P7H7FAs5pU/DIWsviMmEGxEoxIZ+ZQ==",
- "cpu": [
- "arm"
- ],
@@ -59,9 +59,9 @@
- }
- },
- "node_modules/@esbuild/android-arm64": {
-- "version": "0.25.3",
-- "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.3.tgz",
-- "integrity": "sha512-XelR6MzjlZuBM4f5z2IQHK6LkK34Cvv6Rj2EntER3lwCBFdg6h2lKbtRjpTTsdEjD/WSe1q8UyPBXP1x3i/wYQ==",
+- "version": "0.25.4",
+- "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.4.tgz",
+- "integrity": "sha512-bBy69pgfhMGtCnwpC/x5QhfxAz/cBgQ9enbtwjf6V9lnPI/hMyT9iWpR1arm0l3kttTr4L0KSLpKmLp/ilKS9A==",
- "cpu": [
- "arm64"
- ],
@@ -76,9 +76,9 @@
- }
- },
- "node_modules/@esbuild/android-x64": {
-- "version": "0.25.3",
-- "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.3.tgz",
-- "integrity": "sha512-ogtTpYHT/g1GWS/zKM0cc/tIebFjm1F9Aw1boQ2Y0eUQ+J89d0jFY//s9ei9jVIlkYi8AfOjiixcLJSGNSOAdQ==",
+- "version": "0.25.4",
+- "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.4.tgz",
+- "integrity": "sha512-TVhdVtQIFuVpIIR282btcGC2oGQoSfZfmBdTip2anCaVYcqWlZXGcdcKIUklfX2wj0JklNYgz39OBqh2cqXvcQ==",
- "cpu": [
- "x64"
- ],
@@ -93,9 +93,9 @@
- }
- },
- "node_modules/@esbuild/darwin-arm64": {
-- "version": "0.25.3",
-- "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.3.tgz",
-- "integrity": "sha512-eESK5yfPNTqpAmDfFWNsOhmIOaQA59tAcF/EfYvo5/QWQCzXn5iUSOnqt3ra3UdzBv073ykTtmeLJZGt3HhA+w==",
+- "version": "0.25.4",
+- "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.4.tgz",
+- "integrity": "sha512-Y1giCfM4nlHDWEfSckMzeWNdQS31BQGs9/rouw6Ub91tkK79aIMTH3q9xHvzH8d0wDru5Ci0kWB8b3up/nl16g==",
- "cpu": [
- "arm64"
- ],
@@ -110,9 +110,9 @@
- }
- },
- "node_modules/@esbuild/darwin-x64": {
-- "version": "0.25.3",
-- "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.3.tgz",
-- "integrity": "sha512-Kd8glo7sIZtwOLcPbW0yLpKmBNWMANZhrC1r6K++uDR2zyzb6AeOYtI6udbtabmQpFaxJ8uduXMAo1gs5ozz8A==",
+- "version": "0.25.4",
+- "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.4.tgz",
+- "integrity": "sha512-CJsry8ZGM5VFVeyUYB3cdKpd/H69PYez4eJh1W/t38vzutdjEjtP7hB6eLKBoOdxcAlCtEYHzQ/PJ/oU9I4u0A==",
- "cpu": [
- "x64"
- ],
@@ -127,9 +127,9 @@
- }
- },
- "node_modules/@esbuild/freebsd-arm64": {
-- "version": "0.25.3",
-- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.3.tgz",
-- "integrity": "sha512-EJiyS70BYybOBpJth3M0KLOus0n+RRMKTYzhYhFeMwp7e/RaajXvP+BWlmEXNk6uk+KAu46j/kaQzr6au+JcIw==",
+- "version": "0.25.4",
+- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.4.tgz",
+- "integrity": "sha512-yYq+39NlTRzU2XmoPW4l5Ifpl9fqSk0nAJYM/V/WUGPEFfek1epLHJIkTQM6bBs1swApjO5nWgvr843g6TjxuQ==",
- "cpu": [
- "arm64"
- ],
@@ -144,9 +144,9 @@
- }
- },
- "node_modules/@esbuild/freebsd-x64": {
-- "version": "0.25.3",
-- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.3.tgz",
-- "integrity": "sha512-Q+wSjaLpGxYf7zC0kL0nDlhsfuFkoN+EXrx2KSB33RhinWzejOd6AvgmP5JbkgXKmjhmpfgKZq24pneodYqE8Q==",
+- "version": "0.25.4",
+- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.4.tgz",
+- "integrity": "sha512-0FgvOJ6UUMflsHSPLzdfDnnBBVoCDtBTVyn/MrWloUNvq/5SFmh13l3dvgRPkDihRxb77Y17MbqbCAa2strMQQ==",
- "cpu": [
- "x64"
- ],
@@ -161,9 +161,9 @@
- }
- },
- "node_modules/@esbuild/linux-arm": {
-- "version": "0.25.3",
-- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.3.tgz",
-- "integrity": "sha512-dUOVmAUzuHy2ZOKIHIKHCm58HKzFqd+puLaS424h6I85GlSDRZIA5ycBixb3mFgM0Jdh+ZOSB6KptX30DD8YOQ==",
+- "version": "0.25.4",
+- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.4.tgz",
+- "integrity": "sha512-kro4c0P85GMfFYqW4TWOpvmF8rFShbWGnrLqlzp4X1TNWjRY3JMYUfDCtOxPKOIY8B0WC8HN51hGP4I4hz4AaQ==",
- "cpu": [
- "arm"
- ],
@@ -178,9 +178,9 @@
- }
- },
- "node_modules/@esbuild/linux-arm64": {
-- "version": "0.25.3",
-- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.3.tgz",
-- "integrity": "sha512-xCUgnNYhRD5bb1C1nqrDV1PfkwgbswTTBRbAd8aH5PhYzikdf/ddtsYyMXFfGSsb/6t6QaPSzxtbfAZr9uox4A==",
+- "version": "0.25.4",
+- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.4.tgz",
+- "integrity": "sha512-+89UsQTfXdmjIvZS6nUnOOLoXnkUTB9hR5QAeLrQdzOSWZvNSAXAtcRDHWtqAUtAmv7ZM1WPOOeSxDzzzMogiQ==",
- "cpu": [
- "arm64"
- ],
@@ -195,9 +195,9 @@
- }
- },
- "node_modules/@esbuild/linux-ia32": {
-- "version": "0.25.3",
-- "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.3.tgz",
-- "integrity": "sha512-yplPOpczHOO4jTYKmuYuANI3WhvIPSVANGcNUeMlxH4twz/TeXuzEP41tGKNGWJjuMhotpGabeFYGAOU2ummBw==",
+- "version": "0.25.4",
+- "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.4.tgz",
+- "integrity": "sha512-yTEjoapy8UP3rv8dB0ip3AfMpRbyhSN3+hY8mo/i4QXFeDxmiYbEKp3ZRjBKcOP862Ua4b1PDfwlvbuwY7hIGQ==",
- "cpu": [
- "ia32"
- ],
@@ -212,9 +212,9 @@
- }
- },
- "node_modules/@esbuild/linux-loong64": {
-- "version": "0.25.3",
-- "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.3.tgz",
-- "integrity": "sha512-P4BLP5/fjyihmXCELRGrLd793q/lBtKMQl8ARGpDxgzgIKJDRJ/u4r1A/HgpBpKpKZelGct2PGI4T+axcedf6g==",
+- "version": "0.25.4",
+- "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.4.tgz",
+- "integrity": "sha512-NeqqYkrcGzFwi6CGRGNMOjWGGSYOpqwCjS9fvaUlX5s3zwOtn1qwg1s2iE2svBe4Q/YOG1q6875lcAoQK/F4VA==",
- "cpu": [
- "loong64"
- ],
@@ -229,9 +229,9 @@
- }
- },
- "node_modules/@esbuild/linux-mips64el": {
-- "version": "0.25.3",
-- "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.3.tgz",
-- "integrity": "sha512-eRAOV2ODpu6P5divMEMa26RRqb2yUoYsuQQOuFUexUoQndm4MdpXXDBbUoKIc0iPa4aCO7gIhtnYomkn2x+bag==",
+- "version": "0.25.4",
+- "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.4.tgz",
+- "integrity": "sha512-IcvTlF9dtLrfL/M8WgNI/qJYBENP3ekgsHbYUIzEzq5XJzzVEV/fXY9WFPfEEXmu3ck2qJP8LG/p3Q8f7Zc2Xg==",
- "cpu": [
- "mips64el"
- ],
@@ -246,9 +246,9 @@
- }
- },
- "node_modules/@esbuild/linux-ppc64": {
-- "version": "0.25.3",
-- "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.3.tgz",
-- "integrity": "sha512-ZC4jV2p7VbzTlnl8nZKLcBkfzIf4Yad1SJM4ZMKYnJqZFD4rTI+pBG65u8ev4jk3/MPwY9DvGn50wi3uhdaghg==",
+- "version": "0.25.4",
+- "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.4.tgz",
+- "integrity": "sha512-HOy0aLTJTVtoTeGZh4HSXaO6M95qu4k5lJcH4gxv56iaycfz1S8GO/5Jh6X4Y1YiI0h7cRyLi+HixMR+88swag==",
- "cpu": [
- "ppc64"
- ],
@@ -263,9 +263,9 @@
- }
- },
- "node_modules/@esbuild/linux-riscv64": {
-- "version": "0.25.3",
-- "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.3.tgz",
-- "integrity": "sha512-LDDODcFzNtECTrUUbVCs6j9/bDVqy7DDRsuIXJg6so+mFksgwG7ZVnTruYi5V+z3eE5y+BJZw7VvUadkbfg7QA==",
+- "version": "0.25.4",
+- "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.4.tgz",
+- "integrity": "sha512-i8JUDAufpz9jOzo4yIShCTcXzS07vEgWzyX3NH2G7LEFVgrLEhjwL3ajFE4fZI3I4ZgiM7JH3GQ7ReObROvSUA==",
- "cpu": [
- "riscv64"
- ],
@@ -280,9 +280,9 @@
- }
- },
- "node_modules/@esbuild/linux-s390x": {
-- "version": "0.25.3",
-- "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.3.tgz",
-- "integrity": "sha512-s+w/NOY2k0yC2p9SLen+ymflgcpRkvwwa02fqmAwhBRI3SC12uiS10edHHXlVWwfAagYSY5UpmT/zISXPMW3tQ==",
+- "version": "0.25.4",
+- "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.4.tgz",
+- "integrity": "sha512-jFnu+6UbLlzIjPQpWCNh5QtrcNfMLjgIavnwPQAfoGx4q17ocOU9MsQ2QVvFxwQoWpZT8DvTLooTvmOQXkO51g==",
- "cpu": [
- "s390x"
- ],
@@ -297,9 +297,9 @@
- }
- },
- "node_modules/@esbuild/linux-x64": {
-- "version": "0.25.3",
-- "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.3.tgz",
-- "integrity": "sha512-nQHDz4pXjSDC6UfOE1Fw9Q8d6GCAd9KdvMZpfVGWSJztYCarRgSDfOVBY5xwhQXseiyxapkiSJi/5/ja8mRFFA==",
+- "version": "0.25.4",
+- "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.4.tgz",
+- "integrity": "sha512-6e0cvXwzOnVWJHq+mskP8DNSrKBr1bULBvnFLpc1KY+d+irZSgZ02TGse5FsafKS5jg2e4pbvK6TPXaF/A6+CA==",
- "cpu": [
- "x64"
- ],
@@ -314,9 +314,9 @@
- }
- },
- "node_modules/@esbuild/netbsd-arm64": {
-- "version": "0.25.3",
-- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.3.tgz",
-- "integrity": "sha512-1QaLtOWq0mzK6tzzp0jRN3eccmN3hezey7mhLnzC6oNlJoUJz4nym5ZD7mDnS/LZQgkrhEbEiTn515lPeLpgWA==",
+- "version": "0.25.4",
+- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.4.tgz",
+- "integrity": "sha512-vUnkBYxZW4hL/ie91hSqaSNjulOnYXE1VSLusnvHg2u3jewJBz3YzB9+oCw8DABeVqZGg94t9tyZFoHma8gWZQ==",
- "cpu": [
- "arm64"
- ],
@@ -331,9 +331,9 @@
- }
- },
- "node_modules/@esbuild/netbsd-x64": {
-- "version": "0.25.3",
-- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.3.tgz",
-- "integrity": "sha512-i5Hm68HXHdgv8wkrt+10Bc50zM0/eonPb/a/OFVfB6Qvpiirco5gBA5bz7S2SHuU+Y4LWn/zehzNX14Sp4r27g==",
+- "version": "0.25.4",
+- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.4.tgz",
+- "integrity": "sha512-XAg8pIQn5CzhOB8odIcAm42QsOfa98SBeKUdo4xa8OvX8LbMZqEtgeWE9P/Wxt7MlG2QqvjGths+nq48TrUiKw==",
- "cpu": [
- "x64"
- ],
@@ -348,9 +348,9 @@
- }
- },
- "node_modules/@esbuild/openbsd-arm64": {
-- "version": "0.25.3",
-- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.3.tgz",
-- "integrity": "sha512-zGAVApJEYTbOC6H/3QBr2mq3upG/LBEXr85/pTtKiv2IXcgKV0RT0QA/hSXZqSvLEpXeIxah7LczB4lkiYhTAQ==",
+- "version": "0.25.4",
+- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.4.tgz",
+- "integrity": "sha512-Ct2WcFEANlFDtp1nVAXSNBPDxyU+j7+tId//iHXU2f/lN5AmO4zLyhDcpR5Cz1r08mVxzt3Jpyt4PmXQ1O6+7A==",
- "cpu": [
- "arm64"
- ],
@@ -365,9 +365,9 @@
- }
- },
- "node_modules/@esbuild/openbsd-x64": {
-- "version": "0.25.3",
-- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.3.tgz",
-- "integrity": "sha512-fpqctI45NnCIDKBH5AXQBsD0NDPbEFczK98hk/aa6HJxbl+UtLkJV2+Bvy5hLSLk3LHmqt0NTkKNso1A9y1a4w==",
+- "version": "0.25.4",
+- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.4.tgz",
+- "integrity": "sha512-xAGGhyOQ9Otm1Xu8NT1ifGLnA6M3sJxZ6ixylb+vIUVzvvd6GOALpwQrYrtlPouMqd/vSbgehz6HaVk4+7Afhw==",
- "cpu": [
- "x64"
- ],
@@ -382,9 +382,9 @@
- }
- },
- "node_modules/@esbuild/sunos-x64": {
-- "version": "0.25.3",
-- "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.3.tgz",
-- "integrity": "sha512-ROJhm7d8bk9dMCUZjkS8fgzsPAZEjtRJqCAmVgB0gMrvG7hfmPmz9k1rwO4jSiblFjYmNvbECL9uhaPzONMfgA==",
+- "version": "0.25.4",
+- "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.4.tgz",
+- "integrity": "sha512-Mw+tzy4pp6wZEK0+Lwr76pWLjrtjmJyUB23tHKqEDP74R3q95luY/bXqXZeYl4NYlvwOqoRKlInQialgCKy67Q==",
- "cpu": [
- "x64"
- ],
@@ -399,9 +399,9 @@
- }
- },
- "node_modules/@esbuild/win32-arm64": {
-- "version": "0.25.3",
-- "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.3.tgz",
-- "integrity": "sha512-YWcow8peiHpNBiIXHwaswPnAXLsLVygFwCB3A7Bh5jRkIBFWHGmNQ48AlX4xDvQNoMZlPYzjVOQDYEzWCqufMQ==",
+- "version": "0.25.4",
+- "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.4.tgz",
+- "integrity": "sha512-AVUP428VQTSddguz9dO9ngb+E5aScyg7nOeJDrF1HPYu555gmza3bDGMPhmVXL8svDSoqPCsCPjb265yG/kLKQ==",
- "cpu": [
- "arm64"
- ],
@@ -416,9 +416,9 @@
- }
- },
- "node_modules/@esbuild/win32-ia32": {
-- "version": "0.25.3",
-- "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.3.tgz",
-- "integrity": "sha512-qspTZOIGoXVS4DpNqUYUs9UxVb04khS1Degaw/MnfMe7goQ3lTfQ13Vw4qY/Nj0979BGvMRpAYbs/BAxEvU8ew==",
+- "version": "0.25.4",
+- "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.4.tgz",
+- "integrity": "sha512-i1sW+1i+oWvQzSgfRcxxG2k4I9n3O9NRqy8U+uugaT2Dy7kLO9Y7wI72haOahxceMX8hZAzgGou1FhndRldxRg==",
- "cpu": [
- "ia32"
- ],
@@ -433,9 +433,9 @@
- }
- },
- "node_modules/@esbuild/win32-x64": {
-- "version": "0.25.3",
-- "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.3.tgz",
-- "integrity": "sha512-ICgUR+kPimx0vvRzf+N/7L7tVSQeE3BYY+NhHRHXS1kBuPO7z2+7ea2HbhDyZdTephgvNvKrlDDKUexuCVBVvg==",
+- "version": "0.25.4",
+- "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.4.tgz",
+- "integrity": "sha512-nOT2vZNw6hJ+z43oP1SPea/G/6AbN6X+bGNhNuq8NtRHy4wsMhw765IKLNmnjek7GvjWBYQ8Q5VBoYTFg9y1UQ==",
- "cpu": [
- "x64"
- ],
@@ -495,9 +495,9 @@
}
},
- "node_modules/esbuild": {
-- "version": "0.25.3",
-- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.3.tgz",
-- "integrity": "sha512-qKA6Pvai73+M2FtftpNKRxJ78GIjmFXFxd/1DVBqGo/qNhLSfv+G12n9pNoWdytJC8U00TrViOwpjT0zgqQS8Q==",
+- "version": "0.25.4",
+- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.4.tgz",
+- "integrity": "sha512-8pgjLUcUjcgDg+2Q4NYXnPbo/vncAY4UmyaCm0jZevERqCHZIaWwdJHkf8XQtu4AxSKCdvrUbT0XUr1IdZzI8Q==",
- "dev": true,
- "hasInstallScript": true,
- "license": "MIT",
@@ -508,31 +508,31 @@
- "node": ">=18"
- },
- "optionalDependencies": {
-- "@esbuild/aix-ppc64": "0.25.3",
-- "@esbuild/android-arm": "0.25.3",
-- "@esbuild/android-arm64": "0.25.3",
-- "@esbuild/android-x64": "0.25.3",
-- "@esbuild/darwin-arm64": "0.25.3",
-- "@esbuild/darwin-x64": "0.25.3",
-- "@esbuild/freebsd-arm64": "0.25.3",
-- "@esbuild/freebsd-x64": "0.25.3",
-- "@esbuild/linux-arm": "0.25.3",
-- "@esbuild/linux-arm64": "0.25.3",
-- "@esbuild/linux-ia32": "0.25.3",
-- "@esbuild/linux-loong64": "0.25.3",
-- "@esbuild/linux-mips64el": "0.25.3",
-- "@esbuild/linux-ppc64": "0.25.3",
-- "@esbuild/linux-riscv64": "0.25.3",
-- "@esbuild/linux-s390x": "0.25.3",
-- "@esbuild/linux-x64": "0.25.3",
-- "@esbuild/netbsd-arm64": "0.25.3",
-- "@esbuild/netbsd-x64": "0.25.3",
-- "@esbuild/openbsd-arm64": "0.25.3",
-- "@esbuild/openbsd-x64": "0.25.3",
-- "@esbuild/sunos-x64": "0.25.3",
-- "@esbuild/win32-arm64": "0.25.3",
-- "@esbuild/win32-ia32": "0.25.3",
-- "@esbuild/win32-x64": "0.25.3"
+- "@esbuild/aix-ppc64": "0.25.4",
+- "@esbuild/android-arm": "0.25.4",
+- "@esbuild/android-arm64": "0.25.4",
+- "@esbuild/android-x64": "0.25.4",
+- "@esbuild/darwin-arm64": "0.25.4",
+- "@esbuild/darwin-x64": "0.25.4",
+- "@esbuild/freebsd-arm64": "0.25.4",
+- "@esbuild/freebsd-x64": "0.25.4",
+- "@esbuild/linux-arm": "0.25.4",
+- "@esbuild/linux-arm64": "0.25.4",
+- "@esbuild/linux-ia32": "0.25.4",
+- "@esbuild/linux-loong64": "0.25.4",
+- "@esbuild/linux-mips64el": "0.25.4",
+- "@esbuild/linux-ppc64": "0.25.4",
+- "@esbuild/linux-riscv64": "0.25.4",
+- "@esbuild/linux-s390x": "0.25.4",
+- "@esbuild/linux-x64": "0.25.4",
+- "@esbuild/netbsd-arm64": "0.25.4",
+- "@esbuild/netbsd-x64": "0.25.4",
+- "@esbuild/openbsd-arm64": "0.25.4",
+- "@esbuild/openbsd-x64": "0.25.4",
+- "@esbuild/sunos-x64": "0.25.4",
+- "@esbuild/win32-arm64": "0.25.4",
+- "@esbuild/win32-ia32": "0.25.4",
+- "@esbuild/win32-x64": "0.25.4"
- }
- },
"node_modules/esbuild-plugin-vue-next": {
@@ -543,9 +543,9 @@
}
},
+ "node_modules/esbuild-wasm": {
-+ "version": "0.25.3",
-+ "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.25.3.tgz",
-+ "integrity": "sha512-60mFpAU4iQMVIP9tSd5EEbxZUDsqSKAjAJ7r1OK073lG/ctnVidThvbcU+M2B55jMFntCFJlqksubXMpYIcbfg==",
++ "version": "0.25.4",
++ "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.25.4.tgz",
++ "integrity": "sha512-2HlCS6rNvKWaSKhWaG/YIyRsTsL3gUrMP2ToZMBIjw9LM7vVcIs+rz8kE2vExvTJgvM8OKPqNpcHawY/BQc/qQ==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
@@ -599,9 +599,9 @@
}
},
- "node_modules/sass-embedded": {
-- "version": "1.87.0",
-- "resolved": "https://registry.npmjs.org/sass-embedded/-/sass-embedded-1.87.0.tgz",
-- "integrity": "sha512-1IA3iTJNh4BkkA/nidKiVwbmkxr9o6LsPegycHMX/JYs255zpocN5GdLF1+onohQCJxbs5ldr8osKV7qNaNBjg==",
+- "version": "1.89.0",
+- "resolved": "https://registry.npmjs.org/sass-embedded/-/sass-embedded-1.89.0.tgz",
+- "integrity": "sha512-EDrK1el9zdgJFpocCGlxatDWaP18tJBWoM1hxzo2KJBvjdmBichXI6O6KlQrigvQPO3uJ8DfmFmAAx7s7CG6uw==",
- "dev": true,
- "license": "MIT",
- "peer": true,
@@ -622,32 +622,32 @@
- "node": ">=16.0.0"
- },
- "optionalDependencies": {
-- "sass-embedded-android-arm": "1.87.0",
-- "sass-embedded-android-arm64": "1.87.0",
-- "sass-embedded-android-ia32": "1.87.0",
-- "sass-embedded-android-riscv64": "1.87.0",
-- "sass-embedded-android-x64": "1.87.0",
-- "sass-embedded-darwin-arm64": "1.87.0",
-- "sass-embedded-darwin-x64": "1.87.0",
-- "sass-embedded-linux-arm": "1.87.0",
-- "sass-embedded-linux-arm64": "1.87.0",
-- "sass-embedded-linux-ia32": "1.87.0",
-- "sass-embedded-linux-musl-arm": "1.87.0",
-- "sass-embedded-linux-musl-arm64": "1.87.0",
-- "sass-embedded-linux-musl-ia32": "1.87.0",
-- "sass-embedded-linux-musl-riscv64": "1.87.0",
-- "sass-embedded-linux-musl-x64": "1.87.0",
-- "sass-embedded-linux-riscv64": "1.87.0",
-- "sass-embedded-linux-x64": "1.87.0",
-- "sass-embedded-win32-arm64": "1.87.0",
-- "sass-embedded-win32-ia32": "1.87.0",
-- "sass-embedded-win32-x64": "1.87.0"
+- "sass-embedded-android-arm": "1.89.0",
+- "sass-embedded-android-arm64": "1.89.0",
+- "sass-embedded-android-ia32": "1.89.0",
+- "sass-embedded-android-riscv64": "1.89.0",
+- "sass-embedded-android-x64": "1.89.0",
+- "sass-embedded-darwin-arm64": "1.89.0",
+- "sass-embedded-darwin-x64": "1.89.0",
+- "sass-embedded-linux-arm": "1.89.0",
+- "sass-embedded-linux-arm64": "1.89.0",
+- "sass-embedded-linux-ia32": "1.89.0",
+- "sass-embedded-linux-musl-arm": "1.89.0",
+- "sass-embedded-linux-musl-arm64": "1.89.0",
+- "sass-embedded-linux-musl-ia32": "1.89.0",
+- "sass-embedded-linux-musl-riscv64": "1.89.0",
+- "sass-embedded-linux-musl-x64": "1.89.0",
+- "sass-embedded-linux-riscv64": "1.89.0",
+- "sass-embedded-linux-x64": "1.89.0",
+- "sass-embedded-win32-arm64": "1.89.0",
+- "sass-embedded-win32-ia32": "1.89.0",
+- "sass-embedded-win32-x64": "1.89.0"
- }
- },
- "node_modules/sass-embedded-android-arm": {
-- "version": "1.87.0",
-- "resolved": "https://registry.npmjs.org/sass-embedded-android-arm/-/sass-embedded-android-arm-1.87.0.tgz",
-- "integrity": "sha512-Z20u/Y1kFDpMbgiloR5YPLxNuMVeKQRC8e/n68oAAxf3u7rDSmNn2msi7USqgT1f2zdBBNawn/ifbFEla6JiHw==",
+- "version": "1.89.0",
+- "resolved": "https://registry.npmjs.org/sass-embedded-android-arm/-/sass-embedded-android-arm-1.89.0.tgz",
+- "integrity": "sha512-s6jxkEZQQrtyIGZX6Sbcu7tEixFG2VkqFgrX11flm/jZex7KaxnZtFace+wnYAgHqzzYpx0kNzJUpT+GXxm8CA==",
- "cpu": [
- "arm"
- ],
@@ -663,9 +663,9 @@
- }
- },
- "node_modules/sass-embedded-android-arm64": {
-- "version": "1.87.0",
-- "resolved": "https://registry.npmjs.org/sass-embedded-android-arm64/-/sass-embedded-android-arm64-1.87.0.tgz",
-- "integrity": "sha512-uqeZoBuXm3W2KhxolScAAfWOLHL21e50g7AxlLmG0he7WZsWw6e9kSnmq301iLIFp4kvmXYXbXbNKAeu9ItRYA==",
+- "version": "1.89.0",
+- "resolved": "https://registry.npmjs.org/sass-embedded-android-arm64/-/sass-embedded-android-arm64-1.89.0.tgz",
+- "integrity": "sha512-pr4R3p5R+Ul9ZA5nzYbBJQFJXW6dMGzgpNBhmaToYDgDhmNX5kg0mZAUlGLHvisLdTiR6oEfDDr9QI6tnD2nqA==",
- "cpu": [
- "arm64"
- ],
@@ -681,9 +681,9 @@
- }
- },
- "node_modules/sass-embedded-android-ia32": {
-- "version": "1.87.0",
-- "resolved": "https://registry.npmjs.org/sass-embedded-android-ia32/-/sass-embedded-android-ia32-1.87.0.tgz",
-- "integrity": "sha512-hSWTqo2Igdig528cUb1W1+emw9d1J4+nqOoR4tERS04zcwRRFNDiuBT0o5meV7nkEwE982F+h57YdcRXj8gTtg==",
+- "version": "1.89.0",
+- "resolved": "https://registry.npmjs.org/sass-embedded-android-ia32/-/sass-embedded-android-ia32-1.89.0.tgz",
+- "integrity": "sha512-GoNnNGYmp1F0ZMHqQbAurlQsjBMZKtDd5H60Ruq86uQFdnuNqQ9wHKJsJABxMnjfAn60IjefytM5PYTMcAmbfA==",
- "cpu": [
- "ia32"
- ],
@@ -699,9 +699,9 @@
- }
- },
- "node_modules/sass-embedded-android-riscv64": {
-- "version": "1.87.0",
-- "resolved": "https://registry.npmjs.org/sass-embedded-android-riscv64/-/sass-embedded-android-riscv64-1.87.0.tgz",
-- "integrity": "sha512-kBAPSjiTBLy5ua/0LRNAJwOAARhzFU7gP35fYORJcdBuz1lkIVPVnid1lh9qQ6Ce9MOJcr7VKFtGnTuqVeig5A==",
+- "version": "1.89.0",
+- "resolved": "https://registry.npmjs.org/sass-embedded-android-riscv64/-/sass-embedded-android-riscv64-1.89.0.tgz",
+- "integrity": "sha512-di+i4KkKAWTNksaQYTqBEERv46qV/tvv14TPswEfak7vcTQ2pj2mvV4KGjLYfU2LqRkX/NTXix9KFthrzFN51Q==",
- "cpu": [
- "riscv64"
- ],
@@ -717,9 +717,9 @@
- }
- },
- "node_modules/sass-embedded-android-x64": {
-- "version": "1.87.0",
-- "resolved": "https://registry.npmjs.org/sass-embedded-android-x64/-/sass-embedded-android-x64-1.87.0.tgz",
-- "integrity": "sha512-ZHMrNdtdMSpJUYco2MesnlPwDTZftD3pqkkOMI2pbqarPoFUKJtP5k80nwCM0sJGtqfNE+O16w9yPght0CMiJg==",
+- "version": "1.89.0",
+- "resolved": "https://registry.npmjs.org/sass-embedded-android-x64/-/sass-embedded-android-x64-1.89.0.tgz",
+- "integrity": "sha512-1cRRDAnmAS1wLaxfFf6PCHu9sKW8FNxdM7ZkanwxO9mztrCu/uvfqTmaurY9+RaKvPus7sGYFp46/TNtl/wRjg==",
- "cpu": [
- "x64"
- ],
@@ -735,9 +735,9 @@
- }
- },
- "node_modules/sass-embedded-darwin-arm64": {
-- "version": "1.87.0",
-- "resolved": "https://registry.npmjs.org/sass-embedded-darwin-arm64/-/sass-embedded-darwin-arm64-1.87.0.tgz",
-- "integrity": "sha512-7TK1JWJdCIRSdZv5CJv/HpDz/wIfwUy2FoPz9sVOEj1pDTH0N+VfJd5VutCddIdoQN9jr0ap8vwkc65FbAxV2A==",
+- "version": "1.89.0",
+- "resolved": "https://registry.npmjs.org/sass-embedded-darwin-arm64/-/sass-embedded-darwin-arm64-1.89.0.tgz",
+- "integrity": "sha512-EUNUzI0UkbQ6dASPyf09S3x7fNT54PjyD594ZGTY14Yh4qTuacIj27ckLmreAJNNu5QxlbhyYuOtz+XN5bMMxA==",
- "cpu": [
- "arm64"
- ],
@@ -753,9 +753,9 @@
- }
- },
- "node_modules/sass-embedded-darwin-x64": {
-- "version": "1.87.0",
-- "resolved": "https://registry.npmjs.org/sass-embedded-darwin-x64/-/sass-embedded-darwin-x64-1.87.0.tgz",
-- "integrity": "sha512-2JiQzt7FmgUC4MYT2QvbeH/Bi3e76WEhaYoc5P3WyTW8unsHksyTdMuTuYe0Qf9usIyt6bmm5no/4BBw7c8Cig==",
+- "version": "1.89.0",
+- "resolved": "https://registry.npmjs.org/sass-embedded-darwin-x64/-/sass-embedded-darwin-x64-1.89.0.tgz",
+- "integrity": "sha512-23R8zSuB31Fq/MYpmQ38UR2C26BsYb66VVpJgWmWl/N+sgv/+l9ECuSPMbYNgM3vb9TP9wk9dgL6KkiCS5tAyg==",
- "cpu": [
- "x64"
- ],
@@ -771,9 +771,9 @@
- }
- },
- "node_modules/sass-embedded-linux-arm": {
-- "version": "1.87.0",
-- "resolved": "https://registry.npmjs.org/sass-embedded-linux-arm/-/sass-embedded-linux-arm-1.87.0.tgz",
-- "integrity": "sha512-z5P6INMsGXiUcq1sRRbksyQUhalFFYjTEexuxfSYdK3U2YQMADHubQh8pGzkWvFRPOpnh83RiGuwvpaARYHnsw==",
+- "version": "1.89.0",
+- "resolved": "https://registry.npmjs.org/sass-embedded-linux-arm/-/sass-embedded-linux-arm-1.89.0.tgz",
+- "integrity": "sha512-KAzA1XD74d8/fiJXxVnLfFwfpmD2XqUJZz+DL6ZAPNLH1sb+yCP7brktaOyClDc/MBu61JERdHaJjIZhfX0Yqw==",
- "cpu": [
- "arm"
- ],
@@ -789,9 +789,9 @@
- }
- },
- "node_modules/sass-embedded-linux-arm64": {
-- "version": "1.87.0",
-- "resolved": "https://registry.npmjs.org/sass-embedded-linux-arm64/-/sass-embedded-linux-arm64-1.87.0.tgz",
-- "integrity": "sha512-5z+mwJCbGZcg+q+MwdEVSh0ogFK7OSAe175Gsozzr/Izw34Q+RGUw9O82jsV2c4YNuTAQvzEHgIO5cvNvt3Quw==",
+- "version": "1.89.0",
+- "resolved": "https://registry.npmjs.org/sass-embedded-linux-arm64/-/sass-embedded-linux-arm64-1.89.0.tgz",
+- "integrity": "sha512-g9Lp57qyx51ttKj0AN/edV43Hu1fBObvD7LpYwVfs6u3I95r0Adi90KujzNrUqXxJVmsfUwseY8kA8zvcRjhYA==",
- "cpu": [
- "arm64"
- ],
@@ -807,9 +807,9 @@
- }
- },
- "node_modules/sass-embedded-linux-ia32": {
-- "version": "1.87.0",
-- "resolved": "https://registry.npmjs.org/sass-embedded-linux-ia32/-/sass-embedded-linux-ia32-1.87.0.tgz",
-- "integrity": "sha512-Xzcp+YPp0iakGL148Jl57CO+MxLuj2jsry3M+rc1cSnDlvkjNVs6TMxaL70GFeV5HdU2V60voYcgE7adDUtJjw==",
+- "version": "1.89.0",
+- "resolved": "https://registry.npmjs.org/sass-embedded-linux-ia32/-/sass-embedded-linux-ia32-1.89.0.tgz",
+- "integrity": "sha512-5fxBeXyvBr3pb+vyrx9V6yd7QDRXkAPbwmFVVhjqshBABOXelLysEFea7xokh/tM8JAAQ4O8Ls3eW3Eojb477g==",
- "cpu": [
- "ia32"
- ],
@@ -825,9 +825,9 @@
- }
- },
- "node_modules/sass-embedded-linux-musl-arm": {
-- "version": "1.87.0",
-- "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-arm/-/sass-embedded-linux-musl-arm-1.87.0.tgz",
-- "integrity": "sha512-4PyqOWhRzyu06RRmpCCBOJdF4BOv7s446wrV6yODtEyyfSIDx3MJabo3KT0oJ1lTWSI/aU3R89bKx0JFXcIHHw==",
+- "version": "1.89.0",
+- "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-arm/-/sass-embedded-linux-musl-arm-1.89.0.tgz",
+- "integrity": "sha512-0Q1JeEU4/tzH7fwAwarfIh+Swn3aXG/jPhVsZpbR1c1VzkeaPngmXdmLJcVXsdb35tjk84DuYcFtJlE1HYGw4Q==",
- "cpu": [
- "arm"
- ],
@@ -843,9 +843,9 @@
- }
- },
- "node_modules/sass-embedded-linux-musl-arm64": {
-- "version": "1.87.0",
-- "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-arm64/-/sass-embedded-linux-musl-arm64-1.87.0.tgz",
-- "integrity": "sha512-HWE5eTRCoKzFZWsxOjDMTF5m4DDTQ0n7NJxSYiUXPBDydr9viPXbGOMYG7WVJLjiF7upr7DYo/mfp/SNTMlZyg==",
+- "version": "1.89.0",
+- "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-arm64/-/sass-embedded-linux-musl-arm64-1.89.0.tgz",
+- "integrity": "sha512-50oelrOtN64u15vJN9uJryIuT0+UPjyeoq0zdWbY8F7LM9294Wf+Idea+nqDUWDCj1MHndyPFmR1mjeuRouJhw==",
- "cpu": [
- "arm64"
- ],
@@ -861,9 +861,9 @@
- }
- },
- "node_modules/sass-embedded-linux-musl-ia32": {
-- "version": "1.87.0",
-- "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-ia32/-/sass-embedded-linux-musl-ia32-1.87.0.tgz",
-- "integrity": "sha512-aQaPvlRn3kh93PLQvl6BcFKu8Ji92+42blFEkg6nMVvmugD5ZwH2TGFrX25ibx4CYxRpMS4ssF7a0i7vy5HB1Q==",
+- "version": "1.89.0",
+- "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-ia32/-/sass-embedded-linux-musl-ia32-1.89.0.tgz",
+- "integrity": "sha512-ILWqpTd+0RdsSw977iVAJf4CLetIbcQgLQf17ycS1N4StZKVRZs1bBfZhg/f/HU/4p5HondPAwepgJepZZdnFA==",
- "cpu": [
- "ia32"
- ],
@@ -879,9 +879,9 @@
- }
- },
- "node_modules/sass-embedded-linux-musl-riscv64": {
-- "version": "1.87.0",
-- "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-riscv64/-/sass-embedded-linux-musl-riscv64-1.87.0.tgz",
-- "integrity": "sha512-o5DxcqiFzET3KRWo+futHr/lhAMBP3tJGGx8YIgpHQYfvDMbsvE0hiFC+nZ/GF9dbcGd+ceIQwfvE5mcc7Gsjw==",
+- "version": "1.89.0",
+- "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-riscv64/-/sass-embedded-linux-musl-riscv64-1.89.0.tgz",
+- "integrity": "sha512-n2V+Tdjj7SAuiuElJYhWiHjjB1YU0cuFvL1/m5K+ecdNStfHFWIzvBT6/vzQnBOWjI4eZECNVuQ8GwGWCufZew==",
- "cpu": [
- "riscv64"
- ],
@@ -897,9 +897,9 @@
- }
- },
- "node_modules/sass-embedded-linux-musl-x64": {
-- "version": "1.87.0",
-- "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-x64/-/sass-embedded-linux-musl-x64-1.87.0.tgz",
-- "integrity": "sha512-dKxWsu9Wu/CyfzQmHdeiGqrRSzJ85VUjbSx+aP1/7ttmps3SSg+YW95PuqnCOa7GSuSreC3dKKpXHTywUxMLQA==",
+- "version": "1.89.0",
+- "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-x64/-/sass-embedded-linux-musl-x64-1.89.0.tgz",
+- "integrity": "sha512-KOHJdouBK3SLJKZLnFYzuxs3dn+6jaeO3p4p1JUYAcVfndcvh13Sg2sLGfOfpg7Og6ws2Nnqnx0CyL26jPJ7ag==",
- "cpu": [
- "x64"
- ],
@@ -915,9 +915,9 @@
- }
- },
- "node_modules/sass-embedded-linux-riscv64": {
-- "version": "1.87.0",
-- "resolved": "https://registry.npmjs.org/sass-embedded-linux-riscv64/-/sass-embedded-linux-riscv64-1.87.0.tgz",
-- "integrity": "sha512-Sy3ESZ4FwBiijvmTA9n+0p0w3MNCue1AgINVPzpAY27EFi0h49eqQm9SWfOkFqmkFS2zFRYowdQOr5Bbr2gOXA==",
+- "version": "1.89.0",
+- "resolved": "https://registry.npmjs.org/sass-embedded-linux-riscv64/-/sass-embedded-linux-riscv64-1.89.0.tgz",
+- "integrity": "sha512-0A/UWeKX6MYhVLWLkdX3NPKHO+mvIwzaf6TxGCy3vS3TODWaeDUeBhHShAr7YlOKv5xRGxf7Gx7FXCPV0mUyMA==",
- "cpu": [
- "riscv64"
- ],
@@ -933,9 +933,9 @@
- }
- },
- "node_modules/sass-embedded-linux-x64": {
-- "version": "1.87.0",
-- "resolved": "https://registry.npmjs.org/sass-embedded-linux-x64/-/sass-embedded-linux-x64-1.87.0.tgz",
-- "integrity": "sha512-+UfjakOcHHKTnEqB3EZ+KqzezQOe1emvy4Rs+eQhLyfekpYuNze/qlRvYxfKTmrtvDiUrIto8MXsyZfMLzkuMA==",
+- "version": "1.89.0",
+- "resolved": "https://registry.npmjs.org/sass-embedded-linux-x64/-/sass-embedded-linux-x64-1.89.0.tgz",
+- "integrity": "sha512-dRBoOFPDWctHPYK3hTk3YzyX/icVrXiw7oOjbtpaDr6JooqIWBe16FslkWyvQzdmfOFy80raKVjgoqT7DsznkQ==",
- "cpu": [
- "x64"
- ],
@@ -951,9 +951,9 @@
- }
- },
- "node_modules/sass-embedded-win32-arm64": {
-- "version": "1.87.0",
-- "resolved": "https://registry.npmjs.org/sass-embedded-win32-arm64/-/sass-embedded-win32-arm64-1.87.0.tgz",
-- "integrity": "sha512-m1DS6FYUE0/fv+vt38uQB/kxR4UjnyD+2zcSc298pFmA0aYh/XZIPWw7RxG1HL3KLE1ZrGyu3254MPoxRhs3ig==",
+- "version": "1.89.0",
+- "resolved": "https://registry.npmjs.org/sass-embedded-win32-arm64/-/sass-embedded-win32-arm64-1.89.0.tgz",
+- "integrity": "sha512-RnlVZ14hC/W7ubzvhqnbGfjU5PFNoFP/y5qycgCy+Mezb0IKbWvZ2Lyzux8TbL3OIjOikkNpfXoNQrX706WLAA==",
- "cpu": [
- "arm64"
- ],
@@ -969,9 +969,9 @@
- }
- },
- "node_modules/sass-embedded-win32-ia32": {
-- "version": "1.87.0",
-- "resolved": "https://registry.npmjs.org/sass-embedded-win32-ia32/-/sass-embedded-win32-ia32-1.87.0.tgz",
-- "integrity": "sha512-JztXLo59GMe2E6g+kCsyiERYhtZgkcyDYx6CrXoSTE5WaE+RbxRiCCCv8/1+hf406f08pUxJ8G0Ody7M5urtBA==",
+- "version": "1.89.0",
+- "resolved": "https://registry.npmjs.org/sass-embedded-win32-ia32/-/sass-embedded-win32-ia32-1.89.0.tgz",
+- "integrity": "sha512-eFe9VMNG+90nuoE3eXDy+38+uEHGf7xcqalq5+0PVZfR+H9RlaEbvIUNflZV94+LOH8Jb4lrfuekhHgWDJLfSg==",
- "cpu": [
- "ia32"
- ],
@@ -987,9 +987,9 @@
- }
- },
- "node_modules/sass-embedded-win32-x64": {
-- "version": "1.87.0",
-- "resolved": "https://registry.npmjs.org/sass-embedded-win32-x64/-/sass-embedded-win32-x64-1.87.0.tgz",
-- "integrity": "sha512-4nQErpauvhgSo+7ClumGdjdf9sGx+U9yBgvhI0+zUw+D5YvraVgvA0Lk8Wuwntx2PqnvKUk8YDr/vxHJostv4Q==",
+- "version": "1.89.0",
+- "resolved": "https://registry.npmjs.org/sass-embedded-win32-x64/-/sass-embedded-win32-x64-1.89.0.tgz",
+- "integrity": "sha512-AaGpr5R6MLCuSvkvDdRq49ebifwLcuGPk0/10hbYw9nh3jpy2/CylYubQpIpR4yPcuD1wFwFqufTXC3HJYGb0g==",
- "cpu": [
- "x64"
- ],
@@ -1005,8 +1005,8 @@
- }
- },
"node_modules/short-unique-id": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/short-unique-id/-/short-unique-id-5.2.0.tgz",
+ "version": "5.3.2",
+ "resolved": "https://registry.npmjs.org/short-unique-id/-/short-unique-id-5.3.2.tgz",
@@ -3238,23 +2334,6 @@
"node": ">=0.10.0"
}
@@ -1130,4 +1130,4 @@
- "peer": true
},
"node_modules/vue": {
- "version": "3.5.13",
+ "version": "3.5.14",
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 <bsd.port.mk>
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 <bsd.port.mk>
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 <bsd.port.mk>
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 <style> tags in the HTML.
+The workaround is to write all the CSS rules in the style attribute of each tag
+inside your email. This is a rather tedious and hard to maintain approach.
+
+Premailer to the rescue! The great premailer gem applies all CSS rules to each
+matching HTML element by adding them to the style attribute. This allows you to
+keep HTML and CSS in separate files, just as you're used to from web
+development, thus keeping your sanity.
+
+This gem is an adapter for premailer to work with actionmailer out of the box.
+Actionmailer is the email framework used in Rails, which also works outside of
+Rails. Although premailer-rails has certain Rails specific features, it also
+works in the absence of Rails making it compatible with other frameworks such as
+sinatra.
diff --git a/math/lcalc/Makefile b/math/lcalc/Makefile
index c2ade72e45b3..0a6188353fbc 100644
--- a/math/lcalc/Makefile
+++ b/math/lcalc/Makefile
@@ -7,7 +7,7 @@ MASTER_SITES= https://mirror.csclub.uwaterloo.ca/sage/spkg/upstream/${PORTNAME}/
https://mirror.dogado.de/sage/spkg/upstream/${PORTNAME}/ \
http://files.sagemath.org/spkg/upstream/${PORTNAME}/
-MAINTAINER= thierry@FreeBSD.org
+MAINTAINER= ports@FreeBSD.org
COMMENT= L-function c++ class library and the CLI program lcalc
WWW= https://gitlab.com/sagemath/lcalc
diff --git a/math/suitesparse-camd/Makefile b/math/suitesparse-camd/Makefile
index be7105d4eee0..7596e428ef20 100644
--- a/math/suitesparse-camd/Makefile
+++ b/math/suitesparse-camd/Makefile
@@ -1,5 +1,5 @@
PORTNAME= ${MPORTNAME:tl}
-PORTVERSION= 3.3.3
+PORTVERSION= 3.3.4
CATEGORIES= math
COMMENT= Symmetric approximate minimum degree
diff --git a/math/suitesparse-graphblas/Makefile b/math/suitesparse-graphblas/Makefile
index 1a0a7aa95fab..0a1e902b920d 100644
--- a/math/suitesparse-graphblas/Makefile
+++ b/math/suitesparse-graphblas/Makefile
@@ -1,5 +1,5 @@
PORTNAME= ${MPORTNAME:tl}
-PORTVERSION= 10.0.3
+PORTVERSION= 10.0.5
CATEGORIES= math
COMMENT= Graph algorithms in the language of linear algebra
diff --git a/math/suitesparse/Makefile b/math/suitesparse/Makefile
index 520ebfe367fd..b7bedb46b514 100644
--- a/math/suitesparse/Makefile
+++ b/math/suitesparse/Makefile
@@ -1,5 +1,5 @@
PORTNAME= suitesparse
-PORTVERSION= 7.10.2
+PORTVERSION= 7.10.3
CATEGORIES= math
MAINTAINER= fortran@FreeBSD.org
diff --git a/math/suitesparse/bsd.suitesparse.mk b/math/suitesparse/bsd.suitesparse.mk
index fc461f5b2271..64fcee04076c 100644
--- a/math/suitesparse/bsd.suitesparse.mk
+++ b/math/suitesparse/bsd.suitesparse.mk
@@ -4,7 +4,7 @@
PKGNAMEPREFIX= suitesparse-
SSPNAME= suitesparse
-SSPVERSION= 7.10.2
+SSPVERSION= 7.10.3
DISTVERSIONPREFIX= v
MAINTAINER= fortran@FreeBSD.org
diff --git a/math/suitesparse/distinfo b/math/suitesparse/distinfo
index 622af251a80b..2ab4923b6c55 100644
--- a/math/suitesparse/distinfo
+++ b/math/suitesparse/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1744560629
-SHA256 (suitesparse/v7.10.2.tar.gz) = 98ebd840a30ddd872b38879615b6045aa800d84eae6b44efd44b6b0682507630
-SIZE (suitesparse/v7.10.2.tar.gz) = 87825625
+TIMESTAMP = 1747585409
+SHA256 (suitesparse/v7.10.3.tar.gz) = 09e7bcc8e5de0a5b55d2ae9fd6378d5f4dc1b85a933593339a0872b24e2cc102
+SIZE (suitesparse/v7.10.3.tar.gz) = 87836881
diff --git a/net-mgmt/icinga-php-library/Makefile b/net-mgmt/icinga-php-library/Makefile
index 486fab8d3218..24b3e03c9085 100644
--- a/net-mgmt/icinga-php-library/Makefile
+++ b/net-mgmt/icinga-php-library/Makefile
@@ -1,12 +1,11 @@
PORTNAME= icinga-php-library
DISTVERSIONPREFIX= v
-DISTVERSION= 0.14.1
+DISTVERSION= 0.14.2
CATEGORIES= net-mgmt www
PKGNAMESUFFIX= ${PHP_PKGNAMESUFFIX}
MAINTAINER= flo@FreeBSD.org
COMMENT= Icinga PHP library
-WWW= https://github.com/Icinga/icinga-php-library
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
@@ -24,7 +23,7 @@ NO_ARCH= yes
WWWDIR?= ${PREFIX}/www/icingaweb2/icinga-php/${PORTNAME:C/^.*-//}
do-install:
- @${MKDIR} ${STAGEDIR}${WWWDIR}
+ ${MKDIR} ${STAGEDIR}${WWWDIR}
(cd ${WRKSRC} && \
${COPYTREE_SHARE} . ${STAGEDIR}${WWWDIR})
diff --git a/net-mgmt/icinga-php-library/distinfo b/net-mgmt/icinga-php-library/distinfo
index 72d8925d1417..3e89e81a1207 100644
--- a/net-mgmt/icinga-php-library/distinfo
+++ b/net-mgmt/icinga-php-library/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1723236718
-SHA256 (icinga-icinga-php-library-v0.14.1_GH0.tar.gz) = 4852ce142da450c1209b13459db329b8f2476d763729297f9be5dc76b03fa056
-SIZE (icinga-icinga-php-library-v0.14.1_GH0.tar.gz) = 3350571
+TIMESTAMP = 1743002415
+SHA256 (icinga-icinga-php-library-v0.14.2_GH0.tar.gz) = 8e0b7589b094d16e214ac6293ce636c845f47234782232f338d2faf502a42d16
+SIZE (icinga-icinga-php-library-v0.14.2_GH0.tar.gz) = 3365243
diff --git a/net-mgmt/icinga-php-library/pkg-plist b/net-mgmt/icinga-php-library/pkg-plist
index a1ccc8b96c47..bf36db710151 100644
--- a/net-mgmt/icinga-php-library/pkg-plist
+++ b/net-mgmt/icinga-php-library/pkg-plist
@@ -136,8 +136,8 @@
%%WWWDIR%%/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Selectable.php
%%WWWDIR%%/vendor/doctrine/deprecations/LICENSE
%%WWWDIR%%/vendor/doctrine/deprecations/composer.json
-%%WWWDIR%%/vendor/doctrine/deprecations/lib/Doctrine/Deprecations/Deprecation.php
-%%WWWDIR%%/vendor/doctrine/deprecations/lib/Doctrine/Deprecations/PHPUnit/VerifyDeprecations.php
+%%WWWDIR%%/vendor/doctrine/deprecations/src/Deprecation.php
+%%WWWDIR%%/vendor/doctrine/deprecations/src/PHPUnit/VerifyDeprecations.php
%%WWWDIR%%/vendor/dragonmantank/cron-expression/LICENSE
%%WWWDIR%%/vendor/dragonmantank/cron-expression/composer.json
%%WWWDIR%%/vendor/dragonmantank/cron-expression/src/Cron/AbstractField.php
diff --git a/net-mgmt/icingaweb2-module-director/Makefile b/net-mgmt/icingaweb2-module-director/Makefile
index a670cf4c32c3..ddc987325021 100644
--- a/net-mgmt/icingaweb2-module-director/Makefile
+++ b/net-mgmt/icingaweb2-module-director/Makefile
@@ -1,6 +1,6 @@
PORTNAME= icingaweb2-module-director
DISTVERSIONPREFIX= v
-DISTVERSION= 1.11.3
+DISTVERSION= 1.11.5
CATEGORIES= net-mgmt www
PKGNAMESUFFIX= ${PHP_PKGNAMESUFFIX}
diff --git a/net-mgmt/icingaweb2-module-director/distinfo b/net-mgmt/icingaweb2-module-director/distinfo
index 0286cc4f1c7a..473bc9ccf9c6 100644
--- a/net-mgmt/icingaweb2-module-director/distinfo
+++ b/net-mgmt/icingaweb2-module-director/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1739700635
-SHA256 (icinga-icingaweb2-module-director-v1.11.3_GH0.tar.gz) = 8c45ca27d167d25f021024c24c8edd457b687fa2a2d948a29fada503c08c5e7c
-SIZE (icinga-icingaweb2-module-director-v1.11.3_GH0.tar.gz) = 3473414
+TIMESTAMP = 1747555561
+SHA256 (icinga-icingaweb2-module-director-v1.11.5_GH0.tar.gz) = e9eb6deb51b572382a20be92cf13d43d89299b431d262cfc985bc4aa01c8e769
+SIZE (icinga-icingaweb2-module-director-v1.11.5_GH0.tar.gz) = 3474829
diff --git a/net-mgmt/icingaweb2-module-director/pkg-plist b/net-mgmt/icingaweb2-module-director/pkg-plist
index 6dd1a4481dce..c3b1befa1197 100644
--- a/net-mgmt/icingaweb2-module-director/pkg-plist
+++ b/net-mgmt/icingaweb2-module-director/pkg-plist
@@ -961,6 +961,8 @@
%%WWWDIR%%/schema/mysql-migrations/upgrade_184.sql
%%WWWDIR%%/schema/mysql-migrations/upgrade_186.sql
%%WWWDIR%%/schema/mysql-migrations/upgrade_187.sql
+%%WWWDIR%%/schema/mysql-migrations/upgrade_188.sql
+%%WWWDIR%%/schema/mysql-migrations/upgrade_189.sql
%%WWWDIR%%/schema/mysql-migrations/upgrade_63.sql
%%WWWDIR%%/schema/mysql-migrations/upgrade_64.sql
%%WWWDIR%%/schema/mysql-migrations/upgrade_65.sql
@@ -1087,6 +1089,7 @@
%%WWWDIR%%/schema/pgsql-migrations/upgrade_186.sql
%%WWWDIR%%/schema/pgsql-migrations/upgrade_187.sql
%%WWWDIR%%/schema/pgsql-migrations/upgrade_188.sql
+%%WWWDIR%%/schema/pgsql-migrations/upgrade_189.sql
%%WWWDIR%%/schema/pgsql-migrations/upgrade_77.sql
%%WWWDIR%%/schema/pgsql-migrations/upgrade_78.sql
%%WWWDIR%%/schema/pgsql-migrations/upgrade_79.sql
diff --git a/net-mgmt/icingaweb2-module-reporting/Makefile b/net-mgmt/icingaweb2-module-reporting/Makefile
index ec680dbfe892..b219fc3e56d0 100644
--- a/net-mgmt/icingaweb2-module-reporting/Makefile
+++ b/net-mgmt/icingaweb2-module-reporting/Makefile
@@ -1,6 +1,6 @@
PORTNAME= icingaweb2-module-reporting
DISTVERSIONPREFIX= v
-DISTVERSION= 1.0.2
+DISTVERSION= 1.0.5
PORTREVISION= 0
CATEGORIES= net-mgmt www
PKGNAMESUFFIX= ${PHP_PKGNAMESUFFIX}
diff --git a/net-mgmt/icingaweb2-module-reporting/distinfo b/net-mgmt/icingaweb2-module-reporting/distinfo
index 92d0eb9a70ef..a6cadfe535ba 100644
--- a/net-mgmt/icingaweb2-module-reporting/distinfo
+++ b/net-mgmt/icingaweb2-module-reporting/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1723238039
-SHA256 (icinga-icingaweb2-module-reporting-v1.0.2_GH0.tar.gz) = e065b73abdb5ee47725ad1af0b9a6f81eea29589b4d8a6ec3c8872c4d8d0f430
-SIZE (icinga-icingaweb2-module-reporting-v1.0.2_GH0.tar.gz) = 45499
+TIMESTAMP = 1747555637
+SHA256 (icinga-icingaweb2-module-reporting-v1.0.5_GH0.tar.gz) = eefe386443f48686f2669ab995d7ffaf2acca3f3bc979c647f8233d7a39b1205
+SIZE (icinga-icingaweb2-module-reporting-v1.0.5_GH0.tar.gz) = 46053
diff --git a/net-mgmt/icingaweb2-module-reporting/pkg-plist b/net-mgmt/icingaweb2-module-reporting/pkg-plist
index d155ff8ef386..5eac2e5827fe 100644
--- a/net-mgmt/icingaweb2-module-reporting/pkg-plist
+++ b/net-mgmt/icingaweb2-module-reporting/pkg-plist
@@ -73,8 +73,10 @@
%%WWWDIR%%/public/img/textarea-corner.png
%%WWWDIR%%/run.php
%%WWWDIR%%/schema/mysql-upgrades/0.10.0.sql
+%%WWWDIR%%/schema/mysql-upgrades/1.0.3.sql
%%WWWDIR%%/schema/mysql-upgrades/0.9.1.sql
%%WWWDIR%%/schema/mysql-upgrades/1.0.0.sql
+%%WWWDIR%%/schema/pgsql-upgrades/1.0.3.sql
%%WWWDIR%%/schema/mysql.schema.sql
%%WWWDIR%%/schema/pgsql-upgrades/1.0.0.sql
%%WWWDIR%%/schema/pgsql.schema.sql
diff --git a/net-mgmt/icingaweb2/Makefile b/net-mgmt/icingaweb2/Makefile
index 33bceb67e3b8..f4b10f3f8723 100644
--- a/net-mgmt/icingaweb2/Makefile
+++ b/net-mgmt/icingaweb2/Makefile
@@ -1,6 +1,6 @@
PORTNAME= icingaweb2
DISTVERSIONPREFIX= v
-DISTVERSION= 2.12.2
+DISTVERSION= 2.12.4
CATEGORIES= net-mgmt www
PKGNAMESUFFIX= ${PHP_PKGNAMESUFFIX}
@@ -11,7 +11,7 @@ WWW= https://www.icinga.com/products/icinga-web-2
LICENSE= GPLv2
LICENSE_FILE= ${WRKSRC}/LICENSE
-RUN_DEPENDS= icinga-php-library${PHP_PKGNAMESUFFIX}>=0.13.1:net-mgmt/icinga-php-library@${PHP_FLAVOR} \
+RUN_DEPENDS= icinga-php-library${PHP_PKGNAMESUFFIX}>=0.14.2:net-mgmt/icinga-php-library@${PHP_FLAVOR} \
icinga-php-thirdparty${PHP_PKGNAMESUFFIX}>=0.12.1:net-mgmt/icinga-php-thirdparty@${PHP_FLAVOR} \
icingaweb2-module-incubator${PHP_PKGNAMESUFFIX}>=0.20.0:net-mgmt/icingaweb2-module-incubator@${PHP_FLAVOR}
diff --git a/net-mgmt/icingaweb2/distinfo b/net-mgmt/icingaweb2/distinfo
index 5a13fda3ba26..052e6dfa390d 100644
--- a/net-mgmt/icingaweb2/distinfo
+++ b/net-mgmt/icingaweb2/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1739700617
-SHA256 (icinga-icingaweb2-v2.12.2_GH0.tar.gz) = b15687a499f1774aaf953216990c5c94639a19a68977c288847b857541c84649
-SIZE (icinga-icingaweb2-v2.12.2_GH0.tar.gz) = 6361027
+TIMESTAMP = 1743014357
+SHA256 (icinga-icingaweb2-v2.12.4_GH0.tar.gz) = 88595be8910b1b3be194ef49636a9b9654a87bac6e01439d27ee82ef7a4acf39
+SIZE (icinga-icingaweb2-v2.12.4_GH0.tar.gz) = 6362942
diff --git a/net-mgmt/icingaweb2/pkg-plist b/net-mgmt/icingaweb2/pkg-plist
index b3ad80dc60b6..40bb7aeb9b9c 100644
--- a/net-mgmt/icingaweb2/pkg-plist
+++ b/net-mgmt/icingaweb2/pkg-plist
@@ -136,7 +136,6 @@ etc/bash_completion.d/icingacli
%%WWWDIR%%/application/views/scripts/group/form.phtml
%%WWWDIR%%/application/views/scripts/group/list.phtml
%%WWWDIR%%/application/views/scripts/group/show.phtml
-%%WWWDIR%%/application/views/scripts/iframe/index.phtml
%%WWWDIR%%/application/views/scripts/index/welcome.phtml
%%WWWDIR%%/application/views/scripts/inline.phtml
%%WWWDIR%%/application/views/scripts/joystickPagination.phtml
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
diff --git a/net/Makefile b/net/Makefile
index 858b4d9dd186..4949a024b740 100644
--- a/net/Makefile
+++ b/net/Makefile
@@ -1260,6 +1260,7 @@
SUBDIR += rtg
SUBDIR += rtpproxy
SUBDIR += rtptools
+ SUBDIR += rubygem-activestorage-gitlab
SUBDIR += rubygem-activestorage52
SUBDIR += rubygem-activestorage60
SUBDIR += rubygem-activestorage61
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 <mq@ucw.cz>
-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 <mq@ucw.cz>
-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 <mq@ucw.cz>
-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 <mq@ucw.cz>
-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 <job@fastly.com> 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 <mq@ucw.cz>
-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 <danny@danysek.cz> 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 <mq@ucw.cz>
-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 <mq@ucw.cz>
-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 <mq@ucw.cz>
-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 <mq@ucw.cz>
-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 <mq@ucw.cz>
-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 <mq@ucw.cz>
-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; i<ARRAY_SIZE(stonehenge_sizes); i++)
-+ if (size <= stonehenge_sizes[i])
-+ {
-+ if (!sth->s[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 <mq@ucw.cz>
-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; i<ARRAY_SIZE(ea_slab_sizes); i++)
-- if (sz <= ea_slab_sizes[i])
-- {
-- r = sl_alloc(ea_slab[i]);
-- break;
-- }
-+ sth_block b = sth_alloc(ea_sth, sz);
-
-- int huge = r ? 0 : EALF_HUGE;;
-- if (huge)
-- r = mb_alloc(rta_pool, sz);
-+ struct ea_storage *r = b.block;
-
- ea_list_copy(r->l, 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<ARRAY_SIZE(ea_slab_sizes); i++)
-- ea_slab[i] = sl_new(rta_pool, ea_slab_sizes[i]);
--
-+ ea_sth = sth_new(rta_pool);
- SPINHASH_INIT(rta_hash_table, RTAH, rta_pool, &global_work_list);
-
- rte_src_init();
---
-GitLab
-
diff --git a/net/bird3/files/patch-12-BGP-tx-bucket-storage b/net/bird3/files/patch-12-BGP-tx-bucket-storage
deleted file mode 100644
index 513824f86769..000000000000
--- a/net/bird3/files/patch-12-BGP-tx-bucket-storage
+++ /dev/null
@@ -1,84 +0,0 @@
-From fdb5c4920b45139fb3c37e1144643c0f756364b6 Mon Sep 17 00:00:00 2001
-From: Maria Matejka <mq@ucw.cz>
-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 <mq@ucw.cz>
-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 <mq@ucw.cz>
-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 <mq@ucw.cz>
-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 <alarig@swordarmor.fr> 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 <mq@ucw.cz>
-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
-
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
diff --git a/net/gitlab-agent/Makefile b/net/gitlab-agent/Makefile
index 9442fc9d92d4..8aae2990842e 100644
--- a/net/gitlab-agent/Makefile
+++ b/net/gitlab-agent/Makefile
@@ -15,7 +15,7 @@ BUILD_DEPENDS= git>=0:devel/git \
golangci-lint>=0:devel/golangci-lint
USES= go:modules,1.23
-GO_MODULE= gitlab.com/gitlab-org/cluster-integration/gitlab-agent/v17
+GO_MODULE= gitlab.com/gitlab-org/cluster-integration/gitlab-agent/v18
_BUILD_DATE= $$(date -u "+%Y-%m-%d-%H%M UTC")
GO_TARGET= ./cmd/kas
diff --git a/net/gitlab-agent/distinfo b/net/gitlab-agent/distinfo
index f0ad922f0408..8a8b5d5f9007 100644
--- a/net/gitlab-agent/distinfo
+++ b/net/gitlab-agent/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1746703450
-SHA256 (go/net_gitlab-agent/gitlab-agent-v17.11.2/v17.11.2.mod) = 6c36855cd351c829e5b19c5aa99876db58a2b4bd7b934e05497e7777faa64f8f
-SIZE (go/net_gitlab-agent/gitlab-agent-v17.11.2/v17.11.2.mod) = 9293
-SHA256 (go/net_gitlab-agent/gitlab-agent-v17.11.2/v17.11.2.zip) = 08c74935d6a0ba77a11eade2b3ca11c20bf3f8619dae652e1e286757dfdaa654
-SIZE (go/net_gitlab-agent/gitlab-agent-v17.11.2/v17.11.2.zip) = 1555390
+TIMESTAMP = 1747297291
+SHA256 (go/net_gitlab-agent/gitlab-agent-v18.0.0/v18.0.0.mod) = 0c2121b2efd0904b758621ebeefb6d8ac0a504c59ec144b7b59fc05ab4a73ae8
+SIZE (go/net_gitlab-agent/gitlab-agent-v18.0.0/v18.0.0.mod) = 9417
+SHA256 (go/net_gitlab-agent/gitlab-agent-v18.0.0/v18.0.0.zip) = c94d69eeffe74fcbc3301ef65026033b55f34d9b1b4f57a753b4cd1f53f694e6
+SIZE (go/net_gitlab-agent/gitlab-agent-v18.0.0/v18.0.0.zip) = 1606160
diff --git a/net/rubygem-activestorage-gitlab/Makefile b/net/rubygem-activestorage-gitlab/Makefile
new file mode 100644
index 000000000000..aa7f53cc97cc
--- /dev/null
+++ b/net/rubygem-activestorage-gitlab/Makefile
@@ -0,0 +1,28 @@
+PORTNAME= activestorage
+PORTVERSION= ${RAILS_VERSION}
+CATEGORIES= net rubygems
+MASTER_SITES= RG
+PKGNAMESUFFIX= -gitlab
+
+MAINTAINER= mfechner@FreeBSD.org
+COMMENT= Attach cloud and local files in Rails applications
+WWW= https://github.com/rails/rails/tree/main/activestorage \
+ 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-activesupport-gitlab>=${PORTVERSION}<${PORTVERSION}_99:devel/rubygem-activesupport-gitlab \
+ rubygem-marcel>=1.0<2:devel/rubygem-marcel
+
+USES= gem
+
+NO_ARCH= yes
+
+PORTSCOUT= limit:^7\.1\.
+
+.include "${.CURDIR}/../../www/gitlab/Makefile.common"
+.include <bsd.port.mk>
diff --git a/net/rubygem-activestorage-gitlab/distinfo b/net/rubygem-activestorage-gitlab/distinfo
new file mode 100644
index 000000000000..705479df0713
--- /dev/null
+++ b/net/rubygem-activestorage-gitlab/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1734888818
+SHA256 (rubygem/activestorage-7.1.5.1.gem) = ae6b8b076858c666eaad6f896d786b67654235e861e24a83f61f1cc97b43ff63
+SIZE (rubygem/activestorage-7.1.5.1.gem) = 67584
diff --git a/net/rubygem-activestorage-gitlab/pkg-descr b/net/rubygem-activestorage-gitlab/pkg-descr
new file mode 100644
index 000000000000..48422441ebc3
--- /dev/null
+++ b/net/rubygem-activestorage-gitlab/pkg-descr
@@ -0,0 +1,11 @@
+Active Storage makes it simple to upload and reference files in cloud services
+like Amazon S3, Google Cloud Storage, or Microsoft Azure Storage, and attach
+those files to Active Records. Supports having one main service and mirrors in
+other services for redundancy. It also provides a disk service for testing or
+local deployments, but the focus is on cloud storage.
+
+Files can be uploaded from the server to the cloud or directly from the client
+to the cloud.
+
+Image files can furthermore be transformed using on-demand variants for quality,
+aspect ratio, size, or any other MiniMagick or Vips supported transformation.
diff --git a/net/rubygem-apollo_upload_server/Makefile b/net/rubygem-apollo_upload_server/Makefile
index 1ba6a42c566e..8d0a4c6d89f0 100644
--- a/net/rubygem-apollo_upload_server/Makefile
+++ b/net/rubygem-apollo_upload_server/Makefile
@@ -1,5 +1,6 @@
PORTNAME= apollo_upload_server
PORTVERSION= 2.1.6
+PORTREVISION= 1
CATEGORIES= net rubygems
MASTER_SITES= RG
@@ -10,7 +11,7 @@ WWW= https://github.com/jetruby/apollo_upload_server-ruby
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
-RUN_DEPENDS= rubygem-actionpack70>=6.1.6:www/rubygem-actionpack70 \
+RUN_DEPENDS= rubygem-actionpack-gitlab>=6.1.6:www/rubygem-actionpack-gitlab \
rubygem-graphql>=1.8:devel/rubygem-graphql
USES= gem
diff --git a/net/rubygem-gitlab-kas-grpc/distinfo b/net/rubygem-gitlab-kas-grpc/distinfo
index f9d7101dc764..0c29dc280488 100644
--- a/net/rubygem-gitlab-kas-grpc/distinfo
+++ b/net/rubygem-gitlab-kas-grpc/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1746703509
-SHA256 (rubygem/gitlab-kas-grpc-17.11.2.gem) = f2b9054dcf636346e89549e9478a684a38bf03bf853332e84154ec3a9856ae1c
-SIZE (rubygem/gitlab-kas-grpc-17.11.2.gem) = 10752
+TIMESTAMP = 1747297312
+SHA256 (rubygem/gitlab-kas-grpc-18.0.0.gem) = 48956943a9a314561970eff65bcb2619df39d52e9469ae91c410e65042365e43
+SIZE (rubygem/gitlab-kas-grpc-18.0.0.gem) = 10752
diff --git a/net/rubygem-oauth2-gitlab/Makefile b/net/rubygem-oauth2-gitlab/Makefile
index 5be782149caa..4e554369a79f 100644
--- a/net/rubygem-oauth2-gitlab/Makefile
+++ b/net/rubygem-oauth2-gitlab/Makefile
@@ -1,5 +1,5 @@
PORTNAME= oauth2
-PORTVERSION= 2.0.9
+PORTVERSION= 2.0.10
CATEGORIES= net rubygems
MASTER_SITES= RG
PKGNAMESUFFIX= -gitlab
@@ -9,14 +9,15 @@ COMMENT= Ruby wrapper for the OAuth 2.0 protocol
WWW= https://github.com/oauth-xx/oauth2
LICENSE= MIT
-LICENSE_FILE= ${WRKSRC}/LICENSE
+LICENSE_FILE= ${WRKSRC}/LICENSE.txt
-RUN_DEPENDS= rubygem-faraday-gitlab>=0.17.3<3.0:www/rubygem-faraday-gitlab \
- rubygem-jwt>=1.0<3.0:www/rubygem-jwt \
+RUN_DEPENDS= rubygem-faraday-gitlab>=0.17.3<4:www/rubygem-faraday-gitlab \
+ rubygem-jwt>=1.0<4:www/rubygem-jwt \
+ rubygem-logger>=1.2<2:devel/rubygem-logger \
rubygem-multi_xml>=0.5<1:textproc/rubygem-multi_xml \
rubygem-rack>=1.2,3<4,3:www/rubygem-rack \
rubygem-snaky_hash>=2.0<3:devel/rubygem-snaky_hash \
- rubygem-version_gem>=1.1<2:devel/rubygem-version_gem
+ rubygem-version_gem>=1.1.8<3:devel/rubygem-version_gem
USES= gem
diff --git a/net/rubygem-oauth2-gitlab/distinfo b/net/rubygem-oauth2-gitlab/distinfo
index aec0acc8be92..b4207eaf9071 100644
--- a/net/rubygem-oauth2-gitlab/distinfo
+++ b/net/rubygem-oauth2-gitlab/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1663672998
-SHA256 (rubygem/oauth2-2.0.9.gem) = b21f9defcf52dc1610e0dfab4c868342173dcd707fd15c777d9f4f04e153f7fb
-SIZE (rubygem/oauth2-2.0.9.gem) = 34816
+TIMESTAMP = 1747481298
+SHA256 (rubygem/oauth2-2.0.10.gem) = 8f132679598d21885d4bcc68d7e7e6ef0a29f9a782abca00d67d884280dc3a42
+SIZE (rubygem/oauth2-2.0.10.gem) = 54272
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
diff --git a/science/afni/Makefile b/science/afni/Makefile
index 4e81f12f071d..18c24c20453e 100644
--- a/science/afni/Makefile
+++ b/science/afni/Makefile
@@ -1,6 +1,6 @@
PORTNAME= afni
DISTVERSIONPREFIX= AFNI_
-DISTVERSION= 25.1.08
+DISTVERSION= 25.1.09
CATEGORIES= science biology graphics perl5 python
MAINTAINER= fernape@FreeBSD.org
diff --git a/science/afni/distinfo b/science/afni/distinfo
index cc36808f49c4..d1105a46c5eb 100644
--- a/science/afni/distinfo
+++ b/science/afni/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1746597097
-SHA256 (afni-afni-AFNI_25.1.08_GH0.tar.gz) = 300b83cee2f9e1bb3943a3eb5a2dcb18fecca9cb33f22bc2407789ca5c1631b6
-SIZE (afni-afni-AFNI_25.1.08_GH0.tar.gz) = 53278260
+TIMESTAMP = 1747516527
+SHA256 (afni-afni-AFNI_25.1.09_GH0.tar.gz) = baec767861a8a4e191d1181976bf89e50ca3eaed06f44ba07a43d9bdafc90ff1
+SIZE (afni-afni-AFNI_25.1.09_GH0.tar.gz) = 53281164
diff --git a/security/Makefile b/security/Makefile
index 54b0a4ba353f..2e976acf904a 100644
--- a/security/Makefile
+++ b/security/Makefile
@@ -1134,15 +1134,16 @@
SUBDIR += rubygem-cvss-suite
SUBDIR += rubygem-declarative_policy
SUBDIR += rubygem-devise-two-factor
+ SUBDIR += rubygem-devise-two-factor-rails-gitlab
SUBDIR += rubygem-devise-two-factor-rails5
SUBDIR += rubygem-devise-two-factor-rails70
- SUBDIR += rubygem-devise-two-factor41-rails70
SUBDIR += rubygem-devise_pam_authenticatable2
SUBDIR += rubygem-digest
SUBDIR += rubygem-digest-crc
SUBDIR += rubygem-doorkeeper
SUBDIR += rubygem-doorkeeper-device_authorization_grant
SUBDIR += rubygem-doorkeeper-openid_connect
+ SUBDIR += rubygem-doorkeeper-rails-gitlab
SUBDIR += rubygem-doorkeeper-rails5
SUBDIR += rubygem-doorkeeper-rails50
SUBDIR += rubygem-doorkeeper-rails70
diff --git a/security/amavisd-new/Makefile b/security/amavisd-new/Makefile
index 84620ebff7bc..698c96f64b45 100644
--- a/security/amavisd-new/Makefile
+++ b/security/amavisd-new/Makefile
@@ -1,6 +1,5 @@
PORTNAME= amavisd-new
-DISTVERSION= 2.12.3
-PORTREVISION= 7
+DISTVERSION= 2.13.1
PORTEPOCH= 1
CATEGORIES= security
@@ -10,45 +9,46 @@ WWW= https://www.ijs.si/software/amavisd/
LICENSE= GPLv2
-RUN_DEPENDS= p5-Unix-Syslog>=0:sysutils/p5-Unix-Syslog \
- p5-MIME-Tools>=0:mail/p5-MIME-Tools \
+RUN_DEPENDS= p5-Archive-Zip>=1.14:archivers/p5-Archive-Zip \
p5-Convert-TNEF>=0:converters/p5-Convert-TNEF \
p5-Convert-UUlib>=1.08,1:converters/p5-Convert-UUlib \
- p5-Archive-Zip>=1.14:archivers/p5-Archive-Zip \
- p5-Net-Server>=2.0:net/p5-Net-Server \
p5-Mail-DKIM>=0.33:mail/p5-Mail-DKIM \
- p5-Net-LibIDN>=0:dns/p5-Net-LibIDN
+ p5-MIME-Tools>=0:mail/p5-MIME-Tools \
+ p5-Net-LibIDN>=0:dns/p5-Net-LibIDN \
+ p5-Net-Server>=2.0:net/p5-Net-Server \
+ p5-Unix-Syslog>=0:sysutils/p5-Unix-Syslog
USES= perl5 shebangfix tar:bz2
-USE_GITLAB= yes
USE_PERL5= run
+USE_GITLAB= yes
GL_ACCOUNT= amavis
GL_PROJECT= amavis
-GL_TAGNAME= 3290c9c2a11a8cc9595b5810b2f86c1dac25a392
+GL_TAGNAME= cdd11b069e20a4cb99960614ca9c3eb385d4e200
-SHEBANG_FILES= amavisd-agent amavisd-nanny amavisd-release p0f-analyzer.pl \
- amavisd-snmp-subagent amavisd
+SHEBANG_FILES= bin/amavisd bin/amavisd-agent bin/amavisd-nanny \
+ bin/amavisd-release bin/amavisd-snmp-subagent \
+ contrib/p0f-analyzer.pl
NO_ARCH= yes
NO_BUILD= yes
-DOCS= AAAREADME.first AMAVIS-MIB.txt INSTALL LDAP.schema LICENSE \
+DOCS= AAAREADME.first AMAVIS-MIB.txt contrib/LDAP.schema LICENSE \
RELEASE_NOTES README_FILES/README.* README_FILES/screen.css \
README_FILES/amavisd-new-docs.html
-AMAVISUSER?= vscan
-AMAVISGROUP?= vscan
-USERS= ${AMAVISUSER}
-GROUPS= ${AMAVISGROUP}
-AMAVISDIR?= /var/amavis
+AMAVISUSER?= vscan
+AMAVISGROUP?= vscan
+USERS= ${AMAVISUSER}
+GROUPS= ${AMAVISGROUP}
+AMAVISDIR?= /var/amavis
AMAVISQUARANTINE?= /var/virusmails
-DAEMON?= /usr/sbin/daemon -p
+DAEMON?= /usr/sbin/daemon -p
-OPTIONS_DEFINE= IPV6 BDB SNMP SQLITE MYSQL PGSQL LDAP SASL SPAMASSASSIN P0F \
- FILE RAR UNRAR ARJ UNARJ LHA ARC NOMARCH CAB RPM ZOO UNZOO LZOP \
- 7ZIP MSWORD TNEF DOCS
-OPTIONS_DEFAULT= BDB SPAMASSASSIN FILE UNRAR ARJ ARC CAB RPM ZOO LZOP \
- 7ZIP MSWORD
+OPTIONS_DEFINE= 7ZIP ARC ARJ BDB CAB DOCS FILE IPV6 LDAP LHA LZOP \
+ MSWORD MYSQL NOMARCH P0F PGSQL RAR RPM SASL SNMP \
+ SPAMASSASSIN SQLITE TNEF UNARJ UNRAR UNZOO ZOO
+OPTIONS_DEFAULT= 7ZIP ARC ARJ BDB CAB FILE LZOP MSWORD RPM SPAMASSASSIN \
+ UNRAR ZOO
BDB_DESC= Use BerkeleyDB for nanny/cache/snmp
SNMP_DESC= Install amavisd snmp subagent
SQLITE_DESC= Use SQLite for lookups
@@ -77,18 +77,18 @@ TNEF_DESC= Add external tnef decoder converters/tnef
SUB_FILES= pkg-deinstall pkg-message
-SUB_LIST+= AMAVISUSER=${AMAVISUSER} \
+SUB_LIST+= AMAVISDIR=${AMAVISDIR} \
AMAVISGROUP=${AMAVISGROUP} \
- AMAVISDIR=${AMAVISDIR} \
AMAVISQUARANTINE=${AMAVISQUARANTINE} \
+ AMAVISUSER=${AMAVISUSER} \
DAEMON="${DAEMON}" \
PERL=${PERL}
-PLIST_SUB+= AMAVISUSER=${AMAVISUSER} \
- AMAVISGROUP=${AMAVISGROUP} \
+PLIST_SUB+= AMAVIS_NOP0F=${AMAVIS_NOP0F} \
AMAVISDIR=${AMAVISDIR} \
+ AMAVISGROUP=${AMAVISGROUP} \
AMAVISQUARANTINE=${AMAVISQUARANTINE} \
- AMAVIS_NOP0F=${AMAVIS_NOP0F}
+ AMAVISUSER=${AMAVISUSER}
.include <bsd.port.options.mk>
@@ -151,7 +151,7 @@ RUN_DEPENDS+= file>=4.21:sysutils/file
.if ${ARCH} == "i386" || ${ARCH} == "amd64"
RUN_DEPENDS+= ${LOCALBASE}/bin/rar:archivers/rar
.else
-IGNORE= archivers/rar is a x86 binary port and is not compatible with ${ARCH}
+IGNORE= archivers/rar is a x86 binary port and is not compatible with ${ARCH}
.endif
.endif
@@ -215,40 +215,41 @@ RUN_DEPENDS+= ${LOCALBASE}/bin/tnef:converters/tnef
.include <bsd.port.pre.mk>
post-patch:
- @${REINPLACE_CMD} -e "s|$$daemon_user = 'vscan';|$$daemon_user = '${AMAVISUSER}';|" \
- -e "s|$$daemon_group = 'vscan';|$$daemon_group = '${AMAVISGROUP}';|" \
+ @${REINPLACE_CMD} -e "s|$daemon_user = 'vscan';|$daemon_user = '${AMAVISUSER}';|" \
+ -e "s|@daemon_groups = 'vscan';|@daemon_groups = '${AMAVISGROUP}';|" \
-e "s|/var/amavis|${AMAVISDIR}|" \
- -e "s|/var/lib/amavis|${AMAVISDIR}|" \
-e "s|/var/virusmails|${AMAVISQUARANTINE}|" \
- -e 's|$$localhost_name = .localhost.;|$$localhost_name = $$myhostname;|' \
- -e 's|/var/run/clamav/clamd|/var/run/clamav/clamd|g' \
- ${WRKSRC}/amavisd.conf
- @${REINPLACE_CMD} "s|/var/amavis/db|${AMAVISDIR}/db|" ${WRKSRC}/amavisd-agent
- @${REINPLACE_CMD} "s|/var/amavis/db|${AMAVISDIR}/db|" ${WRKSRC}/amavisd-nanny
+ ${WRKSRC}/conf/amavisd.conf
+ @${REINPLACE_CMD} "s|/var/amavis/db|${AMAVISDIR}/db|" ${WRKSRC}/bin/amavisd-agent
+ @${REINPLACE_CMD} "s|/var/amavis/db|${AMAVISDIR}/db|" ${WRKSRC}/bin/amavisd-nanny
@${REINPLACE_CMD} -e "s|/var/amavis/db|${AMAVISDIR}/db|" \
- ${WRKSRC}/amavisd-snmp-subagent
+ ${WRKSRC}/bin/amavisd-snmp-subagent
@${REINPLACE_CMD} "s|/var/amavis/amavisd.sock|${AMAVISDIR}/amavisd.sock|" \
- ${WRKSRC}/amavisd-release
+ ${WRKSRC}/bin/amavisd-release
@${REINPLACE_CMD} -e "s|/etc/amavisd.conf|${PREFIX}/etc/amavisd.conf|" \
- -e "s|/var/amavis|${AMAVISDIR}|g" \
- -e 's|$$localhost_name = .localhost.;|$$localhost_name = $$myhostname;|' \
- ${WRKSRC}/amavisd
+ -e "s|/var/amavis|${AMAVISDIR}|g" \
+ ${WRKSRC}/lib/Amavis.pm
+ @${REINPLACE_CMD} -e "s|/var/amavis|${AMAVISDIR}|g" \
+ ${WRKSRC}/lib/Amavis/Conf.pm
do-install:
-.for i in amavisd amavisd-agent amavisd-nanny amavisd-release amavisd-snmp-subagent
- ${INSTALL_SCRIPT} ${WRKSRC}/${i} ${STAGEDIR}${PREFIX}/sbin
+.for i in amavisd amavisd-agent amavisd-nanny amavisd-release \
+ amavisd-snmp-subagent
+ ${INSTALL_SCRIPT} ${WRKSRC}/bin/${i} ${STAGEDIR}${PREFIX}/sbin
.endfor
- ${INSTALL_DATA} ${WRKSRC}/amavisd.conf ${STAGEDIR}${PREFIX}/etc/amavisd.conf.sample
- ${INSTALL_DATA} ${WRKSRC}/amavisd.conf-default ${STAGEDIR}${PREFIX}/etc/amavisd.conf-default
- ${INSTALL_DATA} ${WRKSRC}/amavisd-custom.conf ${STAGEDIR}${PREFIX}/etc/amavisd-custom.conf.sample
+ ${INSTALL_DATA} ${WRKSRC}/conf/amavisd.conf ${STAGEDIR}${PREFIX}/etc/amavisd.conf.sample
+ ${INSTALL_DATA} ${WRKSRC}/conf/amavisd.conf-default ${STAGEDIR}${PREFIX}/etc/amavisd.conf-default
+ ${INSTALL_DATA} ${WRKSRC}/conf/amavisd-custom.conf ${STAGEDIR}${PREFIX}/etc/amavisd-custom.conf.sample
${LN} -s ${PREFIX}/sbin/amavisd-release ${STAGEDIR}${PREFIX}/sbin/amavisd-requeue
+ ${MKDIR} ${STAGEDIR}${PREFIX}/${SITE_PERL_REL}/Amavis
+ (cd ${WRKSRC}/lib && ${COPYTREE_SHARE} . ${STAGEDIR}${PREFIX}/${SITE_PERL_REL})
${MKDIR} ${STAGEDIR}${AMAVISDIR}/var
${MKDIR} ${STAGEDIR}${AMAVISDIR}/tmp
${MKDIR} ${STAGEDIR}${AMAVISDIR}/db
${MKDIR} ${STAGEDIR}${AMAVISQUARANTINE}
do-install-P0F-on:
- ${INSTALL_SCRIPT} ${WRKSRC}/p0f-analyzer.pl ${STAGEDIR}${PREFIX}/sbin
+ ${INSTALL_SCRIPT} ${WRKSRC}/contrib/p0f-analyzer.pl ${STAGEDIR}${PREFIX}/sbin
do-install-DOCS-on:
@${MKDIR} ${STAGEDIR}${DOCSDIR}/images
diff --git a/security/amavisd-new/distinfo b/security/amavisd-new/distinfo
index 4787dd57c314..109ac9ef9616 100644
--- a/security/amavisd-new/distinfo
+++ b/security/amavisd-new/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1710676870
-SHA256 (amavis-amavis-3290c9c2a11a8cc9595b5810b2f86c1dac25a392_GL0.tar.gz) = 83a24db2887afa9ae099a1d9842941cb93e162b137903b4d0cd857ec477ff243
-SIZE (amavis-amavis-3290c9c2a11a8cc9595b5810b2f86c1dac25a392_GL0.tar.gz) = 1100231
+TIMESTAMP = 1747417723
+SHA256 (amavis-amavis-cdd11b069e20a4cb99960614ca9c3eb385d4e200_GL0.tar.gz) = beebeaa0bbdd6d59301d5e140f0d71f716588e6e3fcfe73a26594ff1f2c7704c
+SIZE (amavis-amavis-cdd11b069e20a4cb99960614ca9c3eb385d4e200_GL0.tar.gz) = 1132629
diff --git a/security/amavisd-new/files/patch-amavisd b/security/amavisd-new/files/patch-amavisd
deleted file mode 100644
index 84c632588d27..000000000000
--- a/security/amavisd-new/files/patch-amavisd
+++ /dev/null
@@ -1,40 +0,0 @@
---- amavisd.orig 2025-05-11 13:36:08 UTC
-+++ amavisd
-@@ -1741,13 +1741,13 @@ BEGIN {
- ['tnef', \&Amavis::Unpackers::do_tnef],
- # ['lha', \&Amavis::Unpackers::do_lha, \$lha], # not safe, use 7z instead
- # ['sit', \&Amavis::Unpackers::do_unstuff, \$unstuff], # not safe
-- [['zip','kmz'], \&Amavis::Unpackers::do_7zip, ['7za', '7z'] ],
-+ [['zip','kmz'], \&Amavis::Unpackers::do_7zip, ['7za', '7zz', '7z'] ],
- [['zip','kmz'], \&Amavis::Unpackers::do_unzip],
-- ['7z', \&Amavis::Unpackers::do_7zip, ['7zr', '7za', '7z'] ],
-+ ['7z', \&Amavis::Unpackers::do_7zip, ['7zr', '7za', '7zz', '7z'] ],
- [[qw(gz bz2 Z tar)],
-- \&Amavis::Unpackers::do_7zip, ['7za', '7z'] ],
-+ \&Amavis::Unpackers::do_7zip, ['7za', '7zz', '7z'] ],
- [[qw(xz lzma jar cpio arj rar swf lha iso cab deb rpm)],
-- \&Amavis::Unpackers::do_7zip, '7z' ],
-+ \&Amavis::Unpackers::do_7zip, ['7zz', '7z'] ],
- ['exe', \&Amavis::Unpackers::do_executable, \$unrar, \$lha, \$unarj],
- );
-
-@@ -18812,7 +18812,7 @@ sub fetch_modules_extra() {
- auto::Net::SSLeay::dump_peer_certificate));
- }
- push(@modules, qw(Net::DNS::RR::TXT Text::ParseWords
-- auto::Crypt::OpenSSL::RSA::new_public_key)) if $extra_code_dkim;
-+ )) if $extra_code_dkim;
- push(@modules, 'Anomy::Sanitizer') if $enable_anomy_sanitizer;
- Amavis::Boot::fetch_modules('REQUIRED ADDITIONAL MODULES', 1, @modules);
-
-@@ -30849,10 +30849,6 @@ sub getSAPlugins {
- $mod_names{'Mail::SpamAssassin::Plugin::DKIM'}) {
- push(@modules, qw(
- Crypt::OpenSSL::RSA
-- auto::Crypt::OpenSSL::RSA::new_public_key
-- auto::Crypt::OpenSSL::RSA::new_key_from_parameters
-- auto::Crypt::OpenSSL::RSA::get_key_parameters
-- auto::Crypt::OpenSSL::RSA::import_random_seed
- Digest::SHA Error));
- }
- # HTML/HeadParser.pm
diff --git a/security/amavisd-new/files/patch-amavisd.conf b/security/amavisd-new/files/patch-amavisd.conf
deleted file mode 100644
index 394c65fea6e8..000000000000
--- a/security/amavisd-new/files/patch-amavisd.conf
+++ /dev/null
@@ -1,20 +0,0 @@
---- amavisd.conf.orig 2021-10-13 08:10:54 UTC
-+++ amavisd.conf
-@@ -348,13 +348,13 @@ $banned_filename_re = new_RE(
- ['tnef', \&do_tnef],
- # ['lha', \&do_lha, 'lha'], # not safe, use 7z instead
- # ['sit', \&do_unstuff, 'unstuff'], # not safe
-- [['zip','kmz'], \&do_7zip, ['7za', '7z'] ],
-+ [['zip','kmz'], \&do_7zip, ['7za', '7zz', '7z'] ],
- [['zip','kmz'], \&do_unzip],
-- ['7z', \&do_7zip, ['7zr', '7za', '7z'] ],
-+ ['7z', \&do_7zip, ['7zr', '7za', '7zz', '7z'] ],
- [[qw(gz bz2 Z tar)],
-- \&do_7zip, ['7za', '7z'] ],
-+ \&do_7zip, ['7za', '7zz', '7z'] ],
- [[qw(xz lzma jar cpio arj rar swf lha iso cab deb rpm)],
-- \&do_7zip, '7z' ],
-+ \&do_7zip, ['7zz', '7z'] ],
- ['exe', \&do_executable, ['unrar','rar'], 'lha', ['unarj','arj'] ],
- );
-
diff --git a/security/amavisd-new/pkg-plist b/security/amavisd-new/pkg-plist
index c76b3c79c5cf..23bf8ce53792 100644
--- a/security/amavisd-new/pkg-plist
+++ b/security/amavisd-new/pkg-plist
@@ -1,6 +1,5 @@
%%PORTDOCS%%%%DOCSDIR%%/AAAREADME.first
%%PORTDOCS%%%%DOCSDIR%%/AMAVIS-MIB.txt
-%%PORTDOCS%%%%DOCSDIR%%/INSTALL
%%PORTDOCS%%%%DOCSDIR%%/LDAP.schema
%%PORTDOCS%%%%DOCSDIR%%/LICENSE
%%PORTDOCS%%%%DOCSDIR%%/README.CVE-2024-28054
@@ -67,6 +66,78 @@
etc/amavisd.conf-default
@sample etc/amavisd.conf.sample
%%AMAVIS_NOP0F%%sbin/p0f-analyzer.pl
+%%SITE_PERL%%/Amavis.pm
+%%SITE_PERL%%/Amavis.pm.bak
+%%SITE_PERL%%/Amavis/AV.pm
+%%SITE_PERL%%/Amavis/Boot.pm
+%%SITE_PERL%%/Amavis/Conf.pm
+%%SITE_PERL%%/Amavis/Conf.pm.bak
+%%SITE_PERL%%/Amavis/Custom.pm
+%%SITE_PERL%%/Amavis/DB.pm
+%%SITE_PERL%%/Amavis/DB/SNMP.pm
+%%SITE_PERL%%/Amavis/DKIM.pm
+%%SITE_PERL%%/Amavis/DKIM/CustomSigner.pm
+%%SITE_PERL%%/Amavis/DbgLog.pm
+%%SITE_PERL%%/Amavis/Expand.pm
+%%SITE_PERL%%/Amavis/IO/FileHandle.pm
+%%SITE_PERL%%/Amavis/IO/RW.pm
+%%SITE_PERL%%/Amavis/IO/SQL.pm
+%%SITE_PERL%%/Amavis/IO/Zlib.pm
+%%SITE_PERL%%/Amavis/In/AMPDP.pm
+%%SITE_PERL%%/Amavis/In/Connection.pm
+%%SITE_PERL%%/Amavis/In/Message.pm
+%%SITE_PERL%%/Amavis/In/Message/PerRecip.pm
+%%SITE_PERL%%/Amavis/In/SMTP.pm
+%%SITE_PERL%%/Amavis/JSON.pm
+%%SITE_PERL%%/Amavis/LDAP/Connection.pm
+%%SITE_PERL%%/Amavis/Log.pm
+%%SITE_PERL%%/Amavis/Lookup.pm
+%%SITE_PERL%%/Amavis/Lookup/DNSxL.pm
+%%SITE_PERL%%/Amavis/Lookup/IP.pm
+%%SITE_PERL%%/Amavis/Lookup/LDAP.pm
+%%SITE_PERL%%/Amavis/Lookup/LDAPattr.pm
+%%SITE_PERL%%/Amavis/Lookup/Label.pm
+%%SITE_PERL%%/Amavis/Lookup/Opaque.pm
+%%SITE_PERL%%/Amavis/Lookup/OpaqueRef.pm
+%%SITE_PERL%%/Amavis/Lookup/RE.pm
+%%SITE_PERL%%/Amavis/Lookup/SQL.pm
+%%SITE_PERL%%/Amavis/Lookup/SQLfield.pm
+%%SITE_PERL%%/Amavis/MIME/Body/OnOpenFh.pm
+%%SITE_PERL%%/Amavis/Notify.pm
+%%SITE_PERL%%/Amavis/OS_Fingerprint.pm
+%%SITE_PERL%%/Amavis/Out.pm
+%%SITE_PERL%%/Amavis/Out/BSMTP.pm
+%%SITE_PERL%%/Amavis/Out/EditHeader.pm
+%%SITE_PERL%%/Amavis/Out/Local.pm
+%%SITE_PERL%%/Amavis/Out/Pipe.pm
+%%SITE_PERL%%/Amavis/Out/SMTP.pm
+%%SITE_PERL%%/Amavis/Out/SMTP/Protocol.pm
+%%SITE_PERL%%/Amavis/Out/SMTP/Session.pm
+%%SITE_PERL%%/Amavis/Out/SQL/Connection.pm
+%%SITE_PERL%%/Amavis/Out/SQL/Log.pm
+%%SITE_PERL%%/Amavis/Out/SQL/Quarantine.pm
+%%SITE_PERL%%/Amavis/ProcControl.pm
+%%SITE_PERL%%/Amavis/Redis.pm
+%%SITE_PERL%%/Amavis/SpamControl.pm
+%%SITE_PERL%%/Amavis/SpamControl/ExtProg.pm
+%%SITE_PERL%%/Amavis/SpamControl/RspamdClient.pm
+%%SITE_PERL%%/Amavis/SpamControl/SpamAssassin.pm
+%%SITE_PERL%%/Amavis/SpamControl/SpamdClient.pm
+%%SITE_PERL%%/Amavis/TempDir.pm
+%%SITE_PERL%%/Amavis/Timing.pm
+%%SITE_PERL%%/Amavis/TinyRedis.pm
+%%SITE_PERL%%/Amavis/Tools.pm
+%%SITE_PERL%%/Amavis/UnmangleSender.pm
+%%SITE_PERL%%/Amavis/Unpackers.pm
+%%SITE_PERL%%/Amavis/Unpackers/MIME.pm
+%%SITE_PERL%%/Amavis/Unpackers/NewFilename.pm
+%%SITE_PERL%%/Amavis/Unpackers/OurFiler.pm
+%%SITE_PERL%%/Amavis/Unpackers/Part.pm
+%%SITE_PERL%%/Amavis/Unpackers/Validity.pm
+%%SITE_PERL%%/Amavis/Util.pm
+%%SITE_PERL%%/Amavis/ZMQ.pm
+%%SITE_PERL%%/Amavis/rfc2821_2822_Tools.pm
+%%SITE_PERL%%/Mail/SpamAssassin/Logger/Amavislog.pm
sbin/amavisd
sbin/amavisd-agent
sbin/amavisd-nanny
diff --git a/security/certspotter/Makefile b/security/certspotter/Makefile
index 99dced1ebb49..1e72e32655ca 100644
--- a/security/certspotter/Makefile
+++ b/security/certspotter/Makefile
@@ -1,7 +1,6 @@
PORTNAME= certspotter
DISTVERSIONPREFIX= v
-DISTVERSION= 0.18.0
-PORTREVISION= 9
+DISTVERSION= 0.19.1
CATEGORIES= security www
MAINTAINER= flo@FreeBSD.org
diff --git a/security/certspotter/distinfo b/security/certspotter/distinfo
index d7a980228c6e..772eb53fc419 100644
--- a/security/certspotter/distinfo
+++ b/security/certspotter/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1706474827
-SHA256 (go/security_certspotter/certspotter-v0.18.0/v0.18.0.mod) = 7999f3e078b45dae94b4b4b34bee2dda107e3a23bff847f54b584d0ce3bb549d
-SIZE (go/security_certspotter/certspotter-v0.18.0/v0.18.0.mod) = 165
-SHA256 (go/security_certspotter/certspotter-v0.18.0/v0.18.0.zip) = cd52b973de3ee04cbf5ced8eb87c6634185e77ad2bf4da756a4c72b9881f2c59
-SIZE (go/security_certspotter/certspotter-v0.18.0/v0.18.0.zip) = 89899
+TIMESTAMP = 1747556137
+SHA256 (go/security_certspotter/certspotter-v0.19.1/v0.19.1.mod) = f0897405fbbb66ce90c065989f7e540c9bd41fff60cb898a7f676065f614ca7f
+SIZE (go/security_certspotter/certspotter-v0.19.1/v0.19.1.mod) = 238
+SHA256 (go/security_certspotter/certspotter-v0.19.1/v0.19.1.zip) = f93902e870a04b6ea0f8a336c5636db8d38aedc993a7918e303035712c867676
+SIZE (go/security_certspotter/certspotter-v0.19.1/v0.19.1.zip) = 100957
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
diff --git a/security/rubygem-devise-two-factor41-rails70/Makefile b/security/rubygem-devise-two-factor-rails-gitlab/Makefile
index dd5d7785d377..08aeabd039a9 100644
--- a/security/rubygem-devise-two-factor41-rails70/Makefile
+++ b/security/rubygem-devise-two-factor-rails-gitlab/Makefile
@@ -2,7 +2,7 @@ PORTNAME= devise-two-factor
PORTVERSION= 4.1.1
CATEGORIES= security rubygems
MASTER_SITES= RG
-PKGNAMESUFFIX= 41-rails70
+PKGNAMESUFFIX= -rails-gitlab
MAINTAINER= mfechner@FreeBSD.org
COMMENT= Barebones two-factor authentication with Devise
@@ -11,10 +11,10 @@ WWW= https://github.com/tinfoil/devise-two-factor
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
-RUN_DEPENDS= rubygem-activesupport70>=7.0<8:devel/rubygem-activesupport70 \
+RUN_DEPENDS= rubygem-activesupport-gitlab>=7.0<8:devel/rubygem-activesupport-gitlab \
rubygem-attr_encrypted3>=1.3<5:security/rubygem-attr_encrypted3 \
- rubygem-devise-rails70>=4.0<5:devel/rubygem-devise-rails70 \
- rubygem-railties70>=7.0<7.1:www/rubygem-railties70 \
+ rubygem-devise-rails-gitlab>=4.0<5:devel/rubygem-devise-rails-gitlab \
+ rubygem-railties-gitlab>=7.0<8:www/rubygem-railties-gitlab \
rubygem-rotp>=6.0<7:devel/rubygem-rotp
USES= gem
diff --git a/security/rubygem-devise-two-factor41-rails70/distinfo b/security/rubygem-devise-two-factor-rails-gitlab/distinfo
index 64da0593130d..64da0593130d 100644
--- a/security/rubygem-devise-two-factor41-rails70/distinfo
+++ b/security/rubygem-devise-two-factor-rails-gitlab/distinfo
diff --git a/security/rubygem-devise-two-factor41-rails70/pkg-descr b/security/rubygem-devise-two-factor-rails-gitlab/pkg-descr
index 316de9a9d77e..316de9a9d77e 100644
--- a/security/rubygem-devise-two-factor41-rails70/pkg-descr
+++ b/security/rubygem-devise-two-factor-rails-gitlab/pkg-descr
diff --git a/security/rubygem-doorkeeper-device_authorization_grant/Makefile b/security/rubygem-doorkeeper-device_authorization_grant/Makefile
index e19d18ce95f0..603ab9b5ec8f 100644
--- a/security/rubygem-doorkeeper-device_authorization_grant/Makefile
+++ b/security/rubygem-doorkeeper-device_authorization_grant/Makefile
@@ -1,5 +1,6 @@
PORTNAME= doorkeeper-device_authorization_grant
PORTVERSION= 1.0.3
+PORTREVISION= 1
CATEGORIES= security rubygems
MASTER_SITES= RG
@@ -10,7 +11,7 @@ WWW= https://github.com/exop-group/doorkeeper-device_authorization_grant
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/MIT-LICENSE
-RUN_DEPENDS= rubygem-doorkeeper-rails70>=5.5<6:security/rubygem-doorkeeper-rails70
+RUN_DEPENDS= rubygem-doorkeeper-rails-gitlab>=5.5<6:security/rubygem-doorkeeper-rails-gitlab
USES= gem
diff --git a/security/rubygem-doorkeeper-openid_connect/Makefile b/security/rubygem-doorkeeper-openid_connect/Makefile
index 2811d31b16f4..176de8383ac2 100644
--- a/security/rubygem-doorkeeper-openid_connect/Makefile
+++ b/security/rubygem-doorkeeper-openid_connect/Makefile
@@ -1,5 +1,6 @@
PORTNAME= doorkeeper-openid_connect
PORTVERSION= 1.8.11
+PORTREVISION= 1
CATEGORIES= security rubygems
MASTER_SITES= RG
@@ -10,7 +11,7 @@ WWW= https://github.com/doorkeeper-gem/doorkeeper-openid_connect
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
-RUN_DEPENDS= rubygem-doorkeeper-rails70>=5.5<5.9:security/rubygem-doorkeeper-rails70 \
+RUN_DEPENDS= rubygem-doorkeeper-rails-gitlab>=5.5<5.9:security/rubygem-doorkeeper-rails-gitlab \
rubygem-jwt>=2.5:www/rubygem-jwt \
rubygem-ostruct>=0.5:devel/rubygem-ostruct
diff --git a/security/rubygem-doorkeeper-rails-gitlab/Makefile b/security/rubygem-doorkeeper-rails-gitlab/Makefile
new file mode 100644
index 000000000000..be88aa908092
--- /dev/null
+++ b/security/rubygem-doorkeeper-rails-gitlab/Makefile
@@ -0,0 +1,22 @@
+PORTNAME= doorkeeper
+PORTVERSION= 5.8.2
+CATEGORIES= security rubygems
+MASTER_SITES= RG
+PKGNAMESUFFIX= -rails-gitlab
+
+MAINTAINER= mfechner@FreeBSD.org
+COMMENT= OAuth2 provider for Rails and Grape
+WWW= https://github.com/doorkeeper-gem/doorkeeper
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/MIT-LICENSE
+
+RUN_DEPENDS= rubygem-railties-gitlab>=5:www/rubygem-railties-gitlab
+
+USES= cpe gem
+
+NO_ARCH= yes
+
+CPE_VENDOR= doorkeeper_project
+
+.include <bsd.port.mk>
diff --git a/security/rubygem-doorkeeper-rails-gitlab/distinfo b/security/rubygem-doorkeeper-rails-gitlab/distinfo
new file mode 100644
index 000000000000..af2ef874822e
--- /dev/null
+++ b/security/rubygem-doorkeeper-rails-gitlab/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1744289466
+SHA256 (rubygem/doorkeeper-5.8.2.gem) = a73d07aeaf590b1e7e2a35390446f23131c9f37bc0561653e514d3973f4d50d3
+SIZE (rubygem/doorkeeper-5.8.2.gem) = 109056
diff --git a/security/rubygem-doorkeeper-rails-gitlab/pkg-descr b/security/rubygem-doorkeeper-rails-gitlab/pkg-descr
new file mode 100644
index 000000000000..ed39cf3f3049
--- /dev/null
+++ b/security/rubygem-doorkeeper-rails-gitlab/pkg-descr
@@ -0,0 +1,2 @@
+Doorkeeper is a Ruby gem that makes it easy to introduce OAuth 2
+provider functionality to a Rails or Grape application.
diff --git a/security/rubygem-ed25519/Makefile b/security/rubygem-ed25519/Makefile
index 62bd35fbeeab..1d62b63b0e2d 100644
--- a/security/rubygem-ed25519/Makefile
+++ b/security/rubygem-ed25519/Makefile
@@ -1,5 +1,5 @@
PORTNAME= ed25519
-PORTVERSION= 1.3.0
+PORTVERSION= 1.4.0
CATEGORIES= security rubygems
MASTER_SITES= RG
diff --git a/security/rubygem-ed25519/distinfo b/security/rubygem-ed25519/distinfo
index f89c23f69293..ff99d3ba2574 100644
--- a/security/rubygem-ed25519/distinfo
+++ b/security/rubygem-ed25519/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1643134001
-SHA256 (rubygem/ed25519-1.3.0.gem) = 514a5584f84d39daac568a17ec93a4e7261e140c52c562ed8c382c18456e627d
-SIZE (rubygem/ed25519-1.3.0.gem) = 182784
+TIMESTAMP = 1747310910
+SHA256 (rubygem/ed25519-1.4.0.gem) = 16e97f5198689a154247169f3453ef4cfd3f7a47481fde0ae33206cdfdcac506
+SIZE (rubygem/ed25519-1.4.0.gem) = 182272
diff --git a/security/rubygem-gitlab-cloud-connector/Makefile b/security/rubygem-gitlab-cloud-connector/Makefile
index 046d719fff89..9117ca0d6396 100644
--- a/security/rubygem-gitlab-cloud-connector/Makefile
+++ b/security/rubygem-gitlab-cloud-connector/Makefile
@@ -1,5 +1,5 @@
PORTNAME= gitlab-cloud-connector
-PORTVERSION= 1.8.0
+PORTVERSION= 1.13.0
CATEGORIES= security rubygems
MASTER_SITES= RG
@@ -10,7 +10,7 @@ WWW= https://gitlab.com/gitlab-org/cloud-connector/gitlab-cloud-connector
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
-RUN_DEPENDS= rubygem-activesupport70>=7.0<8:devel/rubygem-activesupport70 \
+RUN_DEPENDS= rubygem-activesupport-gitlab>=7.0<8:devel/rubygem-activesupport-gitlab \
rubygem-jwt29>=2.9.3<2.10:www/rubygem-jwt29
USES= gem
diff --git a/security/rubygem-gitlab-cloud-connector/distinfo b/security/rubygem-gitlab-cloud-connector/distinfo
index 02f2b018735a..58e5f408e7d6 100644
--- a/security/rubygem-gitlab-cloud-connector/distinfo
+++ b/security/rubygem-gitlab-cloud-connector/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1744780700
-SHA256 (rubygem/gitlab-cloud-connector-1.8.0.gem) = d222643e5c0858e453bdce44f04e3ccb58809c2c1c4ab4507648b0aab4b315da
-SIZE (rubygem/gitlab-cloud-connector-1.8.0.gem) = 17408
+TIMESTAMP = 1747311060
+SHA256 (rubygem/gitlab-cloud-connector-1.13.0.gem) = c2b0bcd1bc775208825a119ad0c8b8e2f6eac6c762e9514f8026d63ace9086e8
+SIZE (rubygem/gitlab-cloud-connector-1.13.0.gem) = 17920
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
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
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
diff --git a/textproc/Makefile b/textproc/Makefile
index 20ef83c5a2d7..4dbaf38fadaf 100644
--- a/textproc/Makefile
+++ b/textproc/Makefile
@@ -1757,6 +1757,7 @@
SUBDIR += rubygem-actionpack-xml_parser-rails52
SUBDIR += rubygem-actionpack-xml_parser-rails61
SUBDIR += rubygem-actionpack-xml_parser-rails72
+ SUBDIR += rubygem-actiontext-gitlab
SUBDIR += rubygem-actiontext60
SUBDIR += rubygem-actiontext61
SUBDIR += rubygem-actiontext70
@@ -1902,6 +1903,7 @@
SUBDIR += rubygem-puppet-strings
SUBDIR += rubygem-raabro
SUBDIR += rubygem-rails-dom-testing
+ SUBDIR += rubygem-rails-dom-testing-rails-gitlab
SUBDIR += rubygem-rails-dom-testing-rails5
SUBDIR += rubygem-rails-dom-testing-rails50
SUBDIR += rubygem-rails-dom-testing-rails52
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
diff --git a/textproc/gitlab-elasticsearch-indexer/Makefile b/textproc/gitlab-elasticsearch-indexer/Makefile
index 37234cf0c907..bee6b6d7f027 100644
--- a/textproc/gitlab-elasticsearch-indexer/Makefile
+++ b/textproc/gitlab-elasticsearch-indexer/Makefile
@@ -1,5 +1,5 @@
PORTNAME= gitlab-elasticsearch-indexer
-PORTVERSION= 5.5.0
+PORTVERSION= 5.5.1
DISTVERSIONPREFIX= v
CATEGORIES= textproc
diff --git a/textproc/gitlab-elasticsearch-indexer/distinfo b/textproc/gitlab-elasticsearch-indexer/distinfo
index a0a3b323c8ed..bc2d4d260d5c 100644
--- a/textproc/gitlab-elasticsearch-indexer/distinfo
+++ b/textproc/gitlab-elasticsearch-indexer/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1744780212
-SHA256 (go/textproc_gitlab-elasticsearch-indexer/gitlab-elasticsearch-indexer-v5.5.0/go.mod) = f37adcaa570698fc1a3eb860586c4eae8cd265aa58c16784c7643d89d4c13350
-SIZE (go/textproc_gitlab-elasticsearch-indexer/gitlab-elasticsearch-indexer-v5.5.0/go.mod) = 5509
-SHA256 (go/textproc_gitlab-elasticsearch-indexer/gitlab-elasticsearch-indexer-v5.5.0/gitlab-elasticsearch-indexer-v5.5.0.tar.bz2) = f6258d0596bd0942e2ab8dbbdf3808040dd9c98bce75ef8d6d50b80bb1b9cd46
-SIZE (go/textproc_gitlab-elasticsearch-indexer/gitlab-elasticsearch-indexer-v5.5.0/gitlab-elasticsearch-indexer-v5.5.0.tar.bz2) = 79334
+TIMESTAMP = 1747460912
+SHA256 (go/textproc_gitlab-elasticsearch-indexer/gitlab-elasticsearch-indexer-v5.5.1/go.mod) = 8068957d1b33fc14f4bf77e4807fd89c7b3f57ccc88a093269c94bfc38479d5c
+SIZE (go/textproc_gitlab-elasticsearch-indexer/gitlab-elasticsearch-indexer-v5.5.1/go.mod) = 5509
+SHA256 (go/textproc_gitlab-elasticsearch-indexer/gitlab-elasticsearch-indexer-v5.5.1/gitlab-elasticsearch-indexer-v5.5.1.tar.bz2) = 8757d4e7f2bffe36a5538a7ca3769e958aeb3e76c6a360281c8c0f603ae695e5
+SIZE (go/textproc_gitlab-elasticsearch-indexer/gitlab-elasticsearch-indexer-v5.5.1/gitlab-elasticsearch-indexer-v5.5.1.tar.bz2) = 90188
diff --git a/textproc/py-jiter/Makefile b/textproc/py-jiter/Makefile
index 19f9ab46fb1c..d11f87e8e084 100644
--- a/textproc/py-jiter/Makefile
+++ b/textproc/py-jiter/Makefile
@@ -1,6 +1,5 @@
PORTNAME= jiter
-DISTVERSION= 0.9.0
-PORTREVISION= 1
+DISTVERSION= 0.10.0
CATEGORIES= textproc python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
@@ -23,4 +22,12 @@ CARGO_INSTALL= no
BINARY_ALIAS= python3=${PYTHON_CMD}
+PORTDOCS= README.md
+
+OPTIONS_DEFINE= DOCS
+
+do-install-DOCS-on:
+ @${MKDIR} ${STAGEDIR}${DOCSDIR}
+ ${INSTALL_MAN} ${PORTDOCS:S|^|${WRKSRC}/|} ${STAGEDIR}${DOCSDIR}
+
.include <bsd.port.mk>
diff --git a/textproc/py-jiter/Makefile.crates b/textproc/py-jiter/Makefile.crates
index 79897671e006..43de2197f8a4 100644
--- a/textproc/py-jiter/Makefile.crates
+++ b/textproc/py-jiter/Makefile.crates
@@ -1,63 +1,62 @@
-CARGO_CRATES= ahash-0.8.11 \
+CARGO_CRATES= ahash-0.8.12 \
arbitrary-1.4.1 \
autocfg-1.4.0 \
bencher-0.1.5 \
- bitflags-2.9.0 \
+ bitflags-2.9.1 \
bitvec-1.0.1 \
- cc-1.2.16 \
+ cc-1.2.23 \
cfg-if-1.0.0 \
- codspeed-2.9.1 \
- codspeed-bencher-compat-2.9.1 \
+ codspeed-2.10.1 \
+ codspeed-bencher-compat-2.10.1 \
colored-2.2.0 \
equivalent-1.0.2 \
funty-2.0.0 \
- getrandom-0.2.15 \
- getrandom-0.3.1 \
- hashbrown-0.15.2 \
+ getrandom-0.3.3 \
+ hashbrown-0.15.3 \
heck-0.5.0 \
- indexmap-2.8.0 \
+ indexmap-2.9.0 \
indoc-2.0.6 \
itoa-1.0.15 \
- jobserver-0.1.32 \
+ jobserver-0.1.33 \
lazy_static-1.5.0 \
lexical-parse-float-1.0.5 \
lexical-parse-integer-1.0.5 \
lexical-util-1.0.6 \
- libc-0.2.170 \
+ libc-0.2.172 \
libfuzzer-sys-0.4.9 \
memchr-2.7.4 \
memoffset-0.9.1 \
num-bigint-0.4.6 \
num-integer-0.1.46 \
num-traits-0.2.19 \
- once_cell-1.21.0 \
+ once_cell-1.21.3 \
paste-1.0.15 \
portable-atomic-1.11.0 \
- proc-macro2-1.0.94 \
- pyo3-0.24.0 \
- pyo3-build-config-0.24.0 \
- pyo3-ffi-0.24.0 \
- pyo3-macros-0.24.0 \
- pyo3-macros-backend-0.24.0 \
- python3-dll-a-0.2.13 \
- quote-1.0.39 \
+ proc-macro2-1.0.95 \
+ pyo3-0.25.0 \
+ pyo3-build-config-0.25.0 \
+ pyo3-ffi-0.25.0 \
+ pyo3-macros-0.25.0 \
+ pyo3-macros-backend-0.25.0 \
+ python3-dll-a-0.2.14 \
+ quote-1.0.40 \
+ r-efi-5.2.0 \
radium-0.7.0 \
ryu-1.0.20 \
serde-1.0.219 \
serde_derive-1.0.219 \
serde_json-1.0.140 \
shlex-1.3.0 \
- smallvec-1.14.0 \
+ smallvec-1.15.0 \
static_assertions-1.1.0 \
- syn-2.0.100 \
+ syn-2.0.101 \
tap-1.0.1 \
target-lexicon-0.13.2 \
unicode-ident-1.0.18 \
unindent-0.2.4 \
- uuid-1.15.1 \
+ uuid-1.16.0 \
version_check-0.9.5 \
- wasi-0.11.0+wasi-snapshot-preview1 \
- wasi-0.13.3+wasi-0.2.2 \
+ wasi-0.14.2+wasi-0.2.4 \
windows-sys-0.59.0 \
windows-targets-0.52.6 \
windows_aarch64_gnullvm-0.52.6 \
@@ -68,7 +67,7 @@ CARGO_CRATES= ahash-0.8.11 \
windows_x86_64_gnu-0.52.6 \
windows_x86_64_gnullvm-0.52.6 \
windows_x86_64_msvc-0.52.6 \
- wit-bindgen-rt-0.33.0 \
+ wit-bindgen-rt-0.39.0 \
wyz-0.5.1 \
- zerocopy-0.7.35 \
- zerocopy-derive-0.7.35
+ zerocopy-0.8.25 \
+ zerocopy-derive-0.8.25
diff --git a/textproc/py-jiter/distinfo b/textproc/py-jiter/distinfo
index d3c73dd10e63..61555a685074 100644
--- a/textproc/py-jiter/distinfo
+++ b/textproc/py-jiter/distinfo
@@ -1,48 +1,46 @@
-TIMESTAMP = 1742457069
-SHA256 (jiter-0.9.0.tar.gz) = aadba0964deb424daa24492abc3d229c60c4a31bfee205aedbf1acc7639d7893
-SIZE (jiter-0.9.0.tar.gz) = 162604
-SHA256 (rust/crates/ahash-0.8.11.crate) = e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011
-SIZE (rust/crates/ahash-0.8.11.crate) = 43607
+TIMESTAMP = 1747661687
+SHA256 (jiter-0.10.0.tar.gz) = 07a7142c38aacc85194391108dc91b5b57093c978a9932bd86a36862759d9500
+SIZE (jiter-0.10.0.tar.gz) = 162759
+SHA256 (rust/crates/ahash-0.8.12.crate) = 5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75
+SIZE (rust/crates/ahash-0.8.12.crate) = 43413
SHA256 (rust/crates/arbitrary-1.4.1.crate) = dde20b3d026af13f561bdd0f15edf01fc734f0dafcedbaf42bba506a9517f223
SIZE (rust/crates/arbitrary-1.4.1.crate) = 36816
SHA256 (rust/crates/autocfg-1.4.0.crate) = ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26
SIZE (rust/crates/autocfg-1.4.0.crate) = 17712
SHA256 (rust/crates/bencher-0.1.5.crate) = 7dfdb4953a096c551ce9ace855a604d702e6e62d77fac690575ae347571717f5
SIZE (rust/crates/bencher-0.1.5.crate) = 18827
-SHA256 (rust/crates/bitflags-2.9.0.crate) = 5c8214115b7bf84099f1309324e63141d4c5d7cc26862f97a0a857dbefe165bd
-SIZE (rust/crates/bitflags-2.9.0.crate) = 47654
+SHA256 (rust/crates/bitflags-2.9.1.crate) = 1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967
+SIZE (rust/crates/bitflags-2.9.1.crate) = 47913
SHA256 (rust/crates/bitvec-1.0.1.crate) = 1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c
SIZE (rust/crates/bitvec-1.0.1.crate) = 224375
-SHA256 (rust/crates/cc-1.2.16.crate) = be714c154be609ec7f5dad223a33bf1482fff90472de28f7362806e6d4832b8c
-SIZE (rust/crates/cc-1.2.16.crate) = 103847
+SHA256 (rust/crates/cc-1.2.23.crate) = 5f4ac86a9e5bc1e2b3449ab9d7d3a6a405e3d1bb28d7b9be8614f55846ae3766
+SIZE (rust/crates/cc-1.2.23.crate) = 106527
SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd
SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934
-SHA256 (rust/crates/codspeed-2.9.1.crate) = 60e744216bfa9add3b1f2505587cbbb837923232ed10963609f4a6e3cbd99c3e
-SIZE (rust/crates/codspeed-2.9.1.crate) = 8588
-SHA256 (rust/crates/codspeed-bencher-compat-2.9.1.crate) = 909db42f0022ffffd72725c9e0eb9b8a8e2bb128a6b2f604c63bbd441479a0d7
-SIZE (rust/crates/codspeed-bencher-compat-2.9.1.crate) = 4974
+SHA256 (rust/crates/codspeed-2.10.1.crate) = 93f4cce9c27c49c4f101fffeebb1826f41a9df2e7498b7cd4d95c0658b796c6c
+SIZE (rust/crates/codspeed-2.10.1.crate) = 8589
+SHA256 (rust/crates/codspeed-bencher-compat-2.10.1.crate) = 87db334eaad26ec9226bd2f2501b7b19cb2e001819bcb5ee972c1172af582600
+SIZE (rust/crates/codspeed-bencher-compat-2.10.1.crate) = 4975
SHA256 (rust/crates/colored-2.2.0.crate) = 117725a109d387c937a1533ce01b450cbde6b88abceea8473c4d7a85853cda3c
SIZE (rust/crates/colored-2.2.0.crate) = 35062
SHA256 (rust/crates/equivalent-1.0.2.crate) = 877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f
SIZE (rust/crates/equivalent-1.0.2.crate) = 7419
SHA256 (rust/crates/funty-2.0.0.crate) = e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c
SIZE (rust/crates/funty-2.0.0.crate) = 13160
-SHA256 (rust/crates/getrandom-0.2.15.crate) = c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7
-SIZE (rust/crates/getrandom-0.2.15.crate) = 37163
-SHA256 (rust/crates/getrandom-0.3.1.crate) = 43a49c392881ce6d5c3b8cb70f98717b7c07aabbdff06687b9030dbfbe2725f8
-SIZE (rust/crates/getrandom-0.3.1.crate) = 42449
-SHA256 (rust/crates/hashbrown-0.15.2.crate) = bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289
-SIZE (rust/crates/hashbrown-0.15.2.crate) = 138478
+SHA256 (rust/crates/getrandom-0.3.3.crate) = 26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4
+SIZE (rust/crates/getrandom-0.3.3.crate) = 49493
+SHA256 (rust/crates/hashbrown-0.15.3.crate) = 84b26c544d002229e640969970a2e74021aadf6e2f96372b9c58eff97de08eb3
+SIZE (rust/crates/hashbrown-0.15.3.crate) = 140413
SHA256 (rust/crates/heck-0.5.0.crate) = 2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea
SIZE (rust/crates/heck-0.5.0.crate) = 11517
-SHA256 (rust/crates/indexmap-2.8.0.crate) = 3954d50fe15b02142bf25d3b8bdadb634ec3948f103d04ffe3031bc8fe9d7058
-SIZE (rust/crates/indexmap-2.8.0.crate) = 89670
+SHA256 (rust/crates/indexmap-2.9.0.crate) = cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e
+SIZE (rust/crates/indexmap-2.9.0.crate) = 91214
SHA256 (rust/crates/indoc-2.0.6.crate) = f4c7245a08504955605670dbf141fceab975f15ca21570696aebe9d2e71576bd
SIZE (rust/crates/indoc-2.0.6.crate) = 17164
SHA256 (rust/crates/itoa-1.0.15.crate) = 4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c
SIZE (rust/crates/itoa-1.0.15.crate) = 11231
-SHA256 (rust/crates/jobserver-0.1.32.crate) = 48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0
-SIZE (rust/crates/jobserver-0.1.32.crate) = 27549
+SHA256 (rust/crates/jobserver-0.1.33.crate) = 38f262f097c174adebe41eb73d66ae9c06b2844fb0da69969647bbddd9b0538a
+SIZE (rust/crates/jobserver-0.1.33.crate) = 29136
SHA256 (rust/crates/lazy_static-1.5.0.crate) = bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe
SIZE (rust/crates/lazy_static-1.5.0.crate) = 14025
SHA256 (rust/crates/lexical-parse-float-1.0.5.crate) = de6f9cb01fb0b08060209a057c048fcbab8717b4c1ecd2eac66ebfe39a65b0f2
@@ -51,8 +49,8 @@ SHA256 (rust/crates/lexical-parse-integer-1.0.5.crate) = 72207aae22fc0a121ba7b6d
SIZE (rust/crates/lexical-parse-integer-1.0.5.crate) = 36912
SHA256 (rust/crates/lexical-util-1.0.6.crate) = 5a82e24bf537fd24c177ffbbdc6ebcc8d54732c35b50a3f28cc3f4e4c949a0b3
SIZE (rust/crates/lexical-util-1.0.6.crate) = 106117
-SHA256 (rust/crates/libc-0.2.170.crate) = 875b3680cb2f8f71bdcf9a30f38d48282f5d3c95cbf9b3fa57269bb5d5c06828
-SIZE (rust/crates/libc-0.2.170.crate) = 760076
+SHA256 (rust/crates/libc-0.2.172.crate) = d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa
+SIZE (rust/crates/libc-0.2.172.crate) = 791646
SHA256 (rust/crates/libfuzzer-sys-0.4.9.crate) = cf78f52d400cf2d84a3a973a78a592b4adc535739e0a5597a0da6f0c357adc75
SIZE (rust/crates/libfuzzer-sys-0.4.9.crate) = 133299
SHA256 (rust/crates/memchr-2.7.4.crate) = 78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3
@@ -65,28 +63,30 @@ SHA256 (rust/crates/num-integer-0.1.46.crate) = 7969661fd2958a5cb096e56c8e1ad044
SIZE (rust/crates/num-integer-0.1.46.crate) = 22331
SHA256 (rust/crates/num-traits-0.2.19.crate) = 071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841
SIZE (rust/crates/num-traits-0.2.19.crate) = 51631
-SHA256 (rust/crates/once_cell-1.21.0.crate) = cde51589ab56b20a6f686b2c68f7a0bd6add753d697abf720d63f8db3ab7b1ad
-SIZE (rust/crates/once_cell-1.21.0.crate) = 33959
+SHA256 (rust/crates/once_cell-1.21.3.crate) = 42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d
+SIZE (rust/crates/once_cell-1.21.3.crate) = 34534
SHA256 (rust/crates/paste-1.0.15.crate) = 57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a
SIZE (rust/crates/paste-1.0.15.crate) = 18374
SHA256 (rust/crates/portable-atomic-1.11.0.crate) = 350e9b48cbc6b0e028b0473b114454c6316e57336ee184ceab6e53f72c178b3e
SIZE (rust/crates/portable-atomic-1.11.0.crate) = 181258
-SHA256 (rust/crates/proc-macro2-1.0.94.crate) = a31971752e70b8b2686d7e46ec17fb38dad4051d94024c88df49b667caea9c84
-SIZE (rust/crates/proc-macro2-1.0.94.crate) = 52391
-SHA256 (rust/crates/pyo3-0.24.0.crate) = 7f1c6c3591120564d64db2261bec5f910ae454f01def849b9c22835a84695e86
-SIZE (rust/crates/pyo3-0.24.0.crate) = 1108432
-SHA256 (rust/crates/pyo3-build-config-0.24.0.crate) = e9b6c2b34cf71427ea37c7001aefbaeb85886a074795e35f161f5aecc7620a7a
-SIZE (rust/crates/pyo3-build-config-0.24.0.crate) = 33982
-SHA256 (rust/crates/pyo3-ffi-0.24.0.crate) = 5507651906a46432cdda02cd02dd0319f6064f1374c9147c45b978621d2c3a9c
-SIZE (rust/crates/pyo3-ffi-0.24.0.crate) = 76274
-SHA256 (rust/crates/pyo3-macros-0.24.0.crate) = b0d394b5b4fd8d97d48336bb0dd2aebabad39f1d294edd6bcd2cccf2eefe6f42
-SIZE (rust/crates/pyo3-macros-0.24.0.crate) = 8850
-SHA256 (rust/crates/pyo3-macros-backend-0.24.0.crate) = fd72da09cfa943b1080f621f024d2ef7e2773df7badd51aa30a2be1f8caa7c8e
-SIZE (rust/crates/pyo3-macros-backend-0.24.0.crate) = 71998
-SHA256 (rust/crates/python3-dll-a-0.2.13.crate) = 49fe4227a288cf9493942ad0220ea3f185f4d1f2a14f197f7344d6d02f4ed4ed
-SIZE (rust/crates/python3-dll-a-0.2.13.crate) = 85018
-SHA256 (rust/crates/quote-1.0.39.crate) = c1f1914ce909e1658d9907913b4b91947430c7d9be598b15a1912935b8c04801
-SIZE (rust/crates/quote-1.0.39.crate) = 31206
+SHA256 (rust/crates/proc-macro2-1.0.95.crate) = 02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778
+SIZE (rust/crates/proc-macro2-1.0.95.crate) = 51820
+SHA256 (rust/crates/pyo3-0.25.0.crate) = f239d656363bcee73afef85277f1b281e8ac6212a1d42aa90e55b90ed43c47a4
+SIZE (rust/crates/pyo3-0.25.0.crate) = 1120850
+SHA256 (rust/crates/pyo3-build-config-0.25.0.crate) = 755ea671a1c34044fa165247aaf6f419ca39caa6003aee791a0df2713d8f1b6d
+SIZE (rust/crates/pyo3-build-config-0.25.0.crate) = 34122
+SHA256 (rust/crates/pyo3-ffi-0.25.0.crate) = fc95a2e67091e44791d4ea300ff744be5293f394f1bafd9f78c080814d35956e
+SIZE (rust/crates/pyo3-ffi-0.25.0.crate) = 77991
+SHA256 (rust/crates/pyo3-macros-0.25.0.crate) = a179641d1b93920829a62f15e87c0ed791b6c8db2271ba0fd7c2686090510214
+SIZE (rust/crates/pyo3-macros-0.25.0.crate) = 8876
+SHA256 (rust/crates/pyo3-macros-backend-0.25.0.crate) = 9dff85ebcaab8c441b0e3f7ae40a6963ecea8a9f5e74f647e33fcf5ec9a1e89e
+SIZE (rust/crates/pyo3-macros-backend-0.25.0.crate) = 75089
+SHA256 (rust/crates/python3-dll-a-0.2.14.crate) = d381ef313ae70b4da5f95f8a4de773c6aa5cd28f73adec4b4a31df70b66780d8
+SIZE (rust/crates/python3-dll-a-0.2.14.crate) = 103489
+SHA256 (rust/crates/quote-1.0.40.crate) = 1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d
+SIZE (rust/crates/quote-1.0.40.crate) = 31063
+SHA256 (rust/crates/r-efi-5.2.0.crate) = 74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5
+SIZE (rust/crates/r-efi-5.2.0.crate) = 64764
SHA256 (rust/crates/radium-0.7.0.crate) = dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09
SIZE (rust/crates/radium-0.7.0.crate) = 10906
SHA256 (rust/crates/ryu-1.0.20.crate) = 28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f
@@ -99,12 +99,12 @@ SHA256 (rust/crates/serde_json-1.0.140.crate) = 20068b6e96dc6c9bd23e01df8827e6c7
SIZE (rust/crates/serde_json-1.0.140.crate) = 154852
SHA256 (rust/crates/shlex-1.3.0.crate) = 0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64
SIZE (rust/crates/shlex-1.3.0.crate) = 18713
-SHA256 (rust/crates/smallvec-1.14.0.crate) = 7fcf8323ef1faaee30a44a340193b1ac6814fd9b7b4e88e9d4519a3e4abe1cfd
-SIZE (rust/crates/smallvec-1.14.0.crate) = 35561
+SHA256 (rust/crates/smallvec-1.15.0.crate) = 8917285742e9f3e1683f0a9c4e6b57960b7314d0b08d30d1ecd426713ee2eee9
+SIZE (rust/crates/smallvec-1.15.0.crate) = 38113
SHA256 (rust/crates/static_assertions-1.1.0.crate) = a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f
SIZE (rust/crates/static_assertions-1.1.0.crate) = 18480
-SHA256 (rust/crates/syn-2.0.100.crate) = b09a44accad81e1ba1cd74a32461ba89dee89095ba17b32f5d03683b1b1fc2a0
-SIZE (rust/crates/syn-2.0.100.crate) = 297947
+SHA256 (rust/crates/syn-2.0.101.crate) = 8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf
+SIZE (rust/crates/syn-2.0.101.crate) = 299250
SHA256 (rust/crates/tap-1.0.1.crate) = 55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369
SIZE (rust/crates/tap-1.0.1.crate) = 11316
SHA256 (rust/crates/target-lexicon-0.13.2.crate) = e502f78cdbb8ba4718f566c418c52bc729126ffd16baee5baa718cf25dd5a69a
@@ -113,14 +113,12 @@ SHA256 (rust/crates/unicode-ident-1.0.18.crate) = 5a5f39404a5da50712a4c1eecf25e9
SIZE (rust/crates/unicode-ident-1.0.18.crate) = 47743
SHA256 (rust/crates/unindent-0.2.4.crate) = 7264e107f553ccae879d21fbea1d6724ac785e8c3bfc762137959b5802826ef3
SIZE (rust/crates/unindent-0.2.4.crate) = 7422
-SHA256 (rust/crates/uuid-1.15.1.crate) = e0f540e3240398cce6128b64ba83fdbdd86129c16a3aa1a3a252efd66eb3d587
-SIZE (rust/crates/uuid-1.15.1.crate) = 58728
+SHA256 (rust/crates/uuid-1.16.0.crate) = 458f7a779bf54acc9f347480ac654f68407d3aab21269a6e3c9f922acd9e2da9
+SIZE (rust/crates/uuid-1.16.0.crate) = 58549
SHA256 (rust/crates/version_check-0.9.5.crate) = 0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a
SIZE (rust/crates/version_check-0.9.5.crate) = 15554
-SHA256 (rust/crates/wasi-0.11.0+wasi-snapshot-preview1.crate) = 9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423
-SIZE (rust/crates/wasi-0.11.0+wasi-snapshot-preview1.crate) = 28131
-SHA256 (rust/crates/wasi-0.13.3+wasi-0.2.2.crate) = 26816d2e1a4a36a2940b96c5296ce403917633dff8f3440e9b236ed6f6bacad2
-SIZE (rust/crates/wasi-0.13.3+wasi-0.2.2.crate) = 136754
+SHA256 (rust/crates/wasi-0.14.2+wasi-0.2.4.crate) = 9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3
+SIZE (rust/crates/wasi-0.14.2+wasi-0.2.4.crate) = 140921
SHA256 (rust/crates/windows-sys-0.59.0.crate) = 1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b
SIZE (rust/crates/windows-sys-0.59.0.crate) = 2387323
SHA256 (rust/crates/windows-targets-0.52.6.crate) = 9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973
@@ -141,11 +139,11 @@ SHA256 (rust/crates/windows_x86_64_gnullvm-0.52.6.crate) = 24d5b23dc417412679681
SIZE (rust/crates/windows_x86_64_gnullvm-0.52.6.crate) = 435707
SHA256 (rust/crates/windows_x86_64_msvc-0.52.6.crate) = 589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec
SIZE (rust/crates/windows_x86_64_msvc-0.52.6.crate) = 832564
-SHA256 (rust/crates/wit-bindgen-rt-0.33.0.crate) = 3268f3d866458b787f390cf61f4bbb563b922d091359f9608842999eaee3943c
-SIZE (rust/crates/wit-bindgen-rt-0.33.0.crate) = 3357
+SHA256 (rust/crates/wit-bindgen-rt-0.39.0.crate) = 6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1
+SIZE (rust/crates/wit-bindgen-rt-0.39.0.crate) = 12241
SHA256 (rust/crates/wyz-0.5.1.crate) = 05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed
SIZE (rust/crates/wyz-0.5.1.crate) = 18790
-SHA256 (rust/crates/zerocopy-0.7.35.crate) = 1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0
-SIZE (rust/crates/zerocopy-0.7.35.crate) = 152645
-SHA256 (rust/crates/zerocopy-derive-0.7.35.crate) = fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e
-SIZE (rust/crates/zerocopy-derive-0.7.35.crate) = 37829
+SHA256 (rust/crates/zerocopy-0.8.25.crate) = a1702d9583232ddb9174e01bb7c15a2ab8fb1bc6f227aa1233858c351a3ba0cb
+SIZE (rust/crates/zerocopy-0.8.25.crate) = 252714
+SHA256 (rust/crates/zerocopy-derive-0.8.25.crate) = 28a6e20d751156648aa063f3800b706ee209a32c0b4d9f24be3d980b01be55ef
+SIZE (rust/crates/zerocopy-derive-0.8.25.crate) = 87671
diff --git a/textproc/rubygem-actiontext-gitlab/Makefile b/textproc/rubygem-actiontext-gitlab/Makefile
new file mode 100644
index 000000000000..bee32d2cc8a5
--- /dev/null
+++ b/textproc/rubygem-actiontext-gitlab/Makefile
@@ -0,0 +1,29 @@
+PORTNAME= actiontext
+PORTVERSION= ${RAILS_VERSION}
+CATEGORIES= textproc rubygems
+MASTER_SITES= RG
+PKGNAMESUFFIX= -gitlab
+
+MAINTAINER= mfechner@FreeBSD.org
+COMMENT= Edit and display rich text in Rails applications
+WWW= https://github.com/rails/rails/tree/main/actiontext \
+ https://rubyonrails.org/
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/MIT-LICENSE
+
+RUN_DEPENDS= rubygem-actionpack-gitlab>=${PORTVERSION}<${PORTVERSION}_99:www/rubygem-actionpack-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-globalid-rails-gitlab>=0.6.0:databases/rubygem-globalid-rails-gitlab \
+ rubygem-nokogiri>=1.8.5:textproc/rubygem-nokogiri
+
+USES= gem
+
+NO_ARCH= yes
+
+PORTSCOUT= limit:^7\.1\.
+
+.include "${.CURDIR}/../../www/gitlab/Makefile.common"
+.include <bsd.port.mk>
diff --git a/textproc/rubygem-actiontext-gitlab/distinfo b/textproc/rubygem-actiontext-gitlab/distinfo
new file mode 100644
index 000000000000..6576322b2ce1
--- /dev/null
+++ b/textproc/rubygem-actiontext-gitlab/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1734888820
+SHA256 (rubygem/actiontext-7.1.5.1.gem) = b8e261cfad5bc6a78b3f15be5e7c7f32190041b3dc6f027a3a353b4392d2f7ec
+SIZE (rubygem/actiontext-7.1.5.1.gem) = 137216
diff --git a/textproc/rubygem-actiontext-gitlab/pkg-descr b/textproc/rubygem-actiontext-gitlab/pkg-descr
new file mode 100644
index 000000000000..785267e465f8
--- /dev/null
+++ b/textproc/rubygem-actiontext-gitlab/pkg-descr
@@ -0,0 +1,7 @@
+Action Text brings rich text content and editing to Rails. It includes the Trix
+editor that handles everything from formatting to links to quotes to lists to
+embedded images and galleries. The rich text content generated by the Trix
+editor is saved in its own RichText model that's associated with any existing
+Active Record model in the application. Any embedded images (or other
+attachments) are automatically stored using Active Storage and associated with
+the included RichText model.
diff --git a/textproc/rubygem-gitlab-glfm-markdown/Makefile b/textproc/rubygem-gitlab-glfm-markdown/Makefile
index 347e49229d0d..10c52783b4b9 100644
--- a/textproc/rubygem-gitlab-glfm-markdown/Makefile
+++ b/textproc/rubygem-gitlab-glfm-markdown/Makefile
@@ -1,5 +1,5 @@
PORTNAME= gitlab-glfm-markdown
-PORTVERSION= 0.0.29
+PORTVERSION= 0.0.31
CATEGORIES= textproc rubygems
MASTER_SITES= RG
@@ -26,4 +26,7 @@ GEM_ENV+= MAKE=gmake
# update the crates file with: make cargo-crates > Makefile.crates
+post-install:
+ @${ECHO_CMD} "${GEM_LIB_DIR}/ext/glfm_markdown/Cargo.lock" >> ${TMPPLIST}
+
.include <bsd.port.mk>
diff --git a/textproc/rubygem-gitlab-glfm-markdown/Makefile.crates b/textproc/rubygem-gitlab-glfm-markdown/Makefile.crates
index f5627b451d24..63d6a0160261 100644
--- a/textproc/rubygem-gitlab-glfm-markdown/Makefile.crates
+++ b/textproc/rubygem-gitlab-glfm-markdown/Makefile.crates
@@ -18,12 +18,12 @@ CARGO_CRATES= adler2-2.0.0 \
cexpr-0.6.0 \
cfg-if-1.0.0 \
clang-sys-1.8.1 \
- clap-4.5.27 \
- clap_builder-4.5.27 \
- clap_derive-4.5.24 \
- clap_lex-0.7.4 \
+ clap-4.4.18 \
+ clap_builder-4.4.18 \
+ clap_derive-4.4.7 \
+ clap_lex-0.6.0 \
colorchoice-1.0.3 \
- comrak-0.38.0 \
+ comrak-0.39.0 \
crc32fast-1.4.2 \
deranged-0.3.11 \
deunicode-1.6.0 \
@@ -36,7 +36,7 @@ CARGO_CRATES= adler2-2.0.0 \
fnv-1.0.7 \
glob-0.3.2 \
hashbrown-0.15.2 \
- heck-0.5.0 \
+ heck-0.4.1 \
indexmap-2.7.1 \
is_terminal_polyfill-1.70.1 \
itertools-0.12.1 \
@@ -83,7 +83,7 @@ CARGO_CRATES= adler2-2.0.0 \
shlex-1.3.0 \
siphasher-1.0.1 \
slug-0.1.6 \
- strsim-0.11.1 \
+ strsim-0.10.0 \
syn-2.0.96 \
syntect-5.2.0 \
thiserror-1.0.69 \
diff --git a/textproc/rubygem-gitlab-glfm-markdown/distinfo b/textproc/rubygem-gitlab-glfm-markdown/distinfo
index 4adfe7180d01..5560517bc7f1 100644
--- a/textproc/rubygem-gitlab-glfm-markdown/distinfo
+++ b/textproc/rubygem-gitlab-glfm-markdown/distinfo
@@ -1,6 +1,6 @@
-TIMESTAMP = 1744087436
-SHA256 (gitlab-glfm-markdown-0.0.29.gem) = a19a8a996d403d98b7d9acfb57d3be5259681011c647c5a8a0a1292f5f6eb226
-SIZE (gitlab-glfm-markdown-0.0.29.gem) = 18944
+TIMESTAMP = 1747310094
+SHA256 (gitlab-glfm-markdown-0.0.31.gem) = 91c8e9c61c78d49f1e52dbb49e9fd2d790a494a254bc8ad54004dadf091e2d1b
+SIZE (gitlab-glfm-markdown-0.0.31.gem) = 20992
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
@@ -41,18 +41,18 @@ SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582eb
SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934
SHA256 (rust/crates/clang-sys-1.8.1.crate) = 0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4
SIZE (rust/crates/clang-sys-1.8.1.crate) = 44009
-SHA256 (rust/crates/clap-4.5.27.crate) = 769b0145982b4b48713e01ec42d61614425f27b7058bda7180a3a41f30104796
-SIZE (rust/crates/clap-4.5.27.crate) = 55737
-SHA256 (rust/crates/clap_builder-4.5.27.crate) = 1b26884eb4b57140e4d2d93652abfa49498b938b3c9179f9fc487b0acc3edad7
-SIZE (rust/crates/clap_builder-4.5.27.crate) = 168024
-SHA256 (rust/crates/clap_derive-4.5.24.crate) = 54b755194d6389280185988721fffba69495eed5ee9feeee9a599b53db80318c
-SIZE (rust/crates/clap_derive-4.5.24.crate) = 30669
-SHA256 (rust/crates/clap_lex-0.7.4.crate) = f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6
-SIZE (rust/crates/clap_lex-0.7.4.crate) = 12858
+SHA256 (rust/crates/clap-4.4.18.crate) = 1e578d6ec4194633722ccf9544794b71b1385c3c027efe0c55db226fc880865c
+SIZE (rust/crates/clap-4.4.18.crate) = 55269
+SHA256 (rust/crates/clap_builder-4.4.18.crate) = 4df4df40ec50c46000231c914968278b1eb05098cf8f1b3a518a95030e71d1c7
+SIZE (rust/crates/clap_builder-4.4.18.crate) = 163538
+SHA256 (rust/crates/clap_derive-4.4.7.crate) = cf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442
+SIZE (rust/crates/clap_derive-4.4.7.crate) = 29046
+SHA256 (rust/crates/clap_lex-0.6.0.crate) = 702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1
+SIZE (rust/crates/clap_lex-0.6.0.crate) = 12272
SHA256 (rust/crates/colorchoice-1.0.3.crate) = 5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990
SIZE (rust/crates/colorchoice-1.0.3.crate) = 7923
-SHA256 (rust/crates/comrak-0.38.0.crate) = f690706b5db081dccea6206d7f6d594bb9895599abea9d1a0539f13888781ae8
-SIZE (rust/crates/comrak-0.38.0.crate) = 178477
+SHA256 (rust/crates/comrak-0.39.0.crate) = d5c834ca54c5a20588b358f34d1533b4b498ddb5fd979cec6b22d0e8867a2449
+SIZE (rust/crates/comrak-0.39.0.crate) = 179041
SHA256 (rust/crates/crc32fast-1.4.2.crate) = a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3
SIZE (rust/crates/crc32fast-1.4.2.crate) = 38491
SHA256 (rust/crates/deranged-0.3.11.crate) = b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4
@@ -77,8 +77,8 @@ SHA256 (rust/crates/glob-0.3.2.crate) = a8d1add55171497b4705a648c6b583acafb01d58
SIZE (rust/crates/glob-0.3.2.crate) = 22359
SHA256 (rust/crates/hashbrown-0.15.2.crate) = bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289
SIZE (rust/crates/hashbrown-0.15.2.crate) = 138478
-SHA256 (rust/crates/heck-0.5.0.crate) = 2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea
-SIZE (rust/crates/heck-0.5.0.crate) = 11517
+SHA256 (rust/crates/heck-0.4.1.crate) = 95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8
+SIZE (rust/crates/heck-0.4.1.crate) = 11567
SHA256 (rust/crates/indexmap-2.7.1.crate) = 8c9c992b02b5b4c94ea26e32fe5bccb7aa7d9f390ab5c1221ff895bc7ea8b652
SIZE (rust/crates/indexmap-2.7.1.crate) = 88644
SHA256 (rust/crates/is_terminal_polyfill-1.70.1.crate) = 7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf
@@ -171,8 +171,8 @@ SHA256 (rust/crates/siphasher-1.0.1.crate) = 56199f7ddabf13fe5074ce809e7d3f42b42
SIZE (rust/crates/siphasher-1.0.1.crate) = 10351
SHA256 (rust/crates/slug-0.1.6.crate) = 882a80f72ee45de3cc9a5afeb2da0331d58df69e4e7d8eeb5d3c7784ae67e724
SIZE (rust/crates/slug-0.1.6.crate) = 6787
-SHA256 (rust/crates/strsim-0.11.1.crate) = 7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f
-SIZE (rust/crates/strsim-0.11.1.crate) = 14266
+SHA256 (rust/crates/strsim-0.10.0.crate) = 73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623
+SIZE (rust/crates/strsim-0.10.0.crate) = 11355
SHA256 (rust/crates/syn-2.0.96.crate) = d5d0adab1ae378d7f53bdebc67a39f1f151407ef230f0ce2883572f5d8985c80
SIZE (rust/crates/syn-2.0.96.crate) = 297497
SHA256 (rust/crates/syntect-5.2.0.crate) = 874dcfa363995604333cf947ae9f751ca3af4522c60886774c4963943b4746b1
diff --git a/textproc/rubygem-rails-dom-testing-rails-gitlab/Makefile b/textproc/rubygem-rails-dom-testing-rails-gitlab/Makefile
new file mode 100644
index 000000000000..df75a2f17b89
--- /dev/null
+++ b/textproc/rubygem-rails-dom-testing-rails-gitlab/Makefile
@@ -0,0 +1,22 @@
+PORTNAME= rails-dom-testing
+PORTVERSION= 2.2.0
+CATEGORIES= textproc rubygems
+MASTER_SITES= RG
+PKGNAMESUFFIX= -rails-gitlab
+
+MAINTAINER= mfechner@FreeBSD.org
+COMMENT= Analyse and compare DOMs using Nokogiri
+WWW= https://github.com/rails/rails-dom-testing
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/MIT-LICENSE
+
+RUN_DEPENDS= rubygem-activesupport-gitlab>=5.0.0:devel/rubygem-activesupport-gitlab \
+ rubygem-minitest>=0:devel/rubygem-minitest \
+ rubygem-nokogiri>=1.6:textproc/rubygem-nokogiri
+
+USES= gem
+
+NO_ARCH= yes
+
+.include <bsd.port.mk>
diff --git a/textproc/rubygem-rails-dom-testing-rails-gitlab/distinfo b/textproc/rubygem-rails-dom-testing-rails-gitlab/distinfo
new file mode 100644
index 000000000000..ad58a5f7a9ce
--- /dev/null
+++ b/textproc/rubygem-rails-dom-testing-rails-gitlab/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1697330216
+SHA256 (rubygem/rails-dom-testing-2.2.0.gem) = e515712e48df1f687a1d7c380fd7b07b8558faa26464474da64183a7426fa93b
+SIZE (rubygem/rails-dom-testing-2.2.0.gem) = 16896
diff --git a/textproc/rubygem-rails-dom-testing-rails-gitlab/pkg-descr b/textproc/rubygem-rails-dom-testing-rails-gitlab/pkg-descr
new file mode 100644
index 000000000000..ddabc817c4fd
--- /dev/null
+++ b/textproc/rubygem-rails-dom-testing-rails-gitlab/pkg-descr
@@ -0,0 +1,6 @@
+This gem is responsible for comparing HTML doms and asserting that DOM elements
+are present in Rails applications. Doms are compared via assert_dom_equal and
+assert_dom_not_equal. Elements are asserted via assert_select,
+assert_select_encoded, assert_select_email and a subset of the dom can be
+selected with css_select. The gem is developed for Rails 4.2 and above, and
+will not work on previous versions.
diff --git a/www/Makefile b/www/Makefile
index 8fa719f781ca..16d9e68fa6ef 100644
--- a/www/Makefile
+++ b/www/Makefile
@@ -2010,6 +2010,7 @@
SUBDIR += rt44
SUBDIR += rt50
SUBDIR += rubygem-ace-rails-ap
+ SUBDIR += rubygem-actioncable-gitlab
SUBDIR += rubygem-actioncable5
SUBDIR += rubygem-actioncable50
SUBDIR += rubygem-actioncable52
@@ -2019,6 +2020,7 @@
SUBDIR += rubygem-actioncable71
SUBDIR += rubygem-actioncable72
SUBDIR += rubygem-actioncable80
+ SUBDIR += rubygem-actionpack-gitlab
SUBDIR += rubygem-actionpack4
SUBDIR += rubygem-actionpack5
SUBDIR += rubygem-actionpack50
@@ -2074,6 +2076,7 @@
SUBDIR += rubygem-crass
SUBDIR += rubygem-cssbundling-rails
SUBDIR += rubygem-cssbundling-rails-gitlab
+ SUBDIR += rubygem-cssbundling-rails-rails-gitlab
SUBDIR += rubygem-cssbundling-rails-rails70
SUBDIR += rubygem-cssbundling-rails-rails71
SUBDIR += rubygem-cssbundling-rails-rails72
@@ -2139,6 +2142,7 @@
SUBDIR += rubygem-gollum-grit_adapter
SUBDIR += rubygem-gollum-lib
SUBDIR += rubygem-gollum-rugged_adapter
+ SUBDIR += rubygem-gon-rails-gitlab
SUBDIR += rubygem-gon-rails5
SUBDIR += rubygem-gon-rails50
SUBDIR += rubygem-gon-rails60
@@ -2205,6 +2209,7 @@
SUBDIR += rubygem-kamal
SUBDIR += rubygem-kaminari
SUBDIR += rubygem-kaminari-actionview
+ SUBDIR += rubygem-kaminari-actionview-rails-gitlab
SUBDIR += rubygem-kaminari-actionview-rails5
SUBDIR += rubygem-kaminari-actionview-rails50
SUBDIR += rubygem-kaminari-actionview-rails52
@@ -2212,6 +2217,7 @@
SUBDIR += rubygem-kaminari-actionview-rails61
SUBDIR += rubygem-kaminari-actionview-rails70
SUBDIR += rubygem-kaminari-activerecord
+ SUBDIR += rubygem-kaminari-activerecord-rails-gitlab
SUBDIR += rubygem-kaminari-activerecord-rails5
SUBDIR += rubygem-kaminari-activerecord-rails50
SUBDIR += rubygem-kaminari-activerecord-rails52
@@ -2219,6 +2225,7 @@
SUBDIR += rubygem-kaminari-activerecord-rails61
SUBDIR += rubygem-kaminari-activerecord-rails70
SUBDIR += rubygem-kaminari-core
+ SUBDIR += rubygem-kaminari-rails-gitlab
SUBDIR += rubygem-kaminari-rails4
SUBDIR += rubygem-kaminari-rails5
SUBDIR += rubygem-kaminari-rails50
@@ -2234,6 +2241,7 @@
SUBDIR += rubygem-llhttp
SUBDIR += rubygem-llhttp-ffi
SUBDIR += rubygem-lograge
+ SUBDIR += rubygem-lograge-rails-gitlab
SUBDIR += rubygem-lograge-rails5
SUBDIR += rubygem-lograge-rails52
SUBDIR += rubygem-lograge-rails60
@@ -2308,6 +2316,7 @@
SUBDIR += rubygem-rackup
SUBDIR += rubygem-rackup10
SUBDIR += rubygem-rackup21
+ SUBDIR += rubygem-rails-gitlab
SUBDIR += rubygem-rails-settings-cached
SUBDIR += rubygem-rails-settings-cached-rails5
SUBDIR += rubygem-rails-settings-cached-rails50
@@ -2325,6 +2334,7 @@
SUBDIR += rubygem-rails_autolink
SUBDIR += rubygem-rails_serve_static_assets
SUBDIR += rubygem-rails_stdout_logging
+ SUBDIR += rubygem-railties-gitlab
SUBDIR += rubygem-railties4
SUBDIR += rubygem-railties5
SUBDIR += rubygem-railties50
@@ -2344,6 +2354,7 @@
SUBDIR += rubygem-rdf-normalize
SUBDIR += rubygem-redcloth
SUBDIR += rubygem-redis-rack
+ SUBDIR += rubygem-redis-rack-gitlab
SUBDIR += rubygem-redis-rack2
SUBDIR += rubygem-redis-rails
SUBDIR += rubygem-redis-rails-rails5
@@ -2352,6 +2363,7 @@
SUBDIR += rubygem-redis-rails-rails60
SUBDIR += rubygem-redis-rails-rails61
SUBDIR += rubygem-responders
+ SUBDIR += rubygem-responders-rails-gitlab
SUBDIR += rubygem-responders-rails5
SUBDIR += rubygem-responders-rails52
SUBDIR += rubygem-responders-rails60
diff --git a/www/cinny/Makefile b/www/cinny/Makefile
index 3cc9d1de44dd..4805f2e2c7b0 100644
--- a/www/cinny/Makefile
+++ b/www/cinny/Makefile
@@ -1,6 +1,6 @@
PORTNAME= cinny
DISTVERSIONPREFIX= v
-DISTVERSION= 4.6.0
+DISTVERSION= 4.7.0
CATEGORIES= www
MASTER_SITES= https://github.com/ajbura/${PORTNAME}/releases/download/v${PORTVERSION}/
diff --git a/www/cinny/distinfo b/www/cinny/distinfo
index 9d59ff672d52..34f8cbc0d4f5 100644
--- a/www/cinny/distinfo
+++ b/www/cinny/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1745058438
-SHA256 (cinny-v4.6.0.tar.gz) = ee14cb067618e457b57c3941a80236ef280033955ea5fcdfe49d0c24b0dc6b9a
-SIZE (cinny-v4.6.0.tar.gz) = 10673263
+TIMESTAMP = 1747576427
+SHA256 (cinny-v4.7.0.tar.gz) = 99bf0f035bc47d2838ec284075e1a32a746ac43511f7120a983d147efbf7b9b9
+SIZE (cinny-v4.7.0.tar.gz) = 5582987
diff --git a/www/cinny/pkg-plist b/www/cinny/pkg-plist
index 426d948d7b60..9e01b8b43142 100644
--- a/www/cinny/pkg-plist
+++ b/www/cinny/pkg-plist
@@ -1,5 +1,5 @@
-%%WWWDIR%%/assets/ReactPrism-B-o03VQe.js
-%%WWWDIR%%/assets/ReactPrism-B-o03VQe.js.map
+%%WWWDIR%%/assets/ReactPrism-BerGavVz.js
+%%WWWDIR%%/assets/ReactPrism-BerGavVz.js.map
%%WWWDIR%%/assets/ReactPrism-GaPGjdOJ.css
%%WWWDIR%%/assets/Twemoji.Mozilla.v15.1.0-CM1RS90w.woff2
%%WWWDIR%%/assets/Twemoji.Mozilla.v15.1.0-DHQZm25T.ttf
@@ -14,13 +14,13 @@
%%WWWDIR%%/assets/apple-touch-icon-72x72-BiCSJ3dR.png
%%WWWDIR%%/assets/apple-touch-icon-76x76-GfaoCnSQ.png
%%WWWDIR%%/assets/favicon-5KspoOBy.ico
+%%WWWDIR%%/assets/index-4OWSgzB9.js
+%%WWWDIR%%/assets/index-4OWSgzB9.js.map
%%WWWDIR%%/assets/index-B9fWrEk-.js
%%WWWDIR%%/assets/index-B9fWrEk-.js.map
-%%WWWDIR%%/assets/index-BF6FXjZx.js
-%%WWWDIR%%/assets/index-BF6FXjZx.js.map
%%WWWDIR%%/assets/index-BIQoOb9a.css
-%%WWWDIR%%/assets/index-siqr4xob.js
-%%WWWDIR%%/assets/index-siqr4xob.js.map
+%%WWWDIR%%/assets/index-CT60ZVgd.js
+%%WWWDIR%%/assets/index-CT60ZVgd.js.map
%%WWWDIR%%/assets/inter-cyrillic-ext-variable-wghtOnly-normal-CBYe6022.woff2
%%WWWDIR%%/assets/inter-cyrillic-variable-wghtOnly-normal-DHeaknKs.woff2
%%WWWDIR%%/assets/inter-greek-ext-variable-wghtOnly-normal-vpOIeGzY.woff2
@@ -29,9 +29,10 @@
%%WWWDIR%%/assets/inter-latin-variable-wghtOnly-normal-DwMxL0mc.woff2
%%WWWDIR%%/assets/inter-vietnamese-variable-wghtOnly-normal-CZXuW_xV.woff2
%%WWWDIR%%/assets/invite-DROg5x7-.ogg
+%%WWWDIR%%/assets/matrix_sdk_crypto_wasm_bg-BKhMui86.wasm
%%WWWDIR%%/assets/notification-EtLMRd0T.ogg
-%%WWWDIR%%/assets/pdf-DTU2FXqc.js
-%%WWWDIR%%/assets/pdf-DTU2FXqc.js.map
+%%WWWDIR%%/assets/pdf-Gqh3aXa8.js
+%%WWWDIR%%/assets/pdf-Gqh3aXa8.js.map
%%WWWDIR%%/config.json.example
%%WWWDIR%%/index.html
%%WWWDIR%%/manifest.json
diff --git a/www/firefox-esr/Makefile b/www/firefox-esr/Makefile
index 87e8fbb2bb31..289de8e04671 100644
--- a/www/firefox-esr/Makefile
+++ b/www/firefox-esr/Makefile
@@ -1,5 +1,5 @@
PORTNAME= firefox
-DISTVERSION= 128.10.0
+DISTVERSION= 128.10.1
PORTEPOCH= 1
CATEGORIES= www wayland
MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}esr/source \
diff --git a/www/firefox-esr/distinfo b/www/firefox-esr/distinfo
index f00cbf005dc9..2be2aab5a0a9 100644
--- a/www/firefox-esr/distinfo
+++ b/www/firefox-esr/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1745263534
-SHA256 (firefox-128.10.0esr.source.tar.xz) = 2ed83e26e41a8b3e2c7c0d13448a84dbb9b7ed65ed46bc162d629b0c6b071caf
-SIZE (firefox-128.10.0esr.source.tar.xz) = 556644356
+TIMESTAMP = 1747578844
+SHA256 (firefox-128.10.1esr.source.tar.xz) = e85b25dea98bfa400940e0f79aa82a190b445d848b00d19f801a647598fda0b9
+SIZE (firefox-128.10.1esr.source.tar.xz) = 568752664
diff --git a/www/gitlab-pages/distinfo b/www/gitlab-pages/distinfo
index 053a191e267d..6f87e2d492e8 100644
--- a/www/gitlab-pages/distinfo
+++ b/www/gitlab-pages/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1746703453
-SHA256 (go/www_gitlab-pages/gitlab-pages-v17.11.2/go.mod) = b83da7e72c96e7faf9b45df5ea511c394c921e0a377adec8673636f904354f99
-SIZE (go/www_gitlab-pages/gitlab-pages-v17.11.2/go.mod) = 3435
-SHA256 (go/www_gitlab-pages/gitlab-pages-v17.11.2/gitlab-pages-v17.11.2.tar.bz2) = a6d2e709921db3e1e68cab33e90c6e8ae161bf6cdaa13cf2772a0a15db2636f4
-SIZE (go/www_gitlab-pages/gitlab-pages-v17.11.2/gitlab-pages-v17.11.2.tar.bz2) = 233507
+TIMESTAMP = 1747297293
+SHA256 (go/www_gitlab-pages/gitlab-pages-v18.0.0/go.mod) = 5d3bf245e8a23b85bf8d20e164da233946fce66407fc882c9eef3146a36bb266
+SIZE (go/www_gitlab-pages/gitlab-pages-v18.0.0/go.mod) = 3435
+SHA256 (go/www_gitlab-pages/gitlab-pages-v18.0.0/gitlab-pages-v18.0.0.tar.bz2) = ec76aac2b7b3c3bd915eac21156f50e36ecc214f51caf9c125c69567227eab5a
+SIZE (go/www_gitlab-pages/gitlab-pages-v18.0.0/gitlab-pages-v18.0.0.tar.bz2) = 234324
diff --git a/www/gitlab-workhorse/distinfo b/www/gitlab-workhorse/distinfo
index 0c0f519aee02..ce8234510990 100644
--- a/www/gitlab-workhorse/distinfo
+++ b/www/gitlab-workhorse/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1746703509
-SHA256 (go/www_gitlab-workhorse/gitlab-foss-v17.11.2/go.mod) = 4fea0d1f76f8078f7dc8f7b3350f05e288764e289460476fdddbc9d0d5e1bdb5
-SIZE (go/www_gitlab-workhorse/gitlab-foss-v17.11.2/go.mod) = 9201
-SHA256 (go/www_gitlab-workhorse/gitlab-foss-v17.11.2/gitlab-foss-v17.11.2.tar.bz2) = cca1c17742e83a3449b262980ce6522c713eeb9f50dcba4bb831d4e3b32b8ca6
-SIZE (go/www_gitlab-workhorse/gitlab-foss-v17.11.2/gitlab-foss-v17.11.2.tar.bz2) = 127999225
+TIMESTAMP = 1747297312
+SHA256 (go/www_gitlab-workhorse/gitlab-foss-v18.0.0/go.mod) = 8dbcbe08dbde6db18015e8e2cd84a67a5da908501eb5d6c6d7111fe2e63d27c6
+SIZE (go/www_gitlab-workhorse/gitlab-foss-v18.0.0/go.mod) = 9144
+SHA256 (go/www_gitlab-workhorse/gitlab-foss-v18.0.0/gitlab-foss-v18.0.0.tar.bz2) = 17e3c1df51b242b74ebd45ccb5ba8e0d3ca63dc63db16084d586a9dd36d79b05
+SIZE (go/www_gitlab-workhorse/gitlab-foss-v18.0.0/gitlab-foss-v18.0.0.tar.bz2) = 116971580
diff --git a/www/gitlab/Makefile b/www/gitlab/Makefile
index 061574162fe2..8e5a9710dc85 100644
--- a/www/gitlab/Makefile
+++ b/www/gitlab/Makefile
@@ -27,8 +27,9 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
# mail/rubygem-net-smtp is required as ruby 3.1 removed it
# textproc/rubygem-psych3 is required as ruby 3.1 applied an update to psych 4.0 which has breaking changes
# mail/rubygem-net-pop is required as ruby 3.1 removed it
+#gitlab-zoekt-indexer>=0.16.0:textproc/gitlab-zoekt-indexer
MY_DEPENDS= gitaly>=${GITLAB_VERSION}:devel/gitaly \
- gitlab-elasticsearch-indexer>=5.5.0:textproc/gitlab-elasticsearch-indexer \
+ gitlab-elasticsearch-indexer>=5.5.1:textproc/gitlab-elasticsearch-indexer \
gitlab-agent>=${GITLAB_VERSION}:net/gitlab-agent \
gitlab-pages>=${GITLAB_VERSION}:www/gitlab-pages \
gitlab-shell>=14.41.0:devel/gitlab-shell \
@@ -41,17 +42,17 @@ MY_DEPENDS= gitaly>=${GITLAB_VERSION}:devel/gitaly \
rubygem-net-smtp>=0:mail/rubygem-net-smtp \
rubygem-psych3>=3.1<4:textproc/rubygem-psych3 \
rubygem-net-pop>=0:mail/rubygem-net-pop \
- rubygem-rails70>=7.0.8.7<7.1:www/rubygem-rails70 \
+ rubygem-rails-gitlab>=7.1.5.1<7.2:www/rubygem-rails-gitlab \
rubygem-mutex_m>=0.3<1:devel/rubygem-mutex_m \
rubygem-drb>=2.2.1<3:devel/rubygem-drb \
rubygem-bootsnap>=1.18.3<1.19:devel/rubygem-bootsnap \
rubygem-ffi>=1.17.1<2:devel/rubygem-ffi \
rubygem-openssl>=3.2.0<4:security/rubygem-openssl \
rubygem-gitlab-secret_detection>=0.23.0<1:security/rubygem-gitlab-secret_detection \
- rubygem-responders-rails70>=3.0<4.0:www/rubygem-responders-rails70 \
+ rubygem-responders-rails-gitlab>=3.0<4.0:www/rubygem-responders-rails-gitlab \
rubygem-sprockets3>=3.7.0<3.8:devel/rubygem-sprockets3 \
- rubygem-sprockets-rails-rails70>=3.5.2<3.6:devel/rubygem-sprockets-rails-rails70 \
- rubygem-view_component-rails70>=3.21.0<3.22:devel/rubygem-view_component-rails70 \
+ rubygem-sprockets-rails-rails-gitlab>=3.5.2<3.6:devel/rubygem-sprockets-rails-rails-gitlab \
+ rubygem-view_component-rails-gitlab>=3.21.0<3.22:devel/rubygem-view_component-rails-gitlab \
rubygem-pg>=1.5.9<1.6:databases/rubygem-pg \
rubygem-rugged>=1.6<2:devel/rubygem-rugged \
rubygem-faraday-gitlab>=2<3:www/rubygem-faraday-gitlab \
@@ -59,10 +60,10 @@ MY_DEPENDS= gitaly>=${GITLAB_VERSION}:devel/gitaly \
rubygem-logger-gitlab>=1.6.0<1.7:devel/rubygem-logger-gitlab \
rubygem-marginalia>=1.11.1<1.12:databases/rubygem-marginalia \
rubygem-declarative_policy>=1.1.0<1.2:security/rubygem-declarative_policy \
- rubygem-coverband>=6.1.4<6.1.5:www/rubygem-coverband \
- rubygem-devise-rails70>=4.9.3<4.10:devel/rubygem-devise-rails70 \
+ rubygem-coverband>=6.1.5<6.1.6:www/rubygem-coverband \
+ rubygem-devise-rails-gitlab>=4.9.3<4.10:devel/rubygem-devise-rails-gitlab \
rubygem-bcrypt>=3.1.20<3.2:security/rubygem-bcrypt \
- rubygem-doorkeeper-rails70>=5.8.1<6:security/rubygem-doorkeeper-rails70 \
+ rubygem-doorkeeper-rails-gitlab>=5.8.1<6:security/rubygem-doorkeeper-rails-gitlab \
rubygem-doorkeeper-openid_connect>=1.8.11<2:security/rubygem-doorkeeper-openid_connect \
rubygem-doorkeeper-device_authorization_grant>=1.0.0<1.1:security/rubygem-doorkeeper-device_authorization_grant \
rubygem-rexml>=3.4.1<3.5:textproc/rubygem-rexml \
@@ -85,7 +86,7 @@ MY_DEPENDS= gitaly>=${GITLAB_VERSION}:devel/gitaly \
rubygem-recaptcha>=5.12<6.0:devel/rubygem-recaptcha \
rubygem-akismet>=3.0<4.0:devel/rubygem-akismet \
rubygem-invisible_captcha>=2.1.0<2.2.0:graphics/rubygem-invisible_captcha \
- rubygem-devise-two-factor41-rails70>=4.1.1<4.2:security/rubygem-devise-two-factor41-rails70 \
+ rubygem-devise-two-factor-rails-gitlab>=4.1.1<4.2:security/rubygem-devise-two-factor-rails-gitlab \
rubygem-rqrcode-gitlab>=2.2.0<3:www/rubygem-rqrcode-gitlab \
rubygem-validates_hostname>=1.0.13<1.1.0:dns/rubygem-validates_hostname \
rubygem-rubyzip>=2.3.2<2.4:archivers/rubygem-rubyzip \
@@ -105,10 +106,12 @@ MY_DEPENDS= gitaly>=${GITLAB_VERSION}:devel/gitaly \
rubygem-apollo_upload_server>=2.1.6<2.2:net/rubygem-apollo_upload_server \
rubygem-ffaker>=2.24.0<3:devel/rubygem-ffaker \
rubygem-hashie>=5.0.0<5.1:devel/rubygem-hashie \
- rubygem-kaminari-rails70>=1.2.2<1.3:www/rubygem-kaminari-rails70 \
+ rubygem-kaminari-rails-gitlab>=1.2.2<1.3:www/rubygem-kaminari-rails-gitlab \
rubygem-hamlit>=2.15.0<2.16:www/rubygem-hamlit \
rubygem-carrierwave1>=1.3.4<2.0:www/rubygem-carrierwave1 \
rubygem-mini_magick4>=4.12<5:graphics/rubygem-mini_magick4 \
+ rubygem-prawn>=0:print/rubygem-prawn \
+ rubygem-prawn-svg>=0:print/rubygem-prawn-svg \
rubygem-fog-aws328>=3.26<4:net/rubygem-fog-aws328 \
rubygem-fog-core210>=2.1.0<2.1.1:devel/rubygem-fog-core210 \
rubygem-fog-google-gitlab>=1.24.1<1.25:net/rubygem-fog-google-gitlab \
@@ -134,9 +137,9 @@ MY_DEPENDS= gitaly>=${GITLAB_VERSION}:devel/gitaly \
rubygem-elasticsearch-model-gitlab>=7.2<8:textproc/rubygem-elasticsearch-model-gitlab \
rubygem-elasticsearch-rails7>=7.2<8:textproc/rubygem-elasticsearch-rails7 \
rubygem-elasticsearch-api-gitlab>=7.17.11<7.18:textproc/rubygem-elasticsearch-api-gitlab \
- rubygem-aws-sdk-core-gitlab>=3.215.0<3.216:devel/rubygem-aws-sdk-core-gitlab \
+ rubygem-aws-sdk-core-gitlab>=3.223.0<3.224:devel/rubygem-aws-sdk-core-gitlab \
rubygem-aws-sdk-cloudformation-gitlab>=1<2:devel/rubygem-aws-sdk-cloudformation-gitlab \
- rubygem-aws-sdk-s3-gitlab>=1.177.0<1.178:devel/rubygem-aws-sdk-s3-gitlab \
+ rubygem-aws-sdk-s3-gitlab>=1.185.0<1.186:devel/rubygem-aws-sdk-s3-gitlab \
rubygem-faraday-typhoeus-gitlab>=1.1<2:www/rubygem-faraday-typhoeus-gitlab \
rubygem-faraday_middleware-aws-sigv4-gitlab>=1.0.1<1.1:devel/rubygem-faraday_middleware-aws-sigv4-gitlab \
rubygem-typhoeus>=1.4.0<1.5:www/rubygem-typhoeus \
@@ -156,7 +159,7 @@ MY_DEPENDS= gitaly>=${GITLAB_VERSION}:devel/gitaly \
rubygem-rouge-gitlab>=4.5.1<4.6:textproc/rubygem-rouge-gitlab \
rubygem-truncato>=0.7.13<0.8.0:textproc/rubygem-truncato \
rubygem-nokogiri>=1.18.7<2:textproc/rubygem-nokogiri \
- rubygem-gitlab-glfm-markdown>=0.0.29<0.1:textproc/rubygem-gitlab-glfm-markdown \
+ rubygem-gitlab-glfm-markdown>=0.0.30<0.1:textproc/rubygem-gitlab-glfm-markdown \
rubygem-tanuki_emoji>=0.13<1:graphics/rubygem-tanuki_emoji \
rubygem-unicode-emoji>=4.0.4<5:devel/rubygem-unicode-emoji \
rubygem-icalendar-gitlab>=2.10.3<2.11:devel/rubygem-icalendar-gitlab \
@@ -167,20 +170,20 @@ MY_DEPENDS= gitaly>=${GITLAB_VERSION}:devel/gitaly \
rubygem-sd_notify>=0.1.1<0.2:devel/rubygem-sd_notify \
rubygem-state_machines-activerecord08>=0.8.0<0.9.0:databases/rubygem-state_machines-activerecord08 \
rubygem-sidekiq-gitlab>=7.3.9:devel/rubygem-sidekiq-gitlab \
- rubygem-sidekiq-cron-rails70>=1.12.0<1.13:devel/rubygem-sidekiq-cron-rails70 \
+ rubygem-sidekiq-cron-rails-gitlab>=1.12.0<1.13:devel/rubygem-sidekiq-cron-rails-gitlab \
rubygem-fugit>=1.11.1<1.12:devel/rubygem-fugit \
rubygem-httparty-gitlab>=0.22.0<0.23:www/rubygem-httparty-gitlab \
rubygem-rainbow>=3.1.1<4.0:devel/rubygem-rainbow \
rubygem-ruby-progressbar>=1.11<2:devel/rubygem-ruby-progressbar \
rubygem-re2>=2.15.0<3:devel/rubygem-re2 \
- rubygem-semver_dialects>=3.6.0<4:devel/rubygem-semver_dialects \
+ rubygem-semver_dialects>=3.7.0<4:devel/rubygem-semver_dialects \
rubygem-version_sorter>=2.3<3:textproc/rubygem-version_sorter \
rubygem-js_regex>=3.8<4.0:textproc/rubygem-js_regex \
rubygem-device_detector>=0:devel/rubygem-device_detector \
rubygem-redis>=5.4.0<5.5:databases/rubygem-redis \
rubygem-redis-clustering>=5.4.0<5.5:databases/rubygem-redis-clustering \
rubygem-connection_pool>=2.5.0<3.0:net/rubygem-connection_pool \
- rubygem-redis-actionpack-rails70>=5.5.0<5.6:databases/rubygem-redis-actionpack-rails70 \
+ rubygem-redis-actionpack-rails-gitlab>=5.5.0<5.6:databases/rubygem-redis-actionpack-rails-gitlab \
rubygem-discordrb-webhooks>=3.5<4.0:net-im/rubygem-discordrb-webhooks \
rubygem-jira-ruby>=2.3.0<2.4:devel/rubygem-jira-ruby \
rubygem-atlassian-jwt>=0.2.1<0.3.0:www/rubygem-atlassian-jwt \
@@ -199,29 +202,29 @@ MY_DEPENDS= gitaly>=${GITLAB_VERSION}:devel/gitaly \
rubygem-gitlab-chronic>=0.10.6<0.11.0:devel/rubygem-gitlab-chronic \
rubygem-gitlab_chronic_duration>=0.12<1:devel/rubygem-gitlab_chronic_duration \
rubygem-rack-proxy>=0.7.7<0.8.0:www/rubygem-rack-proxy \
- rubygem-cssbundling-rails-rails70>=1.4.3<1.5:www/rubygem-cssbundling-rails-rails70 \
+ rubygem-cssbundling-rails-rails-gitlab>=1.4.3<1.5:www/rubygem-cssbundling-rails-rails-gitlab \
rubygem-terser>=1.0.2<1.0.3:textproc/rubygem-terser \
rubygem-addressable>=2.8<3:www/rubygem-addressable \
- rubygem-gon-rails70>=6.4.0<6.5:www/rubygem-gon-rails70 \
+ rubygem-gon-rails-gitlab>=6.4.0<6.5:www/rubygem-gon-rails-gitlab \
rubygem-request_store>=1.7.0<1.8:devel/rubygem-request_store \
rubygem-base32>=0.3.4<0.4.0:converters/rubygem-base32 \
rubygem-gitlab-license>=2.6<3:devel/rubygem-gitlab-license \
rubygem-rack-attack>=6.7.0<6.8:www/rubygem-rack-attack \
- rubygem-sentry-ruby>=5.22.0<5.23:devel/rubygem-sentry-ruby \
- rubygem-sentry-rails>=5.22.0<5.23:devel/rubygem-sentry-rails \
- rubygem-sentry-sidekiq>=5.22.0<5.23:devel/rubygem-sentry-sidekiq \
+ rubygem-sentry-ruby>=5.23.0<5.24:devel/rubygem-sentry-ruby \
+ rubygem-sentry-rails>=5.23.0<5.24:devel/rubygem-sentry-rails \
+ rubygem-sentry-sidekiq>=5.23.0<5.24:devel/rubygem-sentry-sidekiq \
rubygem-pg_query>=6.1.0<6.2:databases/rubygem-pg_query \
- rubygem-premailer-rails-rails70>=1.12.0<1.13:mail/rubygem-premailer-rails-rails70 \
+ rubygem-premailer-rails-rails-gitlab>=1.12.0<1.13:mail/rubygem-premailer-rails-rails-gitlab \
rubygem-gitlab-labkit>=0.37.0<0.38:devel/rubygem-gitlab-labkit \
rubygem-thrift>=0.16.0:devel/rubygem-thrift \
- rubygem-rails-i18n-rails70>=7.0.9<8:devel/rubygem-rails-i18n-rails70 \
+ rubygem-rails-i18n-rails-gitlab>=7.0.9<8:devel/rubygem-rails-i18n-rails-gitlab \
rubygem-gettext_i18n_rails>=1.13.0<1.14:devel/rubygem-gettext_i18n_rails \
rubygem-gettext>=3.5.1<4:devel/rubygem-gettext \
rubygem-batch-loader>=2.0.5<2.1:devel/rubygem-batch-loader \
rubygem-tty-prompt>=0.23<1:devel/rubygem-tty-prompt \
- rubygem-peek-rails70>=1.1<2.0:devel/rubygem-peek-rails70 \
+ rubygem-peek-rails-gitlab>=1.1<2.0:devel/rubygem-peek-rails-gitlab \
rubygem-snowplow-tracker>=0.8.0<1:devel/rubygem-snowplow-tracker \
- rubygem-webrick>=1.8.2<1.10:www/rubygem-webrick \
+ rubygem-webrick>=1.9.0<1.10:www/rubygem-webrick \
rubygem-prometheus-client-mmap>=1.2.9<1.3:devel/rubygem-prometheus-client-mmap \
rubygem-async-gitlab>=2.23.1<2.24:devel/rubygem-async-gitlab \
rubygem-gitlab-security_report_schemas>=0.1.2.min15.0.0.max15.2.1<0.1.2.min15.0.0.max15.2.2:devel/rubygem-gitlab-security_report_schemas \
@@ -250,7 +253,7 @@ MY_DEPENDS= gitaly>=${GITLAB_VERSION}:devel/gitaly \
rubygem-opentelemetry-instrumentation-sidekiq>=0.25.7:devel/rubygem-opentelemetry-instrumentation-sidekiq \
rubygem-warning>=1.5.0<1.6:devel/rubygem-warning \
rubygem-git>=1.19.1<2:devel/rubygem-git \
- rubygem-gitlab-dangerfiles>=4.8.1<4.9:devel/rubygem-gitlab-dangerfiles \
+ rubygem-gitlab-dangerfiles>=4.9.0<4.10:devel/rubygem-gitlab-dangerfiles \
rubygem-license_finder-gitlab>=7.2.1<8:devel/rubygem-license_finder-gitlab \
rubygem-rspec>=3.0<4:devel/rubygem-rspec \
rubygem-octokit-gitlab>=9.0<10:net/rubygem-octokit-gitlab \
@@ -263,7 +266,7 @@ MY_DEPENDS= gitaly>=${GITLAB_VERSION}:devel/gitaly \
rubygem-memory_profiler>=1.0<2.0:devel/rubygem-memory_profiler \
rubygem-activerecord-explain-analyze>=0.1<1.0:databases/rubygem-activerecord-explain-analyze \
rubygem-oauth2-gitlab>=2.0<3:net/rubygem-oauth2-gitlab \
- rubygem-health_check-rails70>=3.0<4:devel/rubygem-health_check-rails70 \
+ rubygem-health_check-rails-gitlab>=3.0<4:devel/rubygem-health_check-rails-gitlab \
rubygem-vmstat>=2.3.1<2.4.0:sysutils/rubygem-vmstat \
rubygem-sys-filesystem14>=1.4.3<1.5:sysutils/rubygem-sys-filesystem14 \
rubygem-net-ntp>0:net/rubygem-net-ntp \
@@ -275,13 +278,13 @@ MY_DEPENDS= gitaly>=${GITLAB_VERSION}:devel/gitaly \
rubygem-google-protobuf3>=3.25.6<4:devel/rubygem-google-protobuf3 \
rubygem-toml-rb>=2.2.0<3:www/rubygem-toml-rb \
rubygem-flipper-gitlab>=0.28.0<0.29:devel/rubygem-flipper-gitlab \
- rubygem-flipper-active_record-rails70>=0.28.0<0.29:databases/rubygem-flipper-active_record-rails70 \
- rubygem-flipper-active_support_cache_store-rails70>=0.28.0<0.29:devel/rubygem-flipper-active_support_cache_store-rails70 \
+ rubygem-flipper-active_record-rails-gitlab>=0.28.0<0.29:databases/rubygem-flipper-active_record-rails-gitlab \
+ rubygem-flipper-active_support_cache_store-rails-gitlab>=0.28.0<0.29:devel/rubygem-flipper-active_support_cache_store-rails-gitlab \
rubygem-unleash>=3.2.2<3.3:devel/rubygem-unleash \
rubygem-gitlab-experiment>=0.9.1<0.10:devel/rubygem-gitlab-experiment \
- rubygem-lograge-rails70>=0.11.2<1.0:www/rubygem-lograge-rails70 \
+ rubygem-lograge-rails-gitlab>=0.11.2<1.0:www/rubygem-lograge-rails-gitlab \
rubygem-grape_logging>=1.8.4<2.0:devel/rubygem-grape_logging \
- rubygem-gitlab-net-dns>=0.10.0<0.11:dns/rubygem-gitlab-net-dns \
+ rubygem-gitlab-net-dns>=0.12.0<0.13:dns/rubygem-gitlab-net-dns \
rubygem-countries>=4.1.3<4.2.0:devel/rubygem-countries \
rubygem-retriable>=3.1.2<3.2.0:devel/rubygem-retriable \
rubygem-lru_redux>0:devel/rubygem-lru_redux \
@@ -289,7 +292,7 @@ MY_DEPENDS= gitaly>=${GITLAB_VERSION}:devel/gitaly \
rubygem-lockbox>=1.3.0<1.4:security/rubygem-lockbox \
rubygem-valid_email>=0.1<1:mail/rubygem-valid_email \
rubygem-jsonb_accessor>=1.4<2:www/rubygem-jsonb_accessor \
- rubygem-json-gitlab>=2.10.2<2.11:devel/rubygem-json-gitlab \
+ rubygem-json>=2.11.2<2.12:devel/rubygem-json \
rubygem-json_schemer>=2.3.0<2.4:devel/rubygem-json_schemer \
rubygem-oj>=3.16.0<3.17:devel/rubygem-oj \
rubygem-oj-introspect>=0.8<1:devel/rubygem-oj-introspect \
@@ -298,10 +301,10 @@ MY_DEPENDS= gitaly>=${GITLAB_VERSION}:devel/gitaly \
rubygem-webauthn>=3.0<4:security/rubygem-webauthn \
rubygem-ipaddress>=0.8.3<0.9:net/rubygem-ipaddress \
rubygem-parslet1>=1.8<2:textproc/rubygem-parslet1 \
- rubygem-ed25519>=1.3.0<1.4:security/rubygem-ed25519 \
+ rubygem-ed25519>=1.4.0<1.5:security/rubygem-ed25519 \
rubygem-cvss-suite>=3.3.0<3.4:security/rubygem-cvss-suite \
rubygem-arr-pm>=0.0.12<0.1:devel/rubygem-arr-pm \
- rubygem-devfile>=0.4.3<0.5:net/rubygem-devfile \
+ rubygem-devfile>=0.4.4<0.5:net/rubygem-devfile \
rubygem-CFPropertyList-gitlab>=3.0.7<3.1:devel/rubygem-CFPropertyList-gitlab \
rubygem-app_store_connect>=0:net/rubygem-app_store_connect \
rubygem-telesignenterprise>=2.2<3:devel/rubygem-telesignenterprise \
@@ -311,9 +314,9 @@ MY_DEPENDS= gitaly>=${GITLAB_VERSION}:devel/gitaly \
rubygem-uri-gitlab>=0.13.2<0.13.3:net/rubygem-uri-gitlab \
rubygem-duo_api>=1.4<2:security/rubygem-duo_api \
rubygem-gitlab-sdk>=0.3.0<0.4:devel/rubygem-gitlab-sdk \
- rubygem-paper_trail>=15.0<16:devel/rubygem-paper_trail \
+ rubygem-paper_trail>=16.0<17:devel/rubygem-paper_trail \
rubygem-i18n_data>=0.13.1<1:devel/rubygem-i18n_data \
- rubygem-gitlab-cloud-connector>=1.5<2:security/rubygem-gitlab-cloud-connector \
+ rubygem-gitlab-cloud-connector>=1.11<2:security/rubygem-gitlab-cloud-connector \
rubygem-google-cloud-profiler-v2>=0.3<1:textproc/rubygem-google-cloud-profiler-v2 \
rubygem-parallel>=1.26.3<2:sysutils/rubygem-parallel \
rubygem-google-cloud-storage_transfer-gitlab>=1.2.0<1.3:net/rubygem-google-cloud-storage_transfer-gitlab \
@@ -488,8 +491,6 @@ post-install:
@${ECHO_CMD} "@dir ${WWWDIR_REL}/qa/qa/specs/features/api/2_plan" >> ${TMPPLIST}
@${ECHO_CMD} "@dir ${WWWDIR_REL}/qa/qa/specs/features/api/4_verify" >> ${TMPPLIST}
@${ECHO_CMD} "@dir ${WWWDIR_REL}/qa/qa/specs/features/api/5_package" >> ${TMPPLIST}
- @${ECHO_CMD} "@dir ${WWWDIR_REL}/qa/qa/specs/features/api/6_release" >> ${TMPPLIST}
- @${ECHO_CMD} "@dir ${WWWDIR_REL}/qa/qa/specs/features/api/7_configure" >> ${TMPPLIST}
@${ECHO_CMD} "@dir ${WWWDIR_REL}/qa/qa/specs/features/api/8_monitor" >> ${TMPPLIST}
@${ECHO_CMD} "@dir ${WWWDIR_REL}/qa/qa/specs/features/browser_ui/5_package" >> ${TMPPLIST}
@${ECHO_CMD} "@dir ${WWWDIR_REL}/qa/qa/specs/features/browser_ui/8_monitor" >> ${TMPPLIST}
@@ -534,9 +535,7 @@ post-install:
@${ECHO_CMD} "@dir(,,744) ${WWWDIR_REL}/gems/gitlab-backup-cli/tmp" >> ${TMPPLIST}
@${ECHO_CMD} "@dir(,,744) ${WWWDIR_REL}/qa/qa/specs/features/ee/api/4_verify" >> ${TMPPLIST}
@${ECHO_CMD} "@dir(,,744) ${WWWDIR_REL}/qa/qa/specs/features/ee/api/5_package" >> ${TMPPLIST}
- @${ECHO_CMD} "@dir(,,744) ${WWWDIR_REL}/qa/qa/specs/features/ee/api/6_release" >> ${TMPPLIST}
@${ECHO_CMD} "@dir(,,744) ${WWWDIR_REL}/qa/qa/specs/features/ee/api/8_monitor" >> ${TMPPLIST}
- @${ECHO_CMD} "@dir(,,744) ${WWWDIR_REL}/qa/qa/specs/features/ee/browser_ui/7_configure" >> ${TMPPLIST}
.endif
.if !defined(_GITLAB_MAKESUM_GUARD)
@@ -550,6 +549,21 @@ makesum:
(cd ../../www/gitlab-pages && ${MAKE} makesum)
(cd ../../www/gitlab-workhorse && ${MAKE} makesum)
(cd ../../net/rubygem-gitlab-kas-grpc && ${MAKE} makesum)
+ (cd ../../www/rubygem-rails-gitlab && ${MAKE} makesum)
+ (cd ../../www/rubygem-actioncable-gitlab && ${MAKE} makesum)
+ (cd ../../mail/rubygem-actionmailbox-gitlab && ${MAKE} makesum)
+ (cd ../../mail/rubygem-actionmailer-gitlab && ${MAKE} makesum)
+ (cd ../../www/rubygem-actionpack-gitlab && ${MAKE} makesum)
+ (cd ../../textproc/rubygem-actiontext-gitlab && ${MAKE} makesum)
+ (cd ../../devel/rubygem-actionview-gitlab && ${MAKE} makesum)
+ (cd ../../devel/rubygem-activejob-gitlab && ${MAKE} makesum)
+ (cd ../../databases/rubygem-activemodel-gitlab && ${MAKE} makesum)
+ (cd ../../databases/rubygem-activerecord-gitlab && ${MAKE} makesum)
+ (cd ../../net/rubygem-activestorage-gitlab && ${MAKE} makesum)
+ (cd ../../devel/rubygem-activesupport-gitlab && ${MAKE} makesum)
+ (cd ../../www/rubygem-railties-gitlab && ${MAKE} makesum)
+ (cd ../../databases/rubygem-globalid-rails-gitlab && ${MAKE} makesum)
+ (cd ../../www/rubygem-responders-rails-gitlab && ${MAKE} makesum)
.endif
diff --git a/www/gitlab/Makefile.common b/www/gitlab/Makefile.common
index 97c84df1048b..9e0f66298ff7 100644
--- a/www/gitlab/Makefile.common
+++ b/www/gitlab/Makefile.common
@@ -1,5 +1,5 @@
-GITLAB_VERSION= 17.11.2
-GITLAB_PORTREVISION= 1
+GITLAB_VERSION= 18.0.0
+GITLAB_PORTREVISION= 0
# Git version gitaly should use (from gitlab mirror)
# Find current tag from Makefile and .gitlab-ci.yaml
@@ -12,3 +12,6 @@ GITLAB_GIT_VERSION_SHORT= ${GITLAB_GIT_VERSION:C/^([0-9]*\.[0-9]*)\..*/\1/}
GITLAB_KAS_GRPC_VERSION= ${GITLAB_VERSION}
#GITLAB_KAS_GRPC_VERSION= 17.11.0.pre.rc43
+# Rails version
+RAILS_VERSION= 7.1.5.1
+
diff --git a/www/gitlab/distinfo b/www/gitlab/distinfo
index 481d3318a987..3c1c169ae9a0 100644
--- a/www/gitlab/distinfo
+++ b/www/gitlab/distinfo
@@ -1,6 +1,6 @@
-TIMESTAMP = 1746703370
-SHA256 (gitlab-foss-v17.11.2.tar.bz2) = cca1c17742e83a3449b262980ce6522c713eeb9f50dcba4bb831d4e3b32b8ca6
-SIZE (gitlab-foss-v17.11.2.tar.bz2) = 127999225
-TIMESTAMP = 1746703439
-SHA256 (gitlab-v17.11.2-ee.tar.bz2) = 972e2fd9d5dcc6de5472fe720e369a2a3be9eb3c27208d6e82b2e9135bbd0b41
-SIZE (gitlab-v17.11.2-ee.tar.bz2) = 142504844
+TIMESTAMP = 1747397695
+SHA256 (gitlab-foss-v18.0.0.tar.bz2) = 17e3c1df51b242b74ebd45ccb5ba8e0d3ca63dc63db16084d586a9dd36d79b05
+SIZE (gitlab-foss-v18.0.0.tar.bz2) = 116971580
+TIMESTAMP = 1747397696
+SHA256 (gitlab-v18.0.0-ee.tar.bz2) = 190b986c8b73f4252bf0750536577251019102d35493236feec4e8dc19865ef6
+SIZE (gitlab-v18.0.0-ee.tar.bz2) = 131774611
diff --git a/www/gitlab/files/patch-Gemfile b/www/gitlab/files/patch-Gemfile
index 408e873e25c9..fff952d72391 100644
--- a/www/gitlab/files/patch-Gemfile
+++ b/www/gitlab/files/patch-Gemfile
@@ -1,6 +1,6 @@
---- Gemfile.orig 2025-05-07 09:41:59 UTC
+--- Gemfile.orig 2025-05-14 17:45:50 UTC
+++ Gemfile
-@@ -168,8 +168,8 @@ gem 'rack-cors', '~> 2.0.1', require: 'rack/cors', fea
+@@ -160,8 +160,8 @@ gem 'rack-cors', '~> 2.0.1', require: 'rack/cors', fea
gem 'rack-cors', '~> 2.0.1', require: 'rack/cors', feature_category: :shared
# GraphQL API
@@ -11,7 +11,7 @@
gem 'apollo_upload_server', '~> 2.1.6', feature_category: :api
# Cells
-@@ -220,7 +220,7 @@ gem 'google-cloud-storage', '~> 1.45.0', feature_categ
+@@ -216,7 +216,7 @@ gem 'google-cloud-storage', '~> 1.45.0', feature_categ
gem 'google-apis-storage_v1', '~> 0.29', feature_category: :shared
gem 'google-cloud-storage', '~> 1.45.0', feature_category: :shared
# We need >= 0.11.1 because that's when match_glob support is added to list_objects
@@ -20,7 +20,7 @@
gem 'google-apis-compute_v1', '~> 0.57.0', feature_category: :shared
gem 'google-apis-container_v1', '~> 0.43.0', feature_category: :shared
gem 'google-apis-container_v1beta1', '~> 0.43.0', feature_category: :shared
-@@ -231,7 +231,7 @@ gem 'google-apis-androidpublisher_v3', '~> 0.34.0', fe
+@@ -227,7 +227,7 @@ gem 'google-apis-androidpublisher_v3', '~> 0.34.0', fe
gem 'google-apis-sqladmin_v1beta4', '~> 0.41.0', feature_category: :shared
gem 'google-apis-androidpublisher_v3', '~> 0.34.0', feature_category: :shared
@@ -29,7 +29,7 @@
gem 'google-cloud-artifact_registry-v1', '~> 0.11.0', feature_category: :shared
gem 'google-cloud-compute-v1', '~> 2.6.0', feature_category: :shared
-@@ -287,7 +287,7 @@ group :puma do
+@@ -283,7 +283,7 @@ group :puma do
gem 'rack-timeout', '~> 0.7.0', require: 'rack/timeout/base', feature_category: :shared
group :puma do
@@ -38,7 +38,7 @@
gem 'sd_notify', '~> 0.1.0', require: false, feature_category: :shared
end
-@@ -295,7 +295,7 @@ gem 'state_machines-activerecord', '~> 0.8.0', feature
+@@ -291,7 +291,7 @@ gem 'state_machines-activerecord', '~> 0.8.0', feature
gem 'state_machines-activerecord', '~> 0.8.0', feature_category: :shared
# Background jobs
@@ -47,23 +47,16 @@
gem 'sidekiq-cron', '~> 1.12.0', feature_category: :scalability
gem 'gitlab-sidekiq-fetcher',
path: 'vendor/gems/sidekiq-reliable-fetch',
-@@ -433,7 +433,7 @@ gem 'snowplow-tracker', '~> 0.8.0', feature_category:
- gem 'snowplow-tracker', '~> 0.8.0', feature_category: :product_analytics
-
- # Metrics
--gem 'webrick', '~> 1.8.1', require: false, feature_category: :shared
-+gem 'webrick', '~> 1.8', require: false, feature_category: :shared
- gem 'prometheus-client-mmap', '~> 1.2.8', require: 'prometheus/client', feature_category: :shared
-
- # Event-driven reactor for Ruby
-@@ -475,140 +475,15 @@ gem 'warning', '~> 1.5.0', feature_category: :shared
+@@ -471,143 +471,15 @@ gem 'warning', '~> 1.5.0', feature_category: :shared
gem 'warning', '~> 1.5.0', feature_category: :shared
-group :development do
- gem 'lefthook', '~> 1.11.0', require: false, feature_category: :tooling
- gem 'rubocop', feature_category: :tooling
-- gem 'solargraph', '~> 0.47.2', require: false, feature_category: :shared
+-
+- gem 'solargraph', '~> 0.54.0', require: false, feature_category: :shared
+- gem 'solargraph-rspec', '~> 0.5.1', require: false, feature_category: :shared
-
- gem 'letter_opener_web', '~> 3.0.0', feature_category: :shared
- gem 'lookbook', '~> 2.3', feature_category: :shared
@@ -90,9 +83,9 @@
-end
-
-group :development, :test do
-- gem 'deprecation_toolkit', '~> 1.5.1', require: false, feature_category: :shared
+- gem 'deprecation_toolkit', '~> 2.2.3', require: false, feature_category: :shared
- gem 'bullet', '~> 7.2.0', feature_category: :shared
-- gem 'parser', '= 3.3.7.1', feature_category: :shared
+- gem 'parser', '= 3.3.8.0', feature_category: :shared
- gem 'pry-byebug', feature_category: :shared
- gem 'pry-rails', '~> 0.3.9', feature_category: :shared
- gem 'pry-shell', '~> 0.6.4', feature_category: :shared
@@ -120,7 +113,7 @@
- gem 'influxdb-client', '~> 3.1', require: false, feature_category: :tooling
-
- gem 'knapsack', '~> 4.0.0', feature_category: :tooling
-- gem 'crystalball', '~> 0.7.0', require: false, feature_category: :tooling
+- gem 'gitlab-crystalball', '~> 0.7.2', require: false, feature_category: :tooling
- gem 'test_file_finder', '~> 0.3.1', feature_category: :tooling
-
- gem 'simple_po_parser', '~> 1.1.6', require: false, feature_category: :shared
@@ -144,7 +137,7 @@
-end
-
group :development, :test, :danger do
- gem 'gitlab-dangerfiles', '~> 4.8.0', require: false, feature_category: :tooling
+ gem 'gitlab-dangerfiles', '~> 4.9.0', require: false, feature_category: :tooling
end
-group :development, :test, :coverage do
@@ -187,17 +180,18 @@
- gem 'rspec_junit_formatter', feature_category: :shared
- gem 'guard-rspec', feature_category: :shared
- gem 'axe-core-rspec', '~> 4.10.0', feature_category: :tooling
+- gem 'state_machines-rspec', '~> 0.6', feature_category: :shared
-
- # Moved in `test` because https://gitlab.com/gitlab-org/gitlab/-/issues/217527
- gem 'derailed_benchmarks', require: false, feature_category: :shared
-
-- gem 'gitlab_quality-test_tooling', '~> 2.8.0', require: false, feature_category: :tooling
+- gem 'gitlab_quality-test_tooling', '~> 2.10.0', require: false, feature_category: :tooling
-end
-
gem 'octokit', '~> 9.0', feature_category: :importers
# Needed by octokit: https://github.com/octokit/octokit.rb/pull/1688
gem 'faraday-multipart', '~> 1.0', feature_category: :importers
-@@ -643,16 +518,16 @@ gem 'spamcheck', '~> 1.3.0', feature_category: :inside
+@@ -642,16 +514,16 @@ gem 'spamcheck', '~> 1.3.0', feature_category: :inside
gem 'spamcheck', '~> 1.3.0', feature_category: :insider_threat
# Gitaly GRPC protocol definitions
@@ -205,8 +199,8 @@
+gem 'gitaly', '~> 17.8', feature_category: :gitaly
# KAS GRPC protocol definitions
--gem 'gitlab-kas-grpc', '~> 17.9.0.pre.rc2', feature_category: :deployment_management
-+gem 'gitlab-kas-grpc', '~> 17.9', feature_category: :deployment_management
+-gem 'gitlab-kas-grpc', '~> 17.11.0', feature_category: :deployment_management
++gem 'gitlab-kas-grpc', '~> 18.0', feature_category: :deployment_management
# Lock the version before issues below are resolved:
# https://gitlab.com/gitlab-org/gitlab/-/issues/473169#note_2028352939
@@ -217,8 +211,8 @@
gem 'google-protobuf', '~> 3.25', '>= 3.25.3', feature_category: :shared
-@@ -673,7 +548,7 @@ gem 'gitlab-net-dns', '~> 0.10.0', feature_category: :
- gem 'gitlab-net-dns', '~> 0.10.0', feature_category: :shared
+@@ -672,7 +544,7 @@ gem 'gitlab-net-dns', '~> 0.12.0', feature_category: :
+ gem 'gitlab-net-dns', '~> 0.12.0', feature_category: :shared
# Countries list
-gem 'countries', '~> 4.0.0', feature_category: :shared
@@ -226,7 +220,7 @@
gem 'retriable', '~> 3.1.2', feature_category: :shared
-@@ -754,10 +629,15 @@ gem 'duo_api', '~> 1.3', feature_category: :system_acc
+@@ -753,10 +625,15 @@ gem 'duo_api', '~> 1.3', feature_category: :system_acc
gem 'duo_api', '~> 1.3', feature_category: :system_access
@@ -237,9 +231,9 @@
+
gem 'gitlab-sdk', '~> 0.3.0', feature_category: :application_instrumentation
- gem 'paper_trail', '~> 15.0', feature_category: :shared
+ gem 'paper_trail', '~> 16.0', feature_category: :shared
-gem "i18n_data", "~> 0.13.1", feature_category: :system_access
+gem "i18n_data", "~> 0.13", feature_category: :system_access
- gem "gitlab-cloud-connector", "~> 1.5", require: 'gitlab/cloud_connector', feature_category: :cloud_connector
+ gem "gitlab-cloud-connector", "~> 1.11", require: 'gitlab/cloud_connector', feature_category: :cloud_connector
diff --git a/www/gitlab/files/patch-config_gitlab.yml.example b/www/gitlab/files/patch-config_gitlab.yml.example
index 09cb658db5d2..3ace91d53c65 100644
--- a/www/gitlab/files/patch-config_gitlab.yml.example
+++ b/www/gitlab/files/patch-config_gitlab.yml.example
@@ -1,6 +1,6 @@
---- config/gitlab.yml.example.orig 2025-04-16 04:05:48 UTC
+--- config/gitlab.yml.example.orig 2025-05-14 17:45:50 UTC
+++ config/gitlab.yml.example
-@@ -484,7 +484,7 @@ production: &base
+@@ -489,7 +489,7 @@ production: &base
## GitLab Pages
pages:
enabled: false
@@ -9,7 +9,7 @@
# The location where pages are stored (default: shared/pages).
# path: shared/pages
-@@ -494,9 +494,9 @@ production: &base
+@@ -499,9 +499,9 @@ production: &base
host: example.com
port: 80 # Set to 443 if you serve the pages with HTTPS
https: false # Set to true if you serve the pages with HTTPS
@@ -22,7 +22,7 @@
# File that contains the shared secret key for verifying access for gitlab-pages.
# Default is '.gitlab_pages_secret' relative to Rails.root (i.e. root of the GitLab app).
-@@ -1227,13 +1227,13 @@ production: &base
+@@ -1233,13 +1233,13 @@ production: &base
repositories:
storages: # You must have at least a `default` storage path.
default:
@@ -38,7 +38,7 @@
# archive_permissions: 0640 # Permissions for the resulting backup.tar file (default: 0600)
# keep_time: 604800 # default: 0 (forever) (in seconds)
# pg_schema: public # default: nil, it means that all schemas will be backed up
-@@ -1268,12 +1268,12 @@ production: &base
+@@ -1274,12 +1274,12 @@ production: &base
## GitLab Shell settings
gitlab_shell:
@@ -54,7 +54,7 @@
# Git over HTTP
upload_pack: true
-@@ -1288,7 +1288,7 @@ production: &base
+@@ -1294,7 +1294,7 @@ production: &base
workhorse:
# File that contains the secret key for verifying access for gitlab-workhorse.
# Default is '.gitlab_workhorse_secret' relative to Rails.root (i.e. root of the GitLab app).
@@ -63,7 +63,7 @@
cell:
# enabled: false
-@@ -1306,7 +1306,7 @@ production: &base
+@@ -1312,7 +1312,7 @@ production: &base
# enabled: true
# File that contains the secret key for verifying access for gitlab-kas.
# Default is '.gitlab_kas_secret' relative to Rails.root (i.e. root of the GitLab app).
@@ -72,7 +72,7 @@
# The URL to the external KAS API (used by the Kubernetes agents)
# external_url: wss://kas.example.com
-@@ -1333,13 +1333,13 @@ production: &base
+@@ -1339,13 +1339,13 @@ production: &base
## GitLab Elasticsearch settings
elasticsearch:
@@ -88,7 +88,7 @@
## Webpack settings
# If enabled, this will tell rails to serve frontend assets from the webpack-dev-server running
-@@ -1360,18 +1360,18 @@ production: &base
+@@ -1366,18 +1366,18 @@ production: &base
# Sidekiq exporter is a dedicated Prometheus metrics server optionally running alongside Sidekiq.
sidekiq_exporter:
@@ -114,7 +114,7 @@
# Web exporter is a dedicated Prometheus metrics server optionally running alongside Puma.
web_exporter:
-@@ -1598,13 +1598,13 @@ test:
+@@ -1604,13 +1604,13 @@ test:
gitaly_address: unix:tmp/tests/gitaly/praefect.socket
gitaly:
diff --git a/www/gitlab/files/patch-config_initializers_1__settings.rb b/www/gitlab/files/patch-config_initializers_1__settings.rb
index 2c8adc9a51e9..6a3c4491eb22 100644
--- a/www/gitlab/files/patch-config_initializers_1__settings.rb
+++ b/www/gitlab/files/patch-config_initializers_1__settings.rb
@@ -1,6 +1,6 @@
---- config/initializers/1_settings.rb.orig 2025-03-19 10:41:02 UTC
+--- config/initializers/1_settings.rb.orig 2025-05-14 17:45:50 UTC
+++ config/initializers/1_settings.rb
-@@ -215,11 +215,7 @@ Settings.gitlab['ssh_user'] ||= Settings.gitlab.user
+@@ -216,11 +216,7 @@ Settings.gitlab['ssh_user'] ||= Settings.gitlab.user
Settings.gitlab['user'] ||= 'git'
# External configuration may cause the ssh user to differ from the GitLab user
Settings.gitlab['ssh_user'] ||= Settings.gitlab.user
diff --git a/www/gitlab/files/patch-gems_gitlab-backup-cli_gitlab-backup-cli.gemspec b/www/gitlab/files/patch-gems_gitlab-backup-cli_gitlab-backup-cli.gemspec
index 7346dbb850eb..9844d39df8d4 100644
--- a/www/gitlab/files/patch-gems_gitlab-backup-cli_gitlab-backup-cli.gemspec
+++ b/www/gitlab/files/patch-gems_gitlab-backup-cli_gitlab-backup-cli.gemspec
@@ -1,15 +1,15 @@
---- gems/gitlab-backup-cli/gitlab-backup-cli.gemspec.orig 2025-03-19 10:41:02 UTC
+--- gems/gitlab-backup-cli/gitlab-backup-cli.gemspec.orig 2025-05-14 17:45:50 UTC
+++ gems/gitlab-backup-cli/gitlab-backup-cli.gemspec
-@@ -26,7 +26,7 @@ Gem::Specification.new do |spec|
-
+@@ -27,7 +27,7 @@ Gem::Specification.new do |spec|
spec.add_dependency "activerecord", ">= 7"
spec.add_dependency "activesupport", ">= 7"
+ spec.add_dependency "bigdecimal", "~> 3.1"
- spec.add_dependency "googleauth", "~> 1.8.1" # https://gitlab.com/gitlab-org/gitlab/-/issues/449019
+ spec.add_dependency "googleauth", "~> 1.8" # https://gitlab.com/gitlab-org/gitlab/-/issues/449019
spec.add_dependency "google-cloud-storage_transfer", "~> 1.2.0"
+ spec.add_dependency "mutex_m", "~> 0.3"
spec.add_dependency "pg", "~> 1.5.6"
- spec.add_dependency "rainbow", "~> 3.0"
-@@ -38,11 +38,11 @@ Gem::Specification.new do |spec|
+@@ -40,11 +40,11 @@ Gem::Specification.new do |spec|
spec.add_dependency "concurrent-ruby", "~> 1.1"
spec.add_dependency "faraday", "~> 2"
spec.add_dependency "google-protobuf", "~> 3.25", ">= 3.25.3"
diff --git a/www/gitlab/pkg-message b/www/gitlab/pkg-message
index 6428be5f3115..59992ca06610 100644
--- a/www/gitlab/pkg-message
+++ b/www/gitlab/pkg-message
@@ -6,7 +6,7 @@ Gitlab was installed successfully.
You now need to set up the various components of Gitlab, so please
follow the instructions in the guide at:
-https://gitlab.com/mfechner/freebsd-gitlab-docu/blob/master/install/17.11-freebsd.md
+https://gitlab.com/mfechner/freebsd-gitlab-docu/blob/master/install/18.0-freebsd.md
EOM
type: install
}
@@ -20,7 +20,7 @@ EOM
If you just installed an major upgrade of GitLab, for example you
switched from 17.9.x to 17.10.x, please follow the instructions in the guide at:
-https://gitlab.com/mfechner/freebsd-gitlab-docu/blob/master/update/17.10-17.11-freebsd.md
+https://gitlab.com/mfechner/freebsd-gitlab-docu/blob/master/update/17.11-18.0-freebsd.md
If you just installed an minor upgrade of GitLab please follow
the instructions in the guide at:
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
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
diff --git a/www/nginx-devel/Makefile b/www/nginx-devel/Makefile
index 3ad175d68cd2..0bc9b585b4ab 100644
--- a/www/nginx-devel/Makefile
+++ b/www/nginx-devel/Makefile
@@ -1,6 +1,6 @@
PORTNAME?= nginx
PORTVERSION= 1.28.0
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= www
MASTER_SITES= https://nginx.org/download/ \
LOCAL/osa
diff --git a/www/nginx-devel/Makefile.extmod b/www/nginx-devel/Makefile.extmod
index 248598e06b69..7011ee65f3f5 100644
--- a/www/nginx-devel/Makefile.extmod
+++ b/www/nginx-devel/Makefile.extmod
@@ -143,10 +143,8 @@ HTTP_PUSH_VARS= DSO_EXTMODS+=push
HTTP_PUSH_STREAM_GH_TUPLE= wandenberg:nginx-push-stream-module:0.6.0:pushstream
HTTP_PUSH_STREAM_VARS= DSO_EXTMODS+=pushstream
-HTTP_REDIS_MASTER_SITES= LOCAL/osa:redis
-HTTP_REDIS_DISTFILES= ngx_http_redis-0.3.9.tar.gz:redis
-HTTP_REDIS_VARS= DSO_EXTDIRS+=ngx_http_redis-0.3.9
-HTTP_REDIS_EXTRA_PATCHES= ${PATCHDIR}/extra-patch-ngx_http_redis_module.c
+HTTP_REDIS_GH_TUPLE= osokin:ngx_http_redis:ad7d90c:redis
+HTTP_REDIS_VARS= DSO_EXTMODS+=redis
HTTP_SLICE_AHEAD_EXTRA_PATCHES= ${PATCHDIR}/extra-patch-src_http_modules_ngx_http_slice_read_ahead.c
diff --git a/www/nginx-devel/distinfo b/www/nginx-devel/distinfo
index 29cbdd4b1f6d..558ce00747a7 100644
--- a/www/nginx-devel/distinfo
+++ b/www/nginx-devel/distinfo
@@ -1,10 +1,10 @@
-TIMESTAMP = 1746537167
+TIMESTAMP = 1747580329
SHA256 (nginx-1.28.0.tar.gz) = c6b5c6b086c0df9d3ca3ff5e084c1d0ef909e6038279c71c1c3e985f576ff76a
SIZE (nginx-1.28.0.tar.gz) = 1280111
SHA256 (nginx_mogilefs_module-1.0.4.tar.gz) = 7ac230d30907f013dff8d435a118619ea6168aa3714dba62c6962d350c6295ae
SIZE (nginx_mogilefs_module-1.0.4.tar.gz) = 11208
-SHA256 (ngx_http_redis-0.3.9.tar.gz) = 21f87540f0a44b23ffa5df16fb3d788bc90803b255ef14f9c26e3847a6f26f46
-SIZE (ngx_http_redis-0.3.9.tar.gz) = 13051
+SHA256 (osokin-ngx_http_redis-ad7d90c_GH0.tar.gz) = 3ac409accbfdc2da2288a37eba8e918b63cad460dab6b29e9f3e7b9823dca744
+SIZE (osokin-ngx_http_redis-ad7d90c_GH0.tar.gz) = 12724
SHA256 (passenger-6.0.27.tar.gz) = 82c830aee98feece09e84309c2d0c6bb3f7b22a3c8e33cfe93b5e0d498615d0f
SIZE (passenger-6.0.27.tar.gz) = 7548637
SHA256 (msva-nginx_ajp_module-fcbb2cc_GH0.tar.gz) = 522e94c59f5783f281d868ede2adf325bf2f8ffb9e62cf8451d4b9ac0516916c
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
diff --git a/www/rubygem-actioncable-gitlab/Makefile b/www/rubygem-actioncable-gitlab/Makefile
new file mode 100644
index 000000000000..a6870b1ba8c0
--- /dev/null
+++ b/www/rubygem-actioncable-gitlab/Makefile
@@ -0,0 +1,28 @@
+PORTNAME= actioncable
+PORTVERSION= ${RAILS_VERSION}
+CATEGORIES= www rubygems
+MASTER_SITES= RG
+PKGNAMESUFFIX= -gitlab
+
+MAINTAINER= mfechner@FreeBSD.org
+COMMENT= Structure many real-time application concerns into channels over a single WebSocket connection
+WWW= https://github.com/rails/rails/tree/main/actioncable \
+ https://rubyonrails.org/
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/MIT-LICENSE
+
+RUN_DEPENDS= rubygem-actionpack-gitlab>=${PORTVERSION}<${PORTVERSION}_99:www/rubygem-actionpack-gitlab \
+ rubygem-activesupport-gitlab>=${PORTVERSION}<${PORTVERSION}_99:devel/rubygem-activesupport-gitlab \
+ rubygem-nio4r>=2.0<3:devel/rubygem-nio4r \
+ rubygem-websocket-driver>=0.6.1:www/rubygem-websocket-driver \
+ rubygem-zeitwerk>=2.6<3:devel/rubygem-zeitwerk
+
+USES= gem
+
+NO_ARCH= yes
+
+PORTSCOUT= limit:^7\.1\.
+
+.include "${.CURDIR}/../../www/gitlab/Makefile.common"
+.include <bsd.port.mk>
diff --git a/www/rubygem-actioncable-gitlab/distinfo b/www/rubygem-actioncable-gitlab/distinfo
new file mode 100644
index 000000000000..3d467b025814
--- /dev/null
+++ b/www/rubygem-actioncable-gitlab/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1734888822
+SHA256 (rubygem/actioncable-7.1.5.1.gem) = 764637b5b2d97b94e412d562c177bfd16b0fd769d55c98846362f5263e8aaa0d
+SIZE (rubygem/actioncable-7.1.5.1.gem) = 48128
diff --git a/www/rubygem-actioncable-gitlab/pkg-descr b/www/rubygem-actioncable-gitlab/pkg-descr
new file mode 100644
index 000000000000..5d7feb3ca8cf
--- /dev/null
+++ b/www/rubygem-actioncable-gitlab/pkg-descr
@@ -0,0 +1,7 @@
+Action Cable seamlessly integrates WebSockets with the rest of your Rails
+application. It allows for real-time features to be written in Ruby in the same
+style and form as the rest of your Rails application, while still being
+performant and scalable. It's a full-stack offering that provides both a
+client-side JavaScript framework and a server-side Ruby framework. You have
+access to your full domain model written with Active Record or your ORM of
+choice.
diff --git a/www/rubygem-actionpack-gitlab/Makefile b/www/rubygem-actionpack-gitlab/Makefile
new file mode 100644
index 000000000000..c9a5845999ee
--- /dev/null
+++ b/www/rubygem-actionpack-gitlab/Makefile
@@ -0,0 +1,32 @@
+PORTNAME= actionpack
+PORTVERSION= ${RAILS_VERSION}
+CATEGORIES= www rubygems
+MASTER_SITES= RG
+PKGNAMESUFFIX= -gitlab
+
+MAINTAINER= mfechner@FreeBSD.org
+COMMENT= Action Controller and Action View of Rails MVC Framework
+WWW= https://github.com/rails/rails/tree/main/actionpack \
+ https://rubyonrails.org/
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/MIT-LICENSE
+
+RUN_DEPENDS= rubygem-actionview-gitlab>=${PORTVERSION}<${PORTVERSION}_99:devel/rubygem-actionview-gitlab \
+ rubygem-activesupport-gitlab>=${PORTVERSION}<${PORTVERSION}_99:devel/rubygem-activesupport-gitlab \
+ rubygem-nokogiri>=1.8.5:textproc/rubygem-nokogiri \
+ rubygem-racc>=0:devel/rubygem-racc \
+ rubygem-rack22>=2.2.4,3:www/rubygem-rack22 \
+ rubygem-rack-session10>=1.0.1:www/rubygem-rack-session10 \
+ rubygem-rack-test>=0.6.3:www/rubygem-rack-test \
+ 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= gem
+
+NO_ARCH= yes
+
+PORTSCOUT= limit:^7\.1\.
+
+.include "${.CURDIR}/../../www/gitlab/Makefile.common"
+.include <bsd.port.mk>
diff --git a/www/rubygem-actionpack-gitlab/distinfo b/www/rubygem-actionpack-gitlab/distinfo
new file mode 100644
index 000000000000..f78deede4ac7
--- /dev/null
+++ b/www/rubygem-actionpack-gitlab/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1734888824
+SHA256 (rubygem/actionpack-7.1.5.1.gem) = 2bc263d9f43f16cc3b3360f59659ab11f140577602f371f1a968e2672b38d718
+SIZE (rubygem/actionpack-7.1.5.1.gem) = 246272
diff --git a/www/rubygem-actionpack-gitlab/pkg-descr b/www/rubygem-actionpack-gitlab/pkg-descr
new file mode 100644
index 000000000000..2f8df748c74a
--- /dev/null
+++ b/www/rubygem-actionpack-gitlab/pkg-descr
@@ -0,0 +1,19 @@
+Action Pack is a framework for handling and responding to web requests. It
+provides mechanisms for routing (mapping request URLs to actions), defining
+controllers that implement actions, and generating responses. In short, Action
+Pack provides the controller layer in the MVC paradigm.
+
+It consists of several modules:
+- Action Dispatch, which parses information about the web request, handles
+ routing as defined by the user, and does advanced processing related to HTTP
+ such as MIME-type negotiation, decoding parameters in POST, PATCH, or PUT
+ bodies, handling HTTP caching logic, cookies and sessions.
+- Action Controller, which provides a base controller class that can be
+ subclassed to implement filters and actions to handle requests. The result of
+ an action is typically content generated from views.
+
+With the Ruby on Rails framework, users only directly interface with the Action
+Controller module. Necessary Action Dispatch functionality is activated by
+default and Action View rendering is implicitly triggered by Action Controller.
+However, these modules are designed to function on their own and can be used
+outside of Rails.
diff --git a/www/rubygem-coverband/Makefile b/www/rubygem-coverband/Makefile
index 8fd3618b83c0..2e1e1e7adbc2 100644
--- a/www/rubygem-coverband/Makefile
+++ b/www/rubygem-coverband/Makefile
@@ -1,5 +1,5 @@
PORTNAME= coverband
-PORTVERSION= 6.1.4
+PORTVERSION= 6.1.5
CATEGORIES= www rubygems
MASTER_SITES= RG
@@ -10,7 +10,8 @@ WWW= https://github.com/danmayer/coverband
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
-RUN_DEPENDS= rubygem-redis>=3.0:databases/rubygem-redis
+RUN_DEPENDS= rubygem-base64>=0:converters/rubygem-base64 \
+ rubygem-redis>=3.0:databases/rubygem-redis
USES= gem shebangfix
diff --git a/www/rubygem-coverband/distinfo b/www/rubygem-coverband/distinfo
index 6a23f094326a..4920d2de9087 100644
--- a/www/rubygem-coverband/distinfo
+++ b/www/rubygem-coverband/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1732165897
-SHA256 (rubygem/coverband-6.1.4.gem) = 65cf398e6dd00ea7ec71381dc90bf7636b76799fba1f3f48871d746b350e17c8
-SIZE (rubygem/coverband-6.1.4.gem) = 211456
+TIMESTAMP = 1747309426
+SHA256 (rubygem/coverband-6.1.5.gem) = 45173be9b00f70c1700d5a0d5bde1d553288862741dc5c602c58d3b3fb0f8225
+SIZE (rubygem/coverband-6.1.5.gem) = 212480
diff --git a/www/rubygem-cssbundling-rails-rails-gitlab/Makefile b/www/rubygem-cssbundling-rails-rails-gitlab/Makefile
new file mode 100644
index 000000000000..87c19ec0b992
--- /dev/null
+++ b/www/rubygem-cssbundling-rails-rails-gitlab/Makefile
@@ -0,0 +1,20 @@
+PORTNAME= cssbundling-rails
+PORTVERSION= 1.4.3
+CATEGORIES= www rubygems
+MASTER_SITES= RG
+PKGNAMESUFFIX= -rails-gitlab
+
+MAINTAINER= mfechner@FreeBSD.org
+COMMENT= Bundle and process CSS with Tailwind, Bootstrap, PostCSS, Sass in Rails via Node.js
+WWW= https://github.com/rails/cssbundling-rails
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/MIT-LICENSE
+
+RUN_DEPENDS= rubygem-railties-gitlab>=6.0.0:www/rubygem-railties-gitlab
+
+USES= gem
+
+NO_ARCH= yes
+
+.include <bsd.port.mk>
diff --git a/www/rubygem-cssbundling-rails-rails-gitlab/distinfo b/www/rubygem-cssbundling-rails-rails-gitlab/distinfo
new file mode 100644
index 000000000000..f2cba7b71cfe
--- /dev/null
+++ b/www/rubygem-cssbundling-rails-rails-gitlab/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1742070756
+SHA256 (rubygem/cssbundling-rails-1.4.3.gem) = 53aecd5a7d24ac9c8fcd92975acd0e830fead4ee4583d3d3d49bb64651946e41
+SIZE (rubygem/cssbundling-rails-1.4.3.gem) = 11776
diff --git a/www/rubygem-cssbundling-rails-rails-gitlab/pkg-descr b/www/rubygem-cssbundling-rails-rails-gitlab/pkg-descr
new file mode 100644
index 000000000000..3bf0ef49a085
--- /dev/null
+++ b/www/rubygem-cssbundling-rails-rails-gitlab/pkg-descr
@@ -0,0 +1,12 @@
+Use Tailwind CSS, Bootstrap, Bulma, PostCSS, or Dart Sass to bundle and process
+your CSS, then deliver it via the asset pipeline in Rails. This gem provides
+installers to get you going with the bundler of your choice in a new Rails
+application, and a convention to use app/assets/builds to hold your bundled
+output as artifacts that are not checked into source control (the installer adds
+this directory to .gitignore by default).
+
+You develop using this approach by running the bundler in watch mode in a
+terminal with yarn build:css --watch (and your Rails server in another, if
+you're not using something like puma-dev). You can also use ./bin/dev, which
+will start both the Rails server and the CSS build watcher (along with a JS
+build watcher, if you're also using jsbundling-rails).
diff --git a/www/rubygem-gon-rails-gitlab/Makefile b/www/rubygem-gon-rails-gitlab/Makefile
new file mode 100644
index 000000000000..d233ce4c6716
--- /dev/null
+++ b/www/rubygem-gon-rails-gitlab/Makefile
@@ -0,0 +1,24 @@
+PORTNAME= gon
+PORTVERSION= 6.4.0
+CATEGORIES= www rubygems
+MASTER_SITES= RG
+PKGNAMESUFFIX= -rails-gitlab
+
+MAINTAINER= mfechner@FreeBSD.org
+COMMENT= Framework to pass data to JS easily
+WWW= https://github.com/gazay/gon
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+RUN_DEPENDS= rubygem-actionpack-gitlab>=3.0.20:www/rubygem-actionpack-gitlab \
+ rubygem-i18n>=0.7:devel/rubygem-i18n \
+ rubygem-multi_json>=0:devel/rubygem-multi_json \
+ rubygem-request_store>=1.0:devel/rubygem-request_store
+
+USES= cpe gem
+CPE_VENDOR= ${PORTNAME}_project
+
+NO_ARCH= yes
+
+.include <bsd.port.mk>
diff --git a/www/rubygem-gon-rails-gitlab/distinfo b/www/rubygem-gon-rails-gitlab/distinfo
new file mode 100644
index 000000000000..70a568978163
--- /dev/null
+++ b/www/rubygem-gon-rails-gitlab/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1619177531
+SHA256 (rubygem/gon-6.4.0.gem) = e3a618d659392890f1aa7db420f17c75fd7d35aeb5f8fe003697d02c4b88d2f0
+SIZE (rubygem/gon-6.4.0.gem) = 158720
diff --git a/www/rubygem-gon-rails-gitlab/pkg-descr b/www/rubygem-gon-rails-gitlab/pkg-descr
new file mode 100644
index 000000000000..f3dfc03b45c8
--- /dev/null
+++ b/www/rubygem-gon-rails-gitlab/pkg-descr
@@ -0,0 +1,2 @@
+If you need to send some data to your js files and you don't want to do this
+with long way trough views and parsing - use this force!
diff --git a/www/rubygem-kaminari-actionview-rails-gitlab/Makefile b/www/rubygem-kaminari-actionview-rails-gitlab/Makefile
new file mode 100644
index 000000000000..954983f1e9fa
--- /dev/null
+++ b/www/rubygem-kaminari-actionview-rails-gitlab/Makefile
@@ -0,0 +1,21 @@
+PORTNAME= kaminari-actionview
+PORTVERSION= 1.2.2
+CATEGORIES= www rubygems
+MASTER_SITES= RG
+PKGNAMESUFFIX= -rails-gitlab
+
+MAINTAINER= ruby@FreeBSD.org
+COMMENT= Kaminari Action View adapter
+WWW= https://github.com/kaminari/kaminari/tree/master/kaminari-actionview
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/MIT-LICENSE
+
+RUN_DEPENDS= rubygem-actionview-gitlab>=0:devel/rubygem-actionview-gitlab \
+ rubygem-kaminari-core>=${PORTVERSION}:www/rubygem-kaminari-core
+
+USES= gem
+
+NO_ARCH= yes
+
+.include <bsd.port.mk>
diff --git a/www/rubygem-kaminari-actionview-rails-gitlab/distinfo b/www/rubygem-kaminari-actionview-rails-gitlab/distinfo
new file mode 100644
index 000000000000..9e9ced8bcaa2
--- /dev/null
+++ b/www/rubygem-kaminari-actionview-rails-gitlab/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1641046940
+SHA256 (rubygem/kaminari-actionview-1.2.2.gem) = 1330f6fc8b59a4a4ef6a549ff8a224797289ebf7a3a503e8c1652535287cc909
+SIZE (rubygem/kaminari-actionview-1.2.2.gem) = 6656
diff --git a/www/rubygem-kaminari-actionview-rails-gitlab/pkg-descr b/www/rubygem-kaminari-actionview-rails-gitlab/pkg-descr
new file mode 100644
index 000000000000..e0618fca67d8
--- /dev/null
+++ b/www/rubygem-kaminari-actionview-rails-gitlab/pkg-descr
@@ -0,0 +1 @@
+kaminari-actionview provides pagination helpers for your Action View templates.
diff --git a/www/rubygem-kaminari-activerecord-rails-gitlab/Makefile b/www/rubygem-kaminari-activerecord-rails-gitlab/Makefile
new file mode 100644
index 000000000000..b11458d6b41b
--- /dev/null
+++ b/www/rubygem-kaminari-activerecord-rails-gitlab/Makefile
@@ -0,0 +1,21 @@
+PORTNAME= kaminari-activerecord
+PORTVERSION= 1.2.2
+CATEGORIES= www rubygems
+MASTER_SITES= RG
+PKGNAMESUFFIX= -rails-gitlab
+
+MAINTAINER= ruby@FreeBSD.org
+COMMENT= Kaminari Active Record adapter
+WWW= https://github.com/kaminari/kaminari/tree/master/kaminari-activerecord
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/MIT-LICENSE
+
+RUN_DEPENDS= rubygem-activerecord-gitlab>=0:databases/rubygem-activerecord-gitlab \
+ rubygem-kaminari-core>=${PORTVERSION}:www/rubygem-kaminari-core
+
+USES= gem
+
+NO_ARCH= yes
+
+.include <bsd.port.mk>
diff --git a/www/rubygem-kaminari-activerecord-rails-gitlab/distinfo b/www/rubygem-kaminari-activerecord-rails-gitlab/distinfo
new file mode 100644
index 000000000000..85db9296f918
--- /dev/null
+++ b/www/rubygem-kaminari-activerecord-rails-gitlab/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1641046950
+SHA256 (rubygem/kaminari-activerecord-1.2.2.gem) = 0dd3a67bab356a356f36b3b7236bcb81cef313095365befe8e98057dd2472430
+SIZE (rubygem/kaminari-activerecord-1.2.2.gem) = 8192
diff --git a/www/rubygem-kaminari-activerecord-rails-gitlab/pkg-descr b/www/rubygem-kaminari-activerecord-rails-gitlab/pkg-descr
new file mode 100644
index 000000000000..f668bf61ed99
--- /dev/null
+++ b/www/rubygem-kaminari-activerecord-rails-gitlab/pkg-descr
@@ -0,0 +1 @@
+kaminari-activerecord lets your Active Record models be paginatable.
diff --git a/www/rubygem-kaminari-rails-gitlab/Makefile b/www/rubygem-kaminari-rails-gitlab/Makefile
new file mode 100644
index 000000000000..70015842acd4
--- /dev/null
+++ b/www/rubygem-kaminari-rails-gitlab/Makefile
@@ -0,0 +1,25 @@
+PORTNAME= kaminari
+PORTVERSION= 1.2.2
+CATEGORIES= www rubygems
+MASTER_SITES= RG
+PKGNAMESUFFIX= -rails-gitlab
+
+MAINTAINER= ruby@FreeBSD.org
+COMMENT= Sophisticated paginator for Rails 4+
+WWW= https://github.com/kaminari/kaminari
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/MIT-LICENSE
+
+RUN_DEPENDS= rubygem-activesupport-gitlab>=4.1.0:devel/rubygem-activesupport-gitlab \
+ rubygem-kaminari-actionview-rails-gitlab>=${PORTVERSION}:www/rubygem-kaminari-actionview-rails-gitlab \
+ rubygem-kaminari-activerecord-rails-gitlab>=${PORTVERSION}:www/rubygem-kaminari-activerecord-rails-gitlab \
+ rubygem-kaminari-core>=${PORTVERSION}:www/rubygem-kaminari-core
+
+USES= cpe gem
+
+NO_ARCH= yes
+
+CPE_VENDOR= kaminari_project
+
+.include <bsd.port.mk>
diff --git a/www/rubygem-kaminari-rails-gitlab/distinfo b/www/rubygem-kaminari-rails-gitlab/distinfo
new file mode 100644
index 000000000000..f8e7efd0cf3a
--- /dev/null
+++ b/www/rubygem-kaminari-rails-gitlab/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1641046962
+SHA256 (rubygem/kaminari-1.2.2.gem) = c4076ff9adccc6109408333f87b5c4abbda5e39dc464bd4c66d06d9f73442a3e
+SIZE (rubygem/kaminari-1.2.2.gem) = 23552
diff --git a/www/rubygem-kaminari-rails-gitlab/pkg-descr b/www/rubygem-kaminari-rails-gitlab/pkg-descr
new file mode 100644
index 000000000000..9f20e0a09f60
--- /dev/null
+++ b/www/rubygem-kaminari-rails-gitlab/pkg-descr
@@ -0,0 +1,2 @@
+Kaminari is a Scope & Engine based, clean, powerful, agnostic, customizable and
+sophisticated paginator for Rails 3
diff --git a/www/rubygem-lograge-rails-gitlab/Makefile b/www/rubygem-lograge-rails-gitlab/Makefile
new file mode 100644
index 000000000000..be924d3cc367
--- /dev/null
+++ b/www/rubygem-lograge-rails-gitlab/Makefile
@@ -0,0 +1,22 @@
+PORTNAME= lograge
+PORTVERSION= 0.14.0
+CATEGORIES= www rubygems
+MASTER_SITES= RG
+PKGNAMESUFFIX= -rails-gitlab
+
+MAINTAINER= ruby@FreeBSD.org
+COMMENT= Tame Rails' multi-line logging into a single line per request #'
+WWW= https://github.com/roidrage/lograge
+
+LICENSE= MIT
+
+RUN_DEPENDS= rubygem-actionpack-gitlab>=4:www/rubygem-actionpack-gitlab \
+ rubygem-activesupport-gitlab>=4:devel/rubygem-activesupport-gitlab \
+ rubygem-railties-gitlab>=4:www/rubygem-railties-gitlab \
+ rubygem-request_store>=1.0<2:devel/rubygem-request_store
+
+USES= gem
+
+NO_ARCH= yes
+
+.include <bsd.port.mk>
diff --git a/www/rubygem-lograge-rails-gitlab/distinfo b/www/rubygem-lograge-rails-gitlab/distinfo
new file mode 100644
index 000000000000..e43a648f18f6
--- /dev/null
+++ b/www/rubygem-lograge-rails-gitlab/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1697030448
+SHA256 (rubygem/lograge-0.14.0.gem) = 42371a75823775f166f727639f5ddce73dd149452a55fc94b90c303213dc9ae1
+SIZE (rubygem/lograge-0.14.0.gem) = 11264
diff --git a/www/rubygem-lograge-rails-gitlab/pkg-descr b/www/rubygem-lograge-rails-gitlab/pkg-descr
new file mode 100644
index 000000000000..e7f52af2c168
--- /dev/null
+++ b/www/rubygem-lograge-rails-gitlab/pkg-descr
@@ -0,0 +1,6 @@
+Tame Rails' multi-line logging into a single line per request
+
+Lograge is an attempt to bring sanity to Rails' noisy and unusable, unparsable
+and, in the context of running multiple processes and servers, unreadable
+default logging output. Rails' default approach to log everything is great
+during development, it's terrible when running it in production.
diff --git a/www/rubygem-rails-gitlab/Makefile b/www/rubygem-rails-gitlab/Makefile
new file mode 100644
index 000000000000..fad6645b5e89
--- /dev/null
+++ b/www/rubygem-rails-gitlab/Makefile
@@ -0,0 +1,49 @@
+PORTNAME= rails
+PORTVERSION= ${RAILS_VERSION}
+CATEGORIES= www rubygems
+MASTER_SITES= RG
+PKGNAMESUFFIX= -gitlab
+
+MAINTAINER= mfechner@FreeBSD.org
+COMMENT= Full-stack web application framework
+WWW= https://rubyonrails.org/ \
+ https://github.com/rails/rails
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/MIT-LICENSE
+
+RUN_DEPENDS= rubygem-actioncable-gitlab>=${PORTVERSION}<${PORTVERSION}_99:www/rubygem-actioncable-gitlab \
+ rubygem-actionmailbox-gitlab>=${PORTVERSION}<${PORTVERSION}_99:mail/rubygem-actionmailbox-gitlab \
+ rubygem-actionmailer-gitlab>=${PORTVERSION}<${PORTVERSION}_99:mail/rubygem-actionmailer-gitlab \
+ rubygem-actionpack-gitlab>=${PORTVERSION}<${PORTVERSION}_99:www/rubygem-actionpack-gitlab \
+ rubygem-actiontext-gitlab>=${PORTVERSION}<${PORTVERSION}_99:textproc/rubygem-actiontext-gitlab \
+ rubygem-actionview-gitlab>=${PORTVERSION}<${PORTVERSION}_99:devel/rubygem-actionview-gitlab \
+ rubygem-activejob-gitlab>=${PORTVERSION}<${PORTVERSION}_99:devel/rubygem-activejob-gitlab \
+ rubygem-activemodel-gitlab>=${PORTVERSION}<${PORTVERSION}_99:databases/rubygem-activemodel-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-bundler>=1.15.0:sysutils/rubygem-bundler \
+ rubygem-railties-gitlab>=${PORTVERSION}<${PORTVERSION}_99:www/rubygem-railties-gitlab
+
+USES= cpe gem
+
+NO_ARCH= yes
+
+CPE_VENDOR= rubyonrails
+CPE_PRODUCT= ruby_on_rails
+
+PORTSCOUT= limit:^7\.1\.
+
+.include <bsd.port.pre.mk>
+
+.if ${RUBY_VER} <= 3.1
+RUN_DEPENDS+= rubygem-cgi>=0.3.6:www/rubygem-cgi
+.endif
+
+.if ${RUBY_VER} == 3.1
+RUN_DEPENDS+= rubygem-error_highlight>=0.4.0:devel/rubygem-error_highlight
+.endif
+
+.include "${.CURDIR}/../../www/gitlab/Makefile.common"
+.include <bsd.port.post.mk>
diff --git a/www/rubygem-rails-gitlab/distinfo b/www/rubygem-rails-gitlab/distinfo
new file mode 100644
index 000000000000..1ca3ce97bc6c
--- /dev/null
+++ b/www/rubygem-rails-gitlab/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1734888826
+SHA256 (rubygem/rails-7.1.5.1.gem) = 05aea2ed7b6392b41ce0fc11455de118455025a431b6ea334a7ac2b101608804
+SIZE (rubygem/rails-7.1.5.1.gem) = 7168
diff --git a/www/rubygem-rails-gitlab/pkg-descr b/www/rubygem-rails-gitlab/pkg-descr
new file mode 100644
index 000000000000..5936b0adc42e
--- /dev/null
+++ b/www/rubygem-rails-gitlab/pkg-descr
@@ -0,0 +1,23 @@
+Rails is a web-application framework that includes everything needed to create
+database-backed web applications according to the Model-View-Controller (MVC)
+pattern.
+
+Understanding the MVC pattern is key to understanding Rails. MVC divides your
+application into three layers: Model, View, and Controller, each with a specific
+responsibility.
+
+Active Record, Active Model, Action Pack, and Action View can each be used
+independently outside Rails.
+
+In addition to that, Rails also comes with:
+- Action Mailer, a library to generate and send emails
+- Action Mailbox, a library to receive emails within a Rails application
+- Active Job, a framework for declaring jobs and making them run on a variety of
+ queuing backends
+- Action Cable, a framework to integrate WebSockets with a Rails application
+- Active Storage, a library to attach cloud and local files to Rails
+ applications
+- Action Text, a library to handle rich text content
+- Active Support, a collection of utility classes and standard library
+ extensions that are useful for Rails, and may also be used independently
+ outside Rails
diff --git a/www/rubygem-railties-gitlab/Makefile b/www/rubygem-railties-gitlab/Makefile
new file mode 100644
index 000000000000..0ad939166601
--- /dev/null
+++ b/www/rubygem-railties-gitlab/Makefile
@@ -0,0 +1,36 @@
+PORTNAME= railties
+PORTVERSION= ${RAILS_VERSION}
+CATEGORIES= www rubygems
+MASTER_SITES= RG
+PKGNAMESUFFIX= -gitlab
+
+MAINTAINER= mfechner@FreeBSD.org
+COMMENT= Rails internals: application bootup, plugins, generators, and rake tasks
+WWW= https://github.com/rails/rails/tree/master/railties \
+ https://rubyonrails.org/
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/MIT-LICENSE
+
+RUN_DEPENDS= rubygem-actionpack-gitlab>=${PORTVERSION}<${PORTVERSION}_99:www/rubygem-actionpack-gitlab \
+ rubygem-activesupport-gitlab>=${PORTVERSION}<${PORTVERSION}_99:devel/rubygem-activesupport-gitlab \
+ rubygem-irb-gitlab>=0:devel/rubygem-irb-gitlab \
+ rubygem-rackup10>=1.0.0:www/rubygem-rackup10 \
+ rubygem-rake>=12.2:devel/rubygem-rake \
+ rubygem-thor>=1.2.2<2:devel/rubygem-thor \
+ rubygem-zeitwerk>=2.6<3:devel/rubygem-zeitwerk
+
+USES= gem shebangfix
+
+NO_ARCH= yes
+
+PLIST_FILES= bin/rails
+
+CONFLICTS_INSTALL= rubygem-railties[0-9] rubygem-railties[0-9][0-9]
+
+PORTSCOUT= limit:^7\.1\.
+
+SHEBANG_FILES= lib/rails/generators/rails/app/templates/docker-entrypoint.tt
+
+.include "${.CURDIR}/../../www/gitlab/Makefile.common"
+.include <bsd.port.mk>
diff --git a/www/rubygem-railties-gitlab/distinfo b/www/rubygem-railties-gitlab/distinfo
new file mode 100644
index 000000000000..0650bb7c3d47
--- /dev/null
+++ b/www/rubygem-railties-gitlab/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1734888828
+SHA256 (rubygem/railties-7.1.5.1.gem) = 0be15562e2ded4efdc1b6c30f884b6d838c9ba49573dde042334b752b043e2fb
+SIZE (rubygem/railties-7.1.5.1.gem) = 182272
diff --git a/www/rubygem-railties-gitlab/pkg-descr b/www/rubygem-railties-gitlab/pkg-descr
new file mode 100644
index 000000000000..fbc0144b3be4
--- /dev/null
+++ b/www/rubygem-railties-gitlab/pkg-descr
@@ -0,0 +1,4 @@
+Railties is responsible for gluing all frameworks together. Overall, it:
+- handles the bootstrapping process for a Rails application;
+- manages the rails command line interface;
+- and provides the Rails generators core.
diff --git a/www/rubygem-redis-rack-gitlab/Makefile b/www/rubygem-redis-rack-gitlab/Makefile
new file mode 100644
index 000000000000..f330ace9ea51
--- /dev/null
+++ b/www/rubygem-redis-rack-gitlab/Makefile
@@ -0,0 +1,25 @@
+PORTNAME= redis-rack
+PORTVERSION= 3.0.0
+CATEGORIES= www rubygems
+MASTER_SITES= RG
+PKGNAMESUFFIX= -gitlab
+
+MAINTAINER= mfechner@FreeBSD.org
+COMMENT= Redis Store for Rack
+WWW= https://redis-store.org/redis-rack/ \
+ https://github.com/redis-store/redis-rack
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/MIT-LICENSE
+
+RUN_DEPENDS= rubygem-rack-session10>=0.2.0:www/rubygem-rack-session10 \
+ rubygem-redis-store>=1.2<2:devel/rubygem-redis-store
+
+USES= gem
+
+NO_ARCH= yes
+
+post-install:
+ ${RM} ${STAGEDIR}${PREFIX}/bin/appraisal ${STAGEDIR}${PREFIX}/bin/rake
+
+.include <bsd.port.mk>
diff --git a/www/rubygem-redis-rack-gitlab/distinfo b/www/rubygem-redis-rack-gitlab/distinfo
new file mode 100644
index 000000000000..fc78f75e6b06
--- /dev/null
+++ b/www/rubygem-redis-rack-gitlab/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1702028346
+SHA256 (rubygem/redis-rack-3.0.0.gem) = abb50b82ae10ad4d11ca2e4901bfc2b98256cdafbbd95f80c86fc9e001478380
+SIZE (rubygem/redis-rack-3.0.0.gem) = 14336
diff --git a/www/rubygem-redis-rack-gitlab/pkg-descr b/www/rubygem-redis-rack-gitlab/pkg-descr
new file mode 100644
index 000000000000..d487558f190f
--- /dev/null
+++ b/www/rubygem-redis-rack-gitlab/pkg-descr
@@ -0,0 +1 @@
+Redis Store for Rack
diff --git a/www/rubygem-responders-rails-gitlab/Makefile b/www/rubygem-responders-rails-gitlab/Makefile
new file mode 100644
index 000000000000..63db73157e24
--- /dev/null
+++ b/www/rubygem-responders-rails-gitlab/Makefile
@@ -0,0 +1,21 @@
+PORTNAME= responders
+PORTVERSION= 3.1.1
+CATEGORIES= www rubygems
+MASTER_SITES= RG
+PKGNAMESUFFIX= -rails-gitlab
+
+MAINTAINER= mfechner@FreeBSD.org
+COMMENT= Simple Ruby DSL for making HTTP requests
+WWW= https://github.com/heartcombo/responders
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/MIT-LICENSE
+
+RUN_DEPENDS= rubygem-actionpack-gitlab>=5.2:www/rubygem-actionpack-gitlab \
+ rubygem-railties-gitlab>=5.2:www/rubygem-railties-gitlab
+
+USES= gem
+
+NO_ARCH= yes
+
+.include <bsd.port.mk>
diff --git a/www/rubygem-responders-rails-gitlab/distinfo b/www/rubygem-responders-rails-gitlab/distinfo
new file mode 100644
index 000000000000..6731238316f3
--- /dev/null
+++ b/www/rubygem-responders-rails-gitlab/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1714227796
+SHA256 (rubygem/responders-3.1.1.gem) = 92f2a87e09028347368639cfb468f5fefa745cb0dc2377ef060db1cdd79a341a
+SIZE (rubygem/responders-3.1.1.gem) = 20480
diff --git a/www/rubygem-responders-rails-gitlab/pkg-descr b/www/rubygem-responders-rails-gitlab/pkg-descr
new file mode 100644
index 000000000000..22f8e4f8553b
--- /dev/null
+++ b/www/rubygem-responders-rails-gitlab/pkg-descr
@@ -0,0 +1 @@
+Responders provides a set of responders modules to dry up your Rails app.
diff --git a/x11/nvidia-settings/Makefile b/x11/nvidia-settings/Makefile
index 33a22f949e97..6981bb11fad9 100644
--- a/x11/nvidia-settings/Makefile
+++ b/x11/nvidia-settings/Makefile
@@ -1,5 +1,6 @@
PORTNAME= nvidia-settings
PORTVERSION= 570.133.07
+PORTREVISION= 1
CATEGORIES= x11
MAINTAINER= x11@FreeBSD.org
@@ -19,7 +20,8 @@ LIB_DEPENDS= libfontconfig.so:x11-fonts/fontconfig \
libjansson.so:devel/jansson \
libvdpau.so:multimedia/libvdpau
-USES= gl gmake gnome pkgconfig gettext-runtime xorg
+USES= gl gmake gnome pkgconfig gettext-runtime xorg \
+ desktop-file-utils
USE_GNOME= gtk30 cairo gdkpixbuf
USE_GL= gl
USE_XORG= x11 xext xv xxf86vm
diff --git a/x11/nvidia-settings/files/patch-src_Makefile b/x11/nvidia-settings/files/patch-src_Makefile
new file mode 100644
index 000000000000..9345a5e79aca
--- /dev/null
+++ b/x11/nvidia-settings/files/patch-src_Makefile
@@ -0,0 +1,14 @@
+--- src/Makefile.orig 2025-03-18 20:18:43 UTC
++++ src/Makefile
+@@ -308,9 +308,11 @@ WAYLAND_LIB_install: $(WAYLANDLIB)
+
+ .PHONY: WAYLAND_LIB_install
+ WAYLAND_LIB_install: $(WAYLANDLIB)
++ifdef BUILD_WAYLANDLIB
+ $(MKDIR) $(LIBDIR)
+ $(INSTALL) $(INSTALL_LIB_ARGS) $(WAYLANDLIB) \
+ $(LIBDIR)/$(WAYLANDLIB_SONAME)
++endif
+
+ .PHONY: NVIDIA_SETTINGS_install
+ NVIDIA_SETTINGS_install: $(NVIDIA_SETTINGS)
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