Compare commits

..

499 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
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
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
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
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
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
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
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
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
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
crazywhalecc
c38f174a6b Forward-port #978 2025-12-02 13:42:46 +08:00
crazywhalecc
9903c2294c Merge branch 'main' into v3-dev 2025-12-02 13:39:19 +08:00
crazywhalecc
14bfb4198a v3 base 2025-11-30 15:35:04 +08:00
crazywhalecc
f6c818d3c0 v3 base 2025-11-29 18:58:16 +08:00
569 changed files with 41695 additions and 3675 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

View File

@@ -120,7 +120,7 @@ jobs:
with:
files: dist/${{ matrix.operating-system.filename }}
- name: "Deploy to self-hosted OSS (nightly)"
- name: "Deploy to self-hosted OSS"
# only run this step if the repository is static-php-cli and the branch is main
if: github.repository == 'crazywhalecc/static-php-cli' && github.ref == 'refs/heads/main'
uses: static-php/upload-s3-action@v1.0.0
@@ -132,18 +132,6 @@ jobs:
destination_dir: static-php-cli/spc-bin/nightly/
endpoint: ${{ secrets.AWS_ENDPOINT }}
- name: "Deploy to self-hosted OSS (release)"
# only run this step if the repository is static-php-cli and release tag
if: github.repository == 'crazywhalecc/static-php-cli' && startsWith(github.ref, 'refs/tags/')
uses: static-php/upload-s3-action@v1.0.0
with:
aws_key_id: ${{ secrets.AWS_KEY_ID }}
aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws_bucket: ${{ secrets.AWS_BUCKET }}
source_dir: "dist/"
destination_dir: static-php-cli/spc-bin/${{ github.event.release.tag_name }}/
endpoint: ${{ secrets.AWS_ENDPOINT }}
- name: "Upload Artifact"
uses: actions/upload-artifact@v4
with:

View File

@@ -2,7 +2,7 @@ name: Tests
on:
pull_request:
branches: [ "main" ]
branches: [ "main", "v3" ]
types: [ opened, synchronize, reopened ]
paths:
- 'src/**'

14
.gitignore vendored
View File

@@ -1,8 +1,8 @@
.idea
runtime/
docker/libraries/
docker/extensions/
docker/source/
/runtime/
/docker/libraries/
/docker/extensions/
/docker/source/
# Vendor files
/vendor/**
@@ -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)

23
bin/spc
View File

@@ -1,13 +1,9 @@
#!/usr/bin/env php
<?php
use SPC\ConsoleApplication;
use SPC\exception\ExceptionHandler;
// Load custom php if exists
if (PHP_OS_FAMILY !== 'Windows' && PHP_BINARY !== (__DIR__ . '/php') && file_exists(__DIR__ . '/php') && is_executable(__DIR__ . '/php')) {
pcntl_exec(__DIR__ . '/php', $argv);
}
use StaticPHP\ConsoleApplication;
use StaticPHP\Exception\ExceptionHandler;
use StaticPHP\Exception\SPCException;
if (file_exists(dirname(__DIR__) . '/vendor/autoload.php')) {
// Current: ./bin (git/project mode)
@@ -17,11 +13,6 @@ if (file_exists(dirname(__DIR__) . '/vendor/autoload.php')) {
require_once dirname(__DIR__, 3) . '/autoload.php';
}
// 防止 Micro 打包状态下不支持中文的显示(虽然这个项目目前好像没输出过中文?)
if (PHP_OS_FAMILY === 'Windows' && Phar::running()) {
exec('CHCP 65001');
}
// Print deprecation notice on PHP < 8.4, use red and highlight background
if (PHP_VERSION_ID < 80400) {
echo "\e[43mDeprecation Notice: PHP < 8.4 is deprecated, please upgrade your PHP version.\e[0m\n";
@@ -29,7 +20,9 @@ if (PHP_VERSION_ID < 80400) {
try {
(new ConsoleApplication())->run();
} catch (Exception $e) {
ExceptionHandler::getInstance()->handle($e);
exit(1);
} catch (SPCException $e) {
exit(ExceptionHandler::handleSPCException($e));
} catch (\Throwable $e) {
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
@@ -122,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

4
bin/spc-debug Executable file
View File

@@ -0,0 +1,4 @@
#!/usr/bin/env bash
# This script runs the 'spc' command with Xdebug enabled for debugging purposes.
php -d xdebug.mode=debug -d xdebug.client_host=127.0.0.1 -d xdebug.client_port=9003 -d xdebug.start_with_request=yes "$(dirname "$0")/../bin/spc" "$@"

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

@@ -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

@@ -9,26 +9,29 @@
}
],
"require": {
"php": ">= 8.3",
"php": ">=8.4",
"ext-mbstring": "*",
"ext-zlib": "*",
"laravel/prompts": "^0.1.12",
"laravel/prompts": "~0.1",
"php-di/php-di": "^7.1",
"symfony/console": "^5.4 || ^6 || ^7",
"symfony/process": "^7.2",
"symfony/yaml": "^7.2",
"zhamao/logger": "^1.1.3"
"zhamao/logger": "^1.1.4"
},
"require-dev": {
"captainhook/captainhook-phar": "^5.23",
"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": {
"psr-4": {
"SPC\\": "src/SPC"
"SPC\\": "src/SPC",
"StaticPHP\\": "src/StaticPHP",
"Package\\": "src/Package"
},
"files": [
"src/globals/defines.php",
@@ -37,7 +40,7 @@
},
"autoload-dev": {
"psr-4": {
"SPC\\Tests\\": "tests/SPC"
"Tests\\StaticPHP\\": "tests/StaticPHP"
}
},
"bin": [
@@ -46,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"
},

870
composer.lock generated

File diff suppressed because it is too large Load Diff

1061
config/artifact.json Normal file

File diff suppressed because it is too large Load Diff

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

@@ -32,9 +32,10 @@
; GNU_ARCH: the GNU arch of the current system. (default: `$(uname -m)`, e.g. `x86_64`, `aarch64`)
; MAC_ARCH: the MAC arch of the current system. (default: `$(uname -m)`, e.g. `x86_64`, `arm64`)
; PKG_CONFIG: (*nix only) static-php-cli will set `$BUILD_BIN_PATH/pkg-config` to PKG_CONFIG.
; SPC_LINUX_DEFAULT_CC: (linux only) the default compiler for linux. (For alpine linux: `gcc`, default: `$GNU_ARCH-linux-musl-gcc`)
; SPC_LINUX_DEFAULT_CXX: (linux only) the default c++ compiler for linux. (For alpine linux: `g++`, default: `$GNU_ARCH-linux-musl-g++`)
; SPC_LINUX_DEFAULT_AR: (linux only) the default archiver for linux. (For alpine linux: `ar`, default: `$GNU_ARCH-linux-musl-ar`)
; SPC_DEFAULT_CC: (*nix only) the default compiler for selected toolchain.
; SPC_DEFAULT_CXX: (*nix only) the default c++ compiler selected toolchain.
; SPC_DEFAULT_AR: (*nix only) the default archiver for selected toolchain.
; SPC_DEFAULT_LD: (*nix only) the default linker for selected toolchain.
; SPC_EXTRA_PHP_VARS: (linux only) the extra vars for building php, used in `configure` and `make` command.
[global]
@@ -47,7 +48,13 @@ 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
SPC_LOGS_DIR="${WORKING_DIR}/log"
; Preserve old logs when running new builds
SPC_PRESERVE_LOGS="no"
; EXTENSION_DIR where the built php will look for extension when a .ini instructs to load them
; only useful for builds targeting not pure-static linking
@@ -76,7 +83,7 @@ SPC_MICRO_PATCHES=static_extensions_win32,cli_checks,disable_huge_page,vcruntime
; - gnu-native: used for general linux distros, can build gnu target for the installed glibc version only.
; option to specify the target, superceded by SPC_TARGET if set
SPC_LIBC=musl
; SPC_LIBC=musl
; uncomment to link libc dynamically on musl
; SPC_MUSL_DYNAMIC=true
@@ -87,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"
@@ -114,6 +121,8 @@ 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=""
@@ -125,11 +134,13 @@ OPENSSLDIR=""
; 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=clang
CXX=clang++
AR=ar
LD=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
SPC_DEFAULT_C_FLAGS="--target=${MAC_ARCH}-apple-darwin -Os"
SPC_DEFAULT_CXX_FLAGS="--target=${MAC_ARCH}-apple-darwin -Os"
@@ -148,10 +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
[freebsd]
; compiler environments
CC=clang
CXX=clang++

View File

@@ -252,6 +252,7 @@
"arg-type-unix": "enable-path",
"cpp-extension": true,
"lib-depends": [
"grpc",
"zlib",
"openssl",
"libcares"

View File

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

1520
config/pkg.ext.json Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1,105 +0,0 @@
{
"go-xcaddy-aarch64-linux": {
"type": "custom"
},
"go-xcaddy-aarch64-macos": {
"type": "custom"
},
"go-xcaddy-x86_64-linux": {
"type": "custom"
},
"go-xcaddy-x86_64-macos": {
"type": "custom"
},
"musl-toolchain-aarch64-linux": {
"type": "url",
"url": "https://dl.static-php.dev/static-php-cli/deps/musl-toolchain/aarch64-musl-toolchain.tgz"
},
"musl-toolchain-x86_64-linux": {
"type": "url",
"url": "https://dl.static-php.dev/static-php-cli/deps/musl-toolchain/x86_64-musl-toolchain.tgz"
},
"nasm-x86_64-win": {
"type": "url",
"url": "https://dl.static-php.dev/static-php-cli/deps/nasm/nasm-2.16.01-win64.zip",
"extract-files": {
"nasm.exe": "{php_sdk_path}/bin/nasm.exe",
"ndisasm.exe": "{php_sdk_path}/bin/ndisasm.exe"
}
},
"pkg-config-aarch64-linux": {
"type": "ghrel",
"repo": "static-php/static-php-cli-hosted",
"match": "pkg-config-aarch64-linux-musl-1.2.5.txz",
"extract-files": {
"bin/pkg-config": "{pkg_root_path}/bin/pkg-config"
}
},
"pkg-config-aarch64-macos": {
"type": "ghrel",
"repo": "static-php/static-php-cli-hosted",
"match": "pkg-config-aarch64-darwin.txz",
"extract-files": {
"bin/pkg-config": "{pkg_root_path}/bin/pkg-config"
}
},
"pkg-config-x86_64-linux": {
"type": "ghrel",
"repo": "static-php/static-php-cli-hosted",
"match": "pkg-config-x86_64-linux-musl-1.2.5.txz",
"extract-files": {
"bin/pkg-config": "{pkg_root_path}/bin/pkg-config"
}
},
"pkg-config-x86_64-macos": {
"type": "ghrel",
"repo": "static-php/static-php-cli-hosted",
"match": "pkg-config-x86_64-darwin.txz",
"extract-files": {
"bin/pkg-config": "{pkg_root_path}/bin/pkg-config"
}
},
"strawberry-perl-x86_64-win": {
"type": "url",
"url": "https://github.com/StrawberryPerl/Perl-Dist-Strawberry/releases/download/SP_5380_5361/strawberry-perl-5.38.0.1-64bit-portable.zip"
},
"upx-aarch64-linux": {
"type": "ghrel",
"repo": "upx/upx",
"match": "upx.+-arm64_linux\\.tar\\.xz",
"extract-files": {
"upx": "{pkg_root_path}/bin/upx"
}
},
"upx-x86_64-linux": {
"type": "ghrel",
"repo": "upx/upx",
"match": "upx.+-amd64_linux\\.tar\\.xz",
"extract-files": {
"upx": "{pkg_root_path}/bin/upx"
}
},
"upx-x86_64-win": {
"type": "ghrel",
"repo": "upx/upx",
"match": "upx.+-win64\\.zip",
"extract-files": {
"upx.exe": "{pkg_root_path}/bin/upx.exe"
}
},
"zig-aarch64-linux": {
"type": "custom"
},
"zig-aarch64-macos": {
"type": "custom"
},
"zig-x86_64-linux": {
"type": "custom"
},
"zig-x86_64-macos": {
"type": "custom"
},
"zig-x86_64-win": {
"type": "custom"
}
}

992
config/pkg.lib.json Normal file
View File

@@ -0,0 +1,992 @@
{
"attr": {
"artifact": "attr",
"license": {
"type": "file",
"path": "doc/COPYING.LGPL"
},
"type": "library"
},
"brotli": {
"artifact": "brotli",
"headers": [
"brotli"
],
"license": {
"type": "file",
"path": "LICENSE"
},
"pkg-configs": [
"libbrotlicommon",
"libbrotlidec",
"libbrotlienc"
],
"type": "library"
},
"bzip2": {
"artifact": "bzip2",
"headers": [
"bzlib.h"
],
"license": {
"type": "text",
"text": "This program, \"bzip2\", the associated library \"libbzip2\", and all documentation, are copyright (C) 1996-2010 Julian R Seward. All rights reserved. \n\nRedistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:\n\n 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.\n 2. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.\n 3. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.\n 4. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\nJulian Seward, jseward@bzip.org bzip2/libbzip2 version 1.0.6 of 6 September 2010\n\nPATENTS: To the best of my knowledge, bzip2 and libbzip2 do not use any patented algorithms. However, I do not have the resources to carry out a patent search. Therefore I cannot give any guarantee of the above statement."
},
"type": "library"
},
"curl": {
"artifact": "curl",
"depends": [
"openssl",
"zlib"
],
"depends@windows": [
"zlib",
"libssh2",
"nghttp2"
],
"frameworks": [
"CoreFoundation",
"CoreServices",
"SystemConfiguration"
],
"headers": [
"curl"
],
"license": {
"type": "file",
"path": "COPYING"
},
"suggests": [
"libssh2",
"brotli",
"nghttp2",
"nghttp3",
"ngtcp2",
"zstd",
"libcares",
"ldap"
],
"suggests@windows": [
"brotli",
"zstd"
],
"type": "library"
},
"fastlz": {
"artifact": "fastlz",
"headers": [
"fastlz/fastlz.h"
],
"license": {
"type": "file",
"path": "LICENSE.MIT"
},
"type": "library"
},
"freetype": {
"artifact": "freetype",
"depends": [
"zlib"
],
"headers": [
"freetype2/freetype/freetype.h",
"freetype2/ft2build.h"
],
"license": {
"type": "file",
"path": "LICENSE.TXT"
},
"suggests": [
"libpng",
"bzip2",
"brotli"
],
"type": "library"
},
"gettext": {
"artifact": "gettext",
"depends": [
"libiconv"
],
"frameworks": [
"CoreFoundation"
],
"license": {
"type": "file",
"path": "gettext-runtime/intl/COPYING.LIB"
},
"suggests": [
"ncurses",
"libxml2"
],
"type": "library"
},
"glfw": {
"artifact": "ext-glfw",
"frameworks": [
"CoreVideo",
"OpenGL",
"Cocoa",
"IOKit"
],
"license": {
"type": "file",
"path": "LICENSE"
},
"type": "library"
},
"gmp": {
"artifact": "gmp",
"headers": [
"gmp.h"
],
"license": {
"type": "text",
"text": "Since version 6, GMP is distributed under the dual licenses, GNU LGPL v3 and GNU GPL v2. These licenses make the library free to use, share, and improve, and allow you to pass on the result. The GNU licenses give freedoms, but also set firm restrictions on the use with non-free programs."
},
"type": "library"
},
"gmssl": {
"artifact": "gmssl",
"frameworks": [
"Security"
],
"license": {
"type": "file",
"path": "LICENSE"
},
"type": "library"
},
"grpc": {
"artifact": "grpc",
"depends": [
"zlib",
"openssl",
"libcares"
],
"frameworks": [
"CoreFoundation"
],
"license": {
"type": "file",
"path": "LICENSE"
},
"pkg-configs": [
"grpc"
],
"type": "library"
},
"icu": {
"artifact": "icu",
"license": {
"type": "file",
"path": "LICENSE"
},
"pkg-configs": [
"icu-uc",
"icu-i18n",
"icu-io"
],
"type": "library"
},
"icu-static-win": {
"artifact": "icu-static-win",
"headers@windows": [
"unicode"
],
"license": {
"type": "text",
"text": "none"
},
"type": "library"
},
"imagemagick": {
"artifact": "imagemagick",
"depends": [
"zlib",
"libjpeg",
"libjxl",
"libpng",
"libwebp",
"freetype",
"libtiff",
"libheif",
"bzip2"
],
"license": {
"type": "file",
"path": "LICENSE"
},
"pkg-configs": [
"Magick++-7.Q16HDRI",
"MagickCore-7.Q16HDRI",
"MagickWand-7.Q16HDRI"
],
"suggests": [
"zstd",
"xz",
"libzip",
"libxml2"
],
"type": "library"
},
"imap": {
"artifact": "imap",
"license": {
"type": "file",
"path": "LICENSE"
},
"suggests": [
"openssl"
],
"type": "library"
},
"jbig": {
"artifact": "jbig",
"headers": [
"jbig.h",
"jbig85.h",
"jbig_ar.h"
],
"license": {
"type": "file",
"path": "COPYING"
},
"type": "library"
},
"ldap": {
"artifact": "ldap",
"depends": [
"openssl",
"zlib",
"gmp",
"libsodium"
],
"license": {
"type": "file",
"path": "LICENSE"
},
"pkg-configs": [
"ldap",
"lber"
],
"type": "library"
},
"lerc": {
"artifact": "lerc",
"license": {
"type": "file",
"path": "LICENSE"
},
"type": "library"
},
"libacl": {
"artifact": "libacl",
"depends": [
"attr"
],
"license": {
"type": "file",
"path": "doc/COPYING.LGPL"
},
"type": "library"
},
"libaom": {
"artifact": "libaom",
"license": {
"type": "file",
"path": "LICENSE"
},
"type": "library"
},
"libargon2": {
"artifact": "libargon2",
"license": {
"type": "file",
"path": "LICENSE"
},
"type": "library"
},
"libavif": {
"artifact": "libavif",
"license": {
"type": "file",
"path": "LICENSE"
},
"type": "library"
},
"libcares": {
"artifact": "libcares",
"headers": [
"ares.h",
"ares_dns.h",
"ares_nameser.h"
],
"license": {
"type": "file",
"path": "LICENSE.md"
},
"type": "library"
},
"libde265": {
"artifact": "libde265",
"license": {
"type": "file",
"path": "COPYING"
},
"type": "library"
},
"libedit": {
"artifact": "libedit",
"depends": [
"ncurses"
],
"license": {
"type": "file",
"path": "COPYING"
},
"type": "library"
},
"libevent": {
"artifact": "libevent",
"depends": [
"openssl"
],
"license": {
"type": "file",
"path": "LICENSE"
},
"type": "library"
},
"libffi": {
"artifact": "libffi",
"headers": [
"ffi.h",
"ffitarget.h"
],
"headers@windows": [
"ffi.h",
"fficonfig.h",
"ffitarget.h"
],
"license": {
"type": "file",
"path": "LICENSE"
},
"type": "library"
},
"libffi-win": {
"artifact": "libffi-win",
"headers@windows": [
"ffi.h",
"ffitarget.h",
"fficonfig.h"
],
"license": {
"type": "file",
"path": "LICENSE"
},
"type": "library"
},
"libheif": {
"artifact": "libheif",
"depends": [
"libde265",
"libwebp",
"libaom",
"zlib",
"brotli"
],
"license": {
"type": "file",
"path": "COPYING"
},
"type": "library"
},
"libiconv": {
"artifact": "libiconv",
"headers": [
"iconv.h",
"libcharset.h",
"localcharset.h"
],
"license": {
"type": "file",
"path": "COPYING.LIB"
},
"type": "library"
},
"libiconv-win": {
"artifact": "libiconv-win",
"license": {
"type": "file",
"path": "source/COPYING"
},
"type": "library"
},
"libjpeg": {
"artifact": "libjpeg",
"license": {
"type": "file",
"path": "LICENSE.md"
},
"suggests@windows": [
"zlib"
],
"type": "library"
},
"libjxl": {
"artifact": "libjxl",
"depends": [
"brotli",
"libjpeg",
"libpng",
"libwebp"
],
"license": {
"type": "file",
"path": "LICENSE"
},
"pkg-configs": [
"libjxl",
"libjxl_cms",
"libjxl_threads",
"libhwy"
],
"type": "library"
},
"liblz4": {
"artifact": "liblz4",
"license": {
"type": "file",
"path": "LICENSE"
},
"type": "library"
},
"libmemcached": {
"artifact": "libmemcached",
"license": {
"type": "file",
"path": "LICENSE"
},
"type": "library"
},
"libpng": {
"artifact": "libpng",
"depends": [
"zlib"
],
"headers": [
"png.h",
"pngconf.h",
"pnglibconf.h"
],
"headers@windows": [
"png.h",
"pngconf.h"
],
"license": {
"type": "file",
"path": "LICENSE"
},
"type": "library"
},
"librabbitmq": {
"artifact": "librabbitmq",
"depends": [
"openssl"
],
"license": {
"type": "file",
"path": "LICENSE"
},
"type": "library"
},
"librdkafka": {
"artifact": "librdkafka",
"license": {
"type": "file",
"path": "LICENSE"
},
"pkg-configs": [
"rdkafka++-static",
"rdkafka-static"
],
"suggests": [
"curl",
"liblz4",
"openssl",
"zlib",
"zstd"
],
"type": "library"
},
"libsodium": {
"artifact": "libsodium",
"license": {
"type": "file",
"path": "LICENSE"
},
"type": "library"
},
"libssh2": {
"artifact": "libssh2",
"depends": [
"openssl"
],
"headers": [
"libssh2.h",
"libssh2_publickey.h",
"libssh2_sftp.h"
],
"license": {
"type": "file",
"path": "COPYING"
},
"type": "library"
},
"libtiff": {
"artifact": "libtiff",
"depends": [
"zlib",
"libjpeg"
],
"license": {
"type": "file",
"path": "LICENSE.md"
},
"suggests": [
"lerc",
"libwebp",
"jbig",
"xz",
"zstd"
],
"type": "library"
},
"liburing": {
"artifact": "liburing",
"headers@linux": [
"liburing/",
"liburing.h"
],
"license": {
"type": "file",
"path": "COPYING"
},
"pkg-configs": [
"liburing",
"liburing-ffi"
],
"type": "library"
},
"libuuid": {
"artifact": "libuuid",
"headers": [
"uuid/uuid.h"
],
"license": {
"type": "file",
"path": "COPYING"
},
"type": "library"
},
"libuv": {
"artifact": "libuv",
"license": [
{
"type": "file",
"path": "LICENSE"
},
{
"type": "file",
"path": "LICENSE-extra"
}
],
"type": "library"
},
"libwebp": {
"artifact": "libwebp",
"license": {
"type": "file",
"path": "COPYING"
},
"pkg-configs": [
"libwebp",
"libwebpdecoder",
"libwebpdemux",
"libwebpmux",
"libsharpyuv"
],
"type": "library"
},
"libxml2": {
"artifact": "libxml2",
"depends": [
"libiconv"
],
"depends@windows": [
"libiconv-win"
],
"headers": [
"libxml2"
],
"license": {
"type": "file",
"path": "Copyright"
},
"pkg-configs": [
"libxml-2.0"
],
"suggests": [
"xz",
"zlib"
],
"suggests@windows": [
"zlib"
],
"type": "library"
},
"libxslt": {
"artifact": "libxslt",
"depends": [
"libxml2"
],
"license": {
"type": "file",
"path": "Copyright"
},
"type": "library"
},
"libyaml": {
"artifact": "libyaml",
"headers": [
"yaml.h"
],
"license": {
"type": "file",
"path": "License"
},
"type": "library"
},
"libzip": {
"artifact": "libzip",
"depends": [
"zlib"
],
"depends@windows": [
"zlib",
"bzip2",
"xz"
],
"headers": [
"zip.h",
"zipconf.h"
],
"license": {
"type": "file",
"path": "LICENSE"
},
"suggests": [
"bzip2",
"xz",
"zstd",
"openssl"
],
"suggests@windows": [
"zstd",
"openssl"
],
"type": "library"
},
"mimalloc": {
"artifact": "mimalloc",
"license": {
"type": "file",
"path": "LICENSE"
},
"type": "library"
},
"ncurses": {
"artifact": "ncurses",
"license": {
"type": "file",
"path": "COPYING"
},
"static-libs@unix": [
"libncurses.a"
],
"type": "library"
},
"net-snmp": {
"artifact": "net-snmp",
"depends": [
"openssl",
"zlib"
],
"license": {
"type": "file",
"path": "COPYING"
},
"pkg-configs": [
"netsnmp",
"netsnmp-agent"
],
"type": "library"
},
"nghttp2": {
"artifact": "nghttp2",
"depends": [
"zlib",
"openssl"
],
"headers": [
"nghttp2"
],
"license": {
"type": "file",
"path": "COPYING"
},
"suggests": [
"libxml2",
"nghttp3",
"ngtcp2"
],
"type": "library"
},
"nghttp3": {
"artifact": "nghttp3",
"depends": [
"openssl"
],
"headers": [
"nghttp3"
],
"license": {
"type": "file",
"path": "COPYING"
},
"type": "library"
},
"ngtcp2": {
"artifact": "ngtcp2",
"depends": [
"openssl"
],
"headers": [
"ngtcp2"
],
"license": {
"type": "file",
"path": "COPYING"
},
"suggests": [
"nghttp3",
"brotli"
],
"type": "library"
},
"onig": {
"artifact": "onig",
"headers": [
"oniggnu.h",
"oniguruma.h"
],
"license": {
"type": "file",
"path": "COPYING"
},
"type": "library"
},
"openssl": {
"artifact": "openssl",
"depends": [
"zlib"
],
"headers": [
"openssl"
],
"license": {
"type": "file",
"path": "LICENSE.txt"
},
"type": "library"
},
"postgresql": {
"artifact": "postgresql",
"depends": [
"libiconv",
"libxml2",
"openssl",
"zlib",
"libedit"
],
"license": {
"type": "file",
"path": "COPYRIGHT"
},
"pkg-configs": [
"libpq"
],
"suggests": [
"icu",
"libxslt",
"ldap",
"zstd"
],
"type": "library"
},
"postgresql-win": {
"artifact": "postgresql-win",
"license": {
"type": "text",
"text": "PostgreSQL Database Management System\n(also known as Postgres, formerly as Postgres95)\n\nPortions Copyright (c) 1996-2025, The PostgreSQL Global Development Group\n\nPortions Copyright (c) 1994, The Regents of the University of California\n\nPermission to use, copy, modify, and distribute this software and its\ndocumentation for any purpose, without fee, and without a written\nagreement is hereby granted, provided that the above copyright notice\nand this paragraph and the following two paragraphs appear in all\ncopies.\n\nIN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY\nFOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES,\nINCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS\nDOCUMENTATION, EVEN IF THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF\nTHE POSSIBILITY OF SUCH DAMAGE.\n\nTHE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,\nINCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS\nON AN \"AS IS\" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATIONS\nTO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS."
},
"type": "library"
},
"pthreads4w": {
"artifact": "pthreads4w",
"license": {
"type": "file",
"path": "LICENSE"
},
"type": "library"
},
"qdbm": {
"artifact": "qdbm",
"headers@windows": [
"depot.h"
],
"license": {
"type": "file",
"path": "COPYING"
},
"type": "library"
},
"re2c": {
"artifact": "re2c",
"license": {
"type": "file",
"path": "LICENSE"
},
"type": "library"
},
"readline": {
"artifact": "readline",
"depends": [
"ncurses"
],
"license": {
"type": "file",
"path": "COPYING"
},
"type": "library"
},
"snappy": {
"artifact": "snappy",
"depends": [
"zlib"
],
"headers": [
"snappy.h",
"snappy-c.h",
"snappy-sinksource.h",
"snappy-stubs-public.h"
],
"license": {
"type": "file",
"path": "COPYING"
},
"type": "library"
},
"sqlite": {
"artifact": "sqlite",
"headers": [
"sqlite3.h",
"sqlite3ext.h"
],
"license": {
"type": "text",
"text": "The author disclaims copyright to this source code. In place of\na legal notice, here is a blessing:\n\n * May you do good and not evil.\n * May you find forgiveness for yourself and forgive others.\n * May you share freely, never taking more than you give."
},
"type": "library"
},
"tidy": {
"artifact": "tidy",
"license": {
"type": "file",
"path": "README/LICENSE.md"
},
"type": "library"
},
"unixodbc": {
"artifact": "unixodbc",
"depends": [
"libiconv"
],
"license": {
"type": "file",
"path": "COPYING"
},
"type": "library"
},
"watcher": {
"artifact": "watcher",
"headers": [
"wtr/watcher-c.h"
],
"license": {
"type": "file",
"path": "license"
},
"type": "library"
},
"xz": {
"artifact": "xz",
"depends": [
"libiconv"
],
"headers": [
"lzma"
],
"headers@windows": [
"lzma",
"lzma.h"
],
"license": {
"type": "file",
"path": "COPYING"
},
"type": "library"
},
"zlib": {
"artifact": "zlib",
"headers": [
"zlib.h",
"zconf.h"
],
"license": {
"type": "text",
"text": "(C) 1995-2022 Jean-loup Gailly and Mark Adler\n\nThis software is provided 'as-is', without any express or implied\nwarranty. In no event will the authors be held liable for any damages\narising from the use of this software.\n\nPermission is granted to anyone to use this software for any purpose,\nincluding commercial applications, and to alter it and redistribute it\nfreely, subject to the following restrictions:\n\n1. The origin of this software must not be misrepresented; you must not\n claim that you wrote the original software. If you use this software\n in a product, an acknowledgment in the product documentation would be\n appreciated but is not required.\n2. Altered source versions must be plainly marked as such, and must not be\n misrepresented as being the original software.\n3. This notice may not be removed or altered from any source distribution.\n\nJean-loup Gailly Mark Adler\njloup@gzip.org madler@alumni.caltech.edu"
},
"type": "library"
},
"zstd": {
"artifact": "zstd",
"headers": [
"zdict.h",
"zstd.h",
"zstd_errors.h"
],
"headers@windows": [
"zstd.h",
"zstd_errors.h"
],
"license": {
"type": "file",
"path": "LICENSE"
},
"type": "library"
}
}

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

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