summaryrefslogtreecommitdiff
path: root/lang
diff options
context:
space:
mode:
Diffstat (limited to 'lang')
-rw-r--r--lang/Makefile2
-rw-r--r--lang/amber/Makefile2
-rw-r--r--lang/antimony/Makefile2
-rw-r--r--lang/asm-lsp/Makefile2
-rw-r--r--lang/cairo/Makefile2
-rw-r--r--lang/clover/Makefile2
-rw-r--r--lang/dlang-tools/Makefile2
-rw-r--r--lang/gcc14-devel/files/patch-clang-vec_step21
-rw-r--r--lang/gir-to-d/Makefile1
-rw-r--r--lang/gleam/Makefile1
-rw-r--r--lang/gluon/Makefile2
-rw-r--r--lang/inko/Makefile2
-rw-r--r--lang/kturtle/distinfo6
-rw-r--r--lang/ldc/Makefile10
-rw-r--r--lang/ldc/distinfo10
-rw-r--r--lang/ldc/files/patch-tools_CMakeLists.txt11
-rw-r--r--lang/ldc/pkg-plist31
-rw-r--r--lang/numbat/Makefile2
-rw-r--r--lang/perl5.42/Makefile2
-rw-r--r--lang/perl5.42/distinfo6
-rw-r--r--lang/php81-extensions/Makefile16
-rw-r--r--lang/php81-extensions/pkg-descr2
-rw-r--r--lang/php81/Makefile6
-rw-r--r--lang/php81/distinfo6
-rw-r--r--lang/php82-extensions/Makefile16
-rw-r--r--lang/php82-extensions/pkg-descr2
-rw-r--r--lang/php82/Makefile6
-rw-r--r--lang/php82/distinfo6
-rw-r--r--lang/php83-extensions/Makefile16
-rw-r--r--lang/php83-extensions/pkg-descr2
-rw-r--r--lang/php83/Makefile6
-rw-r--r--lang/php83/distinfo6
-rw-r--r--lang/php84-extensions/Makefile13
-rw-r--r--lang/php84-extensions/pkg-descr2
-rw-r--r--lang/php84/Makefile6
-rw-r--r--lang/php84/distinfo6
-rw-r--r--lang/php85-extensions/Makefile88
-rw-r--r--lang/php85-extensions/pkg-descr5
-rw-r--r--lang/php85/Makefile620
-rw-r--r--lang/php85/distinfo3
-rw-r--r--lang/php85/files/patch-TSRM_TSRM.c11
-rw-r--r--lang/php85/files/patch-build_Makefile.global19
-rw-r--r--lang/php85/files/patch-configure.ac27
-rw-r--r--lang/php85/files/patch-ext_hash_xxhash_xxhash.h46
-rw-r--r--lang/php85/files/patch-ext_pcre_php__pcre.h11
-rw-r--r--lang/php85/files/patch-sapi_apache2handler_config.m411
-rw-r--r--lang/php85/files/patch-sapi_fpm_www.conf.in17
-rw-r--r--lang/php85/files/php_fpm.in102
-rw-r--r--lang/php85/files/php_session.h328
-rw-r--r--lang/php85/pkg-descr6
-rw-r--r--lang/php85/pkg-message.mod24
-rw-r--r--lang/php85/pkg-plist549
-rw-r--r--lang/php85/pkg-plist.mod3
-rw-r--r--lang/pomsky/Makefile2
-rw-r--r--lang/prql/Makefile2
-rw-r--r--lang/py-dhall/Makefile2
-rw-r--r--lang/ratfor/Makefile2
-rw-r--r--lang/rust-bootstrap/Makefile2
-rw-r--r--lang/rust-bootstrap/distinfo6
-rw-r--r--lang/rust/Makefile6
-rw-r--r--lang/rust/distinfo102
-rw-r--r--lang/rust/files/patch-vendor_cc.rs25
-rw-r--r--lang/rustpython/Makefile2
-rw-r--r--lang/sbcl/Makefile2
-rw-r--r--lang/sbcl/distinfo10
-rw-r--r--lang/scryer-prolog/Makefile2
-rw-r--r--lang/silq/Makefile1
-rw-r--r--lang/spidermonkey102/Makefile2
-rw-r--r--lang/spidermonkey115/Makefile2
-rw-r--r--lang/spidermonkey128/Makefile1
-rw-r--r--lang/spidermonkey78/Makefile2
-rw-r--r--lang/spidermonkey91/Makefile2
-rw-r--r--lang/starlark-rust/Makefile2
-rw-r--r--lang/typstfmt/Makefile2
-rw-r--r--lang/typstyle/Makefile2
-rw-r--r--lang/yabasic/Makefile2
-rw-r--r--lang/yabasic/distinfo6
77 files changed, 2067 insertions, 228 deletions
diff --git a/lang/Makefile b/lang/Makefile
index 07c21b53a9b5..4246634f39f0 100644
--- a/lang/Makefile
+++ b/lang/Makefile
@@ -278,6 +278,8 @@
SUBDIR += php83-extensions
SUBDIR += php84
SUBDIR += php84-extensions
+ SUBDIR += php85
+ SUBDIR += php85-extensions
SUBDIR += picoc
SUBDIR += picolisp
SUBDIR += pkl
diff --git a/lang/amber/Makefile b/lang/amber/Makefile
index 10b6fe498198..329d3f50e7e2 100644
--- a/lang/amber/Makefile
+++ b/lang/amber/Makefile
@@ -1,6 +1,6 @@
PORTNAME= amber
DISTVERSION= 0.4.0-alpha
-PORTREVISION= 4
+PORTREVISION= 5
CATEGORIES= lang
PKGNAMESUFFIX= -language
diff --git a/lang/antimony/Makefile b/lang/antimony/Makefile
index b660c940cd4c..9ac7b16df03c 100644
--- a/lang/antimony/Makefile
+++ b/lang/antimony/Makefile
@@ -1,7 +1,7 @@
PORTNAME= antimony
DISTVERSIONPREFIX= v
DISTVERSION= 0.9.0
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= lang
PKGNAMESUFFIX= -language
diff --git a/lang/asm-lsp/Makefile b/lang/asm-lsp/Makefile
index 30ad381aa0fd..5584ed9898cb 100644
--- a/lang/asm-lsp/Makefile
+++ b/lang/asm-lsp/Makefile
@@ -1,7 +1,7 @@
PORTNAME= asm-lsp
DISTVERSIONPREFIX= v
DISTVERSION= 0.9.0
-PORTREVISION= 7
+PORTREVISION= 8
CATEGORIES= lang
MAINTAINER= yuri@FreeBSD.org
diff --git a/lang/cairo/Makefile b/lang/cairo/Makefile
index cfd24bf5a17a..d507a4fb6adb 100644
--- a/lang/cairo/Makefile
+++ b/lang/cairo/Makefile
@@ -1,7 +1,7 @@
PORTNAME= cairo
DISTVERSIONPREFIX= v
DISTVERSION= 2.11.4
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= lang
PKGNAMESUFFIX= -language
diff --git a/lang/clover/Makefile b/lang/clover/Makefile
index 9c9a0b5a43a1..f8f6473016c1 100644
--- a/lang/clover/Makefile
+++ b/lang/clover/Makefile
@@ -1,6 +1,6 @@
PORTNAME= clover
PORTVERSION= ${MESAVERSION}
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= lang
COMMENT= Mesa OpenCL implementation for AMD GPUs
diff --git a/lang/dlang-tools/Makefile b/lang/dlang-tools/Makefile
index b9971d81c233..ed59bbb2615d 100644
--- a/lang/dlang-tools/Makefile
+++ b/lang/dlang-tools/Makefile
@@ -1,6 +1,6 @@
PORTNAME= tools
PORTVERSION= 2.101.0
-PORTREVISION= 3
+PORTREVISION= 4
DISTVERSIONPREFIX= v
CATEGORIES= lang
PKGNAMEPREFIX= dlang-
diff --git a/lang/gcc14-devel/files/patch-clang-vec_step b/lang/gcc14-devel/files/patch-clang-vec_step
deleted file mode 100644
index 00607540eb2a..000000000000
--- a/lang/gcc14-devel/files/patch-clang-vec_step
+++ /dev/null
@@ -1,21 +0,0 @@
-https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=239266 reports how
-clang unfortunately poisons user namespace by default (without any
-special options).
-
-Until that changes (or GCC changes) we need to avoid using vec_step
-as a variable.
-
---- UTC
-Index: gcc/tree-vect-loop.cc
-===================================================================
---- gcc/tree-vect-loop.cc (revision 273856)
-+++ gcc/tree-vect-loop.cc (working copy)
-@@ -55,6 +55,8 @@ along with GCC; see the file COPYING3. If not see
- #include "vec-perm-indices.h"
- #include "tree-eh.h"
-
-+#define vec_step vec_step_
-+
- /* Loop Vectorization Pass.
-
- This pass tries to vectorize loops.
diff --git a/lang/gir-to-d/Makefile b/lang/gir-to-d/Makefile
index 0e6f46d6719f..66ee2adbdf34 100644
--- a/lang/gir-to-d/Makefile
+++ b/lang/gir-to-d/Makefile
@@ -1,5 +1,6 @@
PORTNAME= gir-to-d
PORTVERSION= 0.23.4
+PORTREVISION= 1
#DISTVERSIONPREFIX= v
CATEGORIES= lang
diff --git a/lang/gleam/Makefile b/lang/gleam/Makefile
index a65c7f01ae20..f67fd10c416d 100644
--- a/lang/gleam/Makefile
+++ b/lang/gleam/Makefile
@@ -1,6 +1,7 @@
PORTNAME= gleam
DISTVERSIONPREFIX= v
DISTVERSION= 1.11.0
+PORTREVISION= 1
CATEGORIES= lang
MAINTAINER= dch@FreeBSD.org
diff --git a/lang/gluon/Makefile b/lang/gluon/Makefile
index 4aedcb335d7b..dba5b0ed69c5 100644
--- a/lang/gluon/Makefile
+++ b/lang/gluon/Makefile
@@ -1,7 +1,7 @@
PORTNAME= gluon
DISTVERSIONPREFIX= v
DISTVERSION= 0.18.2
-PORTREVISION= 12
+PORTREVISION= 13
CATEGORIES= lang
PKGNAMESUFFIX= -language
diff --git a/lang/inko/Makefile b/lang/inko/Makefile
index fe451adbb01b..397a891bf801 100644
--- a/lang/inko/Makefile
+++ b/lang/inko/Makefile
@@ -1,7 +1,7 @@
PORTNAME= inko
DISTVERSIONPREFIX= v
DISTVERSION= 0.18.1
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= lang devel
MAINTAINER= yuri@FreeBSD.org
diff --git a/lang/kturtle/distinfo b/lang/kturtle/distinfo
index 9a7cd1361aa5..bc6bee0157e3 100644
--- a/lang/kturtle/distinfo
+++ b/lang/kturtle/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749036800
-SHA256 (KDE/release-service/25.04.2/kturtle-25.04.2.tar.xz) = b736ca9088421763b5a95a57a1699745e1f6e2e5454477fbbce5e82f25ae4315
-SIZE (KDE/release-service/25.04.2/kturtle-25.04.2.tar.xz) = 2102780
+TIMESTAMP = 1751381500
+SHA256 (KDE/release-service/25.04.3/kturtle-25.04.3.tar.xz) = 7e53baebb99264964ad047b24827596f9b998c698db589f0efb74fe16637ec08
+SIZE (KDE/release-service/25.04.3/kturtle-25.04.3.tar.xz) = 2102700
diff --git a/lang/ldc/Makefile b/lang/ldc/Makefile
index f00ec90b6d3a..f650d494ad93 100644
--- a/lang/ldc/Makefile
+++ b/lang/ldc/Makefile
@@ -1,5 +1,5 @@
PORTNAME= ldc
-PORTVERSION= 1.40.0
+PORTVERSION= 1.41.0
DISTVERSIONSUFFIX= -src
CATEGORIES= lang
MASTER_SITES= https://github.com/ldc-developers/${PORTNAME}/releases/download/v${DISTVERSION}/
@@ -15,14 +15,10 @@ LICENSE= BSD3CLAUSE
ONLY_FOR_ARCHS= amd64
ONLY_FOR_ARCHS_REASON= The bootstrap compiler is provided only for x86_64
-BUILD_DEPENDS= ${LOCALBASE}/llvm15/lib/libLLVM-15.so:devel/llvm15 # required for bootstrap
+BUILD_DEPENDS= ${LOCALBASE}/llvm19/lib/libLLVM-19.so:devel/llvm19 # required for bootstrap
LIB_DEPENDS= libconfig.so:devel/libconfig
-USES= llvm:lib,run,min=15,max=19 ninja cmake:insource pkgconfig
-
-#USE_GITHUB= yes
-#GH_ACCOUNT= ldc-developers
-#GH_PROJECT= ldc
+USES= llvm:lib,run,min=15,max=20 ninja cmake:insource pkgconfig
USE_LDCONFIG= yes
diff --git a/lang/ldc/distinfo b/lang/ldc/distinfo
index ca97ef8237a1..2f63cf01c577 100644
--- a/lang/ldc/distinfo
+++ b/lang/ldc/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1735995517
-SHA256 (ldc-1.40.0-src.tar.gz) = 80a3ddd7b7292818cdf6c130e55f1246a19b5fce96139a49b45ccf4e2be99e5f
-SIZE (ldc-1.40.0-src.tar.gz) = 8672131
-SHA256 (ldc2-1.40.0-freebsd-x86_64.tar.xz) = 7ca16f1c27c824d084d0fb6eb5e93d40a672fd832c5ca0c53c3d2f26f4656d9f
-SIZE (ldc2-1.40.0-freebsd-x86_64.tar.xz) = 18384884
+TIMESTAMP = 1750934100
+SHA256 (ldc-1.41.0-src.tar.gz) = af52818b60706106fb8bca2024685c54eddce929edccae718ad9fbcf689f222f
+SIZE (ldc-1.41.0-src.tar.gz) = 8935404
+SHA256 (ldc2-1.41.0-freebsd-x86_64.tar.xz) = 3078a937bc60fefa8747b169bfe187552cf0044cdc55808530614b3a0d214884
+SIZE (ldc2-1.41.0-freebsd-x86_64.tar.xz) = 18823372
diff --git a/lang/ldc/files/patch-tools_CMakeLists.txt b/lang/ldc/files/patch-tools_CMakeLists.txt
deleted file mode 100644
index 52ac65f48f9b..000000000000
--- a/lang/ldc/files/patch-tools_CMakeLists.txt
+++ /dev/null
@@ -1,11 +0,0 @@
---- tools/CMakeLists.txt.orig 2024-12-15 13:48:09 UTC
-+++ tools/CMakeLists.txt
-@@ -37,7 +37,7 @@ if(LDC_BUNDLE_LLVM_TOOLS)
- COMPILE_FLAGS "${LLVM_CXXFLAGS} ${LDC_CXXFLAGS}"
- LINK_FLAGS "${SANITIZE_LDFLAGS}"
- )
-- target_link_libraries(ldc-profdata ${LLVM_LIBRARIES} ${CMAKE_DL_LIBS} ${LLVM_LDFLAGS})
-+ target_link_libraries(ldc-profdata ${LLVM_LIBRARIES} ${CMAKE_DL_LIBS} ${LLVM_LDFLAGS} ${CMAKE_THREAD_LIBS_INIT})
- install(TARGETS ldc-profdata DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
-
- # Set path to executable, used by the lit testsuite.
diff --git a/lang/ldc/pkg-plist b/lang/ldc/pkg-plist
index ad1175673864..81728df07c61 100644
--- a/lang/ldc/pkg-plist
+++ b/lang/ldc/pkg-plist
@@ -52,6 +52,8 @@ include/d/core/internal/elf/io.d
include/d/core/internal/entrypoint.d
include/d/core/internal/execinfo.d
include/d/core/internal/gc/bits.d
+include/d/core/internal/gc/blkcache.d
+include/d/core/internal/gc/blockmeta.d
include/d/core/internal/gc/impl/conservative/gc.d
include/d/core/internal/gc/impl/manual/gc.d
include/d/core/internal/gc/impl/proto/gc.d
@@ -352,6 +354,7 @@ include/d/core/sys/windows/aclapi.d
include/d/core/sys/windows/aclui.d
include/d/core/sys/windows/basetsd.d
include/d/core/sys/windows/basetyps.d
+include/d/core/sys/windows/bcrypt.d
include/d/core/sys/windows/cderr.d
include/d/core/sys/windows/cguid.d
include/d/core/sys/windows/com.d
@@ -516,7 +519,8 @@ include/d/core/sys/windows/winver.d
include/d/core/sys/windows/wtsapi32.d
include/d/core/sys/windows/wtypes.d
include/d/core/thread/context.d
-include/d/core/thread/fiber.d
+include/d/core/thread/fiber/base.d
+include/d/core/thread/fiber/package.d
include/d/core/thread/osthread.d
include/d/core/thread/package.d
include/d/core/thread/threadbase.d
@@ -526,6 +530,9 @@ include/d/core/time.d
include/d/core/vararg.d
include/d/core/volatile.d
include/d/etc/c/curl.d
+include/d/etc/c/odbc/odbc32.d
+include/d/etc/c/odbc/odbc64.d
+include/d/etc/c/odbc/package.d
include/d/etc/c/odbc/sql.d
include/d/etc/c/odbc/sqlext.d
include/d/etc/c/odbc/sqltypes.d
@@ -538,6 +545,7 @@ include/d/importc.h
include/d/ldc/asan.d
include/d/ldc/attributes.d
include/d/ldc/dcompute.d
+include/d/ldc/dynamic_compile.d
include/d/ldc/eh_msvc.d
include/d/ldc/gccbuiltins_aarch64.di
include/d/ldc/gccbuiltins_amdgcn.di
@@ -661,6 +669,7 @@ include/d/std/internal/unicode_grapheme.d
include/d/std/internal/unicode_norm.d
include/d/std/internal/unicode_tables.d
include/d/std/internal/windows/advapi32.d
+include/d/std/internal/windows/bcrypt.d
include/d/std/json.d
include/d/std/logger/core.d
include/d/std/logger/filelogger.d
@@ -723,22 +732,26 @@ include/d/std/zip.d
include/d/std/zlib.d
lib/ldc_rt.dso.o
lib/libdruntime-ldc-debug-shared.so
-lib/libdruntime-ldc-debug-shared.so.110
-lib/libdruntime-ldc-debug-shared.so.110.0
+lib/libdruntime-ldc-debug-shared.so.111
+lib/libdruntime-ldc-debug-shared.so.111.0
lib/libdruntime-ldc-debug.a
lib/libdruntime-ldc-lto.a
lib/libdruntime-ldc-shared.so
-lib/libdruntime-ldc-shared.so.110
-lib/libdruntime-ldc-shared.so.110.0
+lib/libdruntime-ldc-shared.so.111
+lib/libdruntime-ldc-shared.so.111.0
lib/libdruntime-ldc.a
+lib/libldc-jit-rt.a
+lib/libldc-jit.so
+lib/libldc-jit.so.111
+lib/libldc-jit.so.111.0
lib/libphobos2-ldc-debug-shared.so
-lib/libphobos2-ldc-debug-shared.so.110
-lib/libphobos2-ldc-debug-shared.so.110.0
+lib/libphobos2-ldc-debug-shared.so.111
+lib/libphobos2-ldc-debug-shared.so.111.0
lib/libphobos2-ldc-debug.a
lib/libphobos2-ldc-lto.a
lib/libphobos2-ldc-shared.so
-lib/libphobos2-ldc-shared.so.110
-lib/libphobos2-ldc-shared.so.110.0
+lib/libphobos2-ldc-shared.so.111
+lib/libphobos2-ldc-shared.so.111.0
lib/libphobos2-ldc.a
@dir include/d/etc/c/zlib/doc
@dir include/d/etc/c/zlib/test
diff --git a/lang/numbat/Makefile b/lang/numbat/Makefile
index e72941453d15..2ac1a06a10a9 100644
--- a/lang/numbat/Makefile
+++ b/lang/numbat/Makefile
@@ -1,7 +1,7 @@
PORTNAME= numbat
DISTVERSIONPREFIX= v
DISTVERSION= 1.16.0
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= lang devel science
MAINTAINER= yuri@FreeBSD.org
diff --git a/lang/perl5.42/Makefile b/lang/perl5.42/Makefile
index e407e55d8f0d..f9ed4b761377 100644
--- a/lang/perl5.42/Makefile
+++ b/lang/perl5.42/Makefile
@@ -1,5 +1,5 @@
PORTNAME= perl
-DISTVERSION= ${PERL_VERSION}-RC2
+DISTVERSION= ${PERL_VERSION}-RC3
CATEGORIES= lang devel perl5
MASTER_SITES= CPAN/../../src/5.0 CPAN/../by-authors/id/B/BO/BOOK
DIST_SUBDIR= perl
diff --git a/lang/perl5.42/distinfo b/lang/perl5.42/distinfo
index 0e6d11c42dc8..1c85ac754e86 100644
--- a/lang/perl5.42/distinfo
+++ b/lang/perl5.42/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1751181694
-SHA256 (perl/perl-5.42.0-RC2.tar.xz) = c643203ffa4299813370c2d837d6f5e17bb4a8da73fe77abe446012210faf39f
-SIZE (perl/perl-5.42.0-RC2.tar.xz) = 14395024
+TIMESTAMP = 1751469637
+SHA256 (perl/perl-5.42.0-RC3.tar.xz) = 17be1d62370adc1bbc1130367cd57263ef326a45bd9c060ae3cb92cdbe679142
+SIZE (perl/perl-5.42.0-RC3.tar.xz) = 14385744
diff --git a/lang/php81-extensions/Makefile b/lang/php81-extensions/Makefile
index 15a90ba9507c..bb847c742686 100644
--- a/lang/php81-extensions/Makefile
+++ b/lang/php81-extensions/Makefile
@@ -4,22 +4,22 @@ CATEGORIES= lang
PKGNAMESUFFIX= -extensions
MAINTAINER= bofh@FreeBSD.org
-COMMENT= "meta-port" to install PHP extensions
+COMMENT= "meta-port" to install PHP extensions (8.1.X branch)
WWW= https://www.php.net/
USES= metaport php
+IGNORE_WITH_PHP= 82 83 84 85
PHP_VER= 81
-IGNORE_WITH_PHP= 82 83
OPTIONS_DEFINE= BCMATH BZ2 CALENDAR CTYPE CURL DBA DOM ENCHANT EXIF FFI \
FILEINFO FILTER FTP GD GETTEXT GMP ICONV IMAP INTL LDAP \
- MBSTRING MYSQLI ODBC OPCACHE PCNTL PDO \
- PDO_DBLIB PDO_FIREBIRD PDO_MYSQL PDO_ODBC PDO_PGSQL \
- PDO_SQLITE PGSQL PHAR POSIX PSPELL READLINE SESSION \
- SHMOP SIMPLEXML SNMP SOAP SOCKETS SODIUM SQLITE3 \
- SYSVMSG SYSVSEM SYSVSHM TIDY TOKENIZER XML XMLREADER \
- XMLWRITER XSL ZIP ZLIB
+ MBSTRING MYSQLI ODBC OPCACHE PCNTL PDO PDO_DBLIB \
+ PDO_FIREBIRD PDO_MYSQL PDO_ODBC PDO_PGSQL PDO_SQLITE \
+ PGSQL PHAR POSIX PSPELL READLINE SESSION SHMOP \
+ SIMPLEXML SNMP SOAP SOCKETS SODIUM SQLITE3 SYSVMSG \
+ SYSVSEM SYSVSHM TIDY TOKENIZER XML XMLREADER XMLWRITER \
+ XSL ZIP ZLIB
OPTIONS_DEFAULT= CTYPE DOM FILTER ICONV OPCACHE PDO PDO_SQLITE PHAR \
POSIX SESSION SIMPLEXML SQLITE3 TOKENIZER XML XMLREADER \
XMLWRITER
diff --git a/lang/php81-extensions/pkg-descr b/lang/php81-extensions/pkg-descr
index 4acc6c163e60..6c5a0684fbba 100644
--- a/lang/php81-extensions/pkg-descr
+++ b/lang/php81-extensions/pkg-descr
@@ -1,4 +1,4 @@
-This is a "meta-port" to install the extensions for PHP 8.0
+This is a "meta-port" to install the extensions for PHP 8.1
Defaults to:
ctype, dom, filter, iconv, json, opcache, pdo, pdo_sqlite, phar, posix,
diff --git a/lang/php81/Makefile b/lang/php81/Makefile
index 4b7771c16bd7..86179960786f 100644
--- a/lang/php81/Makefile
+++ b/lang/php81/Makefile
@@ -1,6 +1,6 @@
PORTNAME= php81
-DISTVERSION= 8.1.32
-PORTREVISION?= 1
+DISTVERSION= 8.1.33
+PORTREVISION?= 0
CATEGORIES?= lang devel www
MASTER_SITES= PHP/distributions
DISTNAME= php-${DISTVERSION}
@@ -181,7 +181,7 @@ COMMENT= The ${PHP_MODNAME} shared extension for php
USES+= php:ext,noflavors
PHP_MODNAME= ${PKGNAMESUFFIX:S/-//}
PHP_VER= 81
-IGNORE_WITH_PHP= 82 83 84
+IGNORE_WITH_PHP= 82 83 84 85
EXTSUBDIR= ${DISTNAME}/ext/${PHP_MODNAME}
WRKSRC= ${WRKDIR}/${EXTSUBDIR}
diff --git a/lang/php81/distinfo b/lang/php81/distinfo
index 0cf4c6ddb11b..2e4d04ea9231 100644
--- a/lang/php81/distinfo
+++ b/lang/php81/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1741933806
-SHA256 (php-8.1.32.tar.xz) = c582ac682a280bbc69bc2186c21eb7e3313cc73099be61a6bc1d2cd337cbf383
-SIZE (php-8.1.32.tar.xz) = 11893516
+TIMESTAMP = 1751555623
+SHA256 (php-8.1.33.tar.xz) = 9db83bf4590375562bc1a10b353cccbcf9fcfc56c58b7c8fb814e6865bb928d1
+SIZE (php-8.1.33.tar.xz) = 11898724
diff --git a/lang/php82-extensions/Makefile b/lang/php82-extensions/Makefile
index 0a4d5ce26743..aeb2ec88430b 100644
--- a/lang/php82-extensions/Makefile
+++ b/lang/php82-extensions/Makefile
@@ -4,22 +4,22 @@ CATEGORIES= lang
PKGNAMESUFFIX= -extensions
MAINTAINER= bofh@FreeBSD.org
-COMMENT= "meta-port" to install PHP extensions
+COMMENT= "meta-port" to install PHP extensions (8.2.X branch)
WWW= https://www.php.net/
USES= metaport php
+IGNORE_WITH_PHP= 81 83 84 85
PHP_VER= 82
-IGNORE_WITH_PHP= 81 83
OPTIONS_DEFINE= BCMATH BZ2 CALENDAR CTYPE CURL DBA DOM ENCHANT EXIF FFI \
FILEINFO FILTER FTP GD GETTEXT GMP ICONV IMAP INTL LDAP \
- MBSTRING MYSQLI ODBC OPCACHE PCNTL PDO \
- PDO_DBLIB PDO_FIREBIRD PDO_MYSQL PDO_ODBC PDO_PGSQL \
- PDO_SQLITE PGSQL PHAR POSIX PSPELL READLINE SESSION \
- SHMOP SIMPLEXML SNMP SOAP SOCKETS SODIUM SQLITE3 \
- SYSVMSG SYSVSEM SYSVSHM TIDY TOKENIZER XML XMLREADER \
- XMLWRITER XSL ZIP ZLIB
+ MBSTRING MYSQLI ODBC OPCACHE PCNTL PDO PDO_DBLIB \
+ PDO_FIREBIRD PDO_MYSQL PDO_ODBC PDO_PGSQL PDO_SQLITE \
+ PGSQL PHAR POSIX PSPELL READLINE SESSION SHMOP \
+ SIMPLEXML SNMP SOAP SOCKETS SODIUM SQLITE3 SYSVMSG \
+ SYSVSEM SYSVSHM TIDY TOKENIZER XML XMLREADER XMLWRITER \
+ XSL ZIP ZLIB
OPTIONS_DEFAULT= CTYPE DOM FILTER ICONV OPCACHE PDO PDO_SQLITE PHAR \
POSIX SESSION SIMPLEXML SQLITE3 TOKENIZER XML XMLREADER \
XMLWRITER
diff --git a/lang/php82-extensions/pkg-descr b/lang/php82-extensions/pkg-descr
index 4acc6c163e60..0a4f4cf1c881 100644
--- a/lang/php82-extensions/pkg-descr
+++ b/lang/php82-extensions/pkg-descr
@@ -1,4 +1,4 @@
-This is a "meta-port" to install the extensions for PHP 8.0
+This is a "meta-port" to install the extensions for PHP 8.2
Defaults to:
ctype, dom, filter, iconv, json, opcache, pdo, pdo_sqlite, phar, posix,
diff --git a/lang/php82/Makefile b/lang/php82/Makefile
index 50a05aba5d98..3d715f7ff37b 100644
--- a/lang/php82/Makefile
+++ b/lang/php82/Makefile
@@ -1,6 +1,6 @@
PORTNAME= php82
-DISTVERSION= 8.2.28
-PORTREVISION?= 1
+DISTVERSION= 8.2.29
+PORTREVISION?= 0
CATEGORIES?= lang devel www
MASTER_SITES= PHP/distributions
DISTNAME= php-${DISTVERSION}
@@ -177,7 +177,7 @@ COMMENT= The ${PHP_MODNAME} shared extension for php
USES+= php:ext,noflavors
PHP_MODNAME= ${PKGNAMESUFFIX:S/-//}
PHP_VER= 82
-IGNORE_WITH_PHP= 81 83 84
+IGNORE_WITH_PHP= 81 83 84 85
EXTSUBDIR= ${DISTNAME}/ext/${PHP_MODNAME}
WRKSRC= ${WRKDIR}/${EXTSUBDIR}
diff --git a/lang/php82/distinfo b/lang/php82/distinfo
index fc18d5152f06..787fa17aa362 100644
--- a/lang/php82/distinfo
+++ b/lang/php82/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1741934026
-SHA256 (php-8.2.28.tar.xz) = af8c9153153a7f489153b7a74f2f29a5ee36f5cb2c6c6929c98411a577e89c91
-SIZE (php-8.2.28.tar.xz) = 12147756
+TIMESTAMP = 1751553447
+SHA256 (php-8.2.29.tar.xz) = 475f991afd2d5b901fb410be407d929bc00c46285d3f439a02c59e8b6fe3589c
+SIZE (php-8.2.29.tar.xz) = 12162364
diff --git a/lang/php83-extensions/Makefile b/lang/php83-extensions/Makefile
index 530fd85f7e74..c77beae9ba5d 100644
--- a/lang/php83-extensions/Makefile
+++ b/lang/php83-extensions/Makefile
@@ -4,22 +4,22 @@ CATEGORIES= lang
PKGNAMESUFFIX= -extensions
MAINTAINER= bofh@FreeBSD.org
-COMMENT= "meta-port" to install PHP extensions
+COMMENT= "meta-port" to install PHP extensions (8.3.X branch)
WWW= https://www.php.net/
USES= metaport php
+IGNORE_WITH_PHP= 81 82 84 85
PHP_VER= 83
-IGNORE_WITH_PHP= 81 82
OPTIONS_DEFINE= BCMATH BZ2 CALENDAR CTYPE CURL DBA DOM ENCHANT EXIF FFI \
FILEINFO FILTER FTP GD GETTEXT GMP ICONV IMAP INTL LDAP \
- MBSTRING MYSQLI ODBC OPCACHE PCNTL PDO \
- PDO_DBLIB PDO_FIREBIRD PDO_MYSQL PDO_ODBC PDO_PGSQL \
- PDO_SQLITE PGSQL PHAR POSIX PSPELL READLINE SESSION \
- SHMOP SIMPLEXML SNMP SOAP SOCKETS SODIUM SQLITE3 \
- SYSVMSG SYSVSEM SYSVSHM TIDY TOKENIZER XML XMLREADER \
- XMLWRITER XSL ZIP ZLIB
+ MBSTRING MYSQLI ODBC OPCACHE PCNTL PDO PDO_DBLIB \
+ PDO_FIREBIRD PDO_MYSQL PDO_ODBC PDO_PGSQL PDO_SQLITE \
+ PGSQL PHAR POSIX PSPELL READLINE SESSION SHMOP \
+ SIMPLEXML SNMP SOAP SOCKETS SODIUM SQLITE3 SYSVMSG \
+ SYSVSEM SYSVSHM TIDY TOKENIZER XML XMLREADER XMLWRITER \
+ XSL ZIP ZLIB
OPTIONS_DEFAULT= CTYPE DOM FILTER ICONV OPCACHE PDO PDO_SQLITE PHAR \
POSIX SESSION SIMPLEXML SQLITE3 TOKENIZER XML XMLREADER \
XMLWRITER
diff --git a/lang/php83-extensions/pkg-descr b/lang/php83-extensions/pkg-descr
index 4acc6c163e60..5a022122fb14 100644
--- a/lang/php83-extensions/pkg-descr
+++ b/lang/php83-extensions/pkg-descr
@@ -1,4 +1,4 @@
-This is a "meta-port" to install the extensions for PHP 8.0
+This is a "meta-port" to install the extensions for PHP 8.3
Defaults to:
ctype, dom, filter, iconv, json, opcache, pdo, pdo_sqlite, phar, posix,
diff --git a/lang/php83/Makefile b/lang/php83/Makefile
index 602850e1b2c1..bfd80a5eee56 100644
--- a/lang/php83/Makefile
+++ b/lang/php83/Makefile
@@ -1,6 +1,6 @@
PORTNAME= php83
-DISTVERSION= 8.3.22
-PORTREVISION?= 1
+DISTVERSION= 8.3.23
+PORTREVISION?= 0
CATEGORIES?= lang devel www
MASTER_SITES= PHP/distributions
DISTNAME= php-${DISTVERSION}
@@ -195,7 +195,7 @@ COMMENT= The ${PHP_MODNAME} shared extension for php
USES+= php:ext,noflavors
PHP_MODNAME= ${PKGNAMESUFFIX:S/-//}
PHP_VER= 83
-IGNORE_WITH_PHP= 81 82 84
+IGNORE_WITH_PHP= 81 82 84 85
EXTSUBDIR= ${DISTNAME}/ext/${PHP_MODNAME}
WRKSRC= ${WRKDIR}/${EXTSUBDIR}
diff --git a/lang/php83/distinfo b/lang/php83/distinfo
index c68e1786aa12..8d15b5e5f9cc 100644
--- a/lang/php83/distinfo
+++ b/lang/php83/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749266431
-SHA256 (php-8.3.22.tar.xz) = 66c86889059bd27ccf460590ca48fcaf3261349cc9bdba2023ac6a265beabf36
-SIZE (php-8.3.22.tar.xz) = 12555076
+TIMESTAMP = 1751555643
+SHA256 (php-8.3.23.tar.xz) = 08be64700f703bca6ff1284bf1fdaffa37ae1b9734b6559f8350248e8960a6db
+SIZE (php-8.3.23.tar.xz) = 12577624
diff --git a/lang/php84-extensions/Makefile b/lang/php84-extensions/Makefile
index 55bc9f11b567..f359fdb60282 100644
--- a/lang/php84-extensions/Makefile
+++ b/lang/php84-extensions/Makefile
@@ -9,17 +9,16 @@ WWW= https://www.php.net/
USES= metaport php
+IGNORE_WITH_PHP= 81 82 83 85
PHP_VER= 84
-IGNORE_WITH_PHP= 81 82 83
OPTIONS_DEFINE= BCMATH BZ2 CALENDAR CTYPE CURL DBA DOM ENCHANT EXIF FFI \
FILEINFO FILTER FTP GD GETTEXT GMP ICONV INTL LDAP \
- MBSTRING MYSQLI ODBC OPCACHE PCNTL PDO \
- PDO_DBLIB PDO_FIREBIRD PDO_MYSQL PDO_ODBC PDO_PGSQL \
- PDO_SQLITE PGSQL PHAR POSIX READLINE SESSION \
- SHMOP SIMPLEXML SNMP SOAP SOCKETS SODIUM SQLITE3 \
- SYSVMSG SYSVSEM SYSVSHM TIDY TOKENIZER XML XMLREADER \
- XMLWRITER XSL ZIP ZLIB
+ MBSTRING MYSQLI ODBC OPCACHE PCNTL PDO PDO_DBLIB \
+ PDO_FIREBIRD PDO_MYSQL PDO_ODBC PDO_PGSQL PDO_SQLITE \
+ PGSQL PHAR POSIX READLINE SESSION SHMOP SIMPLEXML SNMP \
+ SOAP SOCKETS SODIUM SQLITE3 SYSVMSG SYSVSEM SYSVSHM \
+ TIDY TOKENIZER XML XMLREADER XMLWRITER XSL ZIP ZLIB
OPTIONS_DEFAULT= CTYPE DOM FILTER ICONV OPCACHE PDO PDO_SQLITE PHAR \
POSIX SESSION SIMPLEXML SQLITE3 TOKENIZER XML XMLREADER \
XMLWRITER
diff --git a/lang/php84-extensions/pkg-descr b/lang/php84-extensions/pkg-descr
index 4acc6c163e60..f0fa411db949 100644
--- a/lang/php84-extensions/pkg-descr
+++ b/lang/php84-extensions/pkg-descr
@@ -1,4 +1,4 @@
-This is a "meta-port" to install the extensions for PHP 8.0
+This is a "meta-port" to install the extensions for PHP 8.4
Defaults to:
ctype, dom, filter, iconv, json, opcache, pdo, pdo_sqlite, phar, posix,
diff --git a/lang/php84/Makefile b/lang/php84/Makefile
index 4aff26d711a7..3bf61525ae64 100644
--- a/lang/php84/Makefile
+++ b/lang/php84/Makefile
@@ -1,6 +1,6 @@
PORTNAME= php84
-DISTVERSION= 8.4.8
-PORTREVISION?= 1
+DISTVERSION= 8.4.10
+PORTREVISION?= 0
CATEGORIES?= lang devel www
MASTER_SITES= PHP/distributions
DISTNAME= php-${DISTVERSION}
@@ -197,7 +197,7 @@ COMMENT= The ${PHP_MODNAME} shared extension for php
USES+= php:ext,noflavors
PHP_MODNAME= ${PKGNAMESUFFIX:S/-//}
PHP_VER= 84
-IGNORE_WITH_PHP= 81 82 83
+IGNORE_WITH_PHP= 81 82 83 85
EXTSUBDIR= ${DISTNAME}/ext/${PHP_MODNAME}
WRKSRC= ${WRKDIR}/${EXTSUBDIR}
diff --git a/lang/php84/distinfo b/lang/php84/distinfo
index a7ffa64e34bf..3be8a2533adc 100644
--- a/lang/php84/distinfo
+++ b/lang/php84/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749266448
-SHA256 (php-8.4.8.tar.xz) = aa6a4d330b47eacd83e351658ba8c47747a1e4356456219cfb6d75e7838da091
-SIZE (php-8.4.8.tar.xz) = 13619152
+TIMESTAMP = 1751553605
+SHA256 (php-8.4.10.tar.xz) = 14983a9ef8800e6bc2d920739fd386054402f7976ca9cd7f711509496f0d2632
+SIZE (php-8.4.10.tar.xz) = 13625264
diff --git a/lang/php85-extensions/Makefile b/lang/php85-extensions/Makefile
new file mode 100644
index 000000000000..3d77950e33b9
--- /dev/null
+++ b/lang/php85-extensions/Makefile
@@ -0,0 +1,88 @@
+PORTNAME= php85
+PORTVERSION= 1.0
+CATEGORIES= lang
+PKGNAMESUFFIX= -extensions
+
+MAINTAINER= bofh@FreeBSD.org
+COMMENT= "meta-port" to install PHP extensions (8.5.X branch)
+WWW= https://www.php.net/
+
+USES= metaport php
+
+IGNORE_WITH_PHP= 81 82 83 84
+PHP_VER= 85
+
+OPTIONS_DEFINE= BCMATH BZ2 CALENDAR CTYPE CURL DBA DOM ENCHANT EXIF FFI \
+ FILEINFO FILTER FTP GD GETTEXT GMP ICONV INTL LDAP \
+ MBSTRING MYSQLI ODBC OPCACHE PCNTL PDO PDO_DBLIB \
+ PDO_FIREBIRD PDO_MYSQL PDO_ODBC PDO_PGSQL PDO_SQLITE \
+ PGSQL PHAR POSIX READLINE SESSION SHMOP SIMPLEXML SNMP \
+ SOAP SOCKETS SODIUM SQLITE3 SYSVMSG SYSVSEM SYSVSHM \
+ TIDY TOKENIZER XML XMLREADER XMLWRITER XSL ZIP ZLIB
+OPTIONS_DEFAULT= CTYPE DOM FILTER ICONV OPCACHE PDO PDO_SQLITE PHAR \
+ POSIX SESSION SIMPLEXML SQLITE3 TOKENIZER XML XMLREADER \
+ XMLWRITER
+
+BCMATH_DESC= bc style precision math functions
+BZ2_DESC= bzip2 library support
+CALENDAR_DESC= calendar conversion support
+CTYPE_DESC= ctype functions
+CURL_DESC= CURL support
+DBA_DESC= dba support
+DOM_DESC= DOM support
+ENCHANT_DESC= Enchant spelling support
+EXIF_DESC= EXIF support
+FFI_DESC= Foreign Function Interface support
+FILEINFO_DESC= fileinfo support
+FILTER_DESC= input filter support
+FTP_DESC= FTP support
+GD_DESC= GD library support
+GETTEXT_DESC= gettext library support
+GMP_DESC= GNU MP support
+ICONV_DESC= iconv support
+INTL_DESC= Internationalization(ICU)
+LDAP_DESC= OpenLDAP support
+MBSTRING_DESC= multibyte string support
+MYSQLI_DESC= MySQLi database support
+ODBC_DESC= ODBC support
+OPCACHE_DESC= OPcache support
+PCNTL_DESC= pcntl support (CLI only)
+PDO_DBLIB_DESC= PDO DBLIB-DB driver
+PDO_DESC= PHP Data Objects Interface (PDO)
+PDO_FIREBIRD_DESC= PDO Firebird driver
+PDO_MYSQL_DESC= PDO MySQL driver
+PDO_ODBC_DESC= PDO ODBC driver
+PDO_PGSQL_DESC= PDO PostgreSQL driver
+PDO_SQLITE_DESC= PDO sqlite driver
+PHAR_DESC= phar support
+POSIX_DESC= POSIX-like functions
+READLINE_DESC= readline support (CLI only)
+SESSION_DESC= session support
+SHMOP_DESC= shmop support
+SIMPLEXML_DESC= simplexml support
+SNMP_DESC= SNMP support
+SOAP_DESC= SOAP support
+SOCKETS_DESC= sockets support
+SODIUM_DESC= Sodium encryption support
+SQLITE3_DESC= sqlite3 support
+SYSVMSG_DESC= System V message support
+SYSVSEM_DESC= System V semaphore support
+SYSVSHM_DESC= System V shared memory support
+TIDY_DESC= TIDY support
+TOKENIZER_DESC= tokenizer support
+XMLREADER_DESC= XMLReader support
+XMLWRITER_DESC= XMLWriter support
+XML_DESC= XML support
+XSL_DESC= XSL support (Implies DOM)
+ZIP_DESC= ZIP support
+ZLIB_DESC= ZLIB support
+
+.include <bsd.port.options.mk>
+
+.for opt in ${OPTIONS_DEFINE}
+. if ${PORT_OPTIONS:M${opt}}
+USE_PHP+= ${opt:tl}
+. endif
+.endfor
+
+.include <bsd.port.mk>
diff --git a/lang/php85-extensions/pkg-descr b/lang/php85-extensions/pkg-descr
new file mode 100644
index 000000000000..9c007c827fe6
--- /dev/null
+++ b/lang/php85-extensions/pkg-descr
@@ -0,0 +1,5 @@
+This is a "meta-port" to install the extensions for PHP 8.5
+
+Defaults to:
+ctype, dom, filter, iconv, json, opcache, pdo, pdo_sqlite, phar, posix,
+session, simplexml, sqlite3, tokenizer, xml, xmlreader and xmlwriter.
diff --git a/lang/php85/Makefile b/lang/php85/Makefile
new file mode 100644
index 000000000000..fd044a453f9b
--- /dev/null
+++ b/lang/php85/Makefile
@@ -0,0 +1,620 @@
+PORTNAME= php85
+DISTVERSION= 8.5.0alpha1
+PORTREVISION?= 0
+CATEGORIES?= lang devel www
+MASTER_SITES= LOCAL/bofh/lang/${PORTNAME}
+DISTNAME= php-${DISTVERSION}
+
+MAINTAINER= bofh@FreeBSD.org
+COMMENT= PHP Scripting Language (8.5.X branch)
+WWW= https://www.php.net/
+
+LICENSE= PHP301
+
+USES+= compiler:c11 cpe gnome localbase pkgconfig #tar:xz
+CPE_PRODUCT= php
+PHP_VER= 85
+
+PHP_WRKSRC= php-src-php-${DISTVERSION}
+WRKSRC= ${WRKDIR}/${PHP_WRKSRC}
+CONFLICTS_INSTALL?= php[0-9][0-9]${PKGNAMESUFFIX}
+
+.if !defined(PKGNAMESUFFIX)
+LIB_DEPENDS= libargon2.so:security/libargon2 \
+ libpcre2-8.so:devel/pcre2
+
+GNU_CONFIGURE= yes
+CONFIGURE_ARGS+= \
+ --disable-all \
+ --program-prefix="" \
+ --with-config-file-scan-dir=${PREFIX}/etc/php \
+ --with-layout=GNU \
+ --with-libxml \
+ --with-openssl \
+ --with-password-argon2=${LOCALBASE}
+
+USES+= autoreconf:build bison ssl
+USE_GNOME= libxml2
+
+LDFLAGS+= -L${OPENSSLLIB} -lcrypto -lssl
+# PR230207 Allow relocations against read-only segments (override lld default)
+LDFLAGS_i386= -Wl,-z,notext
+
+OPTIONS_DEFINE+=CGI CLI DEBUG DTRACE EMBED FPM IPV6 LINKTHR \
+ MYSQLND NOASLR PCRE PHPDBG ZTS
+OPTIONS_DEFAULT= CGI CLI DTRACE EMBED FPM LINKTHR MYSQLND PCRE
+OPTIONS_EXCLUDE_DragonFly= DTRACE
+# ld(1) fails to link probes: Relocations in generic ELF (EM: 0)
+OPTIONS_EXCLUDE_aarch64= DTRACE
+# dt_modtext:opensolaris/ib/libdtrace/common/dt_link.c: arm not impemented
+OPTIONS_EXCLUDE_armv6= DTRACE
+OPTIONS_EXCLUDE_armv7= DTRACE
+# Bug 197128: No ASM code for MIPS/MIPS64, disable FPM
+OPTIONS_EXCLUDE_mips= DTRACE FPM
+OPTIONS_EXCLUDE_mips64= DTRACE FPM
+OPTIONS_EXCLUDE_riscv64= DTRACE
+NO_OPTIONS_SORT= yes
+OPTIONS_SUB= yes
+
+CGI_DESC= Build CGI version
+CLI_DESC= Build CLI version
+EMBED_DESC= Build embedded library
+FPM_DESC= Build FPM version
+LINKTHR_DESC= Link thread lib (for threaded extensions)
+MYSQLND_DESC= Build with MySQL Native Driver
+PCRE_DESC= Use system pcre instead of bundled one
+PHPDBG_DESC= Interactive PHP debugger
+ZTS_DESC= Force Zend Thread Safety (ZTS) build
+
+CGI_CONFIGURE_OFF= --disable-cgi
+CGI_VARS= PHP_SAPI+=cgi
+CLI_CONFIGURE_OFF= --disable-cli
+CLI_VARS= PHP_SAPI+=cli
+DEBUG_CONFIGURE_ON= --enable-debug
+DTRACE_CONFIGURE_ON= --enable-dtrace
+EMBED_CONFIGURE_ON= --enable-embed
+EMBED_VARS= PHP_SAPI+=embed
+FPM_CONFIGURE_ON= --enable-fpm \
+ --with-fpm-group=${WWWGRP} \
+ --with-fpm-user=${WWWOWN}
+FPM_VARS= PHP_SAPI+=fpm \
+ USE_RC_SUBR+=php_fpm
+IPV6_CONFIGURE_OFF= --disable-ipv6
+LINKTHR_LIBS= -lpthread
+NOASLR_USES= elfctl
+MYSQLND_CONFIGURE_ON= --enable-mysqlnd
+PCRE_BUILD_DEPENDS= re2c>0:devel/re2c
+PCRE_CONFIGURE_ON= --with-external-pcre=${LOCALBASE}
+PCRE_PLIST_SUB= BUNDLED_PCRE="@comment "
+PCRE_PLIST_SUB_OFF= BUNDLED_PCRE=""
+PHPDBG_CONFIGURE_ON= --enable-phpdbg
+PHPDBG_VARS= PHP_SAPI+=phpdbg
+ZTS_CONFIGURE_ON= --enable-zts
+ZTS_CONFIGURE_ENV= pthreads_working="yes"
+
+DESTDIRNAME= INSTALL_ROOT
+
+.if defined(PKGNAMEPREFIX)
+USES+= apache
+PLIST= ${PKGDIR}/pkg-plist.mod
+PKGMESSAGE= ${PKGDIR}/pkg-message.mod
+MODULENAME= libphp
+SHORTMODNAME= php
+WARNING= "!!! If you have a threaded Apache, you must build ${PHP_PORT} with ZTS support to enable thread-safety in extensions !!!"
+WARNING+= "!!! Consider switching to php-fpm and mod_proxy_fcgi as per Apache httpd recommendations !!!"
+.endif
+
+.include <bsd.port.options.mk>
+
+.if ${PORT_OPTIONS:NOASLR}
+.if ${PORT_OPTIONS:MCLI}
+ELF_FEATURES+=+noaslr:sapi/cli/php
+.endif
+.if ${PORT_OPTIONS:MCGI}
+ELF_FEATURES+=+noaslr:sapi/cgi/php-cgi
+.endif
+.if ${PORT_OPTIONS:MPHPDBG}
+ELF_FEATURES+=+noaslr:sapi/phpdbg/phpdbg
+.endif
+.if ${PORT_OPTIONS:MFPM}
+ELF_FEATURES+=+noaslr:sapi/fpm/php-fpm
+.endif
+.endif
+
+.include <bsd.port.pre.mk>
+
+.if ${ARCH} == riscv64
+CONFIGURE_ARGS+= --without-pcre-jit
+.endif
+
+.if ${PORT_OPTIONS:MPHPDBG} && ${PORT_OPTIONS:MDEBUG}
+CONFIGURE_ARGS+= --enable-phpdbg-debug
+.endif
+
+.if ${PORT_OPTIONS:MCLI} || ${PORT_OPTIONS:MEMBED}
+PLIST_SUB+= SAPI_INC=""
+.else
+PLIST_SUB+= SAPI_INC="@comment "
+.endif
+
+CONFIGURE_ENV+= ac_cv_decimal_fp_supported="no" \
+ lt_cv_path_SED="sed" \
+ OPENSSL_CFLAGS="-I${OPENSSLINC}" \
+ OPENSSL_LIBS="-L${OPENSSLLIB} -lssl -lcrypto" \
+ PHP_OPENSSL=yes
+
+post-patch:
+ @${TOUCH} ${WRKSRC}/ext/php_config.h
+
+post-patch-FPM-on:
+ @${REINPLACE_CMD} -e "s|^;\(pid\)|\1|;s|^;\(pm\.[a-z_]*_servers\)|\1|" \
+ ${WRKSRC}/sapi/fpm/php-fpm.conf.in
+
+pre-configure:
+ @(cd ${WRKSRC} && ${SETENV} MAKE=${MAKE_CMD} ./buildconf --force)
+
+.if !defined(PKGNAMEPREFIX)
+post-build:
+ @${ECHO_CMD} "PHP_VER=${PHP_VER}" > ${WRKDIR}/php.conf
+ @${ECHO_CMD} "PHP_VERSION=${PORTVERSION}" >> ${WRKDIR}/php.conf
+ @${ECHO_CMD} "PHP_SAPI=${PHP_SAPI}" >> ${WRKDIR}/php.conf
+ @${ECHO_CMD} -n "PHP_EXT_DIR=" >> ${WRKDIR}/php.conf
+ @${SH} ${WRKSRC}/scripts/php-config --extension-dir | ${SED} -ne 's,^${PREFIX}/lib/php/,,p' >> ${WRKDIR}/php.conf
+ @${ECHO_CMD} "PHP_EXT_INC=hash json openssl pcre random spl" >> ${WRKDIR}/php.conf
+
+test: build
+ @(cd ${WRKSRC} && ${MAKE} test)
+
+post-install:
+ ${INSTALL_DATA} ${WRKSRC}/php.ini-development ${WRKSRC}/php.ini-production \
+ ${WRKDIR}/php.conf ${STAGEDIR}/${PREFIX}/etc
+ ${INSTALL_DATA} ${WRKSRC}/Zend/zend_property_hooks.h ${STAGEDIR}${PREFIX}/include/php/Zend
+ ${INSTALL_DATA} ${WRKSRC}/Zend/zend_lazy_objects.h ${STAGEDIR}${PREFIX}/include/php/Zend
+ (cd ${WRKSRC}/ext/lexbor && \
+ ${COPYTREE_SHARE} lexbor ${STAGEDIR}${PREFIX}/include/php/ext "-name *\.h")
+
+post-install-CGI-on:
+ ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/php-cgi
+
+post-install-CLI-on:
+ ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/php
+
+post-install-EMBED-on:
+ ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libphp.so
+
+post-install-FPM-on:
+ ${STRIP_CMD} ${STAGEDIR}${PREFIX}/sbin/php-fpm
+
+post-install-PHPDBG-on:
+ ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/phpdbg
+
+.else
+do-install:
+ ${MKDIR} ${STAGEDIR}${PREFIX}/${APACHEMODDIR}
+ ${INSTALL_LIB} ${WRKSRC}/libs/${MODULENAME}.so \
+ ${STAGEDIR}${PREFIX}/${APACHEMODDIR}
+.endif
+
+.else
+COMMENT= The ${PHP_MODNAME} shared extension for php
+
+USES+= php:ext,noflavors
+PHP_MODNAME= ${PKGNAMESUFFIX:S/-//}
+PHP_VER= 85
+IGNORE_WITH_PHP= 81 82 83 84
+
+EXTSUBDIR= ${PHP_WRKSRC}/ext/${PHP_MODNAME}
+WRKSRC= ${WRKDIR}/${EXTSUBDIR}
+PATCHDIR= ${.CURDIR}/files
+PLIST= ${NONEXISTENT}
+
+EXTRACT_AFTER_ARGS?= ${EXTSUBDIR}
+
+TEST_TARGET= test
+
+.if ${PHP_MODNAME} == "bcmath"
+CONFIGURE_ARGS+= --enable-bcmath
+
+PHP_HEADER_DIRS= libbcmath/src
+.endif
+
+.if ${PHP_MODNAME} == "bz2"
+CONFIGURE_ARGS+= --with-bz2=/usr
+.endif
+
+.if ${PHP_MODNAME} == "calendar"
+CONFIGURE_ARGS+= --enable-calendar
+.endif
+
+.if ${PHP_MODNAME} == "ctype"
+CONFIGURE_ARGS+= --enable-ctype
+.endif
+
+.if ${PHP_MODNAME} == "curl"
+LIB_DEPENDS+= libcurl.so:ftp/curl
+
+CONFIGURE_ARGS+= --with-curl=${LOCALBASE}
+USES+= pkgconfig
+.endif
+
+.if ${PHP_MODNAME} == "dba"
+CONFIGURE_ARGS+= --enable-dba
+
+OPTIONS_DEFINE= CDB DB4 FLATFILE GDBM INIFILE LMDB QDBM TOKYO
+OPTIONS_DEFAULT= CDB FLATFILE INIFILE
+
+CDB_DESC= cdb database support
+DB4_DESC= Berkeley DB4 support
+FLATFILE_DESC= flatfile support
+GDBM_DESC= GDBM database support
+INIFILE_DESC= INI file support
+LMDB_DESC= LMDB database support
+QDBM_DESC= QDBM database support
+TOKYO_DESC= Tokyo Cabinet database support
+
+CDB_CONFIGURE_OFF= --without-cdb
+DB4_CONFIGURE_ON= --with-db4=${LOCALBASE}
+DB4_USES= bdb
+DB4_VARS= WITH_BDB_HIGHEST=yes
+FLATFILE_CONFIGURE_ON= --disable-flatfile
+GDBM_LIB_DEPENDS= libgdbm.so:databases/gdbm
+GDBM_CONFIGURE_ARGS= --with-gdbm=${LOCALBASE}
+INIFILE_CONFIGURE_OFF= --disable-inifile
+LMDB_LIB_DEPENDS= liblmdb.so:databases/lmdb
+LMDB_CONFIGURE_ARGS= --with-lmdb=${LOCALBASE}
+QDBM_LIB_DEPENDS= libqdbm.so:databases/qdbm
+QDBM_CONFIGURE_ARGS= --with-qdbm=${LOCALBASE}
+TOKYO_LIB_DEPENDS= libtokyocabinet.so:databases/tokyocabinet
+TOKYO_CONFIGURE_ON= --with-tcadb=${LOCALBASE}
+
+PHP_HEADER_DIRS= libcdb libflatfile libinifile
+.endif
+
+.if ${PHP_MODNAME} == "dom"
+CONFIGURE_ARGS+= --enable-dom
+
+USES+= pkgconfig
+USE_GNOME= libxml2
+.endif
+
+.if ${PHP_MODNAME} == "enchant"
+LIB_DEPENDS+= libenchant-2.so:textproc/enchant2
+CONFIGURE_ARGS+=--with-enchant=${LOCALBASE}
+USES+= pkgconfig
+.endif
+
+.if ${PHP_MODNAME} == "exif"
+CONFIGURE_ARGS+= --enable-exif
+.endif
+
+.if ${PHP_MODNAME} == "ffi"
+LIB_DEPENDS= libffi.so:devel/libffi
+CONFIGURE_ARGS+= --with-ffi
+.endif
+
+.if ${PHP_MODNAME} == "fileinfo"
+CONFIGURE_ARGS+= --enable-fileinfo
+
+PHP_HEADER_DIRS= libmagic
+.endif
+
+.if ${PHP_MODNAME} == "filter"
+CONFIGURE_ARGS+= --enable-filter
+.endif
+
+.if ${PHP_MODNAME} == "ftp"
+CONFIGURE_ARGS+= --enable-ftp
+
+CONFIGURE_ENV+= OPENSSL_CFLAGS="-I${OPENSSLINC}" \
+ OPENSSL_LIBS="-L${OPENSSLLIB} -lssl -lcrypto" \
+ PHP_OPENSSL=yes
+
+LDFLAGS+= -L${OPENSSLLIB} -lcrypto -lssl
+USES+= pkgconfig ssl
+.endif
+
+.if ${PHP_MODNAME} == "gd"
+LIB_DEPENDS= libfreetype.so:print/freetype2 \
+ libgd.so:graphics/gd \
+ libpng.so:graphics/png
+USES+= jpeg
+
+CONFIGURE_ARGS+= --enable-gd \
+ --with-external-gd
+
+EXTRACT_AFTER_ARGS= --no-same-owner --no-same-permissions --exclude libgd \
+ ${PHP_WRKSRC}/ext/gd
+
+OPTIONS_DEFINE= JIS WEBP X11
+
+JIS_DESC= Enable JIS-mapped Japanese font support
+WEBP_DESC= Enable WebP image format support
+X11_DESC= Enable XPM support
+JIS_CONFIGURE_ON= --enable-gd-jis-conv
+WEBP_CONFIGURE_ON= --with-webp
+WEBP_LIB_DEPENDS= libwebp.so:graphics/webp
+X11_CONFIGURE_ON= --with-xpm
+X11_USE= XORG=xpm
+X11_USES= xorg
+.endif
+
+.if ${PHP_MODNAME} == "gettext"
+CONFIGURE_ARGS+= --with-gettext=${LOCALBASE}
+
+USES+= gettext
+.endif
+
+.if ${PHP_MODNAME} == "gmp"
+LIB_DEPENDS+= libgmp.so:math/gmp
+
+CONFIGURE_ARGS+= --with-gmp=${LOCALBASE}
+.endif
+
+.if ${PHP_MODNAME} == "iconv"
+CONFIGURE_ARGS+= --with-iconv=${LOCALBASE}
+
+USES+= iconv:translit
+.endif
+
+.if ${PHP_MODNAME} == "intl"
+LIB_DEPENDS= libicui18n.so:devel/icu
+USES+= pkgconfig
+CPPFLAGS+= -DU_USING_ICU_NAMESPACE=1
+.endif
+
+.if ${PHP_MODNAME} == "ldap"
+LIB_DEPENDS+=libsasl2.so:security/cyrus-sasl2
+CONFIGURE_ARGS+=--with-ldap=${LOCALBASE} --with-ldap-sasl=${LOCALBASE}
+USES+= ldap
+.endif
+
+.if ${PHP_MODNAME} == "mbstring"
+
+CONFIGURE_ARGS+= --enable-mbstring
+
+OPTIONS_DEFINE= REGEX
+OPTIONS_DEFAULT= REGEX
+
+REGEX_DESC= Enable multibyte regex support
+REGEX_LIB_DEPENDS= libonig.so:devel/oniguruma
+REGEX_CONFIGURE_OFF= --disable-mbregex
+
+PHP_HEADER_DIRS= libmbfl libmbfl/filters libmbfl/mbfl libmbfl/nls
+.endif
+
+.if ${PHP_MODNAME} == "mysqli"
+CONFIGURE_ARGS+= --with-mysqli
+.endif
+
+.if ${PHP_MODNAME} == "odbc"
+LIB_DEPENDS+= libodbc.so:databases/unixODBC
+
+CONFIGURE_ARGS+= --with-unixODBC=${LOCALBASE}
+.endif
+
+.if ${PHP_MODNAME} == "opcache"
+LIB_DEPENDS+= libcapstone.so:devel/capstone
+# This is needed by Zend extensions, keep before everything.
+PHP_MOD_PRIO= 10
+CONFIGURE_ARGS+= --enable-opcache --with-capstone
+.endif
+
+.if ${PHP_MODNAME} == "pcntl"
+CONFIGURE_ARGS+= --enable-pcntl
+.endif
+
+.if ${PHP_MODNAME} == "pdo"
+CONFIGURE_ARGS+= --enable-pdo
+.endif
+
+.if ${PHP_MODNAME} == "pdo_dblib"
+CONFIGURE_ARGS+= --with-pdo-dblib=${LOCALBASE}
+
+USE_PHP= pdo:build
+
+OPTIONS_DEFINE= MSSQL
+
+MSSQL_DESC= Enable Microsoft SQL Server support
+MSSQL_LIB_DEPENDS= libsybdb.so:databases/freetds
+MSSQL_LIB_DEPENDS_OFF= libct.so:databases/freetds
+.endif
+
+.if ${PHP_MODNAME} == "pdo_firebird"
+CONFIGURE_ARGS+= --with-pdo-firebird=${LOCALBASE}
+
+USES+= firebird
+USE_PHP= pdo:build
+.endif
+
+.if ${PHP_MODNAME} == "pdo_odbc"
+LIB_DEPENDS+= libodbc.so:databases/unixODBC
+CONFIGURE_ARGS+= --with-pdo-odbc=unixODBC,${LOCALBASE}
+
+USE_PHP= pdo:build
+.endif
+
+.if ${PHP_MODNAME} == "pdo_mysql"
+OPTIONS_DEFINE= MYSQLND
+OPTIONS_DEFAULT= MYSQLND
+
+MYSQLND_DESC= Use MySQL Native Driver
+
+MYSQLND_CONFIGURE_ON= --with-pdo-mysql=mysqlnd
+MYSQLND_CONFIGURE_OFF= --with-pdo-mysql=${LOCALBASE} \
+ --with-zlib-dir=/usr
+MYSQLND_USES_OFF= mysql
+
+USE_PHP= pdo:build
+.endif
+
+.if ${PHP_MODNAME} == "pdo_pgsql"
+USES+= pgsql
+
+CONFIGURE_ARGS+= --with-pdo-pgsql=${LOCALBASE}
+
+USE_PHP= pdo:build
+.endif
+
+.if ${PHP_MODNAME} == "pdo_sqlite"
+USES+= localbase sqlite
+CONFIGURE_ARGS+= --with-pdo-sqlite=${LOCALBASE}
+
+USE_PHP= pdo:build
+.endif
+
+.if ${PHP_MODNAME} == "pgsql"
+USES+= pgsql
+
+CONFIGURE_ARGS+= --with-pgsql=${LOCALBASE}
+.endif
+
+.if ${PHP_MODNAME} == "phar"
+CONFIGURE_ARGS+= --enable-phar
+.endif
+
+.if ${PHP_MODNAME} == "posix"
+CONFIGURE_ARGS+= --enable-posix
+.endif
+
+.if ${PHP_MODNAME} == "readline"
+CONFIGURE_ARGS+=--with-libedit
+USES+= libedit
+.endif
+
+.if ${PHP_MODNAME} == "session"
+CONFIGURE_ARGS+= --enable-session
+PHP_MOD_PRIO= 18
+.endif
+
+.if ${PHP_MODNAME} == "shmop"
+CONFIGURE_ARGS+= --enable-shmop
+.endif
+
+.if ${PHP_MODNAME} == "simplexml"
+CONFIGURE_ARGS+= --enable-simplexml
+
+USES+= pkgconfig
+USE_GNOME= libxml2
+.endif
+
+.if ${PHP_MODNAME} == "snmp"
+CONFIGURE_ARGS+= --with-snmp=${LOCALBASE}
+
+CONFIGURE_ENV+= ac_cv_buggy_snprint_value="no"
+
+LIB_DEPENDS+= libnetsnmp.so:net-mgmt/net-snmp
+LDFLAGS+= -L${OPENSSLLIB} -lcrypto -lssl
+USES+= ssl
+.endif
+
+.if ${PHP_MODNAME} == "soap"
+CONFIGURE_ARGS+= --enable-soap
+
+USES+= pkgconfig
+USE_GNOME= libxml2
+.endif
+
+.if ${PHP_MODNAME} == "sockets"
+CONFIGURE_ARGS+= --enable-sockets
+CONFIGURE_ENV+= LOCAL_CREDS_PERSISTENT=yes
+.endif
+
+.if ${PHP_MODNAME} == "sodium"
+CONFIGURE_ARGS+= --with-sodium=${LOCALBASE}
+LIB_DEPENDS+= libsodium.so:security/libsodium
+.endif
+
+.if ${PHP_MODNAME} == "sqlite3"
+USES+= localbase pkgconfig sqlite
+CONFIGURE_ARGS+= --with-sqlite3=${LOCALBASE}
+.endif
+
+.if ${PHP_MODNAME} == "sysvmsg"
+CONFIGURE_ARGS+= --enable-sysvmsg
+.endif
+
+.if ${PHP_MODNAME} == "sysvsem"
+CONFIGURE_ARGS+= --enable-sysvsem
+.endif
+
+.if ${PHP_MODNAME} == "sysvshm"
+CONFIGURE_ARGS+= --enable-sysvshm
+.endif
+
+.if ${PHP_MODNAME} == "tidy"
+CONFIGURE_ARGS+= --with-tidy=${LOCALBASE}
+
+LIB_DEPENDS+= libtidy5.so:www/tidy-html5
+.endif
+
+.if ${PHP_MODNAME} == "tokenizer"
+CONFIGURE_ARGS+= --enable-tokenizer
+.endif
+
+.if ${PHP_MODNAME} == "xml"
+CONFIGURE_ARGS+= --enable-xml
+
+USES+= pkgconfig
+USE_GNOME= libxml2
+.endif
+
+.if ${PHP_MODNAME} == "xmlreader"
+CONFIGURE_ARGS+= --enable-xmlreader
+
+USE_GNOME= libxml2
+
+USE_PHP= dom:build
+.endif
+
+.if ${PHP_MODNAME} == "xmlwriter"
+CONFIGURE_ARGS+= --enable-xmlwriter
+
+USES+= pkgconfig
+USE_GNOME= libxml2
+.endif
+
+.if ${PHP_MODNAME} == "xsl"
+CONFIGURE_ARGS+= --with-xsl=${LOCALBASE}
+
+USE_GNOME= libxslt
+USE_PHP= dom:build xml:build
+.endif
+
+.if ${PHP_MODNAME} == "zip"
+LIB_DEPENDS+= libzip.so:archivers/libzip
+
+CONFIGURE_ARGS+= --with-zip
+USES+= pkgconfig
+.endif
+
+.if ${PHP_MODNAME} == "zlib"
+CONFIGURE_ARGS+= --with-zlib=/usr
+USES+= pkgconfig
+.endif
+
+.include <bsd.port.pre.mk>
+
+.if (${ARCH} == aarch64 || ${ARCH} == amd64 || ${ARCH} == i386) && ${PHP_MODNAME} == "opcache"
+post-configure:
+ @${BSDMAKE} -C ${WRKSRC} ./jit/ir/ir_fold_hash.h
+ @${BSDMAKE} -C ${WRKSRC} ./jit/ir/ir_emit.lo
+.endif
+
+.if ${PHP_MODNAME} == "soap"
+post-extract:
+ @${MKDIR} ${WRKSRC}/ext/session
+ @${CP} ${FILESDIR}/php_session.h ${WRKSRC}/ext/session
+.endif
+
+.if ${PHP_MODNAME} == "sqlite3" || ${PHP_MODNAME} == "zlib"
+post-extract:
+ @${MV} ${WRKSRC}/config0.m4 ${WRKSRC}/config.m4
+.endif
+
+.if ${PHP_MODNAME} == "xml"
+post-extract:
+ @${MKDIR} ${WRKSRC}/ext/xml
+ @${CP} ${WRKSRC}/expat_compat.h ${WRKSRC}/ext/xml
+.endif
+.endif
+.include <bsd.port.post.mk>
diff --git a/lang/php85/distinfo b/lang/php85/distinfo
new file mode 100644
index 000000000000..bbb20b86de2d
--- /dev/null
+++ b/lang/php85/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1751455337
+SHA256 (php-8.5.0alpha1.tar.gz) = ab8c5f2d559c41b711190e0850b981bfea0bda34f7129cd77567b35266a01b50
+SIZE (php-8.5.0alpha1.tar.gz) = 23014352
diff --git a/lang/php85/files/patch-TSRM_TSRM.c b/lang/php85/files/patch-TSRM_TSRM.c
new file mode 100644
index 000000000000..a5ad9dca4e8a
--- /dev/null
+++ b/lang/php85/files/patch-TSRM_TSRM.c
@@ -0,0 +1,11 @@
+--- TSRM/TSRM.c.orig 2024-07-02 13:43:13 UTC
++++ TSRM/TSRM.c
+@@ -792,7 +792,7 @@ TSRM_API size_t tsrm_get_ls_cache_tcb_offset(void)
+ asm ("leal _tsrm_ls_cache@ntpoff,%0"
+ : "=r" (ret));
+ return ret;
+-#elif defined(__aarch64__)
++#elif defined(__aarch64__) && !defined(__FreeBSD__)
+ size_t ret;
+
+ # ifdef __APPLE__
diff --git a/lang/php85/files/patch-build_Makefile.global b/lang/php85/files/patch-build_Makefile.global
new file mode 100644
index 000000000000..52531a83dabe
--- /dev/null
+++ b/lang/php85/files/patch-build_Makefile.global
@@ -0,0 +1,19 @@
+--- build/Makefile.global.orig 2024-07-02 13:43:13 UTC
++++ build/Makefile.global
+@@ -91,14 +91,14 @@ test: all
+ @if test ! -z "$(PHP_EXECUTABLE)" && test -x "$(PHP_EXECUTABLE)"; then \
+ INI_FILE=`$(PHP_EXECUTABLE) -d 'display_errors=stderr' -r 'echo php_ini_loaded_file();' 2> /dev/null`; \
+ if test "$$INI_FILE"; then \
+- $(EGREP) -h -v $(PHP_DEPRECATED_DIRECTIVES_REGEX) "$$INI_FILE" > $(top_builddir)/tmp-php.ini; \
++ $(EGREP) -h -v $(PHP_DEPRECATED_DIRECTIVES_REGEX) "$$INI_FILE" > $(top_builddir)/tmp-php.ini || :; \
+ else \
+ echo > $(top_builddir)/tmp-php.ini; \
+ fi; \
+ INI_SCANNED_PATH=`$(PHP_EXECUTABLE) -d 'display_errors=stderr' -r '$$a = explode(",\n", trim(php_ini_scanned_files())); echo $$a[0];' 2> /dev/null`; \
+ if test "$$INI_SCANNED_PATH"; then \
+ INI_SCANNED_PATH=`$(top_srcdir)/build/shtool path -d $$INI_SCANNED_PATH`; \
+- $(EGREP) -h -v $(PHP_DEPRECATED_DIRECTIVES_REGEX) "$$INI_SCANNED_PATH"/*.ini >> $(top_builddir)/tmp-php.ini; \
++ $(EGREP) -h -v $(PHP_DEPRECATED_DIRECTIVES_REGEX) "$$INI_SCANNED_PATH"/*.ini >> $(top_builddir)/tmp-php.ini || :; \
+ fi; \
+ TEST_PHP_EXECUTABLE=$(PHP_EXECUTABLE) \
+ TEST_PHP_SRCDIR=$(top_srcdir) \
diff --git a/lang/php85/files/patch-configure.ac b/lang/php85/files/patch-configure.ac
new file mode 100644
index 000000000000..e9c038fd5b15
--- /dev/null
+++ b/lang/php85/files/patch-configure.ac
@@ -0,0 +1,27 @@
+--- configure.ac.orig 2024-09-10 16:10:06 UTC
++++ configure.ac
+@@ -55,6 +55,7 @@ AH_BOTTOM([
+
+ #include <string.h>
+
++#include <ext/php_config.h>
+ #endif /* PHP_CONFIG_H */
+ ])
+
+@@ -249,7 +250,6 @@ AS_VAR_APPEND([CPPFLAGS], [" -D_GNU_SOURCE"])
+ dnl require extensions to C and POSIX.
+ AS_VAR_APPEND([CPPFLAGS], [" -D_GNU_SOURCE"])
+
+-PTHREADS_CHECK
+ PHP_HELP_SEPARATOR([SAPI modules:])
+ PHP_SHLIB_SUFFIX_NAMES
+ PHP_BUILD_PROGRAM
+@@ -1368,7 +1368,7 @@ EXPANDED_PHP_CONFIG_FILE_SCAN_DIR=$(eval echo "$PHP_CO
+ EXPANDED_DATADIR=$datadir
+ EXPANDED_PHP_CONFIG_FILE_PATH=$(eval echo "$PHP_CONFIG_FILE_PATH")
+ EXPANDED_PHP_CONFIG_FILE_SCAN_DIR=$(eval echo "$PHP_CONFIG_FILE_SCAN_DIR")
+-INCLUDE_PATH=.:$EXPANDED_PEAR_INSTALLDIR
++INCLUDE_PATH=.:${prefix}/share/pear
+
+ exec_prefix=$old_exec_prefix
+ libdir=$old_libdir
diff --git a/lang/php85/files/patch-ext_hash_xxhash_xxhash.h b/lang/php85/files/patch-ext_hash_xxhash_xxhash.h
new file mode 100644
index 000000000000..d284f4c94f74
--- /dev/null
+++ b/lang/php85/files/patch-ext_hash_xxhash_xxhash.h
@@ -0,0 +1,46 @@
+--- ext/hash/xxhash/xxhash.h.orig 2023-06-06 15:54:29 UTC
++++ ext/hash/xxhash/xxhash.h
+@@ -3078,22 +3078,32 @@ enum XXH_VECTOR_TYPE /* fake enum */ {
+ * inconsistent intrinsics, spotty coverage, and multiple endiannesses.
+ */
+ #if XXH_VECTOR == XXH_VSX
++/* Annoyingly, these headers _may_ define three macros: `bool`, `vector`,
++ * and `pixel`. This is a problem for obvious reasons.
++ *
++ * These keywords are unnecessary; the spec literally says they are
++ * equivalent to `__bool`, `__vector`, and `__pixel` and may be undef'd
++ * after including the header.
++ *
++ * We use pragma push_macro/pop_macro to keep the namespace clean. */
++# pragma push_macro("bool")
++# pragma push_macro("vector")
++# pragma push_macro("pixel")
++/* silence potential macro redefined warnings */
++# undef bool
++# undef vector
++# undef pixel
++
+ # if defined(__s390x__)
+ # include <s390intrin.h>
+ # else
+-/* gcc's altivec.h can have the unwanted consequence to unconditionally
+- * #define bool, vector, and pixel keywords,
+- * with bad consequences for programs already using these keywords for other purposes.
+- * The paragraph defining these macros is skipped when __APPLE_ALTIVEC__ is defined.
+- * __APPLE_ALTIVEC__ is _generally_ defined automatically by the compiler,
+- * but it seems that, in some cases, it isn't.
+- * Force the build macro to be defined, so that keywords are not altered.
+- */
+-# if defined(__GNUC__) && !defined(__APPLE_ALTIVEC__)
+-# define __APPLE_ALTIVEC__
+-# endif
+ # include <altivec.h>
+ # endif
++
++/* Restore the original macro values, if applicable. */
++# pragma pop_macro("pixel")
++# pragma pop_macro("vector")
++# pragma pop_macro("bool")
+
+ typedef __vector unsigned long long xxh_u64x2;
+ typedef __vector unsigned char xxh_u8x16;
diff --git a/lang/php85/files/patch-ext_pcre_php__pcre.h b/lang/php85/files/patch-ext_pcre_php__pcre.h
new file mode 100644
index 000000000000..56c6dc75f6e3
--- /dev/null
+++ b/lang/php85/files/patch-ext_pcre_php__pcre.h
@@ -0,0 +1,11 @@
+--- ext/pcre/php_pcre.h.orig 2024-07-28 11:55:02 UTC
++++ ext/pcre/php_pcre.h
+@@ -20,7 +20,7 @@
+ #ifdef HAVE_BUNDLED_PCRE
+ #include "pcre2lib/pcre2.h"
+ #else
+-#include "pcre2.h"
++#include <pcre2.h>
+ #endif
+
+ #include <locale.h>
diff --git a/lang/php85/files/patch-sapi_apache2handler_config.m4 b/lang/php85/files/patch-sapi_apache2handler_config.m4
new file mode 100644
index 000000000000..cb9874a7a4b0
--- /dev/null
+++ b/lang/php85/files/patch-sapi_apache2handler_config.m4
@@ -0,0 +1,11 @@
+--- sapi/apache2handler/config.m4.orig 2024-08-27 14:33:48 UTC
++++ sapi/apache2handler/config.m4
+@@ -61,7 +61,7 @@ if test "$PHP_APXS2" != "no"; then
+ [AC_MSG_ERROR([Please note that Apache version >= 2.4 is required])])
+
+ APXS_LIBEXECDIR='$(INSTALL_ROOT)'$($APXS -q LIBEXECDIR)
+- if test -z $($APXS -q SYSCONFDIR); then
++ if true; then
+ INSTALL_IT="\$(mkinstalldirs) '$APXS_LIBEXECDIR' && \
+ $APXS -S LIBEXECDIR='$APXS_LIBEXECDIR' \
+ -i -n php"
diff --git a/lang/php85/files/patch-sapi_fpm_www.conf.in b/lang/php85/files/patch-sapi_fpm_www.conf.in
new file mode 100644
index 000000000000..c7465018244d
--- /dev/null
+++ b/lang/php85/files/patch-sapi_fpm_www.conf.in
@@ -0,0 +1,17 @@
+--- sapi/fpm/www.conf.in.orig 2023-03-14 16:11:05 UTC
++++ sapi/fpm/www.conf.in
+@@ -32,10 +32,14 @@ group = @php_fpm_group@
+ ; Valid syntaxes are:
+ ; 'ip.add.re.ss:port' - to listen on a TCP socket to a specific IPv4 address on
+ ; a specific port;
++; '0.0.0.0:port' - to listen on a TCP socket to all IPv4 addresses on
++; a specific port;
+ ; '[ip:6:addr:ess]:port' - to listen on a TCP socket to a specific IPv6 address on
+ ; a specific port;
+ ; 'port' - to listen on a TCP socket to all addresses
+ ; (IPv6 and IPv4-mapped) on a specific port;
++; Note: IPv4-mapped addresses are disabled by-default in
++; FreeBSD for security reasons;
+ ; '/path/to/unix/socket' - to listen on a unix socket.
+ ; Note: This value is mandatory.
+ listen = 127.0.0.1:9000
diff --git a/lang/php85/files/php_fpm.in b/lang/php85/files/php_fpm.in
new file mode 100644
index 000000000000..d8a70275f453
--- /dev/null
+++ b/lang/php85/files/php_fpm.in
@@ -0,0 +1,102 @@
+#!/bin/sh
+
+# PROVIDE: php_fpm
+# REQUIRE: LOGIN
+# KEYWORD: shutdown
+
+#
+# Add the following line to /etc/rc.conf to enable php_fpm:
+# php_fpm_enable (bool): Set to "NO" by default.
+# Set it to "YES" to enable php_fpm
+# php_fpm_profiles (str): Set to "" by default.
+# Define your profiles here.
+# php_fpm_pid_prefix (str): Set to "" by default.
+# When using profiles manually assign value to "php_fpm_"
+# for prevent collision with other PIDs names.
+
+. /etc/rc.subr
+
+name="php_fpm"
+rcvar=php_fpm_enable
+
+start_precmd="php_fpm_prestart"
+restart_precmd="php_fpm_checkconfig"
+reload_precmd="php_fpm_checkconfig"
+command="%%PREFIX%%/sbin/php-fpm"
+configtest_cmd="php_fpm_checkconfig"
+_pidprefix="/var/run"
+pidfile="${_pidprefix}/php-fpm.pid"
+required_files="%%PREFIX%%/etc/php-fpm.conf"
+
+load_rc_config "${name}"
+
+: ${php_fpm_enable="NO"}
+: ${php_fpm_umask=""}
+: ${php_fpm_svcj_options:="net_basic"}
+
+if [ -n "$2" ]; then
+ profile="$2"
+ if [ "x${php_fpm_profiles}" != "x" ]; then
+ pidfile="${_pidprefix}/${php_fpm_pid_prefix}php-fpm-${profile}.pid"
+ eval php_fpm_configfile="\${php_fpm_${profile}_configfile:-}"
+ if [ "x${php_fpm_configfile}" = "x" ]; then
+ echo "You must define a configuration file (php_fpm_${profile}_configfile)"
+ exit 1
+ fi
+ required_files="${php_fpm_configfile}"
+ eval php_fpm_enable="\${php_fpm_${profile}_enable:-${php_fpm_enable}}"
+ php_fpm_flags="-y ${php_fpm_configfile} -g ${pidfile}"
+ else
+ echo "$0: extra argument ignored"
+ fi
+else
+ if [ "x${php_fpm_profiles}" != "x" -a "x$1" != "x" ]; then
+ for profile in ${php_fpm_profiles}; do
+ echo "===> php_fpm profile: ${profile}"
+ %%PREFIX%%/etc/rc.d/php_fpm $1 ${profile}
+ retcode="$?"
+ if [ "0${retcode}" -ne 0 ]; then
+ failed="${profile} (${retcode}) ${failed:-}"
+ else
+ success="${profile} ${success:-}"
+ fi
+ done
+ exit 0
+ fi
+fi
+
+extra_commands="reload configtest logrotate"
+sig_stop="QUIT"
+sig_reload="USR2"
+logrotate_cmd="php_fpm_logrotate"
+
+php_fpm_logrotate() {
+ if [ -z "$rc_pid" ]; then
+ _run_rc_notrunning
+ return 1
+ fi
+ echo "Rotating logs $name."
+ kill -USR1 $rc_pid
+}
+
+php_fpm_checkconfig()
+{
+ echo "Performing sanity check on php-fpm configuration:"
+ eval ${command} ${php_fpm_flags} -t
+}
+
+php_fpm_prestart()
+{
+ php_fpm_checkconfig
+ checkconfig=$?
+ if [ $checkconfig -ne 0 ]; then
+ return $checkconfig
+ fi
+
+ if [ ! -z "$php_fpm_umask" ]; then
+ echo "Setting umask to: ${php_fpm_umask}"
+ umask $php_fpm_umask
+ fi
+}
+
+run_rc_command "$1"
diff --git a/lang/php85/files/php_session.h b/lang/php85/files/php_session.h
new file mode 100644
index 000000000000..65bf7de20449
--- /dev/null
+++ b/lang/php85/files/php_session.h
@@ -0,0 +1,328 @@
+/*
+ +----------------------------------------------------------------------+
+ | Copyright (c) The PHP Group |
+ +----------------------------------------------------------------------+
+ | This source file is subject to version 3.01 of the PHP license, |
+ | that is bundled with this package in the file LICENSE, and is |
+ | available through the world-wide-web at the following url: |
+ | https://www.php.net/license/3_01.txt |
+ | If you did not receive a copy of the PHP license and are unable to |
+ | obtain it through the world-wide-web, please send a note to |
+ | license@php.net so we can mail you a copy immediately. |
+ +----------------------------------------------------------------------+
+ | Author: Sascha Schumann <sascha@schumann.cx> |
+ +----------------------------------------------------------------------+
+ */
+
+#ifndef PHP_SESSION_H
+#define PHP_SESSION_H
+
+#include "ext/standard/php_var.h"
+#include "ext/random/php_random.h"
+
+#define PHP_SESSION_API 20161017
+
+#include "php_version.h"
+#define PHP_SESSION_VERSION PHP_VERSION
+
+/* save handler macros */
+#define PS_OPEN_ARGS void **mod_data, const char *save_path, const char *session_name
+#define PS_CLOSE_ARGS void **mod_data
+#define PS_READ_ARGS void **mod_data, zend_string *key, zend_string **val, zend_long maxlifetime
+#define PS_WRITE_ARGS void **mod_data, zend_string *key, zend_string *val, zend_long maxlifetime
+#define PS_DESTROY_ARGS void **mod_data, zend_string *key
+#define PS_GC_ARGS void **mod_data, zend_long maxlifetime, zend_long *nrdels
+#define PS_CREATE_SID_ARGS void **mod_data
+#define PS_VALIDATE_SID_ARGS void **mod_data, zend_string *key
+#define PS_UPDATE_TIMESTAMP_ARGS void **mod_data, zend_string *key, zend_string *val, zend_long maxlifetime
+
+typedef struct ps_module_struct {
+ const char *s_name;
+ zend_result (*s_open)(PS_OPEN_ARGS);
+ zend_result (*s_close)(PS_CLOSE_ARGS);
+ zend_result (*s_read)(PS_READ_ARGS);
+ zend_result (*s_write)(PS_WRITE_ARGS);
+ zend_result (*s_destroy)(PS_DESTROY_ARGS);
+ zend_long (*s_gc)(PS_GC_ARGS);
+ zend_string *(*s_create_sid)(PS_CREATE_SID_ARGS);
+ zend_result (*s_validate_sid)(PS_VALIDATE_SID_ARGS);
+ zend_result (*s_update_timestamp)(PS_UPDATE_TIMESTAMP_ARGS);
+} ps_module;
+
+#define PS_GET_MOD_DATA() *mod_data
+#define PS_SET_MOD_DATA(a) *mod_data = (a)
+
+#define PS_OPEN_FUNC(x) zend_result ps_open_##x(PS_OPEN_ARGS)
+#define PS_CLOSE_FUNC(x) zend_result ps_close_##x(PS_CLOSE_ARGS)
+#define PS_READ_FUNC(x) zend_result ps_read_##x(PS_READ_ARGS)
+#define PS_WRITE_FUNC(x) zend_result ps_write_##x(PS_WRITE_ARGS)
+#define PS_DESTROY_FUNC(x) zend_result ps_delete_##x(PS_DESTROY_ARGS)
+#define PS_GC_FUNC(x) zend_long ps_gc_##x(PS_GC_ARGS)
+#define PS_CREATE_SID_FUNC(x) zend_string *ps_create_sid_##x(PS_CREATE_SID_ARGS)
+#define PS_VALIDATE_SID_FUNC(x) zend_result ps_validate_sid_##x(PS_VALIDATE_SID_ARGS)
+#define PS_UPDATE_TIMESTAMP_FUNC(x) zend_result ps_update_timestamp_##x(PS_UPDATE_TIMESTAMP_ARGS)
+
+/* Legacy save handler module definitions */
+#define PS_FUNCS(x) \
+ PS_OPEN_FUNC(x); \
+ PS_CLOSE_FUNC(x); \
+ PS_READ_FUNC(x); \
+ PS_WRITE_FUNC(x); \
+ PS_DESTROY_FUNC(x); \
+ PS_GC_FUNC(x); \
+ PS_CREATE_SID_FUNC(x)
+
+#define PS_MOD(x) \
+ #x, ps_open_##x, ps_close_##x, ps_read_##x, ps_write_##x, \
+ ps_delete_##x, ps_gc_##x, php_session_create_id, \
+ php_session_validate_sid, php_session_update_timestamp
+
+/* Legacy SID creation enabled save handler module definitions */
+#define PS_FUNCS_SID(x) \
+ PS_OPEN_FUNC(x); \
+ PS_CLOSE_FUNC(x); \
+ PS_READ_FUNC(x); \
+ PS_WRITE_FUNC(x); \
+ PS_DESTROY_FUNC(x); \
+ PS_GC_FUNC(x); \
+ PS_CREATE_SID_FUNC(x); \
+ PS_VALIDATE_SID_FUNC(x); \
+ PS_UPDATE_TIMESTAMP_FUNC(x);
+
+#define PS_MOD_SID(x) \
+ #x, ps_open_##x, ps_close_##x, ps_read_##x, ps_write_##x, \
+ ps_delete_##x, ps_gc_##x, ps_create_sid_##x, \
+ php_session_validate_sid, php_session_update_timestamp
+
+/* Update timestamp enabled save handler module definitions
+ New save handlers should use this API */
+#define PS_FUNCS_UPDATE_TIMESTAMP(x) \
+ PS_OPEN_FUNC(x); \
+ PS_CLOSE_FUNC(x); \
+ PS_READ_FUNC(x); \
+ PS_WRITE_FUNC(x); \
+ PS_DESTROY_FUNC(x); \
+ PS_GC_FUNC(x); \
+ PS_CREATE_SID_FUNC(x); \
+ PS_VALIDATE_SID_FUNC(x); \
+ PS_UPDATE_TIMESTAMP_FUNC(x);
+
+#define PS_MOD_UPDATE_TIMESTAMP(x) \
+ #x, ps_open_##x, ps_close_##x, ps_read_##x, ps_write_##x, \
+ ps_delete_##x, ps_gc_##x, ps_create_sid_##x, \
+ ps_validate_sid_##x, ps_update_timestamp_##x
+
+
+typedef enum {
+ php_session_disabled,
+ php_session_none,
+ php_session_active
+} php_session_status;
+
+typedef struct _php_session_rfc1867_progress {
+ size_t sname_len;
+ zval sid;
+ smart_str key;
+
+ zend_long update_step;
+ zend_long next_update;
+ double next_update_time;
+ bool cancel_upload;
+ bool apply_trans_sid;
+ size_t content_length;
+
+ zval data; /* the array exported to session data */
+ zval files; /* data["files"] array */
+ zval *post_bytes_processed; /* data["bytes_processed"] */
+ zval *current_file_bytes_processed;
+ zval current_file; /* array of currently uploading file */
+} php_session_rfc1867_progress;
+
+typedef struct _php_ps_globals {
+ char *save_path;
+ char *session_name;
+ zend_string *id;
+ char *extern_referer_chk;
+ char *cache_limiter;
+ zend_long cookie_lifetime;
+ char *cookie_path;
+ char *cookie_domain;
+ char *cookie_samesite;
+ bool cookie_secure;
+ bool cookie_httponly;
+ const ps_module *mod;
+ const ps_module *default_mod;
+ void *mod_data;
+ php_session_status session_status;
+ zend_string *session_started_filename;
+ uint32_t session_started_lineno;
+ int module_number;
+ php_random_status_state_pcgoneseq128xslrr64 random_state;
+ php_random_algo_with_state random;
+ zend_long gc_probability;
+ zend_long gc_divisor;
+ zend_long gc_maxlifetime;
+ zend_long cache_expire;
+ struct {
+ zval ps_open;
+ zval ps_close;
+ zval ps_read;
+ zval ps_write;
+ zval ps_destroy;
+ zval ps_gc;
+ zval ps_create_sid;
+ zval ps_validate_sid;
+ zval ps_update_timestamp;
+ } mod_user_names;
+ zend_string *mod_user_class_name;
+ bool mod_user_implemented;
+ bool mod_user_is_open;
+ bool auto_start;
+ bool use_cookies;
+ bool use_only_cookies;
+ bool use_trans_sid; /* contains the INI value of whether to use trans-sid */
+ bool send_cookie;
+ bool define_sid;
+
+ const struct ps_serializer_struct *serializer;
+ zval http_session_vars;
+
+ zend_long sid_length;
+ zend_long sid_bits_per_character;
+
+ php_session_rfc1867_progress *rfc1867_progress;
+ char *rfc1867_prefix; /* session.upload_progress.prefix */
+ char *rfc1867_name; /* session.upload_progress.name */
+ zend_long rfc1867_freq; /* session.upload_progress.freq */
+ double rfc1867_min_freq; /* session.upload_progress.min_freq */
+ bool rfc1867_enabled; /* session.upload_progress.enabled */
+ bool rfc1867_cleanup; /* session.upload_progress.cleanup */
+
+ bool use_strict_mode; /* whether or not PHP accepts unknown session ids */
+ bool lazy_write; /* omit session write when it is possible */
+ bool in_save_handler; /* state if session is in save handler or not */
+ bool set_handler; /* state if session module i setting handler or not */
+ zend_string *session_vars; /* serialized original session data */
+} php_ps_globals;
+
+typedef php_ps_globals zend_ps_globals;
+
+extern zend_module_entry session_module_entry;
+#define phpext_session_ptr &session_module_entry
+
+#ifdef ZTS
+#define PS(v) ZEND_TSRMG(ps_globals_id, php_ps_globals *, v)
+#ifdef COMPILE_DL_SESSION
+ZEND_TSRMLS_CACHE_EXTERN()
+#endif
+#else
+#define PS(v) (ps_globals.v)
+#endif
+
+#define PS_SERIALIZER_ENCODE_ARGS void
+#define PS_SERIALIZER_DECODE_ARGS const char *val, size_t vallen
+
+typedef struct ps_serializer_struct {
+ const char *name;
+ zend_string *(*encode)(PS_SERIALIZER_ENCODE_ARGS);
+ zend_result (*decode)(PS_SERIALIZER_DECODE_ARGS);
+} ps_serializer;
+
+#define PS_SERIALIZER_ENCODE_NAME(x) ps_srlzr_encode_##x
+#define PS_SERIALIZER_DECODE_NAME(x) ps_srlzr_decode_##x
+
+#define PS_SERIALIZER_ENCODE_FUNC(x) \
+ zend_string *PS_SERIALIZER_ENCODE_NAME(x)(PS_SERIALIZER_ENCODE_ARGS)
+#define PS_SERIALIZER_DECODE_FUNC(x) \
+ zend_result PS_SERIALIZER_DECODE_NAME(x)(PS_SERIALIZER_DECODE_ARGS)
+
+#define PS_SERIALIZER_FUNCS(x) \
+ PS_SERIALIZER_ENCODE_FUNC(x); \
+ PS_SERIALIZER_DECODE_FUNC(x)
+
+#define PS_SERIALIZER_ENTRY(x) \
+ { #x, PS_SERIALIZER_ENCODE_NAME(x), PS_SERIALIZER_DECODE_NAME(x) }
+
+/* default create id function */
+PHPAPI zend_string *php_session_create_id(PS_CREATE_SID_ARGS);
+/* Dummy PS module functions */
+PHPAPI zend_result php_session_validate_sid(PS_VALIDATE_SID_ARGS);
+PHPAPI zend_result php_session_update_timestamp(PS_UPDATE_TIMESTAMP_ARGS);
+
+PHPAPI void session_adapt_url(const char *url, size_t url_len, char **new_url, size_t *new_len);
+
+PHPAPI zend_result php_session_destroy(void);
+PHPAPI void php_add_session_var(zend_string *name);
+PHPAPI zval *php_set_session_var(zend_string *name, zval *state_val, php_unserialize_data_t *var_hash);
+PHPAPI zval *php_get_session_var(zend_string *name);
+PHPAPI zval* php_get_session_var_str(const char *name, size_t name_len);
+
+PHPAPI zend_result php_session_register_module(const ps_module *);
+
+PHPAPI zend_result php_session_register_serializer(const char *name,
+ zend_string *(*encode)(PS_SERIALIZER_ENCODE_ARGS),
+ zend_result (*decode)(PS_SERIALIZER_DECODE_ARGS));
+
+PHPAPI zend_result php_session_start(void);
+PHPAPI zend_result php_session_flush(int write);
+PHPAPI php_session_status php_get_session_status(void);
+
+PHPAPI const ps_module *_php_find_ps_module(const char *name);
+PHPAPI const ps_serializer *_php_find_ps_serializer(const char *name);
+
+PHPAPI zend_result php_session_valid_key(const char *key);
+PHPAPI zend_result php_session_reset_id(void);
+
+#define PS_ADD_VARL(name) do { \
+ php_add_session_var(name); \
+} while (0)
+
+#define PS_ADD_VAR(name) PS_ADD_VARL(name)
+
+#define PS_DEL_VARL(name) do { \
+ if (!Z_ISNULL(PS(http_session_vars))) { \
+ zend_hash_del(Z_ARRVAL(PS(http_session_vars)), name); \
+ } \
+} while (0)
+
+
+#define PS_ENCODE_VARS \
+ zend_string *key; \
+ zend_ulong num_key; \
+ zval *struc;
+
+#define PS_ENCODE_LOOP(code) do { \
+ HashTable *_ht = Z_ARRVAL_P(Z_REFVAL(PS(http_session_vars))); \
+ ZEND_HASH_FOREACH_KEY(_ht, num_key, key) { \
+ if (key == NULL) { \
+ php_error_docref(NULL, E_WARNING, \
+ "Skipping numeric key " ZEND_LONG_FMT, num_key);\
+ continue; \
+ } \
+ if ((struc = php_get_session_var(key))) { \
+ code; \
+ } \
+ } ZEND_HASH_FOREACH_END(); \
+} while(0)
+
+PHPAPI ZEND_EXTERN_MODULE_GLOBALS(ps)
+
+void php_session_auto_start(void *data);
+
+extern PHPAPI zend_class_entry *php_session_class_entry;
+
+extern PHPAPI zend_class_entry *php_session_iface_entry;
+
+extern PHPAPI zend_class_entry *php_session_id_iface_entry;
+
+extern PHPAPI zend_class_entry *php_session_update_timestamp_iface_entry;
+
+extern PHP_METHOD(SessionHandler, open);
+extern PHP_METHOD(SessionHandler, close);
+extern PHP_METHOD(SessionHandler, read);
+extern PHP_METHOD(SessionHandler, write);
+extern PHP_METHOD(SessionHandler, destroy);
+extern PHP_METHOD(SessionHandler, gc);
+extern PHP_METHOD(SessionHandler, create_sid);
+
+#endif
diff --git a/lang/php85/pkg-descr b/lang/php85/pkg-descr
new file mode 100644
index 000000000000..60a2137716fb
--- /dev/null
+++ b/lang/php85/pkg-descr
@@ -0,0 +1,6 @@
+PHP, which stands for "PHP: Hypertext Preprocessor" is a widely-used Open
+Source general-purpose scripting language that is especially suited for
+Web development and can be embedded into HTML. Its syntax draws upon C,
+Java, and Perl, and is easy to learn. The main goal of the language is to
+allow web developers to write dynamically generated webpages quickly, but
+you can do much more with PHP.
diff --git a/lang/php85/pkg-message.mod b/lang/php85/pkg-message.mod
new file mode 100644
index 000000000000..8ad98d25b4e6
--- /dev/null
+++ b/lang/php85/pkg-message.mod
@@ -0,0 +1,24 @@
+******************************************************************************
+
+Consider switching to php-fpm and mod_fast_cgi as per Apache httpd project
+recommendation. See https://cwiki.apache.org/confluence/display/HTTPD/PHP-FPM
+
+******************************************************************************
+
+If you are building PHP-based ports in poudriere(8) or Synth with ZTS enabled,
+add WITH_MPM=event to /etc/make.conf to prevent build failures.
+
+******************************************************************************
+
+Make sure index.php is part of your DirectoryIndex.
+
+You should add the following to your Apache configuration file:
+
+<FilesMatch "\.php$">
+ SetHandler application/x-httpd-php
+</FilesMatch>
+<FilesMatch "\.phps$">
+ SetHandler application/x-httpd-php-source
+</FilesMatch>
+
+******************************************************************************
diff --git a/lang/php85/pkg-plist b/lang/php85/pkg-plist
new file mode 100644
index 000000000000..4ce095d86e09
--- /dev/null
+++ b/lang/php85/pkg-plist
@@ -0,0 +1,549 @@
+%%CLI%%bin/php
+%%CGI%%bin/php-cgi
+bin/php-config
+%%PHPDBG%%bin/phpdbg
+bin/phpize
+%%FPM%%sbin/php-fpm
+etc/php.conf
+etc/php.ini-development
+etc/php.ini-production
+%%FPM%%@sample etc/php-fpm.conf.default etc/php-fpm.conf
+%%FPM%%@sample etc/php-fpm.d/www.conf.default etc/php-fpm.d/www.conf
+include/php/TSRM/TSRM.h
+include/php/TSRM/tsrm_win32.h
+include/php/Zend/Optimizer/zend_call_graph.h
+include/php/Zend/Optimizer/zend_cfg.h
+include/php/Zend/Optimizer/zend_dfg.h
+include/php/Zend/Optimizer/zend_dump.h
+include/php/Zend/Optimizer/zend_func_info.h
+include/php/Zend/Optimizer/zend_inference.h
+include/php/Zend/Optimizer/zend_optimizer.h
+include/php/Zend/Optimizer/zend_ssa.h
+include/php/Zend/Optimizer/zend_worklist.h
+include/php/Zend/zend.h
+include/php/Zend/zend_API.h
+include/php/Zend/zend_alloc.h
+include/php/Zend/zend_alloc_sizes.h
+include/php/Zend/zend_arena.h
+include/php/Zend/zend_ast.h
+include/php/Zend/zend_atomic.h
+include/php/Zend/zend_attributes.h
+include/php/Zend/zend_attributes_arginfo.h
+include/php/Zend/zend_bitset.h
+include/php/Zend/zend_build.h
+include/php/Zend/zend_builtin_functions.h
+include/php/Zend/zend_builtin_functions_arginfo.h
+include/php/Zend/zend_call_stack.h
+include/php/Zend/zend_closures.h
+include/php/Zend/zend_closures_arginfo.h
+include/php/Zend/zend_compile.h
+include/php/Zend/zend_config.h
+include/php/Zend/zend_config.w32.h
+include/php/Zend/zend_constants.h
+include/php/Zend/zend_constants_arginfo.h
+include/php/Zend/zend_cpuinfo.h
+include/php/Zend/zend_dtrace.h
+%%DTRACE%%include/php/Zend/zend_dtrace_gen.h
+include/php/Zend/zend_enum.h
+include/php/Zend/zend_enum_arginfo.h
+include/php/Zend/zend_errors.h
+include/php/Zend/zend_exceptions.h
+include/php/Zend/zend_exceptions_arginfo.h
+include/php/Zend/zend_execute.h
+include/php/Zend/zend_extensions.h
+include/php/Zend/zend_fibers.h
+include/php/Zend/zend_fibers_arginfo.h
+include/php/Zend/zend_float.h
+include/php/Zend/zend_frameless_function.h
+include/php/Zend/zend_gc.h
+include/php/Zend/zend_gdb.h
+include/php/Zend/zend_generators.h
+include/php/Zend/zend_generators_arginfo.h
+include/php/Zend/zend_globals.h
+include/php/Zend/zend_globals_macros.h
+include/php/Zend/zend_hash.h
+include/php/Zend/zend_highlight.h
+include/php/Zend/zend_hrtime.h
+include/php/Zend/zend_inheritance.h
+include/php/Zend/zend_ini.h
+include/php/Zend/zend_ini_parser.h
+include/php/Zend/zend_ini_scanner.h
+include/php/Zend/zend_ini_scanner_defs.h
+include/php/Zend/zend_interfaces.h
+include/php/Zend/zend_interfaces_arginfo.h
+include/php/Zend/zend_iterators.h
+include/php/Zend/zend_language_parser.h
+include/php/Zend/zend_language_scanner.h
+include/php/Zend/zend_language_scanner_defs.h
+include/php/Zend/zend_lazy_objects.h
+include/php/Zend/zend_list.h
+include/php/Zend/zend_llist.h
+include/php/Zend/zend_long.h
+include/php/Zend/zend_map_ptr.h
+include/php/Zend/zend_max_execution_timer.h
+include/php/Zend/zend_mmap.h
+include/php/Zend/zend_modules.h
+include/php/Zend/zend_multibyte.h
+include/php/Zend/zend_multiply.h
+include/php/Zend/zend_object_handlers.h
+include/php/Zend/zend_objects.h
+include/php/Zend/zend_objects_API.h
+include/php/Zend/zend_observer.h
+include/php/Zend/zend_operators.h
+include/php/Zend/zend_portability.h
+include/php/Zend/zend_property_hooks.h
+include/php/Zend/zend_ptr_stack.h
+include/php/Zend/zend_range_check.h
+include/php/Zend/zend_signal.h
+include/php/Zend/zend_simd.h
+include/php/Zend/zend_smart_str.h
+include/php/Zend/zend_smart_str_public.h
+include/php/Zend/zend_smart_string.h
+include/php/Zend/zend_smart_string_public.h
+include/php/Zend/zend_sort.h
+include/php/Zend/zend_stack.h
+include/php/Zend/zend_stream.h
+include/php/Zend/zend_string.h
+include/php/Zend/zend_strtod.h
+include/php/Zend/zend_strtod_int.h
+include/php/Zend/zend_system_id.h
+include/php/Zend/zend_type_info.h
+include/php/Zend/zend_types.h
+include/php/Zend/zend_variables.h
+include/php/Zend/zend_verify_type_inference.h
+include/php/Zend/zend_virtual_cwd.h
+include/php/Zend/zend_vm.h
+include/php/Zend/zend_vm_def.h
+include/php/Zend/zend_vm_execute.h
+include/php/Zend/zend_vm_handlers.h
+include/php/Zend/zend_vm_opcodes.h
+include/php/Zend/zend_vm_trace_handlers.h
+include/php/Zend/zend_vm_trace_lines.h
+include/php/Zend/zend_vm_trace_map.h
+include/php/Zend/zend_weakrefs.h
+include/php/Zend/zend_weakrefs_arginfo.h
+include/php/ext/date/lib/timelib.h
+include/php/ext/date/lib/timelib_config.h
+include/php/ext/date/php_date.h
+include/php/ext/hash/php_hash.h
+include/php/ext/hash/php_hash_adler32.h
+include/php/ext/hash/php_hash_crc32.h
+include/php/ext/hash/php_hash_fnv.h
+include/php/ext/hash/php_hash_gost.h
+include/php/ext/hash/php_hash_haval.h
+include/php/ext/hash/php_hash_joaat.h
+include/php/ext/hash/php_hash_md.h
+include/php/ext/hash/php_hash_murmur.h
+include/php/ext/hash/php_hash_ripemd.h
+include/php/ext/hash/php_hash_sha.h
+include/php/ext/hash/php_hash_sha3.h
+include/php/ext/hash/php_hash_snefru.h
+include/php/ext/hash/php_hash_tiger.h
+include/php/ext/hash/php_hash_whirlpool.h
+include/php/ext/hash/php_hash_xxhash.h
+include/php/ext/hash/xxhash/xxhash.h
+include/php/ext/json/php_json.h
+include/php/ext/json/php_json_parser.h
+include/php/ext/json/php_json_scanner.h
+include/php/ext/lexbor/core/array.h
+include/php/ext/lexbor/core/array_obj.h
+include/php/ext/lexbor/core/avl.h
+include/php/ext/lexbor/core/base.h
+include/php/ext/lexbor/core/bst.h
+include/php/ext/lexbor/core/bst_map.h
+include/php/ext/lexbor/core/conv.h
+include/php/ext/lexbor/core/core.h
+include/php/ext/lexbor/core/def.h
+include/php/ext/lexbor/core/diyfp.h
+include/php/ext/lexbor/core/dobject.h
+include/php/ext/lexbor/core/dtoa.h
+include/php/ext/lexbor/core/fs.h
+include/php/ext/lexbor/core/hash.h
+include/php/ext/lexbor/core/in.h
+include/php/ext/lexbor/core/lexbor.h
+include/php/ext/lexbor/core/mem.h
+include/php/ext/lexbor/core/mraw.h
+include/php/ext/lexbor/core/perf.h
+include/php/ext/lexbor/core/plog.h
+include/php/ext/lexbor/core/print.h
+include/php/ext/lexbor/core/sbst.h
+include/php/ext/lexbor/core/serialize.h
+include/php/ext/lexbor/core/shs.h
+include/php/ext/lexbor/core/str.h
+include/php/ext/lexbor/core/strtod.h
+include/php/ext/lexbor/core/str_res.h
+include/php/ext/lexbor/core/swar.h
+include/php/ext/lexbor/core/types.h
+include/php/ext/lexbor/core/utils.h
+include/php/ext/lexbor/css/at_rule.h
+include/php/ext/lexbor/css/at_rule/const.h
+include/php/ext/lexbor/css/at_rule/res.h
+include/php/ext/lexbor/css/at_rule/state.h
+include/php/ext/lexbor/css/base.h
+include/php/ext/lexbor/css/css.h
+include/php/ext/lexbor/css/declaration.h
+include/php/ext/lexbor/css/property.h
+include/php/ext/lexbor/css/property/const.h
+include/php/ext/lexbor/css/property/res.h
+include/php/ext/lexbor/css/property/state.h
+include/php/ext/lexbor/css/rule.h
+include/php/ext/lexbor/css/selectors/base.h
+include/php/ext/lexbor/css/selectors/pseudo.h
+include/php/ext/lexbor/css/selectors/pseudo_const.h
+include/php/ext/lexbor/css/selectors/pseudo_res.h
+include/php/ext/lexbor/css/selectors/pseudo_state.h
+include/php/ext/lexbor/css/selectors/selector.h
+include/php/ext/lexbor/css/selectors/selectors.h
+include/php/ext/lexbor/css/selectors/state.h
+include/php/ext/lexbor/css/state.h
+include/php/ext/lexbor/css/stylesheet.h
+include/php/ext/lexbor/css/syntax/anb.h
+include/php/ext/lexbor/css/syntax/base.h
+include/php/ext/lexbor/css/syntax/parser.h
+include/php/ext/lexbor/css/syntax/res.h
+include/php/ext/lexbor/css/syntax/state.h
+include/php/ext/lexbor/css/syntax/state_res.h
+include/php/ext/lexbor/css/syntax/syntax.h
+include/php/ext/lexbor/css/syntax/token.h
+include/php/ext/lexbor/css/syntax/token_res.h
+include/php/ext/lexbor/css/syntax/tokenizer.h
+include/php/ext/lexbor/css/syntax/tokenizer/error.h
+include/php/ext/lexbor/css/unit.h
+include/php/ext/lexbor/css/unit/const.h
+include/php/ext/lexbor/css/unit/res.h
+include/php/ext/lexbor/css/value.h
+include/php/ext/lexbor/css/value/const.h
+include/php/ext/lexbor/css/value/res.h
+include/php/ext/lexbor/dom/interfaces/attr.h
+include/php/ext/lexbor/dom/interfaces/attr_const.h
+include/php/ext/lexbor/dom/interfaces/attr_res.h
+include/php/ext/lexbor/dom/interfaces/cdata_section.h
+include/php/ext/lexbor/dom/interfaces/character_data.h
+include/php/ext/lexbor/dom/interfaces/comment.h
+include/php/ext/lexbor/dom/interfaces/document.h
+include/php/ext/lexbor/dom/interfaces/document_fragment.h
+include/php/ext/lexbor/dom/interfaces/document_type.h
+include/php/ext/lexbor/dom/interfaces/element.h
+include/php/ext/lexbor/dom/interfaces/event_target.h
+include/php/ext/lexbor/dom/interfaces/processing_instruction.h
+include/php/ext/lexbor/dom/interfaces/shadow_root.h
+include/php/ext/lexbor/dom/interfaces/text.h
+include/php/ext/lexbor/encoding/multi.h
+include/php/ext/lexbor/encoding/range.h
+include/php/ext/lexbor/encoding/single.h
+include/php/ext/lexbor/html/encoding.h
+include/php/ext/lexbor/html/html.h
+include/php/ext/lexbor/html/interface.h
+include/php/ext/lexbor/html/interface_res.h
+include/php/ext/lexbor/html/interfaces/anchor_element.h
+include/php/ext/lexbor/html/interfaces/area_element.h
+include/php/ext/lexbor/html/interfaces/audio_element.h
+include/php/ext/lexbor/html/interfaces/base_element.h
+include/php/ext/lexbor/html/interfaces/body_element.h
+include/php/ext/lexbor/html/interfaces/br_element.h
+include/php/ext/lexbor/html/interfaces/button_element.h
+include/php/ext/lexbor/html/interfaces/canvas_element.h
+include/php/ext/lexbor/html/interfaces/d_list_element.h
+include/php/ext/lexbor/html/interfaces/data_element.h
+include/php/ext/lexbor/html/interfaces/data_list_element.h
+include/php/ext/lexbor/html/interfaces/details_element.h
+include/php/ext/lexbor/html/interfaces/dialog_element.h
+include/php/ext/lexbor/html/interfaces/directory_element.h
+include/php/ext/lexbor/html/interfaces/div_element.h
+include/php/ext/lexbor/html/interfaces/document.h
+include/php/ext/lexbor/html/interfaces/element.h
+include/php/ext/lexbor/html/interfaces/embed_element.h
+include/php/ext/lexbor/html/interfaces/field_set_element.h
+include/php/ext/lexbor/html/interfaces/font_element.h
+include/php/ext/lexbor/html/interfaces/form_element.h
+include/php/ext/lexbor/html/interfaces/frame_element.h
+include/php/ext/lexbor/html/interfaces/frame_set_element.h
+include/php/ext/lexbor/html/interfaces/head_element.h
+include/php/ext/lexbor/html/interfaces/heading_element.h
+include/php/ext/lexbor/html/interfaces/hr_element.h
+include/php/ext/lexbor/html/interfaces/html_element.h
+include/php/ext/lexbor/html/interfaces/iframe_element.h
+include/php/ext/lexbor/html/interfaces/image_element.h
+include/php/ext/lexbor/html/interfaces/input_element.h
+include/php/ext/lexbor/html/interfaces/label_element.h
+include/php/ext/lexbor/html/interfaces/legend_element.h
+include/php/ext/lexbor/html/interfaces/li_element.h
+include/php/ext/lexbor/html/interfaces/link_element.h
+include/php/ext/lexbor/html/interfaces/map_element.h
+include/php/ext/lexbor/html/interfaces/marquee_element.h
+include/php/ext/lexbor/html/interfaces/media_element.h
+include/php/ext/lexbor/html/interfaces/menu_element.h
+include/php/ext/lexbor/html/interfaces/meta_element.h
+include/php/ext/lexbor/html/interfaces/meter_element.h
+include/php/ext/lexbor/html/interfaces/mod_element.h
+include/php/ext/lexbor/html/interfaces/o_list_element.h
+include/php/ext/lexbor/html/interfaces/object_element.h
+include/php/ext/lexbor/html/interfaces/opt_group_element.h
+include/php/ext/lexbor/html/interfaces/option_element.h
+include/php/ext/lexbor/html/interfaces/output_element.h
+include/php/ext/lexbor/html/interfaces/paragraph_element.h
+include/php/ext/lexbor/html/interfaces/param_element.h
+include/php/ext/lexbor/html/interfaces/picture_element.h
+include/php/ext/lexbor/html/interfaces/pre_element.h
+include/php/ext/lexbor/html/interfaces/progress_element.h
+include/php/ext/lexbor/html/interfaces/quote_element.h
+include/php/ext/lexbor/html/interfaces/script_element.h
+include/php/ext/lexbor/html/interfaces/select_element.h
+include/php/ext/lexbor/html/interfaces/slot_element.h
+include/php/ext/lexbor/html/interfaces/source_element.h
+include/php/ext/lexbor/html/interfaces/span_element.h
+include/php/ext/lexbor/html/interfaces/style_element.h
+include/php/ext/lexbor/html/interfaces/table_caption_element.h
+include/php/ext/lexbor/html/interfaces/table_cell_element.h
+include/php/ext/lexbor/html/interfaces/table_col_element.h
+include/php/ext/lexbor/html/interfaces/table_element.h
+include/php/ext/lexbor/html/interfaces/table_row_element.h
+include/php/ext/lexbor/html/interfaces/table_section_element.h
+include/php/ext/lexbor/html/interfaces/template_element.h
+include/php/ext/lexbor/html/interfaces/text_area_element.h
+include/php/ext/lexbor/html/interfaces/time_element.h
+include/php/ext/lexbor/html/interfaces/title_element.h
+include/php/ext/lexbor/html/interfaces/track_element.h
+include/php/ext/lexbor/html/interfaces/u_list_element.h
+include/php/ext/lexbor/html/interfaces/unknown_element.h
+include/php/ext/lexbor/html/interfaces/video_element.h
+include/php/ext/lexbor/html/interfaces/window.h
+include/php/ext/lexbor/html/node.h
+include/php/ext/lexbor/html/serialize.h
+include/php/ext/lexbor/html/style.h
+include/php/ext/lexbor/html/tag.h
+include/php/ext/lexbor/html/tag_res.h
+include/php/ext/lexbor/html/token.h
+include/php/ext/lexbor/html/token_attr.h
+include/php/ext/lexbor/html/tokenizer.h
+include/php/ext/lexbor/html/tokenizer/error.h
+include/php/ext/lexbor/html/tokenizer/res.h
+include/php/ext/lexbor/html/tokenizer/state.h
+include/php/ext/lexbor/html/tokenizer/state_comment.h
+include/php/ext/lexbor/html/tokenizer/state_doctype.h
+include/php/ext/lexbor/html/tokenizer/state_rawtext.h
+include/php/ext/lexbor/html/tokenizer/state_rcdata.h
+include/php/ext/lexbor/html/tokenizer/state_script.h
+include/php/ext/lexbor/html/tree/active_formatting.h
+include/php/ext/lexbor/html/tree/error.h
+include/php/ext/lexbor/html/tree/insertion_mode.h
+include/php/ext/lexbor/html/tree/open_elements.h
+include/php/ext/lexbor/html/tree/template_insertion.h
+include/php/ext/lexbor/html/tree_res.h
+include/php/ext/lexbor/ns/base.h
+include/php/ext/lexbor/ns/ns.h
+include/php/ext/lexbor/ns/res.h
+include/php/ext/lexbor/punycode/base.h
+include/php/ext/lexbor/punycode/punycode.h
+include/php/ext/lexbor/selectors/selectors.h
+include/php/ext/lexbor/tag/base.h
+include/php/ext/lexbor/tag/res.h
+include/php/ext/lexbor/tag/tag.h
+include/php/ext/lexbor/unicode/base.h
+include/php/ext/lexbor/unicode/idna.h
+include/php/ext/lexbor/unicode/res.h
+include/php/ext/lexbor/unicode/unicode.h
+include/php/ext/lexbor/url/base.h
+include/php/ext/lexbor/url/url.h
+include/php/ext/lexbor/css/log.h
+include/php/ext/lexbor/css/parser.h
+include/php/ext/lexbor/dom/base.h
+include/php/ext/lexbor/dom/collection.h
+include/php/ext/lexbor/dom/dom.h
+include/php/ext/lexbor/dom/exception.h
+include/php/ext/lexbor/dom/interface.h
+include/php/ext/lexbor/dom/interfaces/node.h
+include/php/ext/lexbor/encoding/base.h
+include/php/ext/lexbor/encoding/const.h
+include/php/ext/lexbor/encoding/decode.h
+include/php/ext/lexbor/encoding/encode.h
+include/php/ext/lexbor/encoding/encoding.h
+include/php/ext/lexbor/encoding/res.h
+include/php/ext/lexbor/html/base.h
+include/php/ext/lexbor/html/parser.h
+include/php/ext/lexbor/html/tree.h
+include/php/ext/lexbor/ns/const.h
+include/php/ext/lexbor/php_lexbor.h
+include/php/ext/lexbor/selectors/base.h
+include/php/ext/lexbor/tag/const.h
+include/php/ext/libxml/php_libxml.h
+%%MYSQLND%%include/php/ext/mysqlnd/config-win.h
+%%MYSQLND%%include/php/ext/mysqlnd/mysql_float_to_double.h
+%%MYSQLND%%include/php/ext/mysqlnd/mysqlnd.h
+%%MYSQLND%%include/php/ext/mysqlnd/mysqlnd_alloc.h
+%%MYSQLND%%include/php/ext/mysqlnd/mysqlnd_auth.h
+%%MYSQLND%%include/php/ext/mysqlnd/mysqlnd_block_alloc.h
+%%MYSQLND%%include/php/ext/mysqlnd/mysqlnd_charset.h
+%%MYSQLND%%include/php/ext/mysqlnd/mysqlnd_commands.h
+%%MYSQLND%%include/php/ext/mysqlnd/mysqlnd_connection.h
+%%MYSQLND%%include/php/ext/mysqlnd/mysqlnd_debug.h
+%%MYSQLND%%include/php/ext/mysqlnd/mysqlnd_enum_n_def.h
+%%MYSQLND%%include/php/ext/mysqlnd/mysqlnd_ext_plugin.h
+%%MYSQLND%%include/php/ext/mysqlnd/mysqlnd_libmysql_compat.h
+%%MYSQLND%%include/php/ext/mysqlnd/mysqlnd_plugin.h
+%%MYSQLND%%include/php/ext/mysqlnd/mysqlnd_portability.h
+%%MYSQLND%%include/php/ext/mysqlnd/mysqlnd_priv.h
+%%MYSQLND%%include/php/ext/mysqlnd/mysqlnd_protocol_frame_codec.h
+%%MYSQLND%%include/php/ext/mysqlnd/mysqlnd_ps.h
+%%MYSQLND%%include/php/ext/mysqlnd/mysqlnd_read_buffer.h
+%%MYSQLND%%include/php/ext/mysqlnd/mysqlnd_result.h
+%%MYSQLND%%include/php/ext/mysqlnd/mysqlnd_result_meta.h
+%%MYSQLND%%include/php/ext/mysqlnd/mysqlnd_reverse_api.h
+%%MYSQLND%%include/php/ext/mysqlnd/mysqlnd_statistics.h
+%%MYSQLND%%include/php/ext/mysqlnd/mysqlnd_structs.h
+%%MYSQLND%%include/php/ext/mysqlnd/mysqlnd_vio.h
+%%MYSQLND%%include/php/ext/mysqlnd/mysqlnd_wireprotocol.h
+%%MYSQLND%%include/php/ext/mysqlnd/php_mysqlnd.h
+%%BUNDLED_PCRE%%include/php/ext/pcre/pcre2lib/config.h
+%%BUNDLED_PCRE%%include/php/ext/pcre/pcre2lib/pcre2.h
+%%BUNDLED_PCRE%%include/php/ext/pcre/pcre2lib/pcre2_internal.h
+%%BUNDLED_PCRE%%include/php/ext/pcre/pcre2lib/pcre2_intmodedep.h
+%%BUNDLED_PCRE%%include/php/ext/pcre/pcre2lib/pcre2_jit_neon_inc.h
+%%BUNDLED_PCRE%%include/php/ext/pcre/pcre2lib/pcre2_jit_simd_inc.h
+%%BUNDLED_PCRE%%include/php/ext/pcre/pcre2lib/pcre2_ucp.h
+include/php/ext/pcre/php_pcre.h
+include/php/ext/random/php_random.h
+include/php/ext/random/php_random_csprng.h
+include/php/ext/random/php_random_uint128.h
+include/php/ext/spl/php_spl.h
+include/php/ext/spl/spl_array.h
+include/php/ext/spl/spl_directory.h
+include/php/ext/spl/spl_dllist.h
+include/php/ext/spl/spl_exceptions.h
+include/php/ext/spl/spl_fixedarray.h
+include/php/ext/spl/spl_functions.h
+include/php/ext/spl/spl_heap.h
+include/php/ext/spl/spl_iterators.h
+include/php/ext/spl/spl_observer.h
+include/php/ext/standard/base64.h
+include/php/ext/standard/basic_functions.h
+include/php/ext/standard/basic_functions_arginfo.h
+include/php/ext/standard/crc32.h
+include/php/ext/standard/crc32_x86.h
+include/php/ext/standard/credits.h
+include/php/ext/standard/credits_ext.h
+include/php/ext/standard/credits_sapi.h
+include/php/ext/standard/crypt_blowfish.h
+include/php/ext/standard/crypt_freesec.h
+include/php/ext/standard/css.h
+include/php/ext/standard/dir_arginfo.h
+include/php/ext/standard/dl.h
+include/php/ext/standard/dl_arginfo.h
+include/php/ext/standard/exec.h
+include/php/ext/standard/file.h
+include/php/ext/standard/file_arginfo.h
+include/php/ext/standard/flock_compat.h
+include/php/ext/standard/fsock.h
+include/php/ext/standard/head.h
+include/php/ext/standard/html.h
+include/php/ext/standard/html_tables.h
+include/php/ext/standard/info.h
+include/php/ext/standard/md5.h
+include/php/ext/standard/pack.h
+include/php/ext/standard/pageinfo.h
+include/php/ext/standard/password_arginfo.h
+include/php/ext/standard/php_array.h
+include/php/ext/standard/php_assert.h
+include/php/ext/standard/php_browscap.h
+include/php/ext/standard/php_crypt.h
+include/php/ext/standard/php_crypt_r.h
+include/php/ext/standard/php_dir.h
+include/php/ext/standard/php_dir_int.h
+include/php/ext/standard/php_dns.h
+include/php/ext/standard/php_ext_syslog.h
+include/php/ext/standard/php_filestat.h
+include/php/ext/standard/php_fopen_wrappers.h
+include/php/ext/standard/php_http.h
+include/php/ext/standard/php_image.h
+include/php/ext/standard/php_incomplete_class.h
+include/php/ext/standard/php_mail.h
+include/php/ext/standard/php_math.h
+include/php/ext/standard/php_math_round_mode.h
+include/php/ext/standard/php_net.h
+include/php/ext/standard/php_password.h
+include/php/ext/standard/php_smart_string.h
+include/php/ext/standard/php_smart_string_public.h
+include/php/ext/standard/php_standard.h
+include/php/ext/standard/php_string.h
+include/php/ext/standard/php_uuencode.h
+include/php/ext/standard/php_var.h
+include/php/ext/standard/php_versioning.h
+include/php/ext/standard/proc_open.h
+include/php/ext/standard/quot_print.h
+include/php/ext/standard/scanf.h
+include/php/ext/standard/sha1.h
+include/php/ext/standard/streamsfuncs.h
+include/php/ext/standard/url.h
+include/php/ext/standard/url_scanner_ex.h
+include/php/ext/standard/user_filters_arginfo.h
+include/php/ext/standard/winver.h
+include/php/ext/uri/php_lexbor.h
+include/php/ext/uri/php_uri.h
+include/php/ext/uri/php_uri_common.h
+@touch include/php/ext/php_config.h
+@rmempty include/php/ext/php_config.h
+include/php/main/SAPI.h
+include/php/main/build-defs.h
+include/php/main/charclass.h
+include/php/main/fastcgi.h
+include/php/main/fopen_wrappers.h
+include/php/main/http_status_codes.h
+include/php/main/main_arginfo.h
+include/php/main/php.h
+include/php/main/php_compat.h
+include/php/main/php_config.h
+include/php/main/php_content_types.h
+include/php/main/php_getopt.h
+include/php/main/php_glob.h
+include/php/main/php_globals.h
+include/php/main/php_ini.h
+include/php/main/php_ini_builder.h
+include/php/main/php_main.h
+include/php/main/php_memory_streams.h
+include/php/main/php_network.h
+include/php/main/php_odbc_utils.h
+include/php/main/php_open_temporary_file.h
+include/php/main/php_output.h
+include/php/main/php_reentrancy.h
+include/php/main/php_scandir.h
+include/php/main/php_streams.h
+include/php/main/php_syslog.h
+include/php/main/php_ticks.h
+include/php/main/php_variables.h
+include/php/main/php_version.h
+include/php/main/rfc1867.h
+include/php/main/snprintf.h
+include/php/main/spprintf.h
+include/php/main/streams/php_stream_context.h
+include/php/main/streams/php_stream_filter_api.h
+include/php/main/streams/php_stream_glob_wrapper.h
+include/php/main/streams/php_stream_mmap.h
+include/php/main/streams/php_stream_plain_wrapper.h
+include/php/main/streams/php_stream_transport.h
+include/php/main/streams/php_stream_userspace.h
+include/php/main/streams/php_streams_int.h
+include/php/main/streams/userspace_arginfo.h
+%%CLI%%include/php/sapi/cli/cli.h
+%%EMBED%%include/php/sapi/embed/php_embed.h
+%%EMBED%%lib/libphp.so
+lib/php/build/Makefile.global
+lib/php/build/ax_check_compile_flag.m4
+lib/php/build/ax_gcc_func_attribute.m4
+lib/php/build/config.guess
+lib/php/build/config.sub
+lib/php/build/gen_stub.php
+lib/php/build/libtool.m4
+lib/php/build/ltmain.sh
+lib/php/build/php.m4
+lib/php/build/php_cxx_compile_stdcxx.m4
+lib/php/build/phpize.m4
+lib/php/build/pkg.m4
+lib/php/build/run-tests.php
+lib/php/build/shtool
+%%CGI%%share/man/man1/php-cgi.1.gz
+share/man/man1/php-config.1.gz
+%%CLI%%share/man/man1/php.1.gz
+%%PHPDBG%%share/man/man1/phpdbg.1.gz
+share/man/man1/phpize.1.gz
+%%FPM%%share/man/man8/php-fpm.8.gz
+%%FPM%%share/php/fpm/status.html
diff --git a/lang/php85/pkg-plist.mod b/lang/php85/pkg-plist.mod
new file mode 100644
index 000000000000..8939be6d3d5e
--- /dev/null
+++ b/lang/php85/pkg-plist.mod
@@ -0,0 +1,3 @@
+%%APACHEMODDIR%%/%%AP_MODULE%%
+@postexec %D/sbin/apxs -e -a -n %%AP_NAME%% %f
+@preunexec %D/sbin/apxs -e -A -n %%AP_NAME%% %f
diff --git a/lang/pomsky/Makefile b/lang/pomsky/Makefile
index f4d36dc66d14..75a865882696 100644
--- a/lang/pomsky/Makefile
+++ b/lang/pomsky/Makefile
@@ -1,7 +1,7 @@
PORTNAME= pomsky
DISTVERSIONPREFIX= v
DISTVERSION= 0.10
-PORTREVISION= 16
+PORTREVISION= 17
CATEGORIES= lang textproc
MAINTAINER= yuri@FreeBSD.org
diff --git a/lang/prql/Makefile b/lang/prql/Makefile
index e8839e515033..e21918dbf9ac 100644
--- a/lang/prql/Makefile
+++ b/lang/prql/Makefile
@@ -1,6 +1,6 @@
PORTNAME= prql
DISTVERSION= 0.13.4
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= lang databases
PKGNAMESUFFIX= -compiler
diff --git a/lang/py-dhall/Makefile b/lang/py-dhall/Makefile
index e309fbc6a223..7bcebefdba72 100644
--- a/lang/py-dhall/Makefile
+++ b/lang/py-dhall/Makefile
@@ -1,7 +1,7 @@
PORTNAME= dhall
DISTVERSIONPREFIX= v
DISTVERSION= 0.1.15
-PORTREVISION= 8
+PORTREVISION= 9
CATEGORIES= lang python
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/lang/ratfor/Makefile b/lang/ratfor/Makefile
index 0b4dee9b243f..6eab866688f9 100644
--- a/lang/ratfor/Makefile
+++ b/lang/ratfor/Makefile
@@ -6,7 +6,7 @@ MASTER_SITES= LOCAL/obrien \
http://sepwww.stanford.edu/sep/prof/
DISTFILES= ratfor.shar.2 local.ratfor77.shar
-MAINTAINER= bofh@FreeBSD.org
+MAINTAINER= ports@FreeBSD.org
COMMENT= Rational FORTRAN compiler
LICENSE= PD
diff --git a/lang/rust-bootstrap/Makefile b/lang/rust-bootstrap/Makefile
index a41ae66c252f..e1afd578818c 100644
--- a/lang/rust-bootstrap/Makefile
+++ b/lang/rust-bootstrap/Makefile
@@ -2,7 +2,7 @@
# to upload them to ~/public_distfiles on freefall in preparation
# for the next lang/rust update.
PORTNAME= rust
-PORTVERSION= 1.87.0
+PORTVERSION= 1.88.0
CATEGORIES= lang
MASTER_SITES= https://static.rust-lang.org/dist/
PKGNAMEPREFIX= ${FLAVOR:S/_/-/g}-
diff --git a/lang/rust-bootstrap/distinfo b/lang/rust-bootstrap/distinfo
index 58cd2197093a..123913a3a6c2 100644
--- a/lang/rust-bootstrap/distinfo
+++ b/lang/rust-bootstrap/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1747381480
-SHA256 (rust/rustc-1.87.0-src.tar.xz) = 8623b8651893e8c6aebfa45b6a90645a4f652f7b18189a0992a90d11ac2631f4
-SIZE (rust/rustc-1.87.0-src.tar.xz) = 283604208
+TIMESTAMP = 1750748758
+SHA256 (rust/rustc-1.88.0-src.tar.xz) = 0c1dcbb4f762513d021e1a282c0ac58c0a423642b3a6bf581cafb5414df4193e
+SIZE (rust/rustc-1.88.0-src.tar.xz) = 283294344
diff --git a/lang/rust/Makefile b/lang/rust/Makefile
index b3f9e7bcf803..61395c21e0fe 100644
--- a/lang/rust/Makefile
+++ b/lang/rust/Makefile
@@ -1,5 +1,5 @@
PORTNAME= rust
-PORTVERSION?= 1.87.0
+PORTVERSION?= 1.88.0
PORTREVISION?= 0
CATEGORIES= lang
MASTER_SITES= https://static.rust-lang.org/dist/:src \
@@ -71,8 +71,8 @@ WASM_VARS= _COMPONENTS+="rust-analysis-${_PACKAGE_VERS}-wasm32-unknown-unknown
_RUST_TARGETS+=wasm32-unknown-unknown
# See WRKSRC/src/stage0 for the date and version values
-BOOTSTRAPS_DATE?= 2025-04-03
-RUST_BOOTSTRAP_VERSION?= 1.86.0
+BOOTSTRAPS_DATE?= 2025-05-15
+RUST_BOOTSTRAP_VERSION?= 1.87.0
CARGO_VENDOR_DIR?= ${WRKSRC}/vendor
diff --git a/lang/rust/distinfo b/lang/rust/distinfo
index 7749cc6eb420..833397cfa5cc 100644
--- a/lang/rust/distinfo
+++ b/lang/rust/distinfo
@@ -1,51 +1,51 @@
-TIMESTAMP = 1747381478
-SHA256 (rust/rustc-1.87.0-src.tar.xz) = 8623b8651893e8c6aebfa45b6a90645a4f652f7b18189a0992a90d11ac2631f4
-SIZE (rust/rustc-1.87.0-src.tar.xz) = 283604208
-SHA256 (rust/2025-04-03/rustc-1.86.0-aarch64-unknown-freebsd.tar.xz) = b49f08bb6781c65121ac56bb4fb75fe309d8614cb54816b53ad2350f3c5341ee
-SIZE (rust/2025-04-03/rustc-1.86.0-aarch64-unknown-freebsd.tar.xz) = 64694524
-SHA256 (rust/2025-04-03/rust-std-1.86.0-aarch64-unknown-freebsd.tar.xz) = 0cbe464bef3c655ee225a6e1c012cb77680c1497d1ff934a7f237606695ef7b6
-SIZE (rust/2025-04-03/rust-std-1.86.0-aarch64-unknown-freebsd.tar.xz) = 25076948
-SHA256 (rust/2025-04-03/cargo-1.86.0-aarch64-unknown-freebsd.tar.xz) = 77c7bc54bb4deeebd57dd7847c3f38b151e79e3ebc21a7f8d68f7ac296a96650
-SIZE (rust/2025-04-03/cargo-1.86.0-aarch64-unknown-freebsd.tar.xz) = 8353556
-SHA256 (rust/2025-04-03/rustc-1.86.0-x86_64-unknown-freebsd.tar.xz) = 762b6de1097c22fa28e59a44c0407c3c065428acffed479c12e4b63ba3e5e20d
-SIZE (rust/2025-04-03/rustc-1.86.0-x86_64-unknown-freebsd.tar.xz) = 59859608
-SHA256 (rust/2025-04-03/rust-std-1.86.0-x86_64-unknown-freebsd.tar.xz) = 06a8b89e1701bc71a1ff3735441cb2be9c77156b980321172f2f1f8b00e7e1c2
-SIZE (rust/2025-04-03/rust-std-1.86.0-x86_64-unknown-freebsd.tar.xz) = 26323648
-SHA256 (rust/2025-04-03/cargo-1.86.0-x86_64-unknown-freebsd.tar.xz) = d8c2bf87027441a950052d8a224ed030cd6134746597e7b868fc115e28188036
-SIZE (rust/2025-04-03/cargo-1.86.0-x86_64-unknown-freebsd.tar.xz) = 9412224
-SHA256 (rust/2025-04-03/rustc-1.86.0-armv7-unknown-freebsd.tar.xz) = 9482c19107d89e4a2ed9f0c14a70a64e277427eab8b411cb8693c5efeb879eaa
-SIZE (rust/2025-04-03/rustc-1.86.0-armv7-unknown-freebsd.tar.xz) = 64784700
-SHA256 (rust/2025-04-03/rust-std-1.86.0-armv7-unknown-freebsd.tar.xz) = aa615f218e1b55cceea6c53c7a6b63e85fdee07d0854aebeab19d53a2f43b4b8
-SIZE (rust/2025-04-03/rust-std-1.86.0-armv7-unknown-freebsd.tar.xz) = 24279348
-SHA256 (rust/2025-04-03/cargo-1.86.0-armv7-unknown-freebsd.tar.xz) = 1d45b5eee9133468f8316c25a7115ebeb95044406554c9c705337697cfe66bfd
-SIZE (rust/2025-04-03/cargo-1.86.0-armv7-unknown-freebsd.tar.xz) = 8436308
-SHA256 (rust/2025-04-03/rustc-1.86.0-i686-unknown-freebsd.tar.xz) = 724095086e992ec5266b1c3360053c09943969cd34741418bd71b348002f1421
-SIZE (rust/2025-04-03/rustc-1.86.0-i686-unknown-freebsd.tar.xz) = 72252364
-SHA256 (rust/2025-04-03/rust-std-1.86.0-i686-unknown-freebsd.tar.xz) = 3f9586f04740463e81a205d4933865d956c307020881578a45f51b41128600a4
-SIZE (rust/2025-04-03/rust-std-1.86.0-i686-unknown-freebsd.tar.xz) = 26001160
-SHA256 (rust/2025-04-03/cargo-1.86.0-i686-unknown-freebsd.tar.xz) = a95e66aa8a81ab2eaf0292b48009214e3ee086e3af5473716faa9b4a103485ee
-SIZE (rust/2025-04-03/cargo-1.86.0-i686-unknown-freebsd.tar.xz) = 10026684
-SHA256 (rust/2025-04-03/rustc-1.86.0-powerpc-unknown-freebsd.tar.xz) = 30ab4a0223263f91a35889c3c963ae1ceb6ae89093c9794579920503cf5e6576
-SIZE (rust/2025-04-03/rustc-1.86.0-powerpc-unknown-freebsd.tar.xz) = 65902536
-SHA256 (rust/2025-04-03/rust-std-1.86.0-powerpc-unknown-freebsd.tar.xz) = 9b435f6356409712e3c3cefb377e096136603f7a12b860d508211f8d1ca423ed
-SIZE (rust/2025-04-03/rust-std-1.86.0-powerpc-unknown-freebsd.tar.xz) = 23515212
-SHA256 (rust/2025-04-03/cargo-1.86.0-powerpc-unknown-freebsd.tar.xz) = 313d4abae5a5f19a300d9f78c045c9e2d32104af99885e1205a859f1f8c93b8a
-SIZE (rust/2025-04-03/cargo-1.86.0-powerpc-unknown-freebsd.tar.xz) = 8682124
-SHA256 (rust/2025-04-03/rustc-1.86.0-powerpc64-unknown-freebsd.tar.xz) = 0524fa2437ace6ed7305dd619c7fb7263cca8fab647307e3e6400d675c50b6ee
-SIZE (rust/2025-04-03/rustc-1.86.0-powerpc64-unknown-freebsd.tar.xz) = 63944028
-SHA256 (rust/2025-04-03/rust-std-1.86.0-powerpc64-unknown-freebsd.tar.xz) = d0a26c184f8f3dcbcc1e3ce1939057d33dff62a41fc24dbfbd8d5a25dfce73ab
-SIZE (rust/2025-04-03/rust-std-1.86.0-powerpc64-unknown-freebsd.tar.xz) = 23494356
-SHA256 (rust/2025-04-03/cargo-1.86.0-powerpc64-unknown-freebsd.tar.xz) = 38f3c952ff10f303f76b7bc3c1bc7ccc00069f9c7b4e850ede8cbf5c54102d37
-SIZE (rust/2025-04-03/cargo-1.86.0-powerpc64-unknown-freebsd.tar.xz) = 8376044
-SHA256 (rust/2025-04-03/rustc-1.86.0-powerpc64le-unknown-freebsd.tar.xz) = 2c89c2605bcf3e8ef1c3e7afbd10223eacd66b9c5d1c863d31eb4f7e57e4b9a9
-SIZE (rust/2025-04-03/rustc-1.86.0-powerpc64le-unknown-freebsd.tar.xz) = 66937772
-SHA256 (rust/2025-04-03/rust-std-1.86.0-powerpc64le-unknown-freebsd.tar.xz) = 263d0632010814ffe8d6a421465d65066941e5b965eb7504377e83d9ba43e0e3
-SIZE (rust/2025-04-03/rust-std-1.86.0-powerpc64le-unknown-freebsd.tar.xz) = 23608152
-SHA256 (rust/2025-04-03/cargo-1.86.0-powerpc64le-unknown-freebsd.tar.xz) = d9b86c14cd5637287d66029f6c8cf12978deabcc4c09b81e67f08a6fd0e4e6bd
-SIZE (rust/2025-04-03/cargo-1.86.0-powerpc64le-unknown-freebsd.tar.xz) = 8789924
-SHA256 (rust/2025-04-03/rustc-1.86.0-riscv64gc-unknown-freebsd.tar.xz) = 9a6881d37845c70079d7eab2a4d06782e1edb754d8c8a61596cff83a50f354fd
-SIZE (rust/2025-04-03/rustc-1.86.0-riscv64gc-unknown-freebsd.tar.xz) = 71372776
-SHA256 (rust/2025-04-03/rust-std-1.86.0-riscv64gc-unknown-freebsd.tar.xz) = ff9b3d3e21ea8919029aead4c1ef50aaefb3e6f6fdd21f29c66f686bd2b9bcf4
-SIZE (rust/2025-04-03/rust-std-1.86.0-riscv64gc-unknown-freebsd.tar.xz) = 23451920
-SHA256 (rust/2025-04-03/cargo-1.86.0-riscv64gc-unknown-freebsd.tar.xz) = d77f8b50bdb875eaa6410ceb0c61df2512ff97fed47e4af5b28a5f266e0bec35
-SIZE (rust/2025-04-03/cargo-1.86.0-riscv64gc-unknown-freebsd.tar.xz) = 10660864
+TIMESTAMP = 1751532290
+SHA256 (rust/rustc-1.88.0-src.tar.xz) = 0c1dcbb4f762513d021e1a282c0ac58c0a423642b3a6bf581cafb5414df4193e
+SIZE (rust/rustc-1.88.0-src.tar.xz) = 283294344
+SHA256 (rust/2025-05-15/rustc-1.87.0-aarch64-unknown-freebsd.tar.xz) = 6d7a7fe409d84019a6681a7c5bbe804c2a71444dffa482c277f7303afbbac1bb
+SIZE (rust/2025-05-15/rustc-1.87.0-aarch64-unknown-freebsd.tar.xz) = 68494832
+SHA256 (rust/2025-05-15/rust-std-1.87.0-aarch64-unknown-freebsd.tar.xz) = 85fbfeab2bee94cddc8f237324de6ac0b65511b61427611bb600f589cd83269f
+SIZE (rust/2025-05-15/rust-std-1.87.0-aarch64-unknown-freebsd.tar.xz) = 25085332
+SHA256 (rust/2025-05-15/cargo-1.87.0-aarch64-unknown-freebsd.tar.xz) = f6fad164c4b3107c531036c9f4aea79f1d5b3138a9212839082068ec14e8069a
+SIZE (rust/2025-05-15/cargo-1.87.0-aarch64-unknown-freebsd.tar.xz) = 8864360
+SHA256 (rust/2025-05-15/rustc-1.87.0-x86_64-unknown-freebsd.tar.xz) = 37f413c5af70d678598844e206329f24c3047d38cc43f162a0c6db14b6a5de0c
+SIZE (rust/2025-05-15/rustc-1.87.0-x86_64-unknown-freebsd.tar.xz) = 63790236
+SHA256 (rust/2025-05-15/rust-std-1.87.0-x86_64-unknown-freebsd.tar.xz) = 037b982e3cdf2af304647a8dbaf83c310605cbd131b2fd2c436f0a4284581325
+SIZE (rust/2025-05-15/rust-std-1.87.0-x86_64-unknown-freebsd.tar.xz) = 26183840
+SHA256 (rust/2025-05-15/cargo-1.87.0-x86_64-unknown-freebsd.tar.xz) = 9cdffc039d2b449619b81dcd494c399180507faee2b7b5a18ff8fd59aa6215d3
+SIZE (rust/2025-05-15/cargo-1.87.0-x86_64-unknown-freebsd.tar.xz) = 10021928
+SHA256 (rust/2025-05-15/rustc-1.87.0-armv7-unknown-freebsd.tar.xz) = 0115525ad2c7df25ef25338a986e42a0c028ae53cf0c6dbf31a9313197c96832
+SIZE (rust/2025-05-15/rustc-1.87.0-armv7-unknown-freebsd.tar.xz) = 68671404
+SHA256 (rust/2025-05-15/rust-std-1.87.0-armv7-unknown-freebsd.tar.xz) = d37a4ede26f8334b96982321dfa94dbefe50da2cc39fae4ddbeae077e8aded1a
+SIZE (rust/2025-05-15/rust-std-1.87.0-armv7-unknown-freebsd.tar.xz) = 24274380
+SHA256 (rust/2025-05-15/cargo-1.87.0-armv7-unknown-freebsd.tar.xz) = 86a86b4661fbbd70ff9c052c4729c01132767785597599f818d6607dc6544b1c
+SIZE (rust/2025-05-15/cargo-1.87.0-armv7-unknown-freebsd.tar.xz) = 9116332
+SHA256 (rust/2025-05-15/rustc-1.87.0-i686-unknown-freebsd.tar.xz) = eda4511359f500204726fdca40bd88292c83144d2a4f566c083ac41f8121358a
+SIZE (rust/2025-05-15/rustc-1.87.0-i686-unknown-freebsd.tar.xz) = 76629816
+SHA256 (rust/2025-05-15/rust-std-1.87.0-i686-unknown-freebsd.tar.xz) = dfe0645c3913a1852561ab141f01dd90ec678080400d112361c5ade6b324fba2
+SIZE (rust/2025-05-15/rust-std-1.87.0-i686-unknown-freebsd.tar.xz) = 25965172
+SHA256 (rust/2025-05-15/cargo-1.87.0-i686-unknown-freebsd.tar.xz) = a536712e4fd1919b397a2427b5d2080f06d4e9d3f9ef96a4e0ffae8497a3cd6c
+SIZE (rust/2025-05-15/cargo-1.87.0-i686-unknown-freebsd.tar.xz) = 10599524
+SHA256 (rust/2025-05-15/rustc-1.87.0-powerpc-unknown-freebsd.tar.xz) = 55eb2f9e15ae7ef4ef8df383f578048e13d81f587ea3689bd708908bf9d4af97
+SIZE (rust/2025-05-15/rustc-1.87.0-powerpc-unknown-freebsd.tar.xz) = 69260664
+SHA256 (rust/2025-05-15/rust-std-1.87.0-powerpc-unknown-freebsd.tar.xz) = bdcaab8444e42a645815b92fe0ea9eb3718c63a42e15eba4f481a13996bb79d0
+SIZE (rust/2025-05-15/rust-std-1.87.0-powerpc-unknown-freebsd.tar.xz) = 23412632
+SHA256 (rust/2025-05-15/cargo-1.87.0-powerpc-unknown-freebsd.tar.xz) = c605ad5c7e73b38c575989796a4dca24bac92f3034703bbed5f4b5d954aa9739
+SIZE (rust/2025-05-15/cargo-1.87.0-powerpc-unknown-freebsd.tar.xz) = 9219908
+SHA256 (rust/2025-05-15/rustc-1.87.0-powerpc64-unknown-freebsd.tar.xz) = 04b22a1eacb30dc7d16d9751baca92a2cec72010c85fc4927267e3b42c0094d3
+SIZE (rust/2025-05-15/rustc-1.87.0-powerpc64-unknown-freebsd.tar.xz) = 67746940
+SHA256 (rust/2025-05-15/rust-std-1.87.0-powerpc64-unknown-freebsd.tar.xz) = a21922d860f19e0b4c642207274c588df1341c6ff622050a0653bb82be40bda6
+SIZE (rust/2025-05-15/rust-std-1.87.0-powerpc64-unknown-freebsd.tar.xz) = 23282608
+SHA256 (rust/2025-05-15/cargo-1.87.0-powerpc64-unknown-freebsd.tar.xz) = 07aca5c0e8dcc8aaea3b7b16751d6191373105d445f73e46139eb16066a146ca
+SIZE (rust/2025-05-15/cargo-1.87.0-powerpc64-unknown-freebsd.tar.xz) = 9295388
+SHA256 (rust/2025-05-15/rustc-1.87.0-powerpc64le-unknown-freebsd.tar.xz) = a99e6b9e9713c530337633a5e36d214ae687ba638b7f04c07a9cf659c245c781
+SIZE (rust/2025-05-15/rustc-1.87.0-powerpc64le-unknown-freebsd.tar.xz) = 71448916
+SHA256 (rust/2025-05-15/rust-std-1.87.0-powerpc64le-unknown-freebsd.tar.xz) = 8bd9ba04fe0cf194a1004abca0bc9420a47d0491131c4f6c0b0d8a89ad5b96ea
+SIZE (rust/2025-05-15/rust-std-1.87.0-powerpc64le-unknown-freebsd.tar.xz) = 23330908
+SHA256 (rust/2025-05-15/cargo-1.87.0-powerpc64le-unknown-freebsd.tar.xz) = 9a67120c2776d181c1f32e68f8e55a0d05543f439feeb08c1d8ce6d96a1771da
+SIZE (rust/2025-05-15/cargo-1.87.0-powerpc64le-unknown-freebsd.tar.xz) = 9794732
+SHA256 (rust/2025-05-15/rustc-1.87.0-riscv64gc-unknown-freebsd.tar.xz) = b4b5c71211e2873461b4fd3108668dfd108e220d7012ed9e2b962912d91a9f19
+SIZE (rust/2025-05-15/rustc-1.87.0-riscv64gc-unknown-freebsd.tar.xz) = 78845668
+SHA256 (rust/2025-05-15/rust-std-1.87.0-riscv64gc-unknown-freebsd.tar.xz) = e79ac7a4449f934b0b6d5699e3080aef3d2d665a128f701a786e847634dd8abf
+SIZE (rust/2025-05-15/rust-std-1.87.0-riscv64gc-unknown-freebsd.tar.xz) = 23480648
+SHA256 (rust/2025-05-15/cargo-1.87.0-riscv64gc-unknown-freebsd.tar.xz) = 316fac9c44a37d85ae18a40290f5ce3b064e5326fff3574119322ba191109205
+SIZE (rust/2025-05-15/cargo-1.87.0-riscv64gc-unknown-freebsd.tar.xz) = 11690508
diff --git a/lang/rust/files/patch-vendor_cc.rs b/lang/rust/files/patch-vendor_cc.rs
index 4bc3a7b24e42..dbcbe5771fdd 100644
--- a/lang/rust/files/patch-vendor_cc.rs
+++ b/lang/rust/files/patch-vendor_cc.rs
@@ -21,19 +21,6 @@ https://reviews.llvm.org/D77776
(false, false, true) => Ok(ToolFamily::Gnu),
(false, false, false) => {
cargo_output.print_warning(&"Compiler family detection failed since it does not define `__clang__`, `__GNUC__` or `_MSC_VER`, fallback to treating it as GNU");
---- vendor/cc-1.1.22/src/tool.rs.orig 2024-05-09 18:20:47 UTC
-+++ vendor/cc-1.1.22/src/tool.rs
-@@ -174,9 +174,7 @@ impl Tool {
-
- match (clang, accepts_cl_style_flags, gcc, emscripten, vxworks) {
- (clang_cl, true, _, false, false) => Ok(ToolFamily::Msvc { clang_cl }),
-- (true, _, _, _, false) | (_, _, _, true, false) => Ok(ToolFamily::Clang {
-- zig_cc: is_zig_cc(path, cargo_output),
-- }),
-+ (true, _, _, _, false) | (_, _, _, true, false) => Ok(ToolFamily::Gnu),
- (false, false, true, _, false) | (_, _, _, _, true) => Ok(ToolFamily::Gnu),
- (false, false, false, false, false) => {
- cargo_output.print_warning(&"Compiler family detection failed since it does not define `__clang__`, `__GNUC__`, `__EMSCRIPTEN__` or `__VXWORKS__`, also does not accept cl style flag `-?`, fallback to treating it as GNU");
--- vendor/cc-1.2.0/src/tool.rs.orig 2024-05-09 18:20:47 UTC
+++ vendor/cc-1.2.0/src/tool.rs
@@ -174,9 +174,7 @@ impl Tool {
@@ -47,8 +34,8 @@ https://reviews.llvm.org/D77776
(false, false, true, _, false) | (_, _, _, _, true) => Ok(ToolFamily::Gnu),
(false, false, false, false, false) => {
cargo_output.print_warning(&"Compiler family detection failed since it does not define `__clang__`, `__GNUC__`, `__EMSCRIPTEN__` or `__VXWORKS__`, also does not accept cl style flag `-?`, fallback to treating it as GNU");
---- vendor/cc-1.2.10/src/tool.rs.orig 2024-05-09 18:20:47 UTC
-+++ vendor/cc-1.2.10/src/tool.rs
+--- vendor/cc-1.2.16/src/tool.rs.orig 2024-05-09 18:20:47 UTC
++++ vendor/cc-1.2.16/src/tool.rs
@@ -174,9 +174,7 @@ impl Tool {
match (clang, accepts_cl_style_flags, gcc, emscripten, vxworks) {
@@ -60,8 +47,8 @@ https://reviews.llvm.org/D77776
(false, false, true, _, false) | (_, _, _, _, true) => Ok(ToolFamily::Gnu),
(false, false, false, false, false) => {
cargo_output.print_warning(&"Compiler family detection failed since it does not define `__clang__`, `__GNUC__`, `__EMSCRIPTEN__` or `__VXWORKS__`, also does not accept cl style flag `-?`, fallback to treating it as GNU");
---- vendor/cc-1.2.16/src/tool.rs.orig 2024-05-09 18:20:47 UTC
-+++ vendor/cc-1.2.16/src/tool.rs
+--- vendor/cc-1.2.17/src/tool.rs.orig 2024-05-09 18:20:47 UTC
++++ vendor/cc-1.2.17/src/tool.rs
@@ -174,9 +174,7 @@ impl Tool {
match (clang, accepts_cl_style_flags, gcc, emscripten, vxworks) {
@@ -73,8 +60,8 @@ https://reviews.llvm.org/D77776
(false, false, true, _, false) | (_, _, _, _, true) => Ok(ToolFamily::Gnu),
(false, false, false, false, false) => {
cargo_output.print_warning(&"Compiler family detection failed since it does not define `__clang__`, `__GNUC__`, `__EMSCRIPTEN__` or `__VXWORKS__`, also does not accept cl style flag `-?`, fallback to treating it as GNU");
---- vendor/cc-1.2.17/src/tool.rs.orig 2024-05-09 18:20:47 UTC
-+++ vendor/cc-1.2.17/src/tool.rs
+--- vendor/cc-1.2.21/src/tool.rs.orig 2024-05-09 18:20:47 UTC
++++ vendor/cc-1.2.21/src/tool.rs
@@ -174,9 +174,7 @@ impl Tool {
match (clang, accepts_cl_style_flags, gcc, emscripten, vxworks) {
diff --git a/lang/rustpython/Makefile b/lang/rustpython/Makefile
index c5caba7f86f0..f5b3b839bc6f 100644
--- a/lang/rustpython/Makefile
+++ b/lang/rustpython/Makefile
@@ -1,6 +1,6 @@
PORTNAME= rustpython
DISTVERSION= 0.4.0
-PORTREVISION= 4
+PORTREVISION= 5
CATEGORIES= lang
PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
diff --git a/lang/sbcl/Makefile b/lang/sbcl/Makefile
index 07da485d8862..c162dfbb494c 100644
--- a/lang/sbcl/Makefile
+++ b/lang/sbcl/Makefile
@@ -3,7 +3,7 @@
# pinned to exact versions of everything used to build them.
PORTNAME= sbcl
-DISTVERSION= 2.5.5
+DISTVERSION= 2.5.6
DISTVERSIONSUFFIX= -source
PORTEPOCH= 1
CATEGORIES= lang lisp
diff --git a/lang/sbcl/distinfo b/lang/sbcl/distinfo
index 85cc1a3bd1aa..32802bcc7ba3 100644
--- a/lang/sbcl/distinfo
+++ b/lang/sbcl/distinfo
@@ -1,8 +1,8 @@
-TIMESTAMP = 1748774832
-SHA256 (sbcl-2.5.5-source.tar.bz2) = 6502670afb361ba9be44a2fafe9af9b59e7b24ae509a791a66b5481f2955950b
-SIZE (sbcl-2.5.5-source.tar.bz2) = 8258925
-SHA256 (sbcl-2.5.5-documentation-html.tar.bz2) = 53bee48866d5ef4cec95784a9f12ce896930ec81d9b2b40c365885c6911ade2e
-SIZE (sbcl-2.5.5-documentation-html.tar.bz2) = 235728
+TIMESTAMP = 1751522329
+SHA256 (sbcl-2.5.6-source.tar.bz2) = 6dd7cebff6d38f2e41baece14c4c56a32e968828aaa4171b8e840852c5b43f35
+SIZE (sbcl-2.5.6-source.tar.bz2) = 8267002
+SHA256 (sbcl-2.5.6-documentation-html.tar.bz2) = be38be34edef29799e10fb32e06002cddae1d324615ee401c9733d2f682e7570
+SIZE (sbcl-2.5.6-documentation-html.tar.bz2) = 235929
SHA256 (sbcl-1.2.7-x86-64-freebsd-binary.tar.bz2) = c61f5e777e56921d2452d0fa6b71024ccd9b99bc659676498d398b8663176492
SIZE (sbcl-1.2.7-x86-64-freebsd-binary.tar.bz2) = 10463348
SHA256 (sbcl-1.2.7-x86-freebsd-binary.tar.bz2) = cf68bfab780a14964d9593f5b47fa3e174cf43e95ae3e558712d218f1c37bdbe
diff --git a/lang/scryer-prolog/Makefile b/lang/scryer-prolog/Makefile
index 937fcbecf7c6..4245e71039e7 100644
--- a/lang/scryer-prolog/Makefile
+++ b/lang/scryer-prolog/Makefile
@@ -1,7 +1,7 @@
PORTNAME= scryer-prolog
DISTVERSIONPREFIX= v
DISTVERSION= 0.9.4
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= lang
MAINTAINER= me@svmhdvn.name
diff --git a/lang/silq/Makefile b/lang/silq/Makefile
index 7ef75b66ca8f..83d42b693a08 100644
--- a/lang/silq/Makefile
+++ b/lang/silq/Makefile
@@ -1,5 +1,6 @@
PORTNAME= silq
PORTVERSION= 20250624
+PORTREVISION= 1
CATEGORIES= lang math science
DIST_SUBDIR= silq
diff --git a/lang/spidermonkey102/Makefile b/lang/spidermonkey102/Makefile
index 923a62a47cf0..23d81a61c143 100644
--- a/lang/spidermonkey102/Makefile
+++ b/lang/spidermonkey102/Makefile
@@ -1,6 +1,6 @@
PORTNAME= spidermonkey
DISTVERSION= 102.9.0
-PORTREVISION= 9
+PORTREVISION= 10
CATEGORIES= lang
MASTER_SITES= MOZILLA/firefox/releases/${DISTVERSION}esr/source
PKGNAMESUFFIX= ${SP_VER}
diff --git a/lang/spidermonkey115/Makefile b/lang/spidermonkey115/Makefile
index 0b4b5fec443b..ec9ef29a3fd7 100644
--- a/lang/spidermonkey115/Makefile
+++ b/lang/spidermonkey115/Makefile
@@ -1,6 +1,6 @@
PORTNAME= spidermonkey
DISTVERSION= 115.22.0
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= lang
MASTER_SITES= MOZILLA/firefox/releases/${DISTVERSION}esr/source \
MOZILLA/firefox/candidates/${DISTVERSION}esr-candidates/build1/source
diff --git a/lang/spidermonkey128/Makefile b/lang/spidermonkey128/Makefile
index 342e2748a3b8..040cd88d2983 100644
--- a/lang/spidermonkey128/Makefile
+++ b/lang/spidermonkey128/Makefile
@@ -1,5 +1,6 @@
PORTNAME= spidermonkey
DISTVERSION= 128.12.0
+PORTREVISION= 1
CATEGORIES= lang
MASTER_SITES= MOZILLA/firefox/releases/${DISTVERSION}esr/source \
MOZILLA/firefox/candidates/${DISTVERSION}esr-candidates/build1/source
diff --git a/lang/spidermonkey78/Makefile b/lang/spidermonkey78/Makefile
index 66fb81345421..2e57c68b07e6 100644
--- a/lang/spidermonkey78/Makefile
+++ b/lang/spidermonkey78/Makefile
@@ -1,6 +1,6 @@
PORTNAME= spidermonkey
DISTVERSION= 78.15.0
-PORTREVISION= 34
+PORTREVISION= 35
CATEGORIES= lang
MASTER_SITES= MOZILLA/firefox/releases/${DISTVERSION}esr/source
PKGNAMESUFFIX= ${SP_VER}
diff --git a/lang/spidermonkey91/Makefile b/lang/spidermonkey91/Makefile
index 240a79b51eeb..9280023e6432 100644
--- a/lang/spidermonkey91/Makefile
+++ b/lang/spidermonkey91/Makefile
@@ -1,6 +1,6 @@
PORTNAME= spidermonkey
DISTVERSION= 91.13.0
-PORTREVISION= 30
+PORTREVISION= 31
CATEGORIES= lang
MASTER_SITES= MOZILLA/firefox/releases/${DISTVERSION}esr/source
PKGNAMESUFFIX= ${SP_VER}
diff --git a/lang/starlark-rust/Makefile b/lang/starlark-rust/Makefile
index 0f254cd99999..7d9eb4b16cdf 100644
--- a/lang/starlark-rust/Makefile
+++ b/lang/starlark-rust/Makefile
@@ -1,7 +1,7 @@
PORTNAME= starlark-rust
DISTVERSIONPREFIX= v
DISTVERSION= 0.13.0
-PORTREVISION= 4
+PORTREVISION= 5
CATEGORIES= lang
MAINTAINER= yuri@FreeBSD.org
diff --git a/lang/typstfmt/Makefile b/lang/typstfmt/Makefile
index 68d54738e5b9..459233b0a778 100644
--- a/lang/typstfmt/Makefile
+++ b/lang/typstfmt/Makefile
@@ -1,6 +1,6 @@
PORTNAME= typstfmt
DISTVERSION= 0.2.10
-PORTREVISION= 9
+PORTREVISION= 10
CATEGORIES= lang
MAINTAINER= yuri@FreeBSD.org
diff --git a/lang/typstyle/Makefile b/lang/typstyle/Makefile
index 175fdf0a1e74..1b6c9af308ae 100644
--- a/lang/typstyle/Makefile
+++ b/lang/typstyle/Makefile
@@ -1,7 +1,7 @@
PORTNAME= typstyle
DISTVERSIONPREFIX= v
DISTVERSION= 0.13.0
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= lang
MAINTAINER= yuri@FreeBSD.org
diff --git a/lang/yabasic/Makefile b/lang/yabasic/Makefile
index f365179c3a50..c2be5107c190 100644
--- a/lang/yabasic/Makefile
+++ b/lang/yabasic/Makefile
@@ -1,5 +1,5 @@
PORTNAME= yabasic
-PORTVERSION= 2.91.2
+PORTVERSION= 2.91.3
PORTEPOCH= 1
CATEGORIES= lang
diff --git a/lang/yabasic/distinfo b/lang/yabasic/distinfo
index 14f999ac9dfb..35646a90803f 100644
--- a/lang/yabasic/distinfo
+++ b/lang/yabasic/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1742885813
-SHA256 (marcIhm-yabasic-2.91.2_GH0.tar.gz) = e9e99700f2d4d4d746e7abf6d6fba713d2fa71e0585c074cc7707a8291285183
-SIZE (marcIhm-yabasic-2.91.2_GH0.tar.gz) = 2228643
+TIMESTAMP = 1751442906
+SHA256 (marcIhm-yabasic-2.91.3_GH0.tar.gz) = 7cfccb5d3fcb1e0b28e1f5df9312bfa593a8bcd4b1c4393931268e0185353515
+SIZE (marcIhm-yabasic-2.91.3_GH0.tar.gz) = 2228925