crazywhalecc
0b02f62b7e
feat: add pkg-config tool package config
2026-07-06 15:36:36 +08:00
crazywhalecc
924fac137c
docs: fix hosted repo URL in READMEs
...
- Update static-php-cli-hosted → static-php/hosted in both README.md and README-zh.md
2026-07-06 15:11:07 +08:00
crazywhalecc
d9c41a73da
feat: add --installed flag to check-update, improve CLI and InteractiveTerm
...
- Add --installed option to check-update command to compare against on-disk version (tool packages)
- Support use_installed parameter in ArtifactDownloader::checkUpdate/checkUpdates
- Add -y shorthand for --auto-fix in doctor command
- Hook InteractiveTerm::init() in ConsoleApplication::doRun() to properly inject Symfony input/output
2026-07-06 15:10:52 +08:00
crazywhalecc
dd1e70a394
feat: declare tool dependencies in package configs via tools field
...
- Add 'tools' field to ConfigValidator for build-time tool declarations
- Move jom and strawberry-perl from depends@windows to tools@windows in openssl.yml
- Move go-xcaddy/go-win from depends to tools in frankenphp.yml
- Register config/pkg/tool/ path in spc.registry.yml
- Use addInstallPackage for upx tool in php.php (ToolPackage instead of library dep)
- Include 'tool' type in DumpCapabilitiesCommand and InstallPackageCommand package lists
2026-07-06 15:10:22 +08:00
crazywhalecc
1bdbdfc08c
refactor: move getLibExtra* to Package base, add ToolPackage support to executors and builders
...
- Move getLibExtraCFlags/getLibExtraCxxFlags/getLibExtraLdFlags/getLibExtraLibs from LibraryPackage to Package base class so ToolPackage can also use them
- Full ToolPackage implementation: getBuildRootPath, getIncludeDir, getLibDir, getBinDir, getToolField with platform suffix support
- Update PackageBuilder to support building ToolPackage (not just LibraryPackage)
- Update PackageInstaller: support ToolPackage in download/extract/install pipeline, auto-install build-time tools, record installed versions
- Allow LibraryPackage|ToolPackage union type in all Executor classes and UnixShell::initializeEnv
2026-07-06 15:10:08 +08:00
crazywhalecc
90846ab149
refactor: restructure tool target configs into tool package system
...
- Move tool configs from config/pkg/target/ to config/pkg/tool/
- Add ToolVersionRegistry for tracking installed tool versions
- Delete old Target/pkgconfig.php, move to tool config
- Rename: 7za-win, go-win, go-xcaddy, jom, nasm, protoc, strawberry-perl, upx, vswhere, zig, pkg-config
2026-07-06 15:08:43 +08:00
Jerry Ma
8dd7882869
CRLF to LF ( #1199 )
2026-07-06 14:14:57 +08:00
crazywhalecc
7f6be12bf1
CRLF to LF
2026-07-06 14:02:38 +08:00
Jerry Ma
45b97581d8
feat(zip): add additional dependencies for Windows zip build ( #1198 )
2026-07-04 15:42:31 +08:00
crazywhalecc
12a5217f17
feat(zip): add additional dependencies for Windows zip build
2026-07-04 14:10:59 +08:00
Jerry Ma
5913cb07fd
[v3] implement tool package support with validation and config ( #1196 )
2026-06-27 20:17:53 +08:00
crazywhalecc
dd69155539
feat(tool): remove deprecated tool package directory from registry configuration
2026-06-27 15:47:46 +08:00
crazywhalecc
a81dd6d5c9
feat(tool): implement tool package support with validation and configuration
2026-06-27 15:39:30 +08:00
Jerry Ma
b4ed673261
feat(windows): replace php-sdk-binary-tools with MSYS2 + 7za-win ( #1193 )
2026-06-23 14:36:28 +08:00
crazywhalecc
db2d9a909f
feat(gmssl): add patch for pbkdf2_hmac_sm3_genkey rename and update build process
2026-06-22 16:44:44 +08:00
crazywhalecc
38e01a9b88
feat(tests): enhance label information for triggering extension build tests
2026-06-22 13:33:25 +08:00
crazywhalecc
2b210f9403
feat(logging): synchronize logger level and debug mode with output verbosity
2026-06-22 13:33:02 +08:00
crazywhalecc
be329c1d56
feat(build): add patch to Makefile for include order to resolve zip.h conflict
2026-06-22 11:14:14 +08:00
Jerry Ma
227b8f0b0a
fix(test): fix redundant terminal output during phpunit ( #1194 )
2026-06-22 08:08:47 +08:00
crazywhalecc
c88041b7e0
feat(build): add UPX as an optional package for compression
2026-06-21 20:08:27 +08:00
crazywhalecc
3bb84f3b94
feat(build): add zlib as a dependency for Windows
2026-06-21 19:35:07 +08:00
crazywhalecc
c31bf73685
feat(build): add bison and re2c to required packages; bypass phpsdk_version check for MSVC + msys2
2026-06-21 19:28:15 +08:00
crazywhalecc
c4d7ca819b
fix(openssl): update perl path for Windows compatibility
2026-06-21 19:27:47 +08:00
crazywhalecc
fd8ab71d80
feat(build): use WinCNG as crypto backend for libssh2 windows
2026-06-21 19:27:32 +08:00
crazywhalecc
2a7966aa4b
Fix curl zstd build bug
2026-06-21 19:26:55 +08:00
crazywhalecc
ef83ff074e
fix(source): use ftp.gnu.org as primary, ftpmirror.gnu.org as fallback
...
All GNU packages now use ftp.gnu.org (stable canonical server) as the
primary filelist source, with ftpmirror.gnu.org configured as
source-mirror fallback. ftpmirror uses DNS round-robin across many
mirrors of varying reliability; this setup eliminates random CI failures
caused by unreachable mirror nodes while preserving a fallback path.
2026-06-21 17:33:48 +08:00
crazywhalecc
06864fc3f6
feat(windows): replace php-sdk-binary-tools with MSYS2 + 7za-win
...
- Add msys2-build-essentials target: downloads the MSYS2 nightly sfx,
extracts it, disables PGP keyring (CI-safe), runs two-pass pacman
update, and installs autotools build essentials (make, autoconf,
automake, libtool, pkgconf, perl).
- Add 7za-win target: downloads 7za.exe to PKG_ROOT_PATH\bin.
- Remove php-sdk-binary-tools target and all PHP_SDK_PATH references;
replace with SPC_MSYS2_PATH throughout Artifact, ArtifactExtractor,
FileSystem, DefaultShell and MSVCToolchain.
- Replace {php_sdk_path} path placeholder with {spc_msys2_path}.
- WindowsToolCheck: replace checkSDK/installSDK with checkMsys2,
installMsys2 and check7zaWin/install7zaWin fix items.
- nasm.yml: extract nasm.exe/ndisasm.exe to {pkg_root_path}/bin.
- env.ini: rename PHP_SDK_PATH to SPC_MSYS2_PATH.
- Docs: update Windows migration guide and package-model placeholder docs.
2026-06-21 16:56:40 +08:00
Marc
408d8f755c
Remove laravel/prompts from box.json ( #1190 )
2026-06-16 19:05:39 +07:00
Marc
1f291a9036
Add Visual Studio 2026 support ( #1191 )
2026-06-16 19:05:09 +07:00
crazywhalecc
127fb1989f
Add vs 18 support
2026-06-16 19:21:18 +08:00
Jerry Ma
af771cf2b5
feat: enhance type hints and improve verbosity handling in commands ( #1186 )
2026-06-16 18:50:18 +08:00
crazywhalecc
5df65d926c
Remove laravel/prompts from box.json
2026-06-16 18:49:22 +08:00
Jerry Ma
bdc7bbe1f1
v3: Fix gmssl build ( #1188 )
2026-06-16 18:45:43 +08:00
Jerry Ma
89dca1f0fb
refactor: remove unused symfony/process and unnecessary laravel/prompts ( #1187 )
2026-06-16 18:15:03 +08:00
crazywhalecc
064a1f05ae
Fix phpstan
2026-06-16 15:17:51 +08:00
crazywhalecc
88cb6749b8
Remove laravel/prompts and symfony/process
2026-06-16 15:11:48 +08:00
Jerry Ma
0010e35882
ext: add ext-fastchart and ext-fastjson registry entries ( #1165 )
2026-06-16 13:57:33 +08:00
crazywhalecc
728c8dd598
Make gmssl standalone
2026-06-16 13:19:03 +08:00
Marc
bf6216e59f
Merge branch 'v3' into v3c/ext-fastchart-fastjson
2026-06-14 17:14:37 +07:00
Marc
411ad7cc0f
Add macports support ( #1179 )
2026-06-06 21:06:13 +07:00
Kevin Boyd
0761267eb3
Combine the macos tool checks into a single checkBrewOrPorts method
2026-06-04 21:40:01 -07:00
Jerry Ma
072a3b5505
feat: add permissions for id-token and attestations in release build ( #1181 )
2026-06-04 10:35:38 +08:00
Marc
0e5738b710
toolchain: add SPC_DEFAULT_RANLIB and pin cmake AR/RANLIB ( #1163 )
2026-06-04 09:25:42 +07:00
crazywhalecc
3ff9426e50
feat: add permissions for id-token and attestations in release build
2026-06-04 09:51:06 +08:00
Kevin Boyd
6057394641
Simplify macports checks
2026-05-31 22:04:44 -07:00
Kevin Boyd
2f4fb9d28f
Add a check for macports alongside Brew in toolchainmanager
2026-05-28 22:40:33 -07:00
Kevin Boyd
96ab2de4b1
Add preliminary MacPorts support
2026-05-28 22:38:56 -07:00
crazywhalecc
c641c3b8db
Make mongodb standalone
2026-05-25 10:25:47 +08:00
Jerry Ma
48d6e9ebc2
LinuxMuslCheck: pass tool env via setEnv instead of command prefixes ( #1170 )
2026-05-24 22:59:47 +08:00
Jerry Ma
6cab47db67
deduplicate_flags: keep paired flag+value tokens together ( #1168 )
2026-05-24 22:57:23 +08:00