Compare commits

..

578 Commits

Author SHA1 Message Date
crazywhalecc
a3003d363e ttt 2026-04-02 08:43:31 +08:00
crazywhalecc
b5b4e8f622 ttt 2026-04-02 08:43:26 +08:00
crazywhalecc
d316ea81e4 Merge branch 'main' into v3-refactor/win-exts
# Conflicts:
#	config/env.ini
2026-03-31 15:13:23 +08:00
crazywhalecc
b96586e4d3 Add curl extension and enhance Windows build process 2026-03-31 15:10:47 +08:00
Marc
d535e4f102 libjpeg-turbo mustn't compile zlib symbols on its own (#1077) 2026-03-30 10:08:49 +07:00
henderkes
5a5f54bdcd brilliant to test php 8.1 2026-03-30 01:37:08 +07:00
henderkes
8f7897e13b test 2026-03-30 01:06:31 +07:00
henderkes
daae5f2a7c libjpeg-turbo mustn't compile zlib symbols on its own 2026-03-30 00:56:51 +07:00
crazywhalecc
844bb69f0d Fix ext-curl implementation 2026-03-27 22:30:39 +08:00
Marc
766f7fa34f hard code protobuf version while we're on v2 (#1075) 2026-03-26 12:37:32 +07:00
henderkes
ecf712b2b7 hard code protobuf version while we're on v2 2026-03-26 12:32:27 +07:00
crazywhalecc
94dd44e68d Add ext-amqp 2026-03-24 18:58:12 +08:00
crazywhalecc
2fa07700ef Fix zlib extension wrong arg 2026-03-24 18:55:04 +08:00
crazywhalecc
13a15b1a5a Use alpha1 as version number 2026-03-24 15:31:15 +08:00
Jerry Ma
d2c7fee8fa [3.0] Refactor windows libs (#1067) 2026-03-24 15:28:27 +08:00
crazywhalecc
9cd3125544 Patch configure script to include liblber for ldap dependency 2026-03-24 14:41:46 +08:00
crazywhalecc
590a94a723 Fix cli checks caused php testing fail 2026-03-24 14:41:32 +08:00
crazywhalecc
b625d80dc0 Fix tar command for unix 2026-03-24 13:30:17 +08:00
crazywhalecc
93c099dd31 Add xz 2026-03-24 12:31:45 +08:00
crazywhalecc
fcd0052d12 Add sqlite 2026-03-24 12:31:31 +08:00
crazywhalecc
6c52451c6c Add qdbm 2026-03-24 12:18:06 +08:00
crazywhalecc
175567fd11 Add missing postgresql license 2026-03-24 12:13:42 +08:00
crazywhalecc
bf05af7e16 Add pthreads4w 2026-03-24 12:13:22 +08:00
crazywhalecc
7c3022b7e3 Add postgresql (replace postgresql-win) 2026-03-24 12:07:57 +08:00
crazywhalecc
2a50015c12 Add download options for install-pkg command 2026-03-24 12:07:02 +08:00
crazywhalecc
1f42f1a479 Add libzip 2026-03-24 10:52:13 +08:00
crazywhalecc
41f5948392 Add libyaml 2026-03-23 17:11:47 +08:00
crazywhalecc
6d91f8b2d3 Add patch description for Windows static linking in libsodium 2026-03-23 17:11:37 +08:00
crazywhalecc
141c737380 Add libsodium 2026-03-23 16:50:13 +08:00
Jerry Ma
d35cbd7bf8 Add Windows builders for libaom and brotli (#1072) 2026-03-23 16:21:46 +08:00
crazywhalecc
d076df6b04 Bump version number 2026-03-23 16:21:24 +08:00
crazywhalecc
a99b6bebae Remove freetype useless lib suggestions 2026-03-23 16:08:09 +08:00
crazywhalecc
af97263596 Forward-port #1070 2026-03-22 20:19:31 +08:00
Hendrik Mennen
864678ab46 Merge branch 'main' into feat/windows-libaom-brotli 2026-03-22 13:12:47 +01:00
Hendrik Mennen
c03508a84b Improve zlib Windows library detection for future zlib versions (#1070)
Co-authored-by: Hendrik Mennen <hmennen@gambio.ec1.de>
2026-03-22 20:11:29 +08:00
Hendrik Mennen
963e2a084a Add Windows builders for libaom and brotli libraries
Both libraries are listed in lib.json and used as transitive dependencies
(libaom via libavif, brotli via freetype/curl) but had no Windows builder,
causing builds to fail with "library [X] is in the lib.json list but not
supported to compile".

libaom: Uses builddir instead of build to avoid collision with the
source tree's build/cmake/ directory. Matches the Unix builder's
AOM_TARGET_CPU=generic setting for portability.

brotli: Standard CMake build with shared libs and tools disabled.

Also adds static-libs-windows entry for libaom in lib.json.
2026-03-22 09:07:47 +01:00
crazywhalecc
508cfa67e5 Make openssl build faster 2026-03-21 18:43:05 +08:00
crazywhalecc
08dca4253d Add librabbitmq 2026-03-21 18:42:34 +08:00
crazywhalecc
e4434643ff Add jom to reduce openssl building time 2026-03-21 18:41:57 +08:00
crazywhalecc
adff728999 Add libffi-win 2026-03-21 18:04:15 +08:00
crazywhalecc
9af132d67e Add missing icu license file 2026-03-21 18:03:14 +08:00
crazywhalecc
a950f3d716 Add libaom 2026-03-21 17:54:34 +08:00
crazywhalecc
33f33439d1 Add libavif 2026-03-21 17:54:21 +08:00
crazywhalecc
36177e4948 Add libjpeg 2026-03-21 17:54:07 +08:00
crazywhalecc
801d41efeb Add libwebp 2026-03-21 17:53:49 +08:00
crazywhalecc
43d8c9d9d6 Add icu (replace old icu-static-win) 2026-03-21 12:44:17 +08:00
crazywhalecc
75dd01aa91 Enhance package download logic to handle binary-only packages and improve error messaging for installation failures 2026-03-21 12:43:39 +08:00
crazywhalecc
bf4d227a55 Add error handling for missing vswhere.exe in WindowsUtil 2026-03-21 12:42:47 +08:00
crazywhalecc
520767638f Add gmssl 2026-03-21 11:20:05 +08:00
crazywhalecc
5ff973e446 Add freetype 2026-03-21 11:12:24 +08:00
crazywhalecc
230be2ebe8 Add libpng 2026-03-21 11:12:13 +08:00
crazywhalecc
bd73b4a6dc phpstan 2026-03-21 00:34:31 +08:00
crazywhalecc
327bb8bc0f Add curl 2026-03-21 00:33:27 +08:00
crazywhalecc
deb979416f Add libiconv-win 2026-03-21 00:33:04 +08:00
crazywhalecc
f6e00c67cc Refactor LibraryPackage to skip pkg-config and static-bin checks on Windows 2026-03-21 00:32:02 +08:00
crazywhalecc
7df861696d Add libxml2 2026-03-21 00:31:45 +08:00
crazywhalecc
92861669c2 Add nghttp2 2026-03-21 00:31:30 +08:00
crazywhalecc
893f640469 Add nghttp3 2026-03-21 00:31:16 +08:00
crazywhalecc
eff7037e74 Add ngtcp2, remove suggested libs 2026-03-21 00:31:02 +08:00
crazywhalecc
1213cb578e Refactor WindowsUtil to cache Visual Studio search results and add CMake find modules 2026-03-21 00:30:30 +08:00
crazywhalecc
d1ec473f21 Allow set current working dir 2026-03-21 00:30:15 +08:00
crazywhalecc
19bfb6bc83 Add zstd 2026-03-21 00:29:35 +08:00
crazywhalecc
94c579a453 Add libssh2 2026-03-20 21:48:46 +08:00
crazywhalecc
d7d41f4d89 Add openssl 2026-03-20 21:47:27 +08:00
Marc
4c6b7a3d55 fix libde265 on ancient debian OS (#1064) 2026-03-20 19:48:01 +07:00
Marc
5404926a14 Merge branch 'main' into fix/lide265 2026-03-20 19:47:47 +07:00
Nils Silbernagel
295df19484 Add shared-extensions, frankenphp and zts to build-unix workflow (#1062)
Co-authored-by: crazywhalecc <jesse2061@outlook.com>
2026-03-20 20:37:25 +08:00
Jerry Ma
b970bf8e3a Fix gd build on PHP 8.5 (#1043) 2026-03-20 20:00:42 +08:00
Jerry Ma
54915028d7 Fix zlib produced lib file names from different zlib version (#1066) 2026-03-20 19:35:51 +08:00
crazywhalecc
03cd7e141c Add brotli libs 2026-03-20 18:09:29 +08:00
crazywhalecc
9f3e353699 Add bzip2 2026-03-20 18:04:30 +08:00
crazywhalecc
b21d5716e1 Add onig 2026-03-20 18:04:18 +08:00
crazywhalecc
464ddeb29d Fix file copy operation to handle identical source and destination paths 2026-03-20 18:03:58 +08:00
crazywhalecc
0c389d9069 Add zlib 2026-03-20 18:03:46 +08:00
crazywhalecc
1d2916fa8f Add brotli 2026-03-20 16:16:29 +08:00
crazywhalecc
46132ee1c8 Fix doctor lock path on Windows 2026-03-20 16:16:09 +08:00
crazywhalecc
3c9e868ce1 Add spc-debug script on Windows 2026-03-20 16:08:58 +08:00
crazywhalecc
c5efcc0c93 Fix wrongly using msys2 tar.exe 2026-03-20 16:07:28 +08:00
Jerry Ma
64d692e105 [3.0] Refactor extensions (#1038) 2026-03-20 16:05:35 +08:00
crazywhalecc
dc79ac9c9a Correct doctor fix 2026-03-20 11:32:15 +08:00
crazywhalecc
e9be3a41db Add homebrew llvm version toolchain support 2026-03-20 11:20:42 +08:00
Jerry Ma
00649d816e [3.0] Refactor new extensions (#1051) 2026-03-20 10:54:29 +09:00
crazywhalecc
11376cc6ad Use env and path injection instead of old style 2026-03-20 09:31:43 +08:00
crazywhalecc
c6207d8c7c Fix interactive install-pkg command 2026-03-20 09:31:24 +08:00
crazywhalecc
b0eff0ba6e Add protoc target 2026-03-20 09:31:05 +08:00
crazywhalecc
9d748a6e08 Add rust target 2026-03-20 09:30:52 +08:00
crazywhalecc
b0522205da Add support for package environment variables and path injection 2026-03-20 09:30:34 +08:00
crazywhalecc
beeb0b8721 Handle failure in fetching Zig version index 2026-03-20 09:29:45 +08:00
henderkes
823fe96942 attempt 2026-03-18 23:26:57 +07:00
henderkes
f2fa29809a why is it not failing here? 2026-03-18 18:37:16 +07:00
Marc
463ec546fa Merge branch 'main' into fix/lide265 2026-03-18 15:51:03 +07:00
crazywhalecc
9e2a5ce188 Add target htop 2026-03-18 15:01:06 +08:00
crazywhalecc
0b0ecd17c3 Allow curl building static executable 2026-03-18 15:00:58 +08:00
crazywhalecc
c81146bf18 Add ncursesw 2026-03-18 15:00:44 +08:00
crazywhalecc
c1f2fd49a6 Add ext-imap 2026-03-18 13:30:29 +08:00
henderkes
60b2aea09e fix libde265 on ancient debian OS? 2026-03-18 11:57:27 +07:00
crazywhalecc
1ee8bc7d34 Add ext-swow 2026-03-18 12:36:22 +08:00
crazywhalecc
a24fae7a55 Add ext-swoole 2026-03-18 12:07:39 +08:00
crazywhalecc
b5b917ce32 Fix zig-cc strlcpy missing issue with swoole+openssl 2026-03-18 12:07:19 +08:00
crazywhalecc
b1a59dad79 Make PhpExtensionPackage::getSharedExtensionLoadString public 2026-03-18 12:06:48 +08:00
crazywhalecc
98a618f1cd Add ext-yaml 2026-03-17 15:54:11 +08:00
crazywhalecc
738c61b682 Add ext-zstd 2026-03-17 15:50:12 +08:00
crazywhalecc
83c266a713 Add ext-yac 2026-03-17 15:41:00 +08:00
crazywhalecc
0a60ebad17 Add ext-xz 2026-03-17 15:30:54 +08:00
crazywhalecc
0101e6c52b Add ext-xsl 2026-03-17 15:23:20 +08:00
crazywhalecc
63bee0db13 Add ext-xmlwriter,ext-xmlreader 2026-03-17 15:21:16 +08:00
crazywhalecc
154adc1f48 Add ext-xlswriter 2026-03-17 15:13:59 +08:00
crazywhalecc
5d309ee998 Add ext-zip 2026-03-17 15:13:47 +08:00
crazywhalecc
ca15ccd4d1 Add ext-xhprof 2026-03-17 13:27:37 +08:00
crazywhalecc
20b693d1fa Add ext-xdebug 2026-03-17 13:16:47 +08:00
crazywhalecc
2327f32e41 Add ext-uv 2026-03-17 13:04:19 +08:00
crazywhalecc
22c5403e98 Allow unstable for PECL downloads 2026-03-17 12:57:43 +08:00
crazywhalecc
25bec6b974 Add ext-uuid 2026-03-17 12:30:02 +08:00
crazywhalecc
deef11c86a Add ext-trader 2026-03-17 12:27:14 +08:00
crazywhalecc
bfb6fcd436 Add ext-tokenizer 2026-03-17 11:27:47 +08:00
crazywhalecc
170371abf7 Add ext-tidy 2026-03-17 11:27:16 +08:00
crazywhalecc
02d40d197b Add ext-sysvmsg,ext-sysvsem,ext-sysvshm 2026-03-17 11:25:18 +08:00
crazywhalecc
b89e941ab2 Add ext-ssh2 2026-03-17 11:24:57 +08:00
crazywhalecc
65c3263b25 Add ext-spx 2026-03-16 16:59:27 +08:00
crazywhalecc
d79128cdbf Add ext-sodium 2026-03-16 16:57:51 +08:00
crazywhalecc
ba253ea2a5 Add ext-soap 2026-03-16 16:57:43 +08:00
crazywhalecc
21e2a0194c Add ext-snmp 2026-03-16 16:48:50 +08:00
crazywhalecc
3f812fe5fc Fix filename generation for GitHub tarballs to handle missing tag names 2026-03-16 16:48:26 +08:00
crazywhalecc
1670b61ed7 Add ext-snappy 2026-03-16 16:26:53 +08:00
crazywhalecc
15e7678615 Add missing xml-related patches for windows 2026-03-16 16:17:53 +08:00
crazywhalecc
fe302bf8b9 Add ext-simplexml 2026-03-16 16:17:15 +08:00
crazywhalecc
e30a10f60f Add ext-simdjson, add SPC_CMD_VAR_PHP_MAKE_EXTRA_CXXFLAGS env var 2026-03-16 16:04:35 +08:00
crazywhalecc
271013f2d6 Add ext-shmop, fix path slashes 2026-03-13 17:02:35 +08:00
crazywhalecc
6ed620683f Add ext-redis 2026-03-13 16:53:28 +08:00
crazywhalecc
935fbbd31a Add ext-rdkafka 2026-03-13 10:14:05 +08:00
crazywhalecc
a288533fc3 Add ext-rar 2026-03-12 22:58:59 +08:00
crazywhalecc
067749ab1b Add ext-protobuf 2026-03-12 22:44:57 +08:00
crazywhalecc
63d28bdc01 Add ext-posix 2026-03-12 22:33:28 +08:00
crazywhalecc
54e301d55c Add ext-sqlsrv,ext-pdo_sqlsrv 2026-03-12 22:32:36 +08:00
crazywhalecc
6af55323b3 Add ext-sqlite3,ext-pdo_sqlite 2026-03-12 22:27:42 +08:00
crazywhalecc
f85f29e628 Add ext-pgsql,ext-pdo_pgsql 2026-03-12 22:22:02 +08:00
crazywhalecc
74865025bd Add ext-pcntl,ext-pdo,ext-pdo_mysql,ext-pdo_odbc 2026-03-12 22:06:42 +08:00
crazywhalecc
7a690fd9a3 Add ext-pcov 2026-03-12 22:06:11 +08:00
crazywhalecc
e9023520de Merge remote-tracking branch 'origin/v3-refactor/new-extensions' into v3-refactor/new-extensions 2026-03-12 21:56:35 +08:00
crazywhalecc
9d65c491e7 Add ext-password-argon2 2026-03-12 21:56:28 +08:00
crazywhalecc
9713b76935 Add patch to modify info.c for release builds to hide configure command 2026-03-12 17:09:59 +08:00
crazywhalecc
cbc8feebfd Add patch for SPC_MICRO_PATCHES and update configure.ac handling 2026-03-12 16:54:01 +08:00
crazywhalecc
32bdacd5a5 Add ext-parallel 2026-03-12 16:04:25 +08:00
crazywhalecc
528469514b Add ext-opentelemetry 2026-03-12 15:38:56 +08:00
crazywhalecc
371a1af572 Add ext-opcache 2026-03-12 15:08:11 +08:00
crazywhalecc
6f372a74a2 Remove check for php_micro.c file existence in SourcePatcher 2026-03-12 15:08:02 +08:00
crazywhalecc
c7f611fe80 Add ext-odbc 2026-03-12 14:33:39 +08:00
crazywhalecc
54f53fd104 Add ext-mysqlnd_parsec 2026-03-12 14:29:05 +08:00
crazywhalecc
91ee94f349 Add ext-mongodb 2026-03-12 14:19:38 +08:00
crazywhalecc
e523fff0ab Add ext-mysqlnd_ed25519 2026-03-11 17:12:27 +08:00
crazywhalecc
13ab3e2b6c Fix transitive extension dependency not enabled bug 2026-03-11 17:10:48 +08:00
crazywhalecc
32bb0aadce Add ext-mysqli,ext-mysqlnd 2026-03-11 16:37:25 +08:00
crazywhalecc
59a8b65f6f Add ext-memcache,ext-msgpack 2026-03-11 16:14:05 +08:00
Marc
4625c6a885 update default php version to 8.5 (#1058) 2026-03-11 15:09:07 +07:00
crazywhalecc
f35f133115 Add ext-memcache 2026-03-11 15:29:00 +08:00
crazywhalecc
cbfeefc808 Add ext-inotify 2026-03-11 15:12:21 +08:00
henderkes
85b0cd8b4b only disable when building ftp static, shared is fine 2026-03-11 13:54:24 +07:00
henderkes
1fcb74ad9b swoole-ftp conflicts with ftp 2026-03-11 13:42:38 +07:00
henderkes
1049a3ce66 curl is always supported now (swoole no longer supports php < 8.1) 2026-03-11 10:32:58 +07:00
henderkes
1b8b53d47f update swoole args for 6.2 2026-03-11 10:19:08 +07:00
henderkes
a232f578a4 test bulk 2026-03-11 10:11:39 +07:00
crazywhalecc
f6a9dac504 Fix grpc build error with RPATH 2026-03-11 11:07:25 +08:00
henderkes
70285cb53b actually update to 8.5 2026-03-11 09:48:50 +07:00
henderkes
a335d050cf cs fix 2026-03-11 09:46:41 +07:00
henderkes
ef4b2997a7 test 2026-03-11 09:45:56 +07:00
henderkes
901da8fa41 remove ldtl from odbc libs private (using built in ltdl) 2026-03-11 09:43:02 +07:00
henderkes
e49a5d7a50 make php 8.5 default 2026-03-11 09:42:39 +07:00
crazywhalecc
0719c45a29 Merge remote-tracking branch 'origin/v3-refactor/new-extensions' into v3-refactor/new-extensions
# Conflicts:
#	config/pkg/ext/builtin-extensions.yml
2026-03-11 09:41:17 +08:00
crazywhalecc
f414bd289c Add ext-maxminddb 2026-03-11 08:18:25 +08:00
crazywhalecc
fa7de0642a Add ext-lz4 2026-03-10 22:47:37 +08:00
crazywhalecc
c5b11f47c3 Add ext-libxml 2026-03-10 22:41:33 +08:00
crazywhalecc
d8dda09fb6 Add ext-ldap 2026-03-10 22:38:34 +08:00
crazywhalecc
f83565b058 Add ext-intl 2026-03-10 22:25:11 +08:00
crazywhalecc
e31aeabf12 Add ext-imagick 2026-03-10 22:19:01 +08:00
crazywhalecc
d7eb33ff1e Forward-port #1057 2026-03-10 22:01:23 +08:00
Jerry Ma
281b958075 Fix grpc build (#1055) 2026-03-10 20:35:51 +09:00
Marc
e31f64864e fix: FrankenPHP build args (#1057) 2026-03-10 18:13:34 +07:00
Kévin Dunglas
92f5b56c74 fix: FrankenPHP build args 2026-03-10 11:57:23 +01:00
crazywhalecc
1400dc649f Add ext-session 2026-03-10 16:59:54 +08:00
crazywhalecc
e73bad9d23 Add ext-igbinary 2026-03-10 16:59:48 +08:00
crazywhalecc
2d906a8145 Add ext-iconv 2026-03-10 16:56:09 +08:00
crazywhalecc
bc26e3d37c Add ext-gmssl 2026-03-10 16:52:36 +08:00
crazywhalecc
e0d2ee91f7 Add ext-gmp 2026-03-10 16:52:29 +08:00
crazywhalecc
465549f97d Forward-port #1056 on v3 2026-03-10 16:41:01 +08:00
Jerry Ma
2350d2d5ca Merge branch 'main' into fix/grpc-build 2026-03-10 14:52:21 +09:00
crazywhalecc
086c855a43 Use custom config.m4 for grpc extension 2026-03-10 13:49:53 +08:00
crazywhalecc
4fa5292913 Use custom config.m4 for grpc extension 2026-03-10 13:49:34 +08:00
crazywhalecc
b89a29d5f3 Add ext-grpc 2026-03-10 13:37:09 +08:00
Marc
9634b8bcda set custom binary name for frankenphp, allow linking against system openssl (fix mssql issues) (#1056) 2026-03-10 11:11:36 +07:00
Marc
5d5a50a33c Update src/SPC/builder/LibraryBase.php
Co-authored-by: Jerry Ma <jesse2061@outlook.com>
2026-03-10 10:57:49 +07:00
henderkes
1edf14e642 set custom binary name for frankenphp 2026-03-10 08:52:15 +07:00
henderkes
2277390a1a fix removeConfigureArgs in UnixAutoconfExecutor.php 2026-03-10 08:49:56 +07:00
henderkes
f93ad27c17 allow using some libs as system provided (work around mssql linking vs system openssl) 2026-03-10 08:47:38 +07:00
henderkes
b690566b39 simplify rm command 2026-03-10 08:43:48 +07:00
henderkes
16e772e1a8 add back in zig workaround as 0.16.x is not released yet 2026-03-10 08:42:17 +07:00
crazywhalecc
ad356b4a23 Fix grpc build 2026-03-09 20:12:14 +08:00
crazywhalecc
404195a38b Add ext-gmssl 2026-03-09 16:30:35 +08:00
crazywhalecc
7856f7e03a Add ext-gmp 2026-03-09 16:30:00 +08:00
crazywhalecc
4a572a1372 Add ext-gettext 2026-03-09 15:59:27 +08:00
crazywhalecc
61d50cd28b Add ext-gd 2026-03-09 15:55:01 +08:00
crazywhalecc
38715bba21 Add ext-fileinfo,ext-filter,ext-ftp 2026-03-09 15:29:38 +08:00
crazywhalecc
8fdfcf8fcd Fix suggested extensions not passing when using --with-suggests 2026-03-09 15:29:12 +08:00
crazywhalecc
659b75cedd Remove redundant dependency for specific virtual target (php-fpm) 2026-03-09 15:18:03 +08:00
crazywhalecc
cf2e1d9819 Add ext-ffi 2026-03-09 15:13:07 +08:00
crazywhalecc
b226887bd2 Add ext-exif 2026-03-09 15:02:23 +08:00
crazywhalecc
552a8a1ea2 Add ext-excimer (closes #1019) 2026-03-09 15:00:06 +08:00
crazywhalecc
a678d908d5 Add ext-event 2026-03-09 14:45:36 +08:00
crazywhalecc
8cc5877f3c Add ext-ev,ext-sockets 2026-03-09 14:35:42 +08:00
crazywhalecc
b185d27ad7 Add ext-ds 2026-03-09 14:30:48 +08:00
Jerry Ma
dc0b3b8cec Merge branch 'v3-refactor/extensions' into v3-refactor/new-extensions 2026-03-09 12:10:57 +09:00
Jerry Ma
705435eccb [3.0] Add check-update command and CheckUpdateInterface for artifacts (#1044) 2026-03-09 12:10:22 +09:00
crazywhalecc
77e129881a Move all interactive input to construct 2026-03-09 11:04:18 +08:00
crazywhalecc
1f768ffc64 Mark transitive PHP extension dependencies of static extensions as static 2026-03-08 22:33:44 +08:00
crazywhalecc
424228d81e Add ext-dom, ext-xml 2026-03-08 22:33:00 +08:00
crazywhalecc
b90356bc1d Enhancement for bin/spc dev:info command 2026-03-08 17:47:09 +08:00
crazywhalecc
247a254af4 Add ext-dio 2026-03-08 17:46:14 +08:00
crazywhalecc
6d2c43d3e5 Add license metadata for ast extension 2026-03-08 16:43:53 +08:00
crazywhalecc
a9e6e4a226 Add dba 2026-03-08 16:32:31 +08:00
crazywhalecc
ad0118718f Update arg-type definition in builtin-extensions.yml to include specific options 2026-03-08 14:02:22 +08:00
crazywhalecc
8f10e0d070 Add before and after build hooks for phar extension to replace file strings 2026-03-08 14:02:15 +08:00
crazywhalecc
0c86d82b98 Update getDistName method to use display-name from config 2026-03-08 14:02:04 +08:00
crazywhalecc
2676875ccd Refactor PKG_CHECK_MODULES replacement and reuse make vars for configure 2026-03-08 14:01:44 +08:00
crazywhalecc
19d6d669c0 Move arg-type def in config 2026-03-08 14:01:29 +08:00
crazywhalecc
88af4a719f Prefer cache extract path in getSourceDir method 2026-03-08 14:00:33 +08:00
crazywhalecc
b0b3220716 Fix zlib configure arg 2026-03-08 14:00:15 +08:00
crazywhalecc
5669642cf3 Merge branch 'main' into v3-refactor/new-extensions
# Conflicts:
#	src/SPC/store/SourcePatcher.php
2026-03-07 21:30:02 +08:00
crazywhalecc
0548aba248 Add ext-curl 2026-03-07 21:20:34 +08:00
crazywhalecc
07fd1bcd03 Patch extension config.m4 files to use PKG_CHECK_MODULES_STATIC 2026-03-07 00:42:49 +08:00
crazywhalecc
780232fa60 Enhance dependency resolution for virtual-target packages 2026-03-07 00:42:34 +08:00
crazywhalecc
fbbed6d5c1 Add ext-ctype 2026-03-06 19:27:22 +08:00
crazywhalecc
fc807ec7c9 Add ext-calendar 2026-03-06 19:24:48 +08:00
crazywhalecc
58c02dfab3 Add ext-bz2 2026-03-06 19:23:08 +08:00
crazywhalecc
5e84fed19a Add ext-brotli 2026-03-06 19:22:59 +08:00
crazywhalecc
d0b6a02432 Add patchBeforeBuild method to modify Makefile CFLAGS and enhance build process 2026-03-06 19:20:55 +08:00
crazywhalecc
368ce75261 Fix configuration retrieval by using the extension's name instead of a formatted version 2026-03-06 19:20:16 +08:00
crazywhalecc
32b7fee8d8 Fix version extraction to fallback on repository name if tag name is absent 2026-03-06 16:32:44 +08:00
Jerry Ma
8c4e3d58a3 Add php-src mirror and use gmp mirror site (#1048) 2026-03-06 15:25:38 +09:00
Marc
8a51d64685 Add condition for ffi patch (#1050) 2026-03-06 12:59:23 +07:00
crazywhalecc
055bc7bc3c Add condition for ffi patch 2026-03-06 13:46:55 +08:00
crazywhalecc
84f6dab882 Add parallel update checking and improve artifact update handling 2026-03-05 11:11:31 +08:00
crazywhalecc
abdaaab6e6 Refactor CheckUpdateResult logic to simplify version comparison 2026-03-05 11:11:02 +08:00
crazywhalecc
5298ee4f97 Use constant back due to config validation problem 2026-03-05 08:21:44 +08:00
crazywhalecc
94fb7a643e Merge remote-tracking branch 'origin/v3-feat/check-update' into v3-feat/check-update 2026-03-05 08:18:00 +08:00
crazywhalecc
715f33ac4d Add log filtering to prevent sensitive data leakage 2026-03-05 08:17:41 +08:00
crazywhalecc
f7277cc012 Improve output formatting for update checks in CheckUpdateCommand 2026-03-05 08:17:13 +08:00
crazywhalecc
00c08e0c0c Use no optional libs for libxml2 2026-03-05 08:11:41 +08:00
crazywhalecc
671ebd2582 Use gmp mirror site 2026-03-04 16:32:49 +08:00
crazywhalecc
12d4009a21 Update PHP release handling to use configurable mirror and improve URL management 2026-03-04 16:32:16 +08:00
crazywhalecc
dc0a80975f Add PECL download type and support for PECL artifacts 2026-03-04 14:23:46 +09:00
crazywhalecc
174ef3dba7 Refactor ReturnCode constants for clarity and consistency 2026-02-28 15:36:04 +08:00
crazywhalecc
4f2ca17bde cs fix 2026-02-28 15:16:31 +08:00
crazywhalecc
029f8efa12 Avoid empty output 2026-02-28 14:55:18 +08:00
crazywhalecc
7cedd45567 Merge remote-tracking branch 'origin/v3-feat/check-update' into v3-feat/check-update 2026-02-28 14:36:04 +08:00
crazywhalecc
28f4a5c523 Add support for custom source check-update callbacks in artifacts 2026-02-28 14:35:48 +08:00
Jerry Ma
6ef5e9e067 Update src/StaticPHP/Artifact/Downloader/Type/CheckUpdateInterface.php
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-28 14:18:32 +08:00
Jerry Ma
64b0e72908 Update src/StaticPHP/Artifact/Downloader/Type/PIE.php
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-28 14:17:48 +08:00
Jerry Ma
a7b04d9081 Update src/StaticPHP/Artifact/Downloader/Type/Git.php
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-28 14:16:57 +08:00
crazywhalecc
0a07f6b27c cs fix 2026-02-28 14:07:05 +08:00
crazywhalecc
550f6cad60 Replace RuntimeException with DownloaderException for Go version retrieval failure 2026-02-28 14:02:32 +08:00
crazywhalecc
40e36982d3 Add custom binary check-update support for artifacts 2026-02-28 13:55:52 +08:00
crazywhalecc
ed5a516004 Implement check-update functionality for artifacts and enhance download result handling 2026-02-28 13:44:23 +08:00
crazywhalecc
2d550a8db4 Add simple output handling to exception classes 2026-02-28 13:43:28 +08:00
crazywhalecc
d316684995 Add optional package support for libaom, libsharpyuv, libjpeg, libxml2, and libpng in Unix build 2026-02-28 10:37:38 +08:00
crazywhalecc
c218aef947 Add doctor cache check and version management to ensure environment validation 2026-02-28 10:32:50 +08:00
crazywhalecc
7623b9e673 Deprecate '--debug' option and update logging level handling 2026-02-28 09:47:51 +08:00
crazywhalecc
fa175963f9 Enable suggested libs by default in build configurations for Unix and Windows 2026-02-27 10:03:25 +08:00
crazywhalecc
8c7d113c2f Apply smoke test control option for frankenphp 2026-02-27 09:59:55 +08:00
crazywhalecc
b3d67b928a Add tryPatchMakefileUnix method to fix //lib path in Makefile for Linux builds 2026-02-27 09:54:40 +08:00
crazywhalecc
f9fe2adb1d Trim quotes from frankenphp app path to ensure valid directory check 2026-02-27 09:52:02 +08:00
crazywhalecc
28c82b811b Add PackageInfoCommand to display package configuration information and support status 2026-02-27 09:50:21 +08:00
crazywhalecc
cfce177070 Add beforeMakeUnix method to patch TSRM.h for musl TLS symbol visibility 2026-02-27 09:42:28 +08:00
crazywhalecc
d6ec0b7809 Remove aarch64 build fix for glibc 2.17 from patchBeforeBuild method in postgresql.php 2026-02-27 09:31:37 +08:00
crazywhalecc
0e80f29e61 Add DumpCapabilitiesCommand to output installable and buildable capabilities of packages 2026-02-27 09:27:19 +08:00
Jerry Ma
da1f348daa Update src/StaticPHP/Package/PhpExtensionPackage.php
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-27 09:18:28 +08:00
crazywhalecc
e9279940d7 Add DumpStagesCommand to dump package stages and their locations 2026-02-26 16:09:18 +08:00
crazywhalecc
bb257cffd6 Add extension apcu 2026-02-26 15:46:33 +08:00
crazywhalecc
3238c44745 Refactor FrankenPHP build and smoke test processes for Unix 2026-02-26 15:46:18 +08:00
crazywhalecc
a57b48fda6 Add macOS check to patchBeforePHPConfigure for explicit_bzero detection 2026-02-26 15:45:30 +08:00
crazywhalecc
0f012f267b Rename tracker file from .spc-tracker.json to .build.json 2026-02-26 15:45:16 +08:00
crazywhalecc
08595cca73 Add PatchDescription attribute to libacl for Unix FPM_EXTRA_LIBS fix 2026-02-26 15:45:06 +08:00
crazywhalecc
28bbdf5401 Merge branch 'main' into v3-refactor/extensions 2026-02-26 10:02:31 +08:00
crazywhalecc
a357510109 Add frankenphp building message for console output 2026-02-26 10:02:16 +08:00
Marc
7d7902e0e9 Update build flags for FrankenPHP in UnixBuilderBase (#1042) 2026-02-24 06:08:14 +07:00
Kévin Dunglas
2a8fa7d155 Update build flags for FrankenPHP in UnixBuilderBase 2026-02-23 16:29:43 +01:00
crazywhalecc
d495455902 Remove motd for lint-config command 2026-02-23 10:32:08 +08:00
crazywhalecc
471df00ea3 Use StaticPHP instead of static-php-cli 2026-02-19 23:07:17 +08:00
crazywhalecc
bc7ac812b1 phpstan, package display message enhance 2026-02-19 23:02:09 +08:00
crazywhalecc
bbab685247 Refactor exception handler to v3, use standard shell exitcode 2026-02-19 23:02:09 +08:00
crazywhalecc
ee5aabbe34 Add CMakeConfigureLog.yaml lookup 2026-02-19 23:02:09 +08:00
crazywhalecc
059f785e0d Remove redundant catch for downloader 2026-02-19 23:02:09 +08:00
crazywhalecc
2fdb0b406f Correct bootstrap 2026-02-19 23:02:09 +08:00
crazywhalecc
f1e9dd8de8 Fix box compile config for v3 2026-02-19 23:02:09 +08:00
crazywhalecc
1095807e5b Use yml instead 2026-02-19 23:02:09 +08:00
crazywhalecc
753fdd725e Add registry availability check 2026-02-19 23:02:09 +08:00
crazywhalecc
0be4e859f3 Avoid using glob in phar mode 2026-02-19 23:02:09 +08:00
crazywhalecc
7a3f10bd77 Make downloader configurable 2026-02-19 23:02:09 +08:00
crazywhalecc
508f635f01 Add permission copying to ArtifactExtractor 2026-02-19 23:02:09 +08:00
crazywhalecc
18434b68f6 Add frankenphp SAPI build support 2026-02-19 23:02:09 +08:00
Marc
67ef8f6608 fix redownloading go-xcaddy every time, version 2.8.3 (#1034) 2026-02-17 22:36:27 +07:00
henderkes
d83a597689 unquote the string in case a shell script passes it stupidly 2026-02-17 21:49:30 +07:00
henderkes
5623fed37f fix redownloading go-xcaddy every time 2026-02-17 21:05:18 +07:00
Marc
38140d115f libavif needs at least one encoder to work (#1033) 2026-02-17 19:59:46 +07:00
henderkes
98117c3a04 remove pre built 2026-02-17 19:58:03 +07:00
Marc
b01d3ce12c Merge branch 'main' into feat/avif-dec 2026-02-17 19:18:38 +07:00
henderkes
608c915e14 should depend on it instead 2026-02-17 19:14:29 +07:00
henderkes
c680299654 libavif needs at least one encoder to work 2026-02-17 19:12:19 +07:00
Marc
794ab16b32 add input with-suggested-libs for build command (#1032) 2026-02-16 18:38:35 +07:00
tricker
661723c99a change logs name
Co-authored-by: Marc <m@pyc.ac>
2026-02-16 12:26:49 +01:00
Yoram
d9834d05c6 upload debug logs on 'build php' failures 2026-02-16 11:35:42 +01:00
Yoram
9a53ef3498 add input with-suggested-libs for build command 2026-02-13 14:35:01 +01:00
Marc
f680731f9d fix: Postgres build with ancient libc (#1029) 2026-02-11 17:42:36 +01:00
Jerry Ma
0fe1442f7e Bump version from 2.8.0 to 2.8.2 2026-02-12 00:02:38 +08:00
Jerry Ma
1e4780397b Update test-extensions.php for PHP versions and extensions
Commented out older PHP versions and Windows 2025 in the test configuration. Updated the extensions to test for Linux and Darwin.
2026-02-11 23:32:19 +08:00
Kévin Dunglas
6b67cb90fc fix: Postgres build with ancient libc 2026-02-11 16:24:13 +01:00
Jerry Ma
82bf317911 Refactor Linux and macOS tool checks for improved error handling and command execution (#1025) 2026-02-06 21:17:19 +08:00
Jerry Ma
041b08f10f V3 fix/phpunit (#1024) 2026-02-06 17:02:36 +08:00
Jerry Ma
7c3ac484b3 v3-refactor: Implement v2 libs (#1021)
All the library build scripts for *nix has refactored to v3 now
2026-02-06 16:42:00 +08:00
crazywhalecc
5c7ab48718 Support define php extension arg-type in config 2026-02-06 16:38:03 +08:00
crazywhalecc
478b85879f Chore 2026-02-06 16:34:51 +08:00
crazywhalecc
cf5a946de1 Add extension bcmath,openssl,zlib 2026-02-06 16:33:50 +08:00
crazywhalecc
95f34fbbc3 Add extension amqp 2026-02-06 16:33:34 +08:00
crazywhalecc
d8d9f389ba Refactor patching logic for Alpine Linux and macOS in attr.php 2026-02-06 16:33:13 +08:00
crazywhalecc
c72a2b6228 Refactor nasm,php-sdk-binary-tools,strawberry-perl,vswhere 2026-02-06 14:46:57 +08:00
crazywhalecc
368461d1ad phpstan fix 2026-02-06 14:27:56 +08:00
crazywhalecc
ca9dc25f9a Add watcher 2026-02-06 14:26:24 +08:00
crazywhalecc
b6d8bf5639 Add unixodbc 2026-02-06 14:20:41 +08:00
crazywhalecc
a5f8402703 Add tidy 2026-02-06 14:16:20 +08:00
crazywhalecc
d163c3dff6 Add sqlite 2026-02-06 14:12:06 +08:00
crazywhalecc
fd40b92041 Add snappy 2026-02-06 14:07:04 +08:00
crazywhalecc
6be4da26aa Add readline 2026-02-06 14:03:42 +08:00
crazywhalecc
425010fbb0 Add re2c 2026-02-06 13:59:58 +08:00
crazywhalecc
67bea25214 Add qdbm 2026-02-06 13:55:03 +08:00
crazywhalecc
aad710ed3e Add postgresql 2026-02-06 13:40:18 +08:00
crazywhalecc
9912b213f0 Add net-snmp 2026-02-06 13:29:25 +08:00
crazywhalecc
2874336f0e Add mimalloc 2026-02-06 13:05:37 +08:00
crazywhalecc
b42601d288 Add libyaml 2026-02-06 13:02:24 +08:00
crazywhalecc
017fabd556 Add libxslt 2026-02-06 12:46:26 +08:00
crazywhalecc
0c386e967a Allow shell completion for build:libs command 2026-02-06 12:37:02 +08:00
crazywhalecc
d6af728e79 Add libuv 2026-02-06 12:32:04 +08:00
crazywhalecc
fa1b71bebf Add libuuid 2026-02-06 12:26:35 +08:00
crazywhalecc
127697b814 Add liburing 2026-02-06 11:54:15 +08:00
crazywhalecc
4cfd8f4ca3 Add librdkafka 2026-02-06 11:45:14 +08:00
crazywhalecc
f2d389d89a Add librabbitmq 2026-02-06 11:28:16 +08:00
crazywhalecc
bd11533865 Add libmemcached 2026-02-06 11:25:19 +08:00
crazywhalecc
e9a411cc66 Add libmaxminddb 2026-02-06 11:21:03 +08:00
crazywhalecc
272338775e Add liblz4 2026-02-06 11:17:37 +08:00
crazywhalecc
a832cc2114 Add libffi 2026-02-06 11:08:16 +08:00
crazywhalecc
880bb8799b Add libevent and postinstall action adder for library package 2026-02-06 10:55:59 +08:00
crazywhalecc
d999bfcd11 Add libavif 2026-02-06 10:25:43 +08:00
crazywhalecc
fba2676d80 Add lint-config command to check and sort configuration files 2026-02-06 10:17:58 +08:00
crazywhalecc
39a207076e Add libargon2 2026-02-06 10:11:24 +08:00
crazywhalecc
3cfab10f85 Add libacl 2026-02-06 10:05:35 +08:00
crazywhalecc
1eec88fd6c Add reset command 2026-02-06 09:59:29 +08:00
crazywhalecc
8f798c9006 Add imap and BuildRootTracker 2026-02-06 09:48:51 +08:00
crazywhalecc
7ae16e5be8 Add imagemagick,jbig,lerc,libaom,libde265,libheif,libjxl,libtiff,libwebp,libzip 2026-02-05 20:59:23 +08:00
crazywhalecc
807b90b182 Fix incorrect variable name for working directory in submodule update command 2026-02-05 20:56:50 +08:00
crazywhalecc
a07265787b Update license file path for bzip2 in configuration 2026-02-05 20:56:34 +08:00
crazywhalecc
a75060e5f6 Update exit code in ArtifactDownloader to reflect termination signal 2026-02-05 20:56:25 +08:00
crazywhalecc
97634b009f Forward-port #1006 changes 2026-02-05 19:21:13 +08:00
crazywhalecc
8fc2da9acf Use OS release definition for openssl 2026-02-05 19:19:26 +08:00
crazywhalecc
b3bbe0a751 Add libjpeg,libpng 2026-02-05 19:19:09 +08:00
crazywhalecc
0d32b7bfdb Refactor lib packing to v3 postinstall action 2026-02-05 16:42:49 +08:00
crazywhalecc
81ce777bf2 phpstan fix 2026-02-05 16:30:58 +08:00
crazywhalecc
9f2132c001 Add pack lib command 2026-02-05 16:11:28 +08:00
crazywhalecc
2a4959d973 Chore 2026-02-05 16:11:16 +08:00
crazywhalecc
4d4b1a334f Add ext-readline,freetype,gmssl,grpc,icu 2026-02-05 16:10:16 +08:00
crazywhalecc
6bd3646a02 Merge branch 'main' into v3-refactor/libs 2026-02-05 10:04:24 +08:00
crazywhalecc
b9af9ba056 Chore 2026-02-04 16:25:34 +08:00
crazywhalecc
16f94466fd Add artifact name suggestions for download and install commands 2026-02-04 16:25:23 +08:00
crazywhalecc
3fa2d69813 Add ext-mbstring,ext-mbregex,onig 2026-02-04 16:24:57 +08:00
crazywhalecc
0652d4aa03 Just in case source dir have not been created 2026-02-04 15:31:05 +08:00
crazywhalecc
8f44b07a12 Merge remote-tracking branch 'origin/v3-refactor/libs' into v3-refactor/libs 2026-02-04 15:28:36 +08:00
crazywhalecc
e9c27dee1f Add go-xcaddy,musl-toolchain,php,upx, and also glfw linux support 2026-02-04 15:28:10 +08:00
crazywhalecc
0afa1dd80c Use new brand name 2026-02-04 15:15:20 +08:00
crazywhalecc
e2011e1c18 Verbose message 2026-02-04 15:14:57 +08:00
crazywhalecc
08d20205a7 Allow all artifact configs 2026-02-04 15:14:44 +08:00
crazywhalecc
c40eaeef5d Fix custom artifact binary download is-installed check 2026-02-04 15:14:30 +08:00
crazywhalecc
b5c14d6f26 Fix golang download website hash match pattern 2026-02-04 15:12:19 +08:00
crazywhalecc
a02f287d97 Fix macOS wrong patch file directory 2026-02-03 20:23:59 +08:00
crazywhalecc
0d4cde79fa Add download options for build:libs command 2026-02-03 20:23:32 +08:00
crazywhalecc
274098b3a6 Merge remote-tracking branch 'origin/v3-refactor/libs' into v3-refactor/libs
# Conflicts:
#	config/artifact.yml
#	config/pkg.lib.yml
#	spc.registry.json
2026-02-03 19:14:53 +08:00
Jerry Ma
b89ff3c083 Add com_dotnet extension (#1023) 2026-02-03 19:08:19 +08:00
crazywhalecc
38f742156d Use zig toolchain by default, lint files 2026-02-03 14:01:41 +08:00
crazywhalecc
6fdbf629dc Fix selective artifact installation detect 2026-02-03 14:00:21 +08:00
crazywhalecc
7041e060f2 Add curl 2026-02-03 13:02:43 +08:00
crazywhalecc
103b5b3585 Upgrade phpstan to v2 2026-02-03 11:22:32 +08:00
crazywhalecc
c536fedff7 Add krb5 and lint configs 2026-02-03 10:59:56 +08:00
crazywhalecc
09ddd2fdd8 Add methods to retrieve package sub-dependencies and configuration 2026-02-03 10:59:37 +08:00
crazywhalecc
a2409d9c0f Add getSourceRoot for artifacts 2026-02-03 10:59:16 +08:00
crazywhalecc
6688819605 Add libedit 2026-02-03 10:17:13 +08:00
crazywhalecc
2e8f6bbb31 Add idn2 2026-02-03 10:10:10 +08:00
crazywhalecc
e4d6723b01 Add gettext 2026-02-03 10:05:39 +08:00
crazywhalecc
e732543bd7 Fix wrong debug message show 2026-02-03 10:05:28 +08:00
crazywhalecc
fddcdb8796 Add filelist downloader debug message 2026-02-03 10:05:11 +08:00
crazywhalecc
3492992b56 Add ncurses 2026-02-03 09:42:53 +08:00
crazywhalecc
a6c79e30a8 Add dump license files after installing 2026-02-02 16:53:28 +08:00
crazywhalecc
19e11caa83 Add ldap,libcares,libsodium,libunistring, lint all configs 2026-02-02 16:53:04 +08:00
crazywhalecc
6ee8dc7994 Add zstd,libcares 2026-02-02 16:15:36 +08:00
crazywhalecc
3d102363c4 Add PatchBeforeBuild attribute 2026-02-02 16:15:25 +08:00
crazywhalecc
82ab14165e Add nghttp2, nghttp3, ngtcp2 2026-02-02 15:56:12 +08:00
crazywhalecc
1586825b5b Add builder options for build:libs command 2026-02-02 15:55:41 +08:00
crazywhalecc
23db10d3cd Add libiconv,libssh2,libxml2,xz 2026-02-02 15:35:59 +08:00
crazywhalecc
5a8341203b Remove sort config command 2026-02-02 14:14:19 +08:00
crazywhalecc
f437efebb7 Add dev:lint-config to replace sort-config command 2026-02-02 14:14:01 +08:00
crazywhalecc
f4a29c4830 Add dev:lint-config to replace sort-config command 2026-02-02 14:13:05 +08:00
crazywhalecc
455d42d162 Separate package config 2026-02-02 13:32:35 +08:00
crazywhalecc
f232588dbe Merge remote-tracking branch 'origin/v3-refactor/libs' into v3-refactor/libs 2026-02-02 09:59:17 +08:00
crazywhalecc
a414c65f37 Forward-port #1022 spc target env var 2026-02-02 09:59:10 +08:00
crazywhalecc
7a262feb35 Merge branch 'refs/heads/main' into v3-refactor/libs 2026-02-02 09:35:26 +08:00
Marc
0cfa2036f0 fix spx shared libadd (#1022) 2026-01-30 20:23:18 +01:00
henderkes
c5882c1f8e fix gettext v1.0 release 2026-01-30 19:41:39 +01:00
henderkes
4531c9fe57 add option to allow linking musl dynamically on alpine 2026-01-27 00:57:58 +01:00
crazywhalecc
51415fb6bf Use shorter summary json file name 2026-01-26 00:50:53 +08:00
crazywhalecc
3a575f0bf7 Use yml instead of yaml (sync with craft) 2026-01-26 00:50:39 +08:00
crazywhalecc
ccd948e58a Add openssl lib support 2026-01-26 00:46:42 +08:00
crazywhalecc
a709221223 Add skip helper function for calling events 2026-01-26 00:43:57 +08:00
henderkes
223dd10ac6 fix spx shared libadd 2026-01-24 20:26:19 +01:00
crazywhalecc
c27ed8b0b4 Implement fastlz, zlib (unix) 2026-01-22 16:50:31 +08:00
crazywhalecc
22fc7030f6 Implement attr, brotli, bzip2 build for unix 2026-01-22 16:05:21 +08:00
crazywhalecc
7b725bb4da Add LicenseDumper component 2026-01-22 16:04:48 +08:00
crazywhalecc
ae748757d1 Fix config yaml support 2026-01-22 16:03:06 +08:00
crazywhalecc
1865762f80 Fix config yaml support 2026-01-22 16:03:01 +08:00
Jerry Ma
75cfd7e4ed 3.0 Enhancement 2026-01-22 09:35:08 +08:00
crazywhalecc
a0cab24e56 Remove skeleton command 2026-01-22 09:32:22 +08:00
crazywhalecc
2c22bf25ea Refactor getOSRelease method for improved readability and efficiency 2026-01-20 16:56:46 +08:00
crazywhalecc
cfb8cc9fc5 Merge branch 'main' into v3-feat/skeleton
# Conflicts:
#	composer.lock
#	config/env.ini
#	src/SPC/ConsoleApplication.php
2026-01-20 15:25:43 +08:00
Marc
1c28f0f455 bunch of fixes/changes to make packages build (#1006) 2026-01-19 12:46:24 +01:00
henderkes
b3c450291a up version 2026-01-19 12:00:06 +01:00
crazywhalecc
372760e469 Update patch point docs 2026-01-19 18:56:28 +08:00
henderkes
6cf4c40cd2 Merge remote-tracking branch 'origin/main' into henderkes-patch-1 2026-01-19 11:22:03 +01:00
henderkes
af75ffaf24 suggestions, change openssldir 2026-01-19 10:22:33 +01:00
Marc
ae0217b3a1 add excimer extension (#1018) 2026-01-19 09:25:30 +01:00
henderkes
1e2b4017ac test excimer 2026-01-17 11:28:47 +01:00
henderkes
19f941797e zig now supports -Wl,-exported_symbols_list 2026-01-17 11:28:05 +01:00
Marc
0b863cbc70 Merge branch 'main' into feat/excimer 2026-01-17 10:53:35 +01:00
henderkes
b09337de09 add excimer extension 2026-01-17 10:51:21 +01:00
henderkes
d902e70b4d fix arm64 builds 2026-01-16 12:28:41 +01:00
Jerry Ma
cd2dc5bce4 Fix nghttp2 and curl build configurations for static linking (#1014) 2026-01-13 16:51:57 +08:00
henderkes
34910d18e9 add patch point for shared ext build 2026-01-04 02:31:41 +01:00
henderkes
3a17cec521 deploy extensions with -release flag too 2026-01-03 19:15:57 +01:00
henderkes
94644d374f fix 2026-01-03 19:12:16 +01:00
henderkes
f8b0c2c980 add release thing to extension build too 2026-01-03 19:08:14 +01:00
henderkes
6bbb3c969c remove -release handling functionality 2026-01-03 17:03:43 +01:00
henderkes
76025b95c1 missing space 2026-01-03 16:46:14 +01:00
henderkes
1be353fd13 more concise message 2026-01-03 16:45:55 +01:00
henderkes
54001ab868 simplify logic a bit 2026-01-03 16:33:40 +01:00
henderkes
890ff475f1 our memcache patch prevents shared building 2026-01-03 14:09:16 +01:00
henderkes
559a2909a9 use little trick to order libargon2 before libsodium 2026-01-02 23:21:29 +01:00
henderkes
fff2484529 postgresql doesn't build under c23 2026-01-02 22:52:03 +01:00
henderkes
d1b194999d use OPENSSL_CONF directory for openssl default configuration 2026-01-02 21:13:22 +01:00
henderkes
64f7a3553e don't need it anymore 2026-01-01 12:33:55 +01:00
henderkes
a06cc32491 pin libpng to released tags, not git 2025-12-30 11:58:57 +01:00
henderkes
022fdb2fc5 fix no-strip 2025-12-29 23:58:54 +01:00
henderkes
7688a55656 don't get zig master branch 2025-12-29 22:16:53 +01:00
henderkes
08388c0b15 force enable tailcall vm with zig 2025-12-29 22:12:25 +01:00
henderkes
e7a88f1df7 enable fat for gmp when next version releases 2025-12-29 21:15:53 +01:00
henderkes
2f3122627e make grpc php 8.5 compatible 2025-12-28 12:44:24 +01:00
henderkes
93a35908de factor grpc extension out to ext-grpc, keep library for now, even though unused 2025-12-28 12:11:56 +01:00
henderkes
5ef4623051 grpc will fail for php 8.5, it's not updated yet 2025-12-27 23:05:35 +01:00
henderkes
e952f1c76a we don't even need to build grpc library for grpc extension... 2025-12-27 22:36:24 +01:00
henderkes
09b89a30f9 WIP: use system libraries for grpc without building our own grpc lib 2025-12-27 22:20:02 +01:00
henderkes
9a681a9fa6 add mariadb mysqlnd plugins 2025-12-27 21:22:10 +01:00
Jerry Ma
8650ce4f8f Add MACOSX_DEPLOYMENT_TARGET to env.ini (#1009) 2025-12-26 17:15:45 +08:00
crazywhalecc
f7ca621efe Test 2025-12-26 15:03:54 +08:00
henderkes
6b5200002e fix downloader selecting drafts 2025-12-20 23:29:25 +01:00
henderkes
53f7cdefe0 fix swoole compilation with php 8.5.1 2025-12-18 20:12:01 +01:00
henderkes
e1a14bbb9f fix implicit include 2025-12-18 17:39:05 +01:00
henderkes
9e051c8c80 fix: check for link first before checking for is_dir 2025-12-18 17:32:02 +01:00
henderkes
e677be74d7 remove 2025-12-18 17:32:02 +01:00
henderkes
037d224fd7 why does phpstan think this is necessary? 2025-12-18 17:32:02 +01:00
henderkes
ce44e00bd4 @crazywhalecc how to use patch points to delete source dirs? 2025-12-18 17:32:01 +01:00
henderkes
0247458853 we were installing to wrong dir if source name != lib name 2025-12-18 17:32:01 +01:00
henderkes
656a58c3fa remove source dir after successful build in CI environment 2025-12-18 17:32:01 +01:00
Jerry Ma
9fdfef5057 macOS don't need to disable avx2 explicitly (#1007) 2025-12-18 21:21:47 +08:00
crazywhalecc
dd5762fbd3 Add lib skeleton command and sort config, spc_mode suuport, etc... 2025-12-18 15:43:58 +08:00
crazywhalecc
1707c679e8 Sort 2025-12-18 15:32:50 +08:00
Marc
18c5ccfe9d the libwebp 1.6.0 bug affects centos 7 too (#1004) 2025-12-16 09:33:20 +01:00
henderkes
d064e1353c the libwebp 1.6.0 bug affects centos 7 too 2025-12-15 18:50:20 +01:00
crazywhalecc
acd0e2b23a Prepare for skeleton 2025-12-15 17:00:20 +08:00
Jerry Ma
c1c31a730b V3 feat/win (#999)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-11 16:09:50 +08:00
crazywhalecc
910f10a1dd Typo 2025-12-11 16:04:29 +08:00
crazywhalecc
fefcbf4029 Allow automatically get latest gRPC source (#909) 2025-12-11 15:51:32 +08:00
crazywhalecc
88d135a4e5 Allow interrupt on Windows 2025-12-11 15:50:39 +08:00
crazywhalecc
f8952da2a3 Update captainhook.json to cross-platform friendly 2025-12-11 14:54:30 +08:00
crazywhalecc
63c7aa8d38 Update captainhook.json to cross-platform friendly 2025-12-11 14:53:16 +08:00
crazywhalecc
355da340b4 Merge remote-tracking branch 'origin/v3-feat/win' into v3-feat/win 2025-12-11 14:53:03 +08:00
Jerry Ma
a4fd618a10 Update src/StaticPHP/Artifact/Artifact.php
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-11 14:49:16 +08:00
Jerry Ma
9a91aecb28 Update src/Package/Target/php/windows.php
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-11 14:47:44 +08:00
crazywhalecc
8bf2f42596 Merge remote-tracking branch 'origin/v3-feat/win' into v3-feat/win 2025-12-11 14:47:31 +08:00
Jerry Ma
4e841cfc67 Update src/Package/Target/php/windows.php
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-11 14:47:14 +08:00
crazywhalecc
da8b7c2bc4 Use the real build target to display 2025-12-11 14:45:56 +08:00
crazywhalecc
c4cec15c18 Use container instead of passing 2025-12-11 14:45:35 +08:00
crazywhalecc
e3f9894331 Apply copilot's suggestion 2025-12-11 14:43:42 +08:00
crazywhalecc
6d292b4c54 Add WindowsCMakeExecutor 2025-12-11 14:24:59 +08:00
crazywhalecc
f6b47ad810 Separate unix and windows build for php 2025-12-11 13:50:36 +08:00
crazywhalecc
7c8b40a49a Add windows php cli builds, support micro patches 2025-12-11 13:49:32 +08:00
crazywhalecc
48fbeab7e4 Add log for interactive term 2025-12-11 13:48:01 +08:00
crazywhalecc
eb0a36e379 Rename 2025-12-11 13:47:49 +08:00
crazywhalecc
4bbe56dd9f Fix windows extracting with curl typo, ignore traits in package 2025-12-11 13:47:32 +08:00
crazywhalecc
fe0b983f6c Fix debug mode and verbosity relation 2025-12-11 13:46:15 +08:00
crazywhalecc
2080407283 Enhance Windows support by updating artifact configuration and improving extraction logic 2025-12-11 11:35:12 +08:00
Jerry Ma
3c89ce6c7f Update version to 2.7.10 (#997) 2025-12-10 17:14:27 +08:00
Marc
07ea1e2887 update libwebp and libxml2 (#982) 2025-12-10 10:01:24 +01:00
Jerry Ma
f0b5e4f59e Fix typo in ncurses.php enable-symlinks option (#994) 2025-12-10 15:43:24 +08:00
Marc
a54021bf19 Apply suggestion from @henderkes 2025-12-10 08:42:28 +01:00
crazywhalecc
dc05ad23c9 Update captain hook for windows 2025-12-10 13:41:36 +08:00
crazywhalecc
458af6ac78 Add build function check for current OS and update validation logic 2025-12-10 13:38:25 +08:00
Jerry Ma
66d3af518b Add early validation for package build and installation requirements (#996) 2025-12-10 13:18:28 +08:00
crazywhalecc
2901d32ba7 Update ApplicationContext and InteractiveTerm to handle null outputs gracefully 2025-12-10 13:17:15 +08:00
crazywhalecc
794d92c9d8 Add early validation for package build and installation requirements 2025-12-10 12:54:04 +08:00
Jerry Ma
97e337cea2 Refactor test structure and update paths for improved organization (#995) 2025-12-10 11:28:08 +08:00
crazywhalecc
bde1440617 Refactor test structure and update paths for improved organization 2025-12-10 11:15:44 +08:00
Jerry Ma
78375632b4 V3 feat/re2c (#992)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-10 10:07:39 +08:00
Jerry Ma
f68adc3256 Update src/Package/Target/php.php
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-10 09:52:59 +08:00
Jerry Ma
4a968757ba Update src/Package/Library/ncurses.php
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-10 09:49:20 +08:00
crazywhalecc
bcaef59a15 Support full --no-ansi options 2025-12-09 16:54:29 +08:00
crazywhalecc
b0f630f95f Add package outputs, colorize motd 2025-12-09 16:34:43 +08:00
crazywhalecc
ac01867e9c Refactor stage execution to use method references for improved clarity 2025-12-09 15:01:41 +08:00
crazywhalecc
808aed2a66 Refactor package stage handling and update class structures for improved flexibility 2025-12-09 14:58:11 +08:00
crazywhalecc
e004d10861 Fix phpstan 2025-12-08 17:04:00 +08:00
crazywhalecc
0db26be826 Correct SAPI-packages to be installed 2025-12-08 17:02:12 +08:00
crazywhalecc
a4bd2a79a9 Add shared extension build support 2025-12-08 17:01:58 +08:00
crazywhalecc
7b16f683fc Allow package implementation using parent class functions 2025-12-08 17:01:29 +08:00
crazywhalecc
78234ef147 Add missing patchPkgconfPrefix function 2025-12-08 17:00:56 +08:00
crazywhalecc
80128edd39 Add patch description display 2025-12-08 17:00:34 +08:00
crazywhalecc
b384345723 Add php-micro patch for embed mode 2025-12-08 17:00:18 +08:00
crazywhalecc
f4bb0263f6 Fix ncurses static-libs 2025-12-08 17:00:03 +08:00
crazywhalecc
321f2e13e8 Allow all types of package can be built 2025-12-08 16:59:38 +08:00
crazywhalecc
11e7a590c8 Add ncurses package build 2025-12-08 16:58:47 +08:00
crazywhalecc
20e0711747 Add libedit package build 2025-12-08 16:58:42 +08:00
crazywhalecc
80d922ab3b Use patch for current package exclusively 2025-12-08 16:58:04 +08:00
crazywhalecc
a1cadecc54 Refactor re2c fix-item 2025-12-08 12:45:12 +08:00
Jerry Ma
127c935106 Refactor BUILDROOT_ABS initialization to provide a default path (#991) 2025-12-08 12:33:37 +08:00
crazywhalecc
eab105965d Remove redundant path 2025-12-08 11:06:50 +08:00
crazywhalecc
abd6c2fa3a Add PackageInstaller::isPackageInstalled() API 2025-12-08 11:06:50 +08:00
crazywhalecc
df6c27c98d Allow absolute paths for configs 2025-12-08 11:06:50 +08:00
crazywhalecc
3ff762c4c8 Fix wrong namespace in go-xcaddy package 2025-12-08 11:06:50 +08:00
crazywhalecc
6775cb4674 Fix pkg-config doctor fix using source bug 2025-12-08 11:06:50 +08:00
crazywhalecc
88b86d3eaf Fix artifact downloade does not accept boolean options bug 2025-12-08 11:06:50 +08:00
crazywhalecc
dbc6dbee53 Add Zig package support with downloader and installation checks 2025-12-08 11:06:50 +08:00
crazywhalecc
baddd60113 Add dev commands: is-installed, shell (for debugging package status) 2025-12-08 11:06:50 +08:00
crazywhalecc
2f09ace82f Add LinuxToolCheck 2025-12-08 11:06:50 +08:00
henderkes
dce63d3c87 we need extensions to explicitly tell which c std they need 2025-12-06 11:18:10 +01:00
Jerry Ma
d3b0f5de79 Fix argument naming in InstallPackageCommand for clarity (#989) 2025-12-06 16:57:16 +08:00
Jerry Ma
9ad7147155 Enhance musl-wrapper and musl-toolchain installation process (#988) 2025-12-06 16:50:36 +08:00
henderkes
47ab5d7584 use c17 for extensions as well? 2025-12-05 13:57:28 +01:00
henderkes
b2182b4fe1 use source extract hook for pdo_sqlsrv 2025-12-05 12:20:14 +01:00
henderkes
1d5aec037b c17 instead 2025-12-05 12:14:57 +01:00
henderkes
6b5f702719 ncurses can't build with std=c23 (default with gcc 15) 2025-12-05 11:43:51 +01:00
henderkes
7bdcda1d62 gmp can't build with std=c23 (default with gcc 15) 2025-12-05 11:37:35 +01:00
henderkes
66840a8eed update xdebug to use pie sources 2025-12-05 09:15:22 +01:00
Jerry Ma
106b55d4e7 [v3] Add musl-wrapper and musl-toolchain installation support (#984) 2025-12-05 15:32:32 +08:00
crazywhalecc
93a697ebbf Fix artifact downloader constants and improve error message for hosted package-bin 2025-12-05 15:31:56 +08:00
crazywhalecc
7fa6fd08d4 Add HostedPackageBin downloader and enhance artifact handling 2025-12-05 15:31:56 +08:00
crazywhalecc
52553fb5ed Fix PHPStan errors 2025-12-05 15:31:56 +08:00
crazywhalecc
c925914925 Add version getter and checksum for go-xcaddy artifact 2025-12-05 15:31:56 +08:00
crazywhalecc
d16f5a972c Add --with-packages option for spc-config command 2025-12-04 21:21:48 +08:00
crazywhalecc
ee46c1c387 Fix switch-php-version command not working bug 2025-12-04 21:21:27 +08:00
crazywhalecc
64fde5fd8c Allow loading config dir from registry 2025-12-04 21:20:44 +08:00
crazywhalecc
dc5bf6dc98 Correct install-pkg argument name, add alias 2025-12-04 21:20:22 +08:00
crazywhalecc
20892ab194 Auto-append prefix for php-extension packages 2025-12-04 21:19:55 +08:00
crazywhalecc
e9d3f7e7eb Change wrong option name 2025-12-04 21:19:34 +08:00
crazywhalecc
2f8570b59e Implement missing legacy options 2025-12-04 21:19:11 +08:00
crazywhalecc
71d803d36f cs fix 2025-12-04 10:54:05 +08:00
crazywhalecc
daa87e1350 Add DirDiff utility and enhance package build process
- Introduced DirDiff class for tracking directory file changes.
- Updated ConsoleApplication to use addCommand for build targets.
- Enhanced PackageBuilder with methods for deploying binaries and extracting debug info.
- Improved package installation logic to support shared extensions.
- Added readline extension with patching for static builds.
2025-12-04 10:53:49 +08:00
henderkes
98773ee5a6 zig toolchain can always use libc 2025-12-03 15:02:14 +01:00
henderkes
719d818fd1 we need to check for structure of pdo_sqlsrv extension 2025-12-02 21:34:32 +01:00
henderkes
b8444070ee update go-xcaddy version automatically 2025-12-01 20:41:58 +01:00
henderkes
5b4f4f8e55 maybe? 2025-12-01 19:55:51 +01:00
henderkes
22d263c0a8 maybe explicit mavx2?! 2025-12-01 19:27:44 +01:00
henderkes
150d866c15 revert turning off sse for libwebp, need to check why debian fails building 2025-12-01 19:12:43 +01:00
henderkes
c051a48d56 don't add -l:libstdc++.a if we're not actually using gcc/clang 2025-12-01 17:28:59 +01:00
henderkes
b965ffcd82 don't build extra programs 2025-12-01 17:16:59 +01:00
henderkes
7f863d182f don't remove dir, just don't build tests 2025-12-01 17:10:56 +01:00
henderkes
d1041c57dc remove openssl source/test dir (4.1gb?!) 2025-12-01 17:05:50 +01:00
henderkes
14b822a185 don't build avx2 if we don't have it 2025-12-01 16:55:52 +01:00
Marc
7204d277b4 Update PHP extensions for Linux and Darwin 2025-12-01 11:39:56 +01:00
Marc
5a0fd40dc4 update libwebp and libxml2 2025-12-01 09:55:46 +01:00
527 changed files with 25660 additions and 6276 deletions

View File

@@ -29,6 +29,9 @@ on:
description: Extensions to build (comma separated)
required: true
type: string
shared-extensions:
description: Shared extensions to build (optional, comma separated)
type: string
extra-libs:
description: Extra libraries to build (optional, comma separated)
type: string
@@ -42,10 +45,22 @@ on:
build-fpm:
description: Build fpm binary
type: boolean
build-frankenphp:
description: Build frankenphp binary (requires ZTS)
type: boolean
default: false
enable-zts:
description: Enable ZTS
type: boolean
default: false
prefer-pre-built:
description: Prefer pre-built binaries (reduce build time)
type: boolean
default: true
with-suggested-libs:
description: Build with suggested libs
type: boolean
default: true
debug:
description: Show full build logs
type: boolean
@@ -69,6 +84,9 @@ on:
description: Extensions to build (comma separated)
required: true
type: string
shared-extensions:
description: Shared extensions to build (optional, comma separated)
type: string
extra-libs:
description: Extra libraries to build (optional, comma separated)
type: string
@@ -82,10 +100,22 @@ on:
build-fpm:
description: Build fpm binary
type: boolean
build-frankenphp:
description: Build frankenphp binary (requires ZTS)
type: boolean
default: false
enable-zts:
description: Enable ZTS
type: boolean
default: false
prefer-pre-built:
description: Prefer pre-built binaries (reduce build time)
type: boolean
default: true
with-suggested-libs:
description: Include suggested libs
type: boolean
default: false
debug:
description: Show full build logs
type: boolean
@@ -144,8 +174,19 @@ jobs:
RUNS_ON="macos-15"
;;
esac
DOWN_CMD="$DOWN_CMD --with-php=${{ inputs.php-version }} --for-extensions=${{ inputs.extensions }} --ignore-cache-sources=php-src"
BUILD_CMD="$BUILD_CMD ${{ inputs.extensions }}"
STATIC_EXTS="${{ inputs.extensions }}"
SHARED_EXTS="${{ inputs['shared-extensions'] }}"
BUILD_FRANKENPHP="${{ inputs['build-frankenphp'] }}"
ENABLE_ZTS="${{ inputs['enable-zts'] }}"
ALL_EXTS="$STATIC_EXTS"
if [ -n "$SHARED_EXTS" ]; then
ALL_EXTS="$ALL_EXTS,$SHARED_EXTS"
fi
DOWN_CMD="$DOWN_CMD --with-php=${{ inputs.php-version }} --for-extensions=$ALL_EXTS --ignore-cache-sources=php-src"
BUILD_CMD="$BUILD_CMD $STATIC_EXTS"
if [ -n "$SHARED_EXTS" ]; then
BUILD_CMD="$BUILD_CMD --build-shared=$SHARED_EXTS"
fi
if [ -n "${{ inputs.extra-libs }}" ]; then
DOWN_CMD="$DOWN_CMD --for-libs=${{ inputs.extra-libs }}"
BUILD_CMD="$BUILD_CMD --with-libs=${{ inputs.extra-libs }}"
@@ -157,6 +198,9 @@ jobs:
if [ ${{ inputs.prefer-pre-built }} == true ]; then
DOWN_CMD="$DOWN_CMD --prefer-pre-built"
fi
if [ ${{ inputs.with-suggested-libs }} == true ]; then
BUILD_CMD="$BUILD_CMD --with-suggested-libs"
fi
if [ ${{ inputs.build-cli }} == true ]; then
BUILD_CMD="$BUILD_CMD --build-cli"
fi
@@ -166,6 +210,12 @@ jobs:
if [ ${{ inputs.build-fpm }} == true ]; then
BUILD_CMD="$BUILD_CMD --build-fpm"
fi
if [ "$BUILD_FRANKENPHP" = "true" ]; then
BUILD_CMD="$BUILD_CMD --build-frankenphp"
fi
if [ "$ENABLE_ZTS" = "true" ]; then
BUILD_CMD="$BUILD_CMD --enable-zts"
fi
echo 'download='"$DOWN_CMD" >> "$GITHUB_OUTPUT"
echo 'build='"$BUILD_CMD" >> "$GITHUB_OUTPUT"
echo 'run='"$RUNS_ON" >> "$GITHUB_OUTPUT"
@@ -188,6 +238,27 @@ jobs:
env:
phpts: nts
- if: ${{ inputs['build-frankenphp'] == true }}
name: "Install go-xcaddy for FrankenPHP"
run: |
case "${{ inputs.os }}" in
linux-x86_64|linux-aarch64)
./bin/spc-alpine-docker install-pkg go-xcaddy
;;
linux-x86_64-glibc|linux-aarch64-glibc)
./bin/spc-gnu-docker install-pkg go-xcaddy
;;
macos-x86_64|macos-aarch64)
composer update --no-dev --classmap-authoritative
./bin/spc doctor --auto-fix
./bin/spc install-pkg go-xcaddy
;;
*)
echo "Unsupported OS for go-xcaddy install: ${{ inputs.os }}"
exit 1
;;
esac
# Cache downloaded source
- id: cache-download
uses: actions/cache@v4
@@ -202,6 +273,14 @@ jobs:
# if: ${{ failure() }}
# uses: mxschmitt/action-tmate@v3
# Upload debug logs
- if: ${{ inputs.debug && failure() }}
name: "Upload build logs on failure"
uses: actions/upload-artifact@v4
with:
name: spc-logs-${{ inputs.php-version }}-${{ inputs.os }}
path: log/*.log
# Upload cli executable
- if: ${{ inputs.build-cli == true }}
name: "Upload PHP cli SAPI"
@@ -226,7 +305,22 @@ jobs:
name: php-fpm-${{ inputs.php-version }}-${{ inputs.os }}
path: buildroot/bin/php-fpm
# Upload frankenphp executable
- if: ${{ inputs['build-frankenphp'] == true }}
name: "Upload FrankenPHP SAPI"
uses: actions/upload-artifact@v4
with:
name: php-frankenphp-${{ inputs.php-version }}-${{ inputs.os }}
path: buildroot/bin/frankenphp
# Upload extensions metadata
- if: ${{ inputs['shared-extensions'] != '' }}
name: "Upload shared extensions"
uses: actions/upload-artifact@v4
with:
name: php-shared-ext-${{ inputs.php-version }}-${{ inputs.os }}
path: |
buildroot/modules/*.so
- uses: actions/upload-artifact@v4
name: "Upload License Files"
with:

View File

@@ -29,6 +29,10 @@ on:
description: prefer pre-built binaries (reduce build time)
type: boolean
default: true
with-suggested-libs:
description: Build with suggested libs
type: boolean
default: true
debug:
description: enable debug logs
type: boolean

6
.gitignore vendored
View File

@@ -33,6 +33,9 @@ packlib_files.txt
.php-cs-fixer.cache
.phpunit.result.cache
# doctor cache fallback (when ~/.cache/spc/ is not writable)
.spc-doctor.lock
# exclude self-runtime
/bin/*
!/bin/spc*
@@ -61,3 +64,6 @@ log/
# spc.phar
spc.phar
spc.exe
# dumped files from StaticPHP v3
/dump-*.json

View File

@@ -69,6 +69,6 @@ return (new PhpCsFixer\Config())
'php_unit_data_provider_method_order' => false,
])
->setFinder(
PhpCsFixer\Finder::create()->in([__DIR__ . '/src', __DIR__ . '/tests/SPC'])
PhpCsFixer\Finder::create()->in([__DIR__ . '/src', __DIR__ . '/tests/StaticPHP'])
)
->setParallelConfig(PhpCsFixer\Runner\Parallel\ParallelConfigFactory::detect());

View File

@@ -1,3 +0,0 @@
# static-php-cli
English README has been moved to [README.md](README.md).

View File

@@ -1,4 +1,4 @@
# static-php-cli
# StaticPHP
[![English readme](https://img.shields.io/badge/README-English%20%F0%9F%87%AC%F0%9F%87%A7-moccasin?style=flat-square)](README.md)
[![Chinese readme](https://img.shields.io/badge/README-%E4%B8%AD%E6%96%87%20%F0%9F%87%A8%F0%9F%87%B3-moccasin?style=flat-square)](README-zh.md)
@@ -6,7 +6,7 @@
[![CI](https://img.shields.io/github/actions/workflow/status/crazywhalecc/static-php-cli/tests.yml?branch=main&label=Build%20Test&style=flat-square)](https://github.com/crazywhalecc/static-php-cli/actions/workflows/tests.yml)
[![License](https://img.shields.io/badge/License-MIT-blue.svg?style=flat-square)](https://github.com/crazywhalecc/static-php-cli/blob/main/LICENSE)
**static-php-cli** 是一个用于构建静态、独立 PHP 运行时的强大工具,支持众多流行扩展
**StaticPHP** 是一个用于构建静态编译可执行文件(包括 PHP、扩展等的强大工具
## 特性
@@ -80,7 +80,7 @@ download-options:
### 3. 静态 PHP 使用
现在您可以将 static-php-cli 构建的二进制文件复制到另一台机器上,无需依赖即可运行:
现在您可以将 StaticPHP 构建的二进制文件复制到另一台机器上,无需依赖即可运行:
```
# php-cli
@@ -97,7 +97,7 @@ buildroot/bin/php-fpm -v
## 文档
当前 README 包含基本用法。有关 static-php-cli 的所有功能,
当前 README 包含基本用法。有关 StaticPHP 的所有功能,
请访问 <https://static-php.dev>。
## 直接下载

View File

@@ -1,4 +1,4 @@
# static-php-cli
# StaticPHP
[![Chinese readme](https://img.shields.io/badge/README-%E4%B8%AD%E6%96%87%20%F0%9F%87%A8%F0%9F%87%B3-moccasin?style=flat-square)](README-zh.md)
[![English readme](https://img.shields.io/badge/README-English%20%F0%9F%87%AC%F0%9F%87%A7-moccasin?style=flat-square)](README.md)
@@ -6,8 +6,7 @@
[![CI](https://img.shields.io/github/actions/workflow/status/crazywhalecc/static-php-cli/tests.yml?branch=main&label=Build%20Test&style=flat-square)](https://github.com/crazywhalecc/static-php-cli/actions/workflows/tests.yml)
[![License](https://img.shields.io/badge/License-MIT-blue.svg?style=flat-square)](https://github.com/crazywhalecc/static-php-cli/blob/main/LICENSE)
**static-php-cli** is a powerful tool designed for building static, standalone PHP runtime
with popular extensions.
**StaticPHP** is a powerful tool designed for building portable executables including PHP, extensions, and more.
## Features
@@ -81,7 +80,7 @@ Run command:
### 3. Static PHP usage
Now you can copy binaries built by static-php-cli to another machine and run with no dependencies:
Now you can copy binaries built by StaticPHP to another machine and run with no dependencies:
```
# php-cli
@@ -98,7 +97,7 @@ buildroot/bin/php-fpm -v
## Documentation
The current README contains basic usage. For all the features of static-php-cli,
The current README contains basic usage. For all the features of StaticPHP,
see <https://static-php.dev> .
## Direct Download

57
TODO.md Normal file
View File

@@ -0,0 +1,57 @@
# v3 TODO List
Tracking items identified during the v2 → v3 migration audit.
---
## Commands
- [ ] Implement `craft` command (drives full build from `craft.yml`; should be easier with v3 vendor/registry mode)
- [ ] Migrate `micro:combine` command (combine `micro.sfx` with PHP code + INI injection)
- [ ] Implement `dump-extensions` command (extract required extensions from `composer.json` / `composer.lock`)
- [ ] Design and implement v3 dev toolchain commands (WIP — needs design decision):
- [ ] `dev:extensions` / equivalent listing command
- [ ] `dev:php-version`, `dev:ext-version`, `dev:lib-version`
- [ ] Doc generation commands (`dev:gen-ext-docs`, `dev:gen-ext-dep-docs`, `dev:gen-lib-dep-docs`) — pending v3 doc design
---
## Source Patches (SourcePatcher → Artifact migration)
The following v2 `SourcePatcher` hooks are not yet migrated to v3 `src/Package/Artifact/` classes:
- [ ] Migrate `patchSQLSRVWin32` — removes `/sdl` compile flag to prevent Zend build failure on Windows
- [ ] Migrate `patchSQLSRVPhp85` — fixes `pdo_sqlsrv` directory layout for PHP 8.5
- [ ] Migrate `patchYamlWin32` — patches `config.w32` `_a.lib` detection logic for the `yaml` extension
- [ ] Migrate `patchImagickWith84` — applies PHP 8.4 compatibility patch for `imagick` based on version detection
---
## Extension Package Classes (Unix)
Extensions that had non-trivial v2 build logic and are missing a v3 `src/Package/Extension/` class:
- [x] `gettext` — macOS: fix `config.m4` bracket syntax for cross-version compatibility + append frameworks to linker flags (critical for macOS linking; this is a Unix-side gap, not Windows-only)
---
## Windows Extensions (Early Stage)
Windows extension support is still in early stage. The following extensions had Windows-specific configure args or patches in v2 and are pending v3 Windows implementation:
- [ ] `amqp` — Windows configure args
- [ ] `com_dotnet` — Windows-only extension
- [ ] `dom` — remove `dllmain.c` from `config.w32`
- [ ] `ev` — fix `PHP_EV_SHARED` in `config.w32`
- [ ] `gmssl` — add `CHECK_LIB("gmssl.lib")` to `config.w32`
- [ ] `intl` — fix `PHP_INTL_SHARED` in `config.w32`
- [ ] `lz4` — Windows configure args
- [ ] `mbregex` — Windows configure args
- [ ] `sqlsrv` / `pdo_sqlsrv` — complex conditional build logic (independent `sqlsrv` without `pdo_sqlsrv`)
- [ ] `xml` — remove `dllmain.c` from `config.w32`; handles `soap`, `xmlreader`, `xmlwriter`, `simplexml`
---
## Documentation
- [ ] Write v3 user documentation (currently zero v3 docs)

View File

@@ -21,10 +21,8 @@ if (PHP_VERSION_ID < 80400) {
try {
(new ConsoleApplication())->run();
} catch (SPCException $e) {
ExceptionHandler::handleSPCException($e);
exit(1);
exit(ExceptionHandler::handleSPCException($e));
} catch (\Throwable $e) {
ExceptionHandler::handleDefaultException($e);
exit(1);
exit(ExceptionHandler::handleDefaultException($e));
}

View File

@@ -3,7 +3,7 @@
set -e
# This file is using docker to run commands
SPC_DOCKER_VERSION=v6
SPC_DOCKER_VERSION=v7
# Detect docker can run
if ! which docker >/dev/null; then
@@ -108,8 +108,7 @@ RUN apk update; \
wget \
xz \
gettext-dev \
binutils-gold \
patchelf
binutils-gold
RUN curl -#fSL https://dl.static-php.dev/static-php-cli/bulk/php-8.4.4-cli-linux-\$(uname -m).tar.gz | tar -xz -C /usr/local/bin && \
chmod +x /usr/local/bin/php
@@ -123,6 +122,7 @@ COPY ./composer.* /app/
ADD ./bin /app/bin
RUN composer install --no-dev
ADD ./config /app/config
ADD ./spc.registry.json /app/spc.registry.json
RUN bin/spc doctor --auto-fix
RUN bin/spc install-pkg upx

12
bin/spc-debug.ps1 Normal file
View File

@@ -0,0 +1,12 @@
$PHP_Exec = ".\runtime\php.exe"
if (-not(Test-Path $PHP_Exec)) {
$PHP_Exec = Get-Command php.exe -ErrorAction SilentlyContinue | Select-Object -ExpandProperty Definition
if (-not $PHP_Exec) {
Write-Host "Error: PHP not found, you need to install PHP on your system or use 'bin/setup-runtime'." -ForegroundColor Red
exit 1
}
}
& "$PHP_Exec" -d xdebug.mode=debug -d xdebug.client_host=127.0.0.1 -d xdebug.client_port=9003 -d xdebug.start_with_request=yes ("bin/spc") @args
exit $LASTEXITCODE

View File

@@ -92,11 +92,6 @@ RUN echo "source scl_source enable devtoolset-10" >> /etc/bashrc
RUN source /etc/bashrc
RUN yum install -y which
RUN curl -fsSL -o patchelf.tgz https://github.com/NixOS/patchelf/releases/download/0.18.0/patchelf-0.18.0-$SPC_USE_ARCH.tar.gz && \
mkdir -p /patchelf && \
tar -xzf patchelf.tgz -C /patchelf --strip-components=1 && \
cp /patchelf/bin/patchelf /usr/bin/
RUN curl -o cmake.tgz -#fSL https://github.com/Kitware/CMake/releases/download/v3.31.4/cmake-3.31.4-linux-$SPC_USE_ARCH.tar.gz && \
mkdir /cmake && \
tar -xzf cmake.tgz -C /cmake --strip-components 1

View File

@@ -1,19 +1,23 @@
{
"alias": "spc-php.phar",
"banner": false,
"blacklist": [
".github"
],
"compression": "GZ",
"directories": [
"config",
"src",
"vendor/psr",
"vendor/laravel/prompts",
"vendor/illuminate",
"vendor/symfony",
"vendor/zhamao"
],
"git-commit-short": "git_commit_short",
"output": "spc.phar"
"alias": "spc-php.phar",
"banner": false,
"blacklist": [
".github"
],
"compression": "GZ",
"check-requirements": false,
"directories": [
"config",
"src",
"vendor/psr",
"vendor/laravel/prompts",
"vendor/symfony",
"vendor/php-di",
"vendor/zhamao"
],
"files": [
"spc.registry.yml"
],
"git-commit-short": "git_commit_short",
"output": "spc.phar"
}

View File

@@ -3,7 +3,7 @@
"enabled": true,
"actions": [
{
"action": "composer analyse"
"action": "php vendor/bin/phpstan analyse --memory-limit 300M"
}
]
},
@@ -11,13 +11,22 @@
"enabled": true,
"actions": [
{
"action": "composer cs-fix -- --config=.php-cs-fixer.php --dry-run --diff {$STAGED_FILES|of-type:php}",
"action": "php vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.php --dry-run --diff {$STAGED_FILES|of-type:php} --sequential",
"conditions": [
{
"exec": "\\CaptainHook\\App\\Hook\\Condition\\FileStaged\\OfType",
"args": ["php"]
}
]
},
{
"action": "bin/spc dev:lint-config --check",
"conditions": [
{
"exec": "\\CaptainHook\\App\\Hook\\Condition\\FileStaged\\InDirectory",
"args": ["config"]
}
]
}
]
},

View File

@@ -24,7 +24,7 @@
"captainhook/hook-installer": "^1.0",
"friendsofphp/php-cs-fixer": "^3.60",
"humbug/box": "^4.5.0 || ^4.6.0",
"phpstan/phpstan": "^1.10",
"phpstan/phpstan": "^2.1",
"phpunit/phpunit": "^10.3 || ^9.5"
},
"autoload": {
@@ -40,7 +40,7 @@
},
"autoload-dev": {
"psr-4": {
"SPC\\Tests\\": "tests/SPC"
"Tests\\StaticPHP\\": "tests/StaticPHP"
}
},
"bin": [
@@ -49,6 +49,7 @@
"scripts": {
"analyse": "phpstan analyse --memory-limit 300M",
"cs-fix": "php-cs-fixer fix",
"lint-config": "bin/spc dev:lint-config",
"test": "vendor/bin/phpunit tests/ --no-coverage",
"build:phar": "vendor/bin/box compile"
},

476
composer.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,120 +1,4 @@
{
"vswhere": {
"binary": {
"windows-x86_64": {
"type": "url",
"url": "https://github.com/microsoft/vswhere/releases/download/3.1.7/vswhere.exe",
"extract": "{pkg_root_path}/bin/vswhere.exe"
}
}
},
"php-src": {
"source": {
"type": "php-release"
}
},
"php-sdk-binary-tools": {
"binary": {
"windows-x86_64": {
"type": "git",
"rev": "master",
"url": "https://github.com/php/php-sdk-binary-tools.git",
"extract": "{php_sdk_path}"
}
}
},
"go-xcaddy": {
"binary": "custom"
},
"musl-toolchain": {
"binary": {
"linux-x86_64": "https://dl.static-php.dev/static-php-cli/deps/musl-toolchain/x86_64-musl-toolchain.tgz",
"linux-aarch64": "https://dl.static-php.dev/static-php-cli/deps/musl-toolchain/aarch64-musl-toolchain.tgz"
}
},
"pkg-config": {
"source": "https://dl.static-php.dev/static-php-cli/deps/pkg-config/pkg-config-0.29.2.tar.gz",
"binary": {
"linux-x86_64": {
"type": "ghrel",
"repo": "static-php/static-php-cli-hosted",
"match": "pkg-config-aarch64-linux-musl-1.2.5.txz",
"extract": {
"bin/pkg-config": "{pkg_root_path}/bin/pkg-config"
}
},
"linux-aarch64": {
"type": "ghrel",
"repo": "static-php/static-php-cli-hosted",
"match": "pkg-config-x86_64-linux-musl-1.2.5.txz",
"extract": {
"bin/pkg-config": "{pkg_root_path}/bin/pkg-config"
}
},
"macos-x86_64": {
"type": "ghrel",
"repo": "static-php/static-php-cli-hosted",
"match": "pkg-config-x86_64-darwin.txz",
"extract": {
"bin/pkg-config": "{pkg_root_path}/bin/pkg-config"
}
},
"macos-aarch64": {
"type": "ghrel",
"repo": "static-php/static-php-cli-hosted",
"match": "pkg-config-aarch64-darwin.txz",
"extract": "{pkg_root_path}"
}
}
},
"strawberry-perl": {
"binary": {
"windows-x86_64": "https://github.com/StrawberryPerl/Perl-Dist-Strawberry/releases/download/SP_5380_5361/strawberry-perl-5.38.0.1-64bit-portable.zip"
}
},
"upx": {
"binary": {
"linux-x86_64": {
"type": "ghrel",
"repo": "upx/upx",
"match": "upx.+-amd64_linux\\.tar\\.xz",
"extract": {
"upx": "{pkg_root_path}/bin/upx"
}
},
"linux-aarch64": {
"type": "ghrel",
"repo": "upx/upx",
"match": "upx.+-arm64_linux\\.tar\\.xz",
"extract": {
"upx": "{pkg_root_path}/bin/upx"
}
},
"windows-x86_64": {
"type": "ghrel",
"repo": "upx/upx",
"match": "upx.+-win64\\.zip",
"extract": {
"upx.exe": "{pkg_root_path}/bin/upx.exe"
}
}
}
},
"zig": {
"binary": "custom"
},
"nasm": {
"binary": {
"windows-x86_64": {
"type": "url",
"url": "https://dl.static-php.dev/static-php-cli/deps/nasm/nasm-2.16.01-win64.zip",
"extract": {
"nasm.exe": "{php_sdk_path}/bin/nasm.exe",
"ndisasm.exe": "{php_sdk_path}/bin/ndisasm.exe"
}
}
}
},
"amqp": {
"source": {
"type": "url",
@@ -380,11 +264,14 @@
"repo": "guanzhi/GmSSL"
}
},
"go-xcaddy": {
"binary": "custom"
},
"grpc": {
"binary": "hosted",
"source": {
"type": "git",
"rev": "v1.75.x",
"regex": "v(?<version>1.\\d+).x",
"url": "https://github.com/grpc/grpc.git"
}
},
@@ -718,13 +605,6 @@
"extract": "php-src/ext/memcached"
}
},
"mimalloc": {
"source": {
"type": "ghtagtar",
"repo": "microsoft/mimalloc",
"match": "v2\\.\\d\\.[^3].*"
}
},
"micro": {
"source": {
"type": "git",
@@ -733,6 +613,13 @@
"url": "https://github.com/static-php/phpmicro"
}
},
"mimalloc": {
"source": {
"type": "ghtagtar",
"repo": "microsoft/mimalloc",
"match": "v2\\.\\d\\.[^3].*"
}
},
"mongodb": {
"source": {
"type": "ghrel",
@@ -750,6 +637,35 @@
"extract": "php-src/ext/msgpack"
}
},
"musl-toolchain": {
"binary": {
"linux-x86_64": {
"type": "url",
"url": "https://dl.static-php.dev/static-php-cli/deps/musl-toolchain/x86_64-musl-toolchain.tgz",
"extract": "{pkg_root_path}/musl-toolchain"
},
"linux-aarch64": {
"type": "url",
"url": "https://dl.static-php.dev/static-php-cli/deps/musl-toolchain/aarch64-musl-toolchain.tgz",
"extract": "{pkg_root_path}/musl-toolchain"
}
}
},
"musl-wrapper": {
"source": "https://musl.libc.org/releases/musl-1.2.5.tar.gz"
},
"nasm": {
"binary": {
"windows-x86_64": {
"type": "url",
"url": "https://dl.static-php.dev/static-php-cli/deps/nasm/nasm-2.16.01-win64.zip",
"extract": {
"nasm.exe": "{php_sdk_path}/bin/nasm.exe",
"ndisasm.exe": "{php_sdk_path}/bin/ndisasm.exe"
}
}
}
},
"ncurses": {
"binary": "hosted",
"source": {
@@ -835,6 +751,56 @@
"extract": "php-src/ext/pdo_sqlsrv"
}
},
"php-sdk-binary-tools": {
"binary": {
"windows-x86_64": {
"type": "git",
"rev": "master",
"url": "https://github.com/php/php-sdk-binary-tools.git",
"extract": "{php_sdk_path}"
}
}
},
"php-src": {
"source": {
"type": "php-release"
}
},
"pkg-config": {
"binary": {
"linux-x86_64": {
"type": "ghrel",
"repo": "static-php/static-php-cli-hosted",
"match": "pkg-config-aarch64-linux-musl-1.2.5.txz",
"extract": {
"bin/pkg-config": "{pkg_root_path}/bin/pkg-config"
}
},
"linux-aarch64": {
"type": "ghrel",
"repo": "static-php/static-php-cli-hosted",
"match": "pkg-config-x86_64-linux-musl-1.2.5.txz",
"extract": {
"bin/pkg-config": "{pkg_root_path}/bin/pkg-config"
}
},
"macos-x86_64": {
"type": "ghrel",
"repo": "static-php/static-php-cli-hosted",
"match": "pkg-config-x86_64-darwin.txz",
"extract": {
"bin/pkg-config": "{pkg_root_path}/bin/pkg-config"
}
},
"macos-aarch64": {
"type": "ghrel",
"repo": "static-php/static-php-cli-hosted",
"match": "pkg-config-aarch64-darwin.txz",
"extract": "{pkg_root_path}"
}
},
"source": "https://dl.static-php.dev/static-php-cli/deps/pkg-config/pkg-config-0.29.2.tar.gz"
},
"postgresql": {
"source": {
"type": "ghtagtar",
@@ -935,6 +901,15 @@
"extract": "php-src/ext/sqlsrv"
}
},
"strawberry-perl": {
"binary": {
"windows-x86_64": {
"type": "url",
"url": "https://github.com/StrawberryPerl/Perl-Dist-Strawberry/releases/download/SP_5380_5361/strawberry-perl-5.38.0.1-64bit-portable.zip",
"extract": "{pkg_root_path}/strawberry-perl"
}
}
},
"swoole": {
"source": {
"type": "ghtar",
@@ -967,6 +942,43 @@
"version": "2.3.12"
}
},
"upx": {
"binary": {
"linux-x86_64": {
"type": "ghrel",
"repo": "upx/upx",
"match": "upx.+-amd64_linux\\.tar\\.xz",
"extract": {
"upx": "{pkg_root_path}/bin/upx"
}
},
"linux-aarch64": {
"type": "ghrel",
"repo": "upx/upx",
"match": "upx.+-arm64_linux\\.tar\\.xz",
"extract": {
"upx": "{pkg_root_path}/bin/upx"
}
},
"windows-x86_64": {
"type": "ghrel",
"repo": "upx/upx",
"match": "upx.+-win64\\.zip",
"extract": {
"upx.exe": "{pkg_root_path}/bin/upx.exe"
}
}
}
},
"vswhere": {
"binary": {
"windows-x86_64": {
"type": "url",
"url": "https://github.com/microsoft/vswhere/releases/download/3.1.7/vswhere.exe",
"extract": "{pkg_root_path}/bin/vswhere.exe"
}
}
},
"watcher": {
"source": {
"type": "ghtar",
@@ -1026,6 +1038,9 @@
"extract": "php-src/ext/yaml"
}
},
"zig": {
"binary": "custom"
},
"zlib": {
"binary": "hosted",
"source": {

9
config/artifact/glfw.yml Normal file
View File

@@ -0,0 +1,9 @@
glfw:
metadata:
license-files:
- LICENSE
license: MIT
source:
type: git
url: 'https://github.com/mario-deluna/php-glfw'
rev: master

View File

@@ -0,0 +1,2 @@
musl-wrapper:
source: 'https://musl.libc.org/releases/musl-1.2.5.tar.gz'

View File

@@ -0,0 +1,9 @@
ncurses:
binary: hosted
metadata:
license-files:
- COPYING
source:
type: filelist
url: 'https://ftp.gnu.org/pub/gnu/ncurses/'
regex: '/href="(?<file>ncurses-(?<version>[^"]+)\.tar\.gz)"/'

View File

@@ -0,0 +1,11 @@
php-src:
metadata:
license-files:
- LICENSE
license: PHP-3.01
source:
type: php-release
domain: 'https://www.php.net'
source-mirror:
type: php-release
domain: 'https://phpmirror.static-php.dev'

View File

@@ -48,7 +48,7 @@ SPC_SKIP_DOCTOR_CHECK_ITEMS=""
; extra modules that xcaddy will include in the FrankenPHP build
SPC_CMD_VAR_FRANKENPHP_XCADDY_MODULES="--with github.com/dunglas/mercure/caddy --with github.com/dunglas/vulcain/caddy --with github.com/dunglas/caddy-cbrotli"
; The display message for php version output (PHP >= 8.4 available)
PHP_BUILD_PROVIDER="static-php-cli ${SPC_VERSION}"
PHP_BUILD_PROVIDER="StaticPHP ${SPC_VERSION}"
; Whether to enable log file (if you are using vendor mode)
SPC_ENABLE_LOG_FILE="yes"
; The LOG DIR for spc logs
@@ -82,8 +82,10 @@ SPC_MICRO_PATCHES=static_extensions_win32,cli_checks,disable_huge_page,vcruntime
; - musl-native: used for alpine linux, can build `musl` and `musl -dynamic` target.
; - gnu-native: used for general linux distros, can build gnu target for the installed glibc version only.
; LEGACY option to specify the target
SPC_LIBC=musl
; option to specify the target, superceded by SPC_TARGET if set
; SPC_LIBC=musl
; uncomment to link libc dynamically on musl
; SPC_MUSL_DYNAMIC=true
; Recommended: specify your target here. Zig toolchain will be used.
; examples:
@@ -92,13 +94,13 @@ SPC_LIBC=musl
; `native-native` - links against system libc dynamically
; `native-native-musl` - links against musl libc statically
; `native-native-musl -dynamic` - links against musl libc dynamically
; SPC_TARGET=
SPC_TARGET=native-native-musl
; compiler environments
CC=${SPC_LINUX_DEFAULT_CC}
CXX=${SPC_LINUX_DEFAULT_CXX}
AR=${SPC_LINUX_DEFAULT_AR}
LD=${SPC_LINUX_DEFAULT_LD}
; compiler environments (default value is defined by selected toolchain)
CC=${SPC_DEFAULT_CC}
CXX=${SPC_DEFAULT_CXX}
AR=${SPC_DEFAULT_AR}
LD=${SPC_DEFAULT_LD}
; default compiler flags, used in CMake toolchain file, openssl and pkg-config build
SPC_DEFAULT_C_FLAGS="-fPIC -Os"
SPC_DEFAULT_CXX_FLAGS="-fPIC -Os"
@@ -119,20 +121,27 @@ SPC_CMD_PREFIX_PHP_CONFIGURE="./configure --prefix= --with-valgrind=no --disable
SPC_CMD_VAR_PHP_EMBED_TYPE="static"
; EXTRA_CFLAGS for `configure` and `make` php
SPC_CMD_VAR_PHP_MAKE_EXTRA_CFLAGS="-g -fstack-protector-strong -fno-ident -fPIE ${SPC_DEFAULT_C_FLAGS}"
; EXTRA_CXXFLAGS for `configure` and `make` php
SPC_CMD_VAR_PHP_MAKE_EXTRA_CXXFLAGS="-g -fstack-protector-strong -fno-ident -fPIE ${SPC_DEFAULT_CXX_FLAGS}"
; EXTRA_LDFLAGS for `make` php, can use -release to set a soname for libphp.so
SPC_CMD_VAR_PHP_MAKE_EXTRA_LDFLAGS=""
; optional, path to openssl conf. This affects where openssl will look for the default CA.
; default on Debian/Alpine: /etc/ssl, default on RHEL: /etc/pki/tls
OPENSSLDIR=""
[macos]
; build target: macho or macho (possibly we could support macho-universal in the future)
; Currently we do not support universal and cross-compilation for macOS.
SPC_TARGET=native-macos
; compiler environments
CC=${SPC_LINUX_DEFAULT_CC}
CXX=${SPC_LINUX_DEFAULT_CXX}
AR=${SPC_LINUX_DEFAULT_AR}
LD=${SPC_LINUX_DEFAULT_LD}
; Whether to use brew version of llvm or system version (valid options: 'system', 'brew', default: 'system')
SPC_USE_LLVM=system
; compiler environments (default value is defined by selected toolchain)
CC=${SPC_DEFAULT_CC}
CXX=${SPC_DEFAULT_CXX}
AR=${SPC_DEFAULT_AR}
LD=${SPC_DEFAULT_LD}
; default compiler flags, used in CMake toolchain file, openssl and pkg-config build
; this will be added to all CFLAGS and CXXFLAGS for the library builds
SPC_DEFAULT_C_FLAGS="--target=${MAC_ARCH}-apple-darwin -Os"
SPC_DEFAULT_CXX_FLAGS="--target=${MAC_ARCH}-apple-darwin -Os"
SPC_DEFAULT_LD_FLAGS=""
@@ -150,3 +159,9 @@ SPC_CMD_PREFIX_PHP_CONFIGURE="./configure --prefix= --with-valgrind=no --enable-
SPC_CMD_VAR_PHP_EMBED_TYPE="static"
; EXTRA_CFLAGS for `configure` and `make` php
SPC_CMD_VAR_PHP_MAKE_EXTRA_CFLAGS="-g -fstack-protector-strong -fpic -fpie -Werror=unknown-warning-option ${SPC_DEFAULT_C_FLAGS}"
; EXTRA_CXXFLAGS for `configure` and `make` php
SPC_CMD_VAR_PHP_MAKE_EXTRA_CXXFLAGS="-g -fstack-protector-strong -fno-ident -fpie -Werror=unknown-warning-option ${SPC_DEFAULT_CXX_FLAGS}"
; EXTRA_LDFLAGS for `make` php, can use -release to set a soname for libphp.dylib
SPC_CMD_VAR_PHP_MAKE_EXTRA_LDFLAGS=""
; minimum compatible macOS version (LLVM vars, availability not guaranteed)
MACOSX_DEPLOYMENT_TARGET=12.0

View File

@@ -43,6 +43,14 @@
"calendar": {
"type": "builtin"
},
"com_dotnet": {
"support": {
"BSD": "no",
"Linux": "no",
"Darwin": "no"
},
"type": "builtin"
},
"ctype": {
"type": "builtin"
},
@@ -127,6 +135,14 @@
"sockets"
]
},
"excimer": {
"support": {
"Windows": "wip",
"BSD": "wip"
},
"type": "external",
"source": "ext-excimer"
},
"exif": {
"type": "builtin"
},
@@ -232,11 +248,14 @@
"BSD": "wip"
},
"type": "external",
"source": "grpc",
"source": "ext-grpc",
"arg-type-unix": "enable-path",
"cpp-extension": true,
"lib-depends": [
"grpc"
"grpc",
"zlib",
"openssl",
"libcares"
]
},
"iconv": {
@@ -408,8 +427,7 @@
"ext-depends": [
"zlib",
"session"
],
"build-with-php": true
]
},
"memcached": {
"support": {
@@ -487,6 +505,40 @@
"zlib"
]
},
"mysqlnd_ed25519": {
"type": "external",
"source": "mysqlnd_ed25519",
"arg-type": "enable",
"target": [
"shared"
],
"ext-depends": [
"mysqlnd"
],
"lib-depends": [
"libsodium"
],
"lib-suggests": [
"openssl"
]
},
"mysqlnd_parsec": {
"type": "external",
"source": "mysqlnd_parsec",
"arg-type": "enable",
"target": [
"shared"
],
"ext-depends": [
"mysqlnd"
],
"lib-depends": [
"libsodium"
],
"lib-suggests": [
"openssl"
]
},
"oci8": {
"type": "wip",
"support": {

View File

@@ -143,9 +143,7 @@
"zlib"
],
"lib-suggests": [
"libpng",
"bzip2",
"brotli"
"libpng"
]
},
"gettext": {
@@ -355,12 +353,18 @@
"static-libs-unix": [
"libaom.a"
],
"static-libs-windows": [
"aom.lib"
],
"cpp-library": true
},
"libargon2": {
"source": "libargon2",
"static-libs-unix": [
"libargon2.a"
],
"lib-suggests": [
"libsodium"
]
},
"libavif": {
@@ -370,6 +374,15 @@
],
"static-libs-windows": [
"avif.lib"
],
"lib-depends": [
"libaom"
],
"lib-suggests": [
"libwebp",
"libjpeg",
"libxml2",
"libpng"
]
},
"libcares": {
@@ -481,7 +494,7 @@
"static-libs-windows": [
"libjpeg_a.lib"
],
"lib-suggests-windows": [
"lib-depends": [
"zlib"
]
},
@@ -850,6 +863,9 @@
},
"openssl": {
"source": "openssl",
"pkg-configs": [
"openssl"
],
"static-libs-unix": [
"libssl.a",
"libcrypto.a"
@@ -962,6 +978,11 @@
},
"unixodbc": {
"source": "unixodbc",
"pkg-configs": [
"odbc",
"odbccr",
"odbcinst"
],
"static-libs-unix": [
"libodbc.a",
"libodbccr.a",
@@ -1003,6 +1024,9 @@
},
"zlib": {
"source": "zlib",
"pkg-configs": [
"zlib"
],
"static-libs-unix": [
"libz.a"
],
@@ -1016,6 +1040,9 @@
},
"zstd": {
"source": "zstd",
"pkg-configs": [
"libzstd"
],
"static-libs-unix": [
"libzstd.a"
],

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,95 +0,0 @@
{
"vswhere": {
"type": "target",
"artifact": "vswhere"
},
"pkg-config": {
"type": "target",
"static-bins": [
"pkg-config"
],
"artifact": "pkg-config"
},
"php": {
"type": "target",
"artifact": "php-src",
"depends@macos": [
"libxml2"
]
},
"php-cli": {
"type": "virtual-target",
"depends": [
"php"
]
},
"php-micro": {
"type": "virtual-target",
"artifact": "micro",
"depends": [
"php"
]
},
"php-cgi": {
"type": "virtual-target",
"depends": [
"php"
]
},
"php-fpm": {
"type": "virtual-target",
"depends": [
"php"
]
},
"php-embed": {
"type": "virtual-target",
"depends": [
"php"
]
},
"frankenphp": {
"type": "virtual-target",
"artifact": "frankenphp",
"depends": [
"php-embed",
"go-xcaddy"
],
"depends@macos": [
"php-embed",
"go-xcaddy",
"libxml2"
]
},
"go-xcaddy": {
"type": "target",
"artifact": "go-xcaddy",
"static-bins": [
"xcaddy"
]
},
"musl-toolchain": {
"type": "target",
"artifact": "musl-toolchain"
},
"strawberry-perl": {
"type": "target",
"artifact": "strawberry-perl"
},
"upx": {
"type": "target",
"artifact": "upx"
},
"zig": {
"type": "target",
"artifact": "zig"
},
"nasm": {
"type": "target",
"artifact": "nasm"
},
"php-sdk-binary-tools": {
"type": "target",
"artifact": "php-sdk-binary-tools"
}
}

View File

@@ -0,0 +1,348 @@
ext-bcmath:
type: php-extension
ext-bz2:
type: php-extension
depends:
- bzip2
php-extension:
arg-type@unix: with-path
arg-type@windows: with
ext-calendar:
type: php-extension
ext-ctype:
type: php-extension
ext-curl:
type: php-extension
depends:
- curl
depends@windows:
- curl
- ext-zlib
- ext-openssl
php-extension:
arg-type: with
ext-dba:
type: php-extension
suggests:
- qdbm
php-extension:
arg-type: custom
ext-dom:
type: php-extension
depends:
- libxml2
- ext-xml
php-extension:
arg-type: '--enable-dom@shared_suffix@ --with-libxml=@build_root_path@'
arg-type@windows: with
ext-exif:
type: php-extension
ext-ffi:
type: php-extension
depends@unix:
- libffi
php-extension:
arg-type@unix: '--with-ffi=@shared_suffix@ --enable-zend-signals'
arg-type@windows: with
ext-fileinfo:
type: php-extension
ext-filter:
type: php-extension
ext-ftp:
type: php-extension
suggests:
- ext-openssl
ext-gd:
type: php-extension
depends:
- zlib
- libpng
- ext-zlib
suggests:
- libavif
- libwebp
- libjpeg
- freetype
php-extension:
arg-type: custom
ext-gettext:
type: php-extension
depends:
- gettext
php-extension:
arg-type: with-path
ext-gmp:
type: php-extension
depends:
- gmp
php-extension:
arg-type: with-path
ext-iconv:
type: php-extension
depends@unix:
- libiconv
php-extension:
arg-type@unix: with-path
arg-type@windows: with
ext-intl:
type: php-extension
depends@unix:
- icu
ext-ldap:
type: php-extension
depends:
- ldap
suggests:
- gmp
- libsodium
- ext-openssl
php-extension:
arg-type: with-path
ext-libxml:
type: php-extension
depends:
- ext-xml
php-extension:
build-with-php: true
build-shared: false
arg-type: none
ext-mbregex:
type: php-extension
depends:
- onig
- ext-mbstring
php-extension:
arg-type: custom
build-shared: false
build-static: true
display-name: mbstring
ext-mbstring:
type: php-extension
php-extension:
arg-type: custom
ext-mysqli:
type: php-extension
depends:
- ext-mysqlnd
php-extension:
arg-type: with
build-with-php: true
ext-mysqlnd:
type: php-extension
depends:
- zlib
php-extension:
arg-type@unix: enable
arg-type@windows: with
build-with-php: true
ext-odbc:
type: php-extension
depends@unix:
- unixodbc
php-extension:
arg-type@unix: '--with-unixODBC@shared_path_suffix@'
ext-opcache:
type: php-extension
php-extension:
arg-type@unix: custom
arg-type@windows: enable
zend-extension: true
display-name: 'Zend Opcache'
ext-openssl:
type: php-extension
depends:
- openssl
- zlib
- ext-zlib
php-extension:
arg-type: custom
arg-type@windows: with
build-with-php: true
ext-password-argon2:
type: php-extension
depends:
- libargon2
- ext-openssl
php-extension:
arg-type: custom
display-name: ''
ext-pcntl:
type: php-extension
ext-pdo:
type: php-extension
ext-pdo_mysql:
type: php-extension
depends:
- ext-pdo
- ext-mysqlnd
php-extension:
arg-type: with
ext-pdo_odbc:
type: php-extension
depends:
- ext-pdo
- ext-odbc
depends@unix:
- unixodbc
- ext-pdo
- ext-odbc
php-extension:
arg-type: custom
ext-pdo_pgsql:
type: php-extension
depends@unix:
- ext-pdo
- ext-pgsql
- postgresql
php-extension:
arg-type@unix: with-path
arg-type@windows: '--with-pdo-pgsql=yes'
ext-pdo_sqlite:
type: php-extension
depends:
- ext-pdo
- ext-sqlite3
- sqlite
php-extension:
arg-type: with
ext-pgsql:
type: php-extension
depends@unix:
- postgresql
php-extension:
arg-type: custom
ext-phar:
type: php-extension
depends:
- zlib
ext-posix:
type: php-extension
ext-readline:
type: php-extension
depends:
- libedit
php-extension:
support:
Windows: wip
BSD: wip
arg-type: '--with-libedit --without-readline'
build-shared: false
build-static: true
ext-session:
type: php-extension
ext-shmop:
type: php-extension
php-extension:
build-with-php: true
ext-simplexml:
type: php-extension
depends:
- ext-xml
php-extension:
arg-type@unix: '--enable-simplexml@shared_suffix@ --with-libxml=@build_root_path@'
arg-type@windows: with
build-with-php: true
ext-snmp:
type: php-extension
depends:
- net-snmp
php-extension:
arg-type: with
ext-soap:
type: php-extension
depends:
- ext-xml
- ext-session
php-extension:
arg-type@unix: '--enable-soap@shared_suffix@ --with-libxml=@build_root_path@'
arg-type@windows: with
build-with-php: true
ext-sockets:
type: php-extension
ext-sodium:
type: php-extension
depends:
- libsodium
php-extension:
arg-type: with
ext-sqlite3:
type: php-extension
depends:
- sqlite
php-extension:
arg-type@unix: with-path
arg-type@windows: with
build-with-php: true
ext-sysvmsg:
type: php-extension
php-extension:
support:
Windows: 'no'
BSD: wip
ext-sysvsem:
type: php-extension
php-extension:
support:
Windows: 'no'
BSD: wip
ext-sysvshm:
type: php-extension
php-extension:
support:
BSD: wip
ext-tidy:
type: php-extension
depends:
- tidy
php-extension:
support:
Windows: wip
BSD: wip
arg-type: with-path
ext-tokenizer:
type: php-extension
php-extension:
build-with-php: true
ext-xml:
type: php-extension
depends:
- libxml2
depends@windows:
- libxml2
- ext-iconv
php-extension:
arg-type: '--enable-xml@shared_suffix@ --with-libxml=@build_root_path@'
arg-type@windows: with
build-with-php: true
ext-xmlreader:
type: php-extension
depends:
- libxml2
php-extension:
arg-type: '--enable-xmlreader@shared_suffix@ --with-libxml=@build_root_path@'
build-with-php: true
ext-xmlwriter:
type: php-extension
depends:
- libxml2
php-extension:
arg-type: '--enable-xmlwriter@shared_suffix@ --with-libxml=@build_root_path@'
build-with-php: true
ext-xsl:
type: php-extension
depends:
- libxslt
- ext-xml
- ext-dom
php-extension:
arg-type: with-path
build-with-php: true
ext-zlib:
type: php-extension
depends:
- zlib
php-extension:
arg-type: custom
arg-type@windows: enable
build-with-php: true
build-shared: false

View File

@@ -0,0 +1,17 @@
ext-amqp:
type: php-extension
artifact:
source:
type: pecl
name: amqp
metadata:
license-files: [LICENSE]
license: PHP-3.01
depends:
- librabbitmq
depends@windows:
- librabbitmq
- ext-openssl
php-extension:
arg-type: '--with-amqp@shared_suffix@ --with-librabbitmq-dir=@build_root_path@'
arg-type@windows: '--with-amqp'

View File

@@ -0,0 +1,9 @@
ext-apcu:
type: php-extension
artifact:
source:
type: pecl
name: APCu
metadata:
license-files: [LICENSE]
license: PHP-3.01

View File

@@ -0,0 +1,9 @@
ext-ast:
type: php-extension
artifact:
source:
type: pecl
name: ast
metadata:
license-files: [LICENSE]
license: BSD-3-Clause

View File

@@ -0,0 +1,13 @@
ext-brotli:
type: php-extension
artifact:
source:
type: git
extract: php-src/ext/brotli
rev: master
url: 'https://github.com/kjdev/php-ext-brotli'
metadata:
license-files: [LICENSE]
license: MIT
depends:
- brotli

View File

@@ -0,0 +1,9 @@
ext-dio:
type: php-extension
artifact:
source:
type: pecl
name: dio
metadata:
license-files: [LICENSE]
license: PHP-3.01

View File

@@ -0,0 +1,9 @@
ext-ds:
type: php-extension
artifact:
source:
type: pecl
name: ds
metadata:
license-files: [LICENSE]
license: MIT

13
config/pkg/ext/ext-ev.yml Normal file
View File

@@ -0,0 +1,13 @@
ext-ev:
type: php-extension
artifact:
source:
type: pecl
name: ev
metadata:
license-files: [LICENSE]
license: PHP-3.01
depends:
- ext-sockets
php-extension:
arg-type@windows: with

View File

@@ -0,0 +1,19 @@
ext-event:
type: php-extension
artifact:
source:
type: url
url: 'https://bitbucket.org/osmanov/pecl-event/get/3.1.4.tar.gz'
extract: php-src/ext/event
metadata:
license-files: [LICENSE]
license: PHP-3.01
depends:
- libevent
- ext-openssl
suggests:
- ext-sockets
php-extension:
support:
Windows: wip
arg-type: custom

View File

@@ -0,0 +1,9 @@
ext-excimer:
type: php-extension
artifact:
source:
type: pecl
name: excimer
metadata:
license-files: [LICENSE]
license: PHP-3.01

View File

@@ -0,0 +1,7 @@
ext-glfw:
type: php-extension
artifact: glfw
depends:
- glfw
php-extension:
arg-type@unix: '--enable-glfw --with-glfw-dir=@build_root_path@'

View File

@@ -0,0 +1,12 @@
ext-gmssl:
type: php-extension
artifact:
source:
type: ghtar
repo: gmssl/GmSSL-PHP
extract: php-src/ext/gmssl
metadata:
license-files: [LICENSE]
license: PHP-3.01
depends:
- gmssl

View File

@@ -0,0 +1,14 @@
ext-grpc:
type: php-extension
artifact:
source:
type: pecl
name: grpc
metadata:
license-files: [LICENSE]
license: Apache-2.0
depends:
- grpc
lang: cpp
php-extension:
arg-type@unix: enable-path

View File

@@ -0,0 +1,12 @@
ext-igbinary:
type: php-extension
artifact:
source:
type: pecl
name: igbinary
metadata:
license-files: [COPYING]
license: BSD-3-Clause
suggests:
- ext-session
- ext-apcu

View File

@@ -0,0 +1,13 @@
ext-imagick:
type: php-extension
artifact:
source:
type: pecl
name: imagick
metadata:
license-files: [LICENSE]
license: PHP-3.01
depends:
- imagemagick
php-extension:
arg-type: custom

View File

@@ -0,0 +1,15 @@
ext-imap:
type: php-extension
artifact:
source:
type: pecl
name: imap
metadata:
license-files: [LICENSE]
license: PHP-3.01
depends:
- imap
suggests:
- ext-openssl
php-extension:
arg-type: custom

View File

@@ -0,0 +1,9 @@
ext-inotify:
type: php-extension
artifact:
source:
type: pecl
name: inotify
metadata:
license-files: [LICENSE]
license: PHP-3.01

View File

@@ -0,0 +1,15 @@
ext-lz4:
type: php-extension
artifact:
source:
type: ghtagtar
repo: kjdev/php-ext-lz4
extract: php-src/ext/lz4
metadata:
license-files: [LICENSE]
license: MIT
depends:
- liblz4
php-extension:
arg-type@unix: '--enable-lz4=@shared_suffix@ --with-lz4-includedir=@build_root_path@'
arg-type@windows: '--enable-lz4'

View File

@@ -0,0 +1,13 @@
ext-maxminddb:
type: php-extension
artifact:
source:
type: pecl
name: maxminddb
metadata:
license-files: [LICENSE]
license: Apache-2.0
depends:
- libmaxminddb
php-extension:
arg-type: with

View File

@@ -0,0 +1,14 @@
ext-memcache:
type: php-extension
artifact:
source:
type: pecl
name: memcache
metadata:
license-files: [LICENSE]
license: PHP-3.0
depends:
- ext-zlib
- ext-session
php-extension:
arg-type: '--enable-memcache@shared_suffix@ --with-zlib-dir=@build_root_path@'

View File

@@ -0,0 +1,23 @@
ext-memcached:
type: php-extension
artifact:
source:
type: pecl
name: memcached
metadata:
license-files: [LICENSE]
license: PHP-3.01
depends:
- libmemcached
depends@unix:
- libmemcached
- fastlz
- ext-session
- ext-zlib
suggests:
- zstd
- ext-igbinary
- ext-msgpack
- ext-session
php-extension:
arg-type: '--enable-memcached@shared_suffix@ --with-zlib-dir=@build_root_path@'

View File

@@ -0,0 +1,21 @@
ext-mongodb:
type: php-extension
artifact:
source:
type: ghrel
repo: mongodb/mongo-php-driver
match: mongodb.+\.tgz
extract: php-src/ext/mongodb
metadata:
license-files: [LICENSE]
license: PHP-3.01
suggests:
- icu
- openssl
- zstd
- zlib
frameworks:
- CoreFoundation
- Security
php-extension:
arg-type: custom

View File

@@ -0,0 +1,14 @@
ext-msgpack:
type: php-extension
artifact:
source:
type: pecl
name: msgpack
metadata:
license-files: [LICENSE]
license: BSD-3-Clause
depends:
- ext-session
php-extension:
arg-type@unix: with
arg-type@windows: enable

View File

@@ -0,0 +1,18 @@
ext-mysqlnd_ed25519:
type: php-extension
artifact:
source:
type: pie
repo: mariadb/mysqlnd_ed25519
extract: php-src/ext/mysqlnd_ed25519
metadata:
license-files: [LICENSE]
license: BSD-3-Clause
depends:
- ext-mysqlnd
- libsodium
suggests:
- openssl
php-extension:
arg-type: '--with-mysqlnd_ed25519=@shared_suffix@'
build-static: false

View File

@@ -0,0 +1,17 @@
ext-mysqlnd_parsec:
type: php-extension
artifact:
source:
type: pie
repo: mariadb/mysqlnd_parsec
extract: php-src/ext/mysqlnd_parsec
metadata:
license-files: [LICENSE]
license: BSD-3-Clause
depends:
- ext-mysqlnd
- libsodium
- openssl
php-extension:
arg-type: '--enable-mysqlnd_parsec'
build-static: false

View File

@@ -0,0 +1,9 @@
ext-opentelemetry:
type: php-extension
artifact:
source:
type: pecl
name: opentelemetry
metadata:
license-files: [LICENSE]
license: Apache-2.0

View File

@@ -0,0 +1,9 @@
ext-parallel:
type: php-extension
artifact:
source:
type: pecl
name: parallel
metadata:
license-files: [LICENSE]
license: PHP-3.01

View File

@@ -0,0 +1,12 @@
ext-pcov:
type: php-extension
artifact:
source:
type: pecl
name: pcov
metadata:
license-files: [LICENSE]
license: PHP-3.01
php-extension:
build-static: false
build-shared: true

View File

@@ -0,0 +1,14 @@
ext-pdo_sqlsrv:
type: php-extension
artifact:
source:
type: pecl
name: pdo_sqlsrv
metadata:
license-files: [LICENSE]
license: MIT
depends:
- ext-pdo
- ext-sqlsrv
php-extension:
arg-type: with

View File

@@ -0,0 +1,9 @@
ext-protobuf:
type: php-extension
artifact:
source:
type: pecl
name: protobuf
metadata:
license-files: [LICENSE]
license: BSD-3-Clause

View File

@@ -0,0 +1,12 @@
ext-rar:
type: php-extension
artifact:
source:
type: git
url: 'https://github.com/static-php/php-rar.git'
rev: issue-php82
extract: php-src/ext/rar
metadata:
license-files: [LICENSE]
license: PHP-3.01
lang: cpp

View File

@@ -0,0 +1,15 @@
ext-rdkafka:
type: php-extension
artifact:
source:
type: ghtar
repo: arnaud-lb/php-rdkafka
extract: php-src/ext/rdkafka
metadata:
license-files: [LICENSE]
license: MIT
depends:
- librdkafka
lang: cpp
php-extension:
arg-type: custom

View File

@@ -0,0 +1,21 @@
ext-redis:
type: php-extension
artifact:
source:
type: pecl
name: redis
metadata:
license-files: [LICENSE]
license: PHP-3.01
suggests:
- ext-session
- ext-igbinary
- ext-msgpack
suggests@unix:
- ext-session
- ext-igbinary
- ext-msgpack
- zstd
- liblz4
php-extension:
arg-type: custom

View File

@@ -0,0 +1,10 @@
ext-simdjson:
type: php-extension
artifact:
source:
type: pecl
name: simdjson
metadata:
license-files: [LICENSE]
license: Apache-2.0
lang: cpp

View File

@@ -0,0 +1,18 @@
ext-snappy:
type: php-extension
artifact:
source:
type: git
url: 'https://github.com/kjdev/php-ext-snappy'
rev: master
extract: php-src/ext/snappy
metadata:
license-files: [LICENSE]
license: PHP-3.01
depends:
- snappy
suggests:
- ext-apcu
lang: cpp
php-extension:
arg-type@unix: '--enable-snappy --with-snappy-includedir=@build_root_path@'

View File

@@ -0,0 +1,14 @@
ext-spx:
type: php-extension
artifact:
source:
type: pie
repo: noisebynorthwest/php-spx
extract: php-src/ext/spx
metadata:
license-files: [LICENSE]
license: GPL-3.0-or-later
depends:
- ext-zlib
php-extension:
arg-type: '--enable-SPX@shared_suffix@'

View File

@@ -0,0 +1,15 @@
ext-sqlsrv:
type: php-extension
artifact:
source:
type: pecl
name: sqlsrv
metadata:
license-files: [LICENSE]
license: MIT
depends@linux:
- unixodbc
- ext-pcntl
depends@macos:
- unixodbc
lang: cpp

View File

@@ -0,0 +1,15 @@
ext-ssh2:
type: php-extension
artifact:
source:
type: pecl
name: ssh2
metadata:
license-files: [LICENSE]
license: PHP-3.01
depends:
- libssh2
- ext-openssl
- ext-zlib
php-extension:
arg-type: with-path

View File

@@ -0,0 +1,72 @@
ext-swoole:
type: php-extension
artifact:
source:
type: ghtar
repo: swoole/swoole-src
extract: php-src/ext/swoole
match: v6\.+
prefer-stable: true
metadata:
license-files: [LICENSE]
license: Apache-2.0
depends:
- libcares
- brotli
- nghttp2
- zlib
- ext-openssl
- ext-curl
suggests:
- zstd
- ext-sockets
- ext-swoole-hook-pgsql
- ext-swoole-hook-mysql
- ext-swoole-hook-sqlite
- ext-swoole-hook-odbc
suggests@linux:
- zstd
- liburing
- ext-sockets
- ext-swoole-hook-pgsql
- ext-swoole-hook-mysql
- ext-swoole-hook-sqlite
- ext-swoole-hook-odbc
lang: cpp
php-extension:
arg-type: custom
ext-swoole-hook-mysql:
type: php-extension
depends:
- ext-mysqlnd
- ext-pdo
- ext-pdo_mysql
suggests:
- ext-mysqli
php-extension:
arg-type: none
display-name: swoole
ext-swoole-hook-odbc:
type: php-extension
depends:
- ext-pdo
- unixodbc
php-extension:
arg-type: none
display-name: swoole
ext-swoole-hook-pgsql:
type: php-extension
depends:
- ext-pgsql
- ext-pdo
php-extension:
arg-type: none
display-name: swoole
ext-swoole-hook-sqlite:
type: php-extension
depends:
- ext-sqlite3
- ext-pdo
php-extension:
arg-type: none
display-name: swoole

View File

@@ -0,0 +1,18 @@
ext-swow:
type: php-extension
artifact:
source:
extract: php-src/ext/swow-src
type: ghtar
repo: swow/swow
prefer-stable: true
metadata:
license: Apache-2.0
license-files: [LICENSE]
suggests:
- openssl
- curl
- ext-openssl
- ext-curl
php-extension:
arg-type: custom

View File

@@ -0,0 +1,14 @@
ext-trader:
type: php-extension
artifact:
source:
type: pecl
name: trader
metadata:
license-files: [LICENSE]
license: BSD-2-Clause
php-extension:
support:
BSD: wip
Windows: wip
arg-type: enable

View File

@@ -0,0 +1,16 @@
ext-uuid:
type: php-extension
artifact:
source:
type: pecl
name: uuid
metadata:
license-files: [LICENSE]
license: LGPL-2.1-only
depends:
- libuuid
php-extension:
support:
Windows: wip
BSD: wip
arg-type: with-path

18
config/pkg/ext/ext-uv.yml Normal file
View File

@@ -0,0 +1,18 @@
ext-uv:
type: php-extension
artifact:
source:
type: pecl
name: uv
prefer-stable: false
metadata:
license-files: [LICENSE]
license: PHP-3.01
depends:
- libuv
- ext-sockets
php-extension:
support:
Windows: wip
BSD: wip
arg-type: with-path

View File

@@ -0,0 +1,14 @@
ext-xdebug:
type: php-extension
artifact:
source:
type: pie
repo: xdebug/xdebug
metadata:
license-files: [LICENSE]
license: Xdebug-1.03
php-extension:
zend-extension: true
build-static: false
build-shared: true
build-with-php: false

View File

@@ -0,0 +1,18 @@
ext-xhprof:
type: php-extension
artifact:
source:
type: pecl
name: xhprof
extract: php-src/ext/xhprof-src
metadata:
license-files: [LICENSE]
license: Apache-2.0
depends:
- ext-ctype
php-extension:
support:
Windows: wip
BSD: wip
arg-type: enable
build-with-php: true

View File

@@ -0,0 +1,18 @@
ext-xlswriter:
type: php-extension
artifact:
source:
type: pecl
name: xlswriter
metadata:
license-files: [LICENSE]
license: BSD-2-Clause
depends:
- ext-zlib
- ext-zip
suggests:
- openssl
php-extension:
support:
BSD: wip
arg-type: custom

15
config/pkg/ext/ext-xz.yml Normal file
View File

@@ -0,0 +1,15 @@
ext-xz:
type: php-extension
artifact:
source:
type: git
url: 'https://github.com/codemasher/php-ext-xz'
rev: main
extract: php-src/ext/xz
metadata:
license-files: [LICENSE]
license: PHP-3.01
depends:
- xz
php-extension:
arg-type: with-path

View File

@@ -0,0 +1,14 @@
ext-yac:
type: php-extension
artifact:
source:
type: pecl
name: yac
metadata:
license-files: [LICENSE]
license: PHP-3.01
depends@unix:
- fastlz
- ext-igbinary
php-extension:
arg-type@unix: '--enable-yac@shared_suffix@ --enable-igbinary --enable-json --with-system-fastlz'

View File

@@ -0,0 +1,16 @@
ext-yaml:
type: php-extension
artifact:
source:
type: git
url: 'https://github.com/php/pecl-file_formats-yaml'
rev: php7
extract: php-src/ext/yaml
metadata:
license-files: [LICENSE]
license: MIT
depends:
- libyaml
php-extension:
arg-type@unix: with-path
arg-type@windows: with

View File

@@ -0,0 +1,17 @@
ext-zip:
type: php-extension
artifact:
source:
type: pecl
name: zip
extract: ext-zip
metadata:
license-files: [LICENSE]
license: PHP-3.01
depends@unix:
- libzip
php-extension:
support:
BSD: wip
arg-type: custom
arg-type@windows: enable

View File

@@ -0,0 +1,15 @@
ext-zstd:
type: php-extension
artifact:
source:
type: git
url: 'https://github.com/kjdev/php-ext-zstd'
rev: master
extract: php-src/ext/zstd
metadata:
license-files: [LICENSE]
license: MIT
depends:
- zstd
php-extension:
arg-type: '--enable-zstd --with-libzstd=@build_root_path@'

10
config/pkg/lib/attr.yml Normal file
View File

@@ -0,0 +1,10 @@
attr:
type: library
artifact:
source: 'https://download.savannah.nongnu.org/releases/attr/attr-2.5.2.tar.gz'
source-mirror: 'https://mirror.souseiseki.middlendian.com/nongnu/attr/attr-2.5.2.tar.gz'
metadata:
license-files: [doc/COPYING.LGPL]
license: LGPL-2.1-or-later
static-libs@unix:
- libattr.a

21
config/pkg/lib/brotli.yml Normal file
View File

@@ -0,0 +1,21 @@
brotli:
type: library
artifact:
source:
type: ghtagtar
repo: google/brotli
match: 'v1\.\d.*'
binary: hosted
metadata:
license-files: [LICENSE]
license: MIT
headers:
- brotli
pkg-configs:
- libbrotlicommon
- libbrotlidec
- libbrotlienc
static-libs@windows:
- brotlicommon.lib
- brotlidec.lib
- brotlienc.lib

21
config/pkg/lib/bzip2.yml Normal file
View File

@@ -0,0 +1,21 @@
bzip2:
type: library
artifact:
source:
type: url
url: 'https://dl.static-php.dev/static-php-cli/deps/bzip2/bzip2-1.0.8.tar.gz'
source-mirror:
type: filelist
url: 'https://sourceware.org/pub/bzip2/'
regex: '/href="(?<file>bzip2-(?<version>[^"]+)\.tar\.gz)"/'
binary: hosted
metadata:
license-files: ['@/bzip2.txt']
license: bzip2-1.0.6
headers:
- bzlib.h
static-libs@unix:
- libbz2.a
static-libs@windows:
- libbz2.lib
- libbz2_a.lib

14
config/pkg/lib/fastlz.yml Normal file
View File

@@ -0,0 +1,14 @@
fastlz:
type: library
artifact:
source:
type: git
url: 'https://github.com/ariya/FastLZ.git'
rev: master
metadata:
license-files: [LICENSE.MIT]
license: MIT
headers:
- fastlz.h
static-libs@unix:
- libfastlz.a

View File

@@ -0,0 +1,23 @@
freetype:
type: library
artifact:
source:
type: ghtagtar
repo: freetype/freetype
match: VER-2-\d+-\d+
metadata:
license-files: [LICENSE.TXT]
license: FTL
depends:
- zlib
suggests:
- libpng
- bzip2
- brotli
headers@unix:
- freetype2/freetype/freetype.h
- freetype2/ft2build.h
static-libs@unix:
- libfreetype.a
static-libs@windows:
- libfreetype_a.lib

View File

@@ -0,0 +1,19 @@
gettext:
type: library
artifact:
source:
type: filelist
url: 'https://ftp.gnu.org/pub/gnu/gettext/'
regex: '/href="(?<file>gettext-(?<version>[^"]+)\.tar\.xz)"/'
metadata:
license-files: [gettext-runtime/intl/COPYING.LIB]
license: LGPL-2.1-or-later
depends:
- libiconv
suggests:
- ncurses
- libxml2
frameworks:
- CoreFoundation
static-libs@unix:
- libintl.a

6
config/pkg/lib/glfw.yml Normal file
View File

@@ -0,0 +1,6 @@
glfw:
type: library
artifact: glfw
lang: cpp
static-libs@unix:
- libglfw3.a

19
config/pkg/lib/gmp.yml Normal file
View File

@@ -0,0 +1,19 @@
gmp:
type: library
artifact:
source:
type: filelist
url: 'https://ftp.gnu.org/gnu/gmp/'
regex: '/href="(?<file>gmp-(?<version>[^"]+)\.tar\.xz)"/'
source-mirror:
type: url
url: 'https://dl.static-php.dev/static-php-cli/deps/gmp/gmp-6.3.0.tar.xz'
metadata:
license-files: ['@/gmp.txt']
license: Custom
headers:
- gmp.h
pkg-configs:
- gmp
static-libs@unix:
- libgmp.a

15
config/pkg/lib/gmssl.yml Normal file
View File

@@ -0,0 +1,15 @@
gmssl:
type: library
artifact:
source:
type: ghtar
repo: guanzhi/GmSSL
metadata:
license-files: [LICENSE]
license: Apache-2.0
frameworks:
- Security
static-libs@unix:
- libgmssl.a
static-libs@windows:
- gmssl.lib

19
config/pkg/lib/grpc.yml Normal file
View File

@@ -0,0 +1,19 @@
grpc:
type: library
artifact:
source:
type: git
rev: v1.75.x
url: 'https://github.com/grpc/grpc.git'
metadata:
license-files: [LICENSE]
license: Apache-2.0
depends:
- zlib
- openssl
- libcares
frameworks:
- CoreFoundation
lang: cpp
pkg-configs:
- grpc

25
config/pkg/lib/icu.yml Normal file
View File

@@ -0,0 +1,25 @@
icu:
type: library
artifact:
source:
type: ghrel
repo: unicode-org/icu
match: icu4c.+-src\.tgz
prefer-stable: true
binary:
windows-x86_64: { type: url, url: 'https://dl.static-php.dev/static-php-cli/deps/icu-static-windows-x64/icu-static-windows-x64.zip', extract: hosted }
metadata:
license-files: ['@/icu.txt']
license: ICU
headers@windows:
- unicode
lang: cpp
pkg-configs:
- icu-uc
- icu-i18n
- icu-io
static-libs@windows:
- icudt.lib
- icuin.lib
- icuio.lib
- icuuc.lib

21
config/pkg/lib/idn2.yml Normal file
View File

@@ -0,0 +1,21 @@
idn2:
type: library
artifact:
source:
type: filelist
url: 'https://ftp.gnu.org/gnu/libidn/'
regex: '/href="(?<file>libidn2-(?<version>[^"]+)\.tar\.gz)"/'
metadata:
license-files: [COPYING.LESSERv3]
license: LGPL-3.0-or-later
depends@macos:
- libiconv
- gettext
suggests@unix:
- libiconv
- gettext
- libunistring
headers:
- idn2.h
pkg-configs:
- libidn2

View File

@@ -0,0 +1,28 @@
imagemagick:
type: library
artifact:
source:
type: ghtar
repo: ImageMagick/ImageMagick
metadata:
license-files: [LICENSE]
depends:
- zlib
- libjpeg
- libjxl
- libpng
- libwebp
- freetype
- libtiff
- libheif
- bzip2
suggests:
- zstd
- xz
- libzip
- libxml2
lang: cpp
pkg-configs:
- Magick++-7.Q16HDRI
- MagickCore-7.Q16HDRI
- MagickWand-7.Q16HDRI

13
config/pkg/lib/imap.yml Normal file
View File

@@ -0,0 +1,13 @@
imap:
type: library
artifact:
source:
type: git
url: 'https://github.com/static-php/imap.git'
rev: master
metadata:
license-files: [LICENSE]
suggests@unix:
- openssl
static-libs@unix:
- libc-client.a

15
config/pkg/lib/jbig.yml Normal file
View File

@@ -0,0 +1,15 @@
jbig:
type: library
artifact:
source: 'https://dl.static-php.dev/static-php-cli/deps/jbig/jbigkit-2.1.tar.gz'
source-mirror: 'https://www.cl.cam.ac.uk/~mgk25/jbigkit/download/jbigkit-2.1.tar.gz'
metadata:
license-files: [COPYING]
license: GPL-2.0-or-later
headers:
- jbig.h
- jbig85.h
- jbig_ar.h
static-libs@unix:
- libjbig.a
- libjbig85.a

23
config/pkg/lib/krb5.yml Normal file
View File

@@ -0,0 +1,23 @@
krb5:
type: library
artifact:
source:
type: ghtagtar
repo: krb5/krb5
match: krb5.+-final
metadata:
license-files: [NOTICE]
license: BSD-3-Clause
source-root: src
depends:
- openssl
suggests:
- ldap
- libedit
frameworks:
- Kerberos
headers:
- krb5.h
- gssapi/gssapi.h
pkg-configs:
- krb5-gssapi

17
config/pkg/lib/ldap.yml Normal file
View File

@@ -0,0 +1,17 @@
ldap:
type: library
artifact:
source:
type: filelist
url: 'https://www.openldap.org/software/download/OpenLDAP/openldap-release/'
regex: '/href="(?<file>openldap-(?<version>[^"]+)\.tgz)"/'
metadata:
license-files: [LICENSE]
depends:
- openssl
- zlib
- gmp
- libsodium
pkg-configs:
- ldap
- lber

12
config/pkg/lib/lerc.yml Normal file
View File

@@ -0,0 +1,12 @@
lerc:
type: library
artifact:
source:
type: ghtar
repo: Esri/lerc
prefer-stable: true
metadata:
license-files: [LICENSE]
lang: cpp
static-libs@unix:
- libLerc.a

12
config/pkg/lib/libacl.yml Normal file
View File

@@ -0,0 +1,12 @@
libacl:
type: library
artifact:
source: 'https://download.savannah.nongnu.org/releases/acl/acl-2.3.2.tar.gz'
source-mirror: 'https://mirror.souseiseki.middlendian.com/nongnu/acl/acl-2.3.2.tar.gz'
metadata:
license-files: [doc/COPYING.LGPL]
license: LGPL-2.1-or-later
depends:
- attr
static-libs@unix:
- libacl.a

14
config/pkg/lib/libaom.yml Normal file
View File

@@ -0,0 +1,14 @@
libaom:
type: library
artifact:
source:
type: git
rev: main
url: 'https://aomedia.googlesource.com/aom'
metadata:
license-files: [LICENSE]
lang: cpp
static-libs@unix:
- libaom.a
static-libs@windows:
- aom.lib

View File

@@ -0,0 +1,14 @@
libargon2:
type: library
artifact:
source:
type: git
rev: master
url: 'https://github.com/static-php/phc-winner-argon2'
metadata:
license-files: [LICENSE]
license: BSD-2-Clause
suggests:
- libsodium
static-libs@unix:
- libargon2.a

View File

@@ -0,0 +1,20 @@
libavif:
type: library
artifact:
source:
type: ghtar
repo: AOMediaCodec/libavif
metadata:
license-files: [LICENSE]
license: BSD-2-Clause
depends:
- libaom
suggests:
- libwebp
- libjpeg
- libxml2
- libpng
static-libs@unix:
- libavif.a
static-libs@windows:
- avif.lib

Some files were not shown because too many files have changed in this diff Show More