chore: Simplify and fix icu,brotli,libargon2,libevent,libiconv,liblz4,ncurses,openssl build files for pre-built libs
chore: Change patch pkgconfig prefix to ${pcfiledir}/../..
fix: Newer version of libavif build failed bug #503
chore: Use xz instead of gz for faster php-src download
fix: sqlite build for windows not supporting different visual studio version
Breaking Changes
All breaking changes in this version only affect the API and internal functions, and do not affect the default command line behavior. Feel free to upgrade in your CI workflow and projects.
If your PR involves the changes mentioned below and completed the action, please tick the corresponding option.
If a modification is not involved, please skip it directly.
[x] If it's an extension or dependency update, make sure adding related extensions in src/global/test-extensions.php.
[x] If you changed the behavior of static-php-cli, update docs in ./docs/.
[x] If you updated config/xxx.json content, run bin/spc dev:sort-config xxx.
[x] Update README.md
[x] Check every new pre-built availability before merge
What does this PR do?
Fix #490
CI Updates
prefer-pre-built
option for manual triggered build actionsspc-max
for windows buildFramework Updates
bin/spc-alpine-docker
, addpkgroot
for Dockerfilepre-built.json
LibraryBase->setup(bool $force = false)
LibraryBase->getName()
(same as$lib::NAME
)LibraryBase->beforePack()
LibraryBase->install()
--ignore-cache-source
always working even if not specified--prefer-pre-built
fordownload
commanddev:pack-lib
(build and pack library as pre-built release)Config::getPreBuilt(string $name)
Downloader::getLatestGithubRelease(string $name, array $source, bool $match_result = true)
$lock_as
for download methodsuffix
for LicenseDumperDependency, PHP and Extension Updates
brotli,bip2,gmp,icu,libargon2,libavif,libcares,libevent,libiconv,liblz4,libpng,libsodium,libtiff,libwebp,libyaml,ncurses,onig,openssl,pkg-config,readline,sqlite,unixodbc,xz,zlib
icu,brotli,libargon2,libevent,libiconv,liblz4,ncurses,openssl
build files for pre-built libs${pcfiledir}/../..
Breaking Changes
BUILD_STATUS_xxx
->LIB_STATUS_xxx
BUILD_STATUS_FAILED
->LIB_STATUS_BUILD_FAILED
LIB_STATUS_INSTALL_FAILED
before-libs-extract
->before-lib[{lib_name}]-extract
after-libs-extract
->after-lib[{lib_name}]-extract
BuilderBase->buildLibs()
->BuilderBase->setupLibs()
CustomSourceBase->fetch(bool $force = false)
->CustomSourceBase->fetch(bool $force = false, ?array $config = null, int $lock_as = SPC_LOCK_SOURCE)
Checklist before merging
src/global/test-extensions.php
../docs/
.config/xxx.json
content, runbin/spc dev:sort-config xxx
.