diff --git a/.github/workflows/build-linux-arm.yml b/.github/workflows/build-linux-arm.yml index 20f17fb90..cd5acd539 100644 --- a/.github/workflows/build-linux-arm.yml +++ b/.github/workflows/build-linux-arm.yml @@ -34,7 +34,12 @@ on: description: extensions to compile (comma separated) required: true type: string + prefer-pre-built: + description: prefer pre-built binaries (reduce build time) + type: boolean + default: true debug: + description: enable debug logs type: boolean env: @@ -73,6 +78,8 @@ jobs: # With or without debug - if: inputs.debug == true run: echo "SPC_BUILD_DEBUG=--debug" >> $GITHUB_ENV + - if: inputs.prefer-pre-built == true + run: echo "SPC_PRE_BUILT=--prefer-pre-built" >> $env:GITHUB_ENV # With target select: cli, micro or both - if: ${{ inputs.build-cli == true }} @@ -84,7 +91,7 @@ jobs: # If there's no dependencies cache, fetch sources, with or without debug - if: steps.cache-download.outputs.cache-hit != 'true' - run: SPC_USE_ARCH=${{ inputs.operating-system }} ./bin/spc-alpine-docker download --with-php=${{ inputs.version }} --for-extensions=${{ inputs.extensions }} ${{ env.SPC_BUILD_DEBUG }} + run: SPC_USE_ARCH=${{ inputs.operating-system }} ./bin/spc-alpine-docker download --with-php=${{ inputs.version }} --for-extensions=${{ inputs.extensions }} ${{ env.SPC_BUILD_DEBUG }} ${{ env.SPC_PRE_BUILT }} # Run build command - run: SPC_USE_ARCH=${{ inputs.operating-system }} ./bin/spc-alpine-docker build ${{ inputs.extensions }} ${{ env.SPC_BUILD_DEBUG }} ${{ env.SPC_BUILD_CLI }} ${{ env.SPC_BUILD_MICRO }} ${{ env.SPC_BUILD_FPM }} diff --git a/.github/workflows/build-linux-x86_64.yml b/.github/workflows/build-linux-x86_64.yml index 262eb9305..a637dd7c2 100644 --- a/.github/workflows/build-linux-x86_64.yml +++ b/.github/workflows/build-linux-x86_64.yml @@ -28,7 +28,12 @@ on: description: extensions to compile (comma separated) required: true type: string + prefer-pre-built: + description: prefer pre-built binaries (reduce build time) + type: boolean + default: true debug: + description: enable debug logs type: boolean env: @@ -67,6 +72,8 @@ jobs: # With or without debug - if: inputs.debug == true run: echo "SPC_BUILD_DEBUG=--debug" >> $GITHUB_ENV + - if: inputs.prefer-pre-built == true + run: echo "SPC_PRE_BUILT=--prefer-pre-built" >> $env:GITHUB_ENV # With target select: cli, micro or both - if: ${{ inputs.build-cli == true }} @@ -78,7 +85,7 @@ jobs: # If there's no dependencies cache, fetch sources, with or without debug - if: steps.cache-download.outputs.cache-hit != 'true' - run: CACHE_API_EXEC=yes ./bin/spc-alpine-docker download --with-php=${{ inputs.version }} --for-extensions=${{ inputs.extensions }} ${{ env.SPC_BUILD_DEBUG }} + run: CACHE_API_EXEC=yes ./bin/spc-alpine-docker download --with-php=${{ inputs.version }} --for-extensions=${{ inputs.extensions }} ${{ env.SPC_BUILD_DEBUG }} ${{ env.SPC_PRE_BUILT }} # Run build command - run: ./bin/spc-alpine-docker build ${{ inputs.extensions }} ${{ env.SPC_BUILD_DEBUG }} ${{ env.SPC_BUILD_CLI }} ${{ env.SPC_BUILD_MICRO }} ${{ env.SPC_BUILD_FPM }} diff --git a/.github/workflows/build-macos-aarch64.yml b/.github/workflows/build-macos-aarch64.yml index 591b2ad4f..0ffe4bd29 100644 --- a/.github/workflows/build-macos-aarch64.yml +++ b/.github/workflows/build-macos-aarch64.yml @@ -28,7 +28,12 @@ on: description: extensions to compile (comma separated) required: true type: string + prefer-pre-built: + description: prefer pre-built binaries (reduce build time) + type: boolean + default: true debug: + description: enable debug logs type: boolean env: @@ -82,6 +87,8 @@ jobs: # With or without debug - if: inputs.debug == true run: echo "SPC_BUILD_DEBUG=--debug" >> $GITHUB_ENV + - if: inputs.prefer-pre-built == true + run: echo "SPC_PRE_BUILT=--prefer-pre-built" >> $env:GITHUB_ENV # With target select: cli, micro or both - if: ${{ inputs.build-cli == true }} @@ -93,7 +100,7 @@ jobs: # If there's no dependencies cache, fetch sources, with or without debug - if: steps.cache-download.outputs.cache-hit != 'true' - run: ./bin/spc download --with-php=${{ inputs.version }} --for-extensions=${{ inputs.extensions }} ${{ env.SPC_BUILD_DEBUG }} + run: ./bin/spc download --with-php=${{ inputs.version }} --for-extensions=${{ inputs.extensions }} ${{ env.SPC_BUILD_DEBUG }} ${{ env.SPC_PRE_BUILT }} # Run build command - run: ./bin/spc build ${{ inputs.extensions }} ${{ env.SPC_BUILD_DEBUG }} ${{ env.SPC_BUILD_CLI }} ${{ env.SPC_BUILD_MICRO }} ${{ env.SPC_BUILD_FPM }} diff --git a/.github/workflows/build-macos-x86_64.yml b/.github/workflows/build-macos-x86_64.yml index 5f7539888..d02bd09f0 100644 --- a/.github/workflows/build-macos-x86_64.yml +++ b/.github/workflows/build-macos-x86_64.yml @@ -28,7 +28,12 @@ on: description: extensions to compile (comma separated) required: true type: string + prefer-pre-built: + description: prefer pre-built binaries (reduce build time) + type: boolean + default: true debug: + description: enable debug logs type: boolean env: @@ -80,6 +85,8 @@ jobs: # With or without debug - if: inputs.debug == true run: echo "SPC_BUILD_DEBUG=--debug" >> $GITHUB_ENV + - if: inputs.prefer-pre-built == true + run: echo "SPC_PRE_BUILT=--prefer-pre-built" >> $env:GITHUB_ENV # With target select: cli, micro or both - if: ${{ inputs.build-cli == true }} @@ -91,7 +98,7 @@ jobs: # If there's no dependencies cache, fetch sources, with or without debug - if: steps.cache-download.outputs.cache-hit != 'true' - run: ./bin/spc download --with-php=${{ inputs.version }} --for-extensions=${{ inputs.extensions }} ${{ env.SPC_BUILD_DEBUG }} + run: ./bin/spc download --with-php=${{ inputs.version }} --for-extensions=${{ inputs.extensions }} ${{ env.SPC_BUILD_DEBUG }} ${{ env.SPC_PRE_BUILT }} # Run build command - run: ./bin/spc build ${{ inputs.extensions }} ${{ env.SPC_BUILD_DEBUG }} ${{ env.SPC_BUILD_CLI }} ${{ env.SPC_BUILD_MICRO }} ${{ env.SPC_BUILD_FPM }} diff --git a/.github/workflows/build-windows-x86_64.yml b/.github/workflows/build-windows-x86_64.yml index e6665d669..17664851b 100644 --- a/.github/workflows/build-windows-x86_64.yml +++ b/.github/workflows/build-windows-x86_64.yml @@ -25,7 +25,12 @@ on: description: extensions to compile (comma separated) required: true type: string + prefer-pre-built: + description: prefer pre-built binaries (reduce build time) + type: boolean + default: true debug: + description: enable debug logs type: boolean env: @@ -65,6 +70,8 @@ jobs: # With or without debug - if: inputs.debug == true run: echo "SPC_BUILD_DEBUG=--debug" >> $env:GITHUB_ENV + - if: inputs.prefer-pre-built == true + run: echo "SPC_PRE_BUILT=--prefer-pre-built" >> $env:GITHUB_ENV # With target select: cli, micro or both - if: ${{ inputs.build-cli == true }} @@ -76,7 +83,7 @@ jobs: # If there's no dependencies cache, fetch sources, with or without debug - if: steps.cache-download.outputs.cache-hit != 'true' - run: ./bin/spc download --with-php="${{ inputs.version }}" --for-extensions="${{ inputs.extensions }}" ${{ env.SPC_BUILD_DEBUG }} + run: ./bin/spc download --with-php="${{ inputs.version }}" --for-extensions="${{ inputs.extensions }}" ${{ env.SPC_BUILD_DEBUG }} ${{ env.SPC_PRE_BUILT }} # Run build command - run: ./bin/spc build "${{ inputs.extensions }}" ${{ env.SPC_BUILD_DEBUG }} ${{ env.SPC_BUILD_CLI }} ${{ env.SPC_BUILD_MICRO }} ${{ env.SPC_BUILD_FPM }} diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 14b242600..60fd50b20 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -176,7 +176,13 @@ jobs: - name: "Run Build Tests (download)" run: | - bin/spc download --for-extensions="$(php src/globals/test-extensions.php extensions)" --for-libs="$(php src/globals/test-extensions.php libs)" --with-php=${{ matrix.php }} --ignore-cache-sources=php-src --debug --retry=5 --shallow-clone + bin/spc download --for-extensions="$(php src/globals/test-extensions.php extensions)" --for-libs="$(php src/globals/test-extensions.php libs)" --with-php=${{ matrix.php }} --ignore-cache-sources=php-src --debug --retry=5 --shallow-clone --prefer-pre-built + + - name: "Download pre-built libraries for pkg-config" + if: matrix.os != 'windows-latest' + run: | + bin/spc del-download pkg-config + bin/spc download pkg-config --prefer-pre-built --debug - name: "Run Build Tests (build, *nix)" if: matrix.os != 'windows-latest' @@ -184,4 +190,4 @@ jobs: - name: "Run Build Tests (build, windows)" if: matrix.os == 'windows-latest' - run: bin/spc build "$(php src/globals/test-extensions.php extensions)" $(php src/globals/test-extensions.php zts) $(php src/globals/test-extensions.php no_strip) $env:UPX_CMD --with-libs="$(php src/globals/test-extensions.php libs)" --build-cli --build-micro --debug --enable-micro-win32 \ No newline at end of file + run: bin/spc build "$(php src/globals/test-extensions.php extensions)" $(php src/globals/test-extensions.php zts) $(php src/globals/test-extensions.php no_strip) $env:UPX_CMD --with-libs="$(php src/globals/test-extensions.php libs)" --build-cli --build-micro --debug \ No newline at end of file diff --git a/.gitignore b/.gitignore index 2d19e5701..88d8e95f9 100644 --- a/.gitignore +++ b/.gitignore @@ -19,6 +19,10 @@ docker/source/ # default package root directory /pkgroot/ +# default pack:lib and release directory +/dist/ +packlib_files.txt + # tools cache files .php-cs-fixer.cache .phpunit.result.cache diff --git a/README-zh.md b/README-zh.md index c68d52f8c..f677e17d0 100755 --- a/README-zh.md +++ b/README-zh.md @@ -43,15 +43,17 @@ static-php-cli(简称 `spc`)有许多特性: 如果你不想自行编译 PHP,可以从本项目现有的示例 Action 下载 Artifact,也可以从自托管的服务器下载。 -- [扩展组合 - common](https://dl.static-php.dev/static-php-cli/common/):common 组合包含了约 [30+](https://dl.static-php.dev/static-php-cli/common/README.txt) 个常用扩展,体积为 7.5MB 左右。 -- [扩展组合 - bulk](https://dl.static-php.dev/static-php-cli/bulk/):bulk 组合包含了 [50+](https://dl.static-php.dev/static-php-cli/bulk/README.txt) 个扩展,体积为 25MB 左右。 -- [扩展组合 - minimal](https://dl.static-php.dev/static-php-cli/minimal/):minimal 组合包含了 [5](https://dl.static-php.dev/static-php-cli/minimal/README.txt) 个扩展,体积为 3MB 左右。 +| 组合名称 | 组合扩展数 | 系统 | 备注 | +|---------------------------------------------------------------------|----------------------------------------------------------------------------|-------------|--------------| +| [common](https://dl.static-php.dev/static-php-cli/common/) | [30+](https://dl.static-php.dev/static-php-cli/common/README.txt) | Linux/macOS | 体积为 7.5MB 左右 | +| [bulk](https://dl.static-php.dev/static-php-cli/bulk/) | [50+](https://dl.static-php.dev/static-php-cli/bulk/README.txt) | Linux/macOS | 体积为 25MB 左右 | +| [minimal](https://dl.static-php.dev/static-php-cli/minimal/) | [5](https://dl.static-php.dev/static-php-cli/minimal/README.txt) | Linux/macOS | 体积为 3MB 左右 | +| [spc-min](https://dl.static-php.dev/static-php-cli/windows/spc-min) | [5](https://dl.static-php.dev/static-php-cli/windows/spc-min/README.txt) | Windows | 体积为 3MB 左右 | +| [spc-max](https://dl.static-php.dev/static-php-cli/windows/spc-max) | [40+](https://dl.static-php.dev/static-php-cli/windows/spc-max/README.txt) | Windows | 体积为 8.5MB 左右 | > Linux 和 Windows 默认启用了 UPX 压缩,可减小 30~50% 的 PHP 二进制体积。 > macOS 当前不支持 UPX,所以上述预编译的 macOS 版本体积可能较大。 -对于 Windows 系统,目前支持的扩展较少,故仅提供 SPC 自身运行的最小扩展组合的 `cli` 和 `micro`:[扩展组合 - spc-min](https://dl.static-php.dev/static-php-cli/windows/spc-min/)。 - ## 使用 static-php-cli 构建 PHP ### 编译环境需求 @@ -110,7 +112,7 @@ static-php-cli(简称 `spc`)有许多特性: 如果你选择了 `debug`,则会在构建时输出所有日志,包括编译的日志,以供排查错误。 -### 本地构建(使用 spc 二进制) +### 本地构建(使用 spc 二进制,推荐) 该项目提供了 static-php-cli 的二进制文件:`spc`。 您可以使用 `spc` 二进制文件,无需安装任何运行时(用起来就像 golang 程序)。 @@ -144,6 +146,8 @@ chmod +x ./spc ### 本地构建(使用 git 源码) +如果你需要修改 static-php-cli 源码,或者使用 spc 二进制构建有问题,你可以使用 git 源码下载 static-php-cli。 + ```bash # clone 仓库即可 git clone https://github.com/crazywhalecc/static-php-cli.git @@ -177,6 +181,8 @@ bin/spc --version ./bin/spc download --all # 只拉取编译指定扩展需要的所有依赖(推荐) ./bin/spc download --for-extensions="openssl,pcntl,mbstring,pdo_sqlite" +# 下载依赖时,优先下载有预编译的库(节省编译依赖的时间) +./bin/spc download --for-extensions="openssl,curl,mbstring,mbregex" --prefer-pre-built # 下载编译不同版本的 PHP (--with-php=x.y,推荐 7.3 ~ 8.3) ./bin/spc download --for-extensions="openssl,curl,mbstring" --with-php=8.1 @@ -184,7 +190,7 @@ bin/spc --version ./bin/spc build "bcmath,openssl,tokenizer,sqlite3,pdo_sqlite,ftp,curl" --build-cli --build-micro # 编译线程安全版本 (--enable-zts) ./bin/spc build "curl,phar" --enable-zts --build-cli -# 编译后使用 UPX 减小可执行文件体积 (--with-upx-pack) (至少压缩至原来的 30~50%) +# 编译后使用 UPX 减小可执行文件体积 (仅 Linux、Windows 可用) (至少压缩至原来的 30~50%) ./bin/spc build "curl,phar" --enable-zts --build-cli --with-upx-pack ``` diff --git a/README.md b/README.md index 4b000aa8a..a386aea4b 100755 --- a/README.md +++ b/README.md @@ -49,16 +49,17 @@ If you don't want to build or want to test first, you can download example pre-c Below are several precompiled static-php binaries with different extension combinations, which can be downloaded directly according to your needs. -- [Extension-Combination - common](https://dl.static-php.dev/static-php-cli/common/): `common` contains about [30+](https://dl.static-php.dev/static-php-cli/common/README.txt) commonly used extensions, and the size is about 7.5MB. -- [Extension-Combination - bulk](https://dl.static-php.dev/static-php-cli/bulk/): `bulk` contains [50+](https://dl.static-php.dev/static-php-cli/bulk/README.txt) extensions and is about 25MB in size. -- [Extension-Combination - minimal](https://dl.static-php.dev/static-php-cli/minimal/): `minimal` contains [5](https://dl.static-php.dev/static-php-cli/minimal/README.txt) extensions and is about 3MB in size. +| Combination | Extension Count | OS | Comment | +|----------------------------------------------------------------------|---------------------------------------------------------------------------|--------------|--------------------------------| +| [common](https://dl.static-php.dev/static-php-cli/common/) | [30+](https://dl.static-php.dev/static-php-cli/common/README.txt) | Linux, macOS | The binary size is about 7.5MB | +| [bulk](https://dl.static-php.dev/static-php-cli/bulk/) | [50+](https://dl.static-php.dev/static-php-cli/bulk/README.txt) | Linux, macOS | The binary size is about 25MB | +| [minimal](https://dl.static-php.dev/static-php-cli/minimal/) | [5](https://dl.static-php.dev/static-php-cli/minimal/README.txt) | Linux, macOS | The binary size is about 3MB | +| [spc-min](https://dl.static-php.dev/static-php-cli/windows/spc-min/) | [5](https://dl.static-php.dev/static-php-cli/windows/spc-min/README.txt) | Windows | The binary size is about 3MB | +| [spc-max](https://dl.static-php.dev/static-php-cli/windows/spc-max/) | [10](https://dl.static-php.dev/static-php-cli/windows/spc-max/README.txt) | Windows | The binary size is about 8.5MB | > Linux and Windows supports UPX compression for binaries, which can reduce the size of the binary by 30% to 50%. > macOS does not support UPX compression, so the size of the pre-built binaries for mac is larger. -For Windows systems, there are currently fewer extensions supported, -so only `cli` and `micro` that run the minimum extension combination of SPC itself are provided: [Extension-Combination - spc-min](https://dl.static-php.dev/static-php-cli/windows/spc-min/). - ## Build ### Compilation Requirements @@ -97,6 +98,7 @@ Currently supported PHP versions for compilation: | 8.1 | :heavy_check_mark: | PHP official has security fixes only | | 8.2 | :heavy_check_mark: | | | 8.3 | :heavy_check_mark: | | +| 8.4 | :x: | WIP | ### Supported Extensions @@ -121,7 +123,7 @@ and at the same time define the extensions to be compiled by yourself. If you enable `debug`, all logs will be output at build time, including compiled logs, for troubleshooting. -### Build Locally (using SPC binary) +### Build Locally (using SPC binary, recommended) This project provides a binary file of static-php-cli: `spc`. You can use `spc` binary instead of installing any runtime like golang app. @@ -155,6 +157,9 @@ Self-hosted `spc` is built by GitHub Actions, you can also download from Actions ### Build Locally (using git source) +If you need to modify the static-php-cli source code, or have problems using the spc binary build, +you can download static-php-cli using the git source code. + ```bash # just clone me! git clone https://github.com/crazywhalecc/static-php-cli.git @@ -188,6 +193,8 @@ Basic usage for building php with some extensions: ./bin/spc download --all # only fetch necessary sources by needed extensions (recommended) ./bin/spc download --for-extensions="openssl,pcntl,mbstring,pdo_sqlite" +# download pre-built libraries first (save time for compiling dependencies) +./bin/spc download --for-extensions="openssl,curl,mbstring,mbregex" --prefer-pre-built # download different PHP version (--with-php=x.y, recommend 7.3 ~ 8.3) ./bin/spc download --for-extensions="openssl,curl,mbstring" --with-php=8.1 @@ -195,7 +202,7 @@ Basic usage for building php with some extensions: ./bin/spc build "bcmath,openssl,tokenizer,sqlite3,pdo_sqlite,ftp,curl" --build-cli --build-micro # build thread-safe (ZTS) version (--enable-zts) ./bin/spc build "curl,phar" --enable-zts --build-cli -# build, pack executable with UPX (--with-upx-pack) (reduce binary size for 30~50%) +# build, pack executable with UPX (linux and windows only) (reduce binary size for 30~50%) ./bin/spc build "curl,phar" --enable-zts --build-cli --with-upx-pack ``` diff --git a/bin/spc-alpine-docker b/bin/spc-alpine-docker index 87e529680..5effefd66 100755 --- a/bin/spc-alpine-docker +++ b/bin/spc-alpine-docker @@ -56,6 +56,7 @@ if ! $DOCKER_EXECUTABLE images | grep -q cwcc-spc-$SPC_USE_ARCH; then FROM $ALPINE_FROM $SPC_USE_MIRROR RUN apk update; \ + apk upgrade -a; \ apk add --no-cache \ autoconf \ automake \ @@ -108,6 +109,19 @@ else INTERACT='' fi +# Mounting volumes +MOUNT_LIST="" +# shellcheck disable=SC2089 +MOUNT_LIST="$MOUNT_LIST -v ""$(pwd)""/config:/app/config" +MOUNT_LIST="$MOUNT_LIST -v ""$(pwd)""/src:/app/src" +MOUNT_LIST="$MOUNT_LIST -v ""$(pwd)""/buildroot:/app/buildroot" +MOUNT_LIST="$MOUNT_LIST -v ""$(pwd)""/source:/app/source" +MOUNT_LIST="$MOUNT_LIST -v ""$(pwd)""/dist:/app/dist" +MOUNT_LIST="$MOUNT_LIST -v ""$(pwd)""/downloads:/app/downloads" +MOUNT_LIST="$MOUNT_LIST -v ""$(pwd)""/pkgroot:/app/pkgroot" + # Run docker # shellcheck disable=SC2068 -$DOCKER_EXECUTABLE run --rm $INTERACT -e SPC_FIX_DEPLOY_ROOT="$(pwd)" -v "$(pwd)"/config:/app/config -v "$(pwd)"/src:/app/src -v "$(pwd)"/buildroot:/app/buildroot -v "$(pwd)"/source:/app/source -v "$(pwd)"/downloads:/app/downloads cwcc-spc-$SPC_USE_ARCH bin/spc $@ +# shellcheck disable=SC2086 +# shellcheck disable=SC2090 +$DOCKER_EXECUTABLE run --rm $INTERACT -e SPC_FIX_DEPLOY_ROOT="$(pwd)" $MOUNT_LIST cwcc-spc-$SPC_USE_ARCH bin/spc $@ diff --git a/config/ext.json b/config/ext.json index 79936c578..c521a61f1 100644 --- a/config/ext.json +++ b/config/ext.json @@ -383,7 +383,7 @@ }, "opcache": { "type": "builtin", - "arg-type": "custom" + "arg-type-unix": "custom" }, "openssl": { "notes": true, diff --git a/config/lib.json b/config/lib.json index faaef8656..84441f52b 100644 --- a/config/lib.json +++ b/config/lib.json @@ -1,681 +1,681 @@ -{ - "brotli": { - "source": "brotli", - "static-libs-unix": [ - "libbrotlidec.a", - "libbrotlienc.a", - "libbrotlicommon.a" - ], - "static-libs-windows": [ - "brotlicommon.lib", - "brotlienc.lib", - "brotlidec.lib" - ], - "headers": [ - "brotli" - ] - }, - "bzip2": { - "source": "bzip2", - "static-libs-unix": [ - "libbz2.a" - ], - "static-libs-windows": [ - "libbz2.lib", - "libbz2_a.lib" - ], - "headers": [ - "bzlib.h" - ] - }, - "curl": { - "source": "curl", - "static-libs-unix": [ - "libcurl.a" - ], - "static-libs-windows": [ - "libcurl_a.lib" - ], - "headers": [ - "curl" - ], - "lib-depends-unix": [ - "openssl", - "zlib" - ], - "lib-depends-windows": [ - "openssl", - "zlib", - "libssh2", - "nghttp2" - ], - "lib-suggests-unix": [ - "libssh2", - "brotli", - "nghttp2", - "zstd" - ], - "lib-suggests-windows": [ - "brotli", - "zstd" - ], - "frameworks": [ - "CoreFoundation", - "CoreServices", - "SystemConfiguration" - ] - }, - "freetype": { - "source": "freetype", - "static-libs-unix": [ - "libfreetype.a" - ], - "static-libs-windows": [ - "libfreetype_a.lib" - ], - "headers-unix": [ - "freetype2/freetype/freetype.h", - "freetype2/ft2build.h" - ], - "lib-depends": [ - "zlib" - ], - "lib-suggests": [ - "libpng", - "bzip2", - "brotli" - ] - }, - "gettext": { - "source": "gettext", - "static-libs-unix": [ - "libintl.a" - ], - "lib-depends": [ - "libiconv" - ], - "lib-suggests": [ - "ncurses", - "libxml2" - ], - "frameworks": [ - "CoreFoundation" - ] - }, - "glfw": { - "source": "ext-glfw", - "static-libs-unix": [ - "libglfw3.a" - ], - "frameworks": [ - "CoreVideo", - "OpenGL", - "Cocoa", - "IOKit" - ] - }, - "gmp": { - "source": "gmp", - "static-libs-unix": [ - "libgmp.a" - ], - "static-libs-windows": [ - "libgmp.lib" - ], - "headers": [ - "gmp.h" - ] - }, - "icu": { - "source": "icu", - "cpp-library": true, - "static-libs-unix": [ - "libicui18n.a", - "libicuio.a", - "libicuuc.a", - "libicudata.a" - ] - }, - "imagemagick": { - "source": "imagemagick", - "static-libs-unix": [ - "libMagick++-7.Q16HDRI.a", - "libMagickWand-7.Q16HDRI.a", - "libMagickCore-7.Q16HDRI.a" - ], - "lib-depends": [ - "zlib", - "libpng", - "libjpeg", - "libwebp", - "freetype", - "libtiff" - ], - "lib-suggests": [ - "zstd", - "xz", - "bzip2", - "libzip", - "libxml2" - ] - }, - "imap": { - "source": "imap", - "static-libs-unix": [ - "libc-client.a" - ], - "lib-suggests": [ - "openssl" - ] - }, - "ldap": { - "source": "ldap", - "static-libs-unix": [ - "liblber.a", - "libldap.a" - ], - "lib-depends": [ - "openssl", - "zlib", - "gmp", - "libsodium" - ] - }, - "libargon2": { - "source": "libargon2", - "static-libs-unix": [ - "libargon2.a" - ] - }, - "libavif": { - "source": "libavif", - "static-libs-unix": [ - "libavif.a" - ], - "static-libs-windows": [ - "avif.lib" - ] - }, - "libcares": { - "source": "libcares", - "static-libs-unix": [ - "libcares.a" - ], - "headers-unix": [ - "ares.h", - "ares_dns.h", - "ares_nameser.h", - "ares_rules.h" - ] - }, - "libevent": { - "source": "libevent", - "static-libs-unix": [ - "libevent.a", - "libevent_core.a", - "libevent_extra.a", - "libevent_openssl.a" - ], - "lib-depends": [ - "openssl" - ] - }, - "libffi": { - "source": "libffi", - "static-libs-unix": [ - "libffi.a" - ], - "static-libs-windows": [ - "libffi.lib" - ], - "headers-unix": [ - "ffi.h", - "ffitarget.h" - ], - "headers-windows": [ - "ffi.h", - "fficonfig.h", - "ffitarget.h" - ] - }, - "libffi-win": { - "source": "libffi-win", - "static-libs-windows": [ - "libffi.lib" - ], - "headers-windows": [ - "ffi.h", - "ffitarget.h", - "fficonfig.h" - ] - }, - "libiconv": { - "source": "libiconv", - "static-libs-unix": [ - "libiconv.a", - "libcharset.a" - ], - "headers": [ - "iconv.h", - "libcharset.h", - "localcharset.h" - ] - }, - "libiconv-win": { - "source": "libiconv-win", - "static-libs-windows": [ - "libiconv.lib", - "libiconv_a.lib" - ] - }, - "libjpeg": { - "source": "libjpeg", - "static-libs-unix": [ - "libjpeg.a", - "libturbojpeg.a" - ], - "static-libs-windows": [ - "libjpeg_a.lib" - ], - "lib-suggests-windows": [ - "zlib" - ] - }, - "liblz4": { - "source": "liblz4", - "static-libs-unix": [ - "liblz4.a" - ] - }, - "libmemcached": { - "source": "libmemcached", - "static-libs-unix": [ - "libmemcached.a", - "libmemcachedutil.a" - ] - }, - "libpng": { - "source": "libpng", - "static-libs-unix": [ - "libpng16.a" - ], - "static-libs-windows": [ - "libpng16_static.lib", - "libpng_a.lib" - ], - "headers-unix": [ - "png.h", - "pngconf.h", - "pnglibconf.h" - ], - "headers-windows": [ - "png.h", - "pngconf.h" - ], - "lib-depends": [ - "zlib" - ] - }, - "librabbitmq": { - "source": "librabbitmq", - "static-libs-unix": [ - "librabbitmq.a" - ], - "static-libs-windows": [ - "rabbitmq.4.lib" - ], - "lib-depends": [ - "openssl" - ] - }, - "libsodium": { - "source": "libsodium", - "static-libs-unix": [ - "libsodium.a" - ] - }, - "libssh2": { - "source": "libssh2", - "static-libs-unix": [ - "libssh2.a" - ], - "static-libs-windows": [ - "libssh2.lib" - ], - "headers": [ - "libssh2.h", - "libssh2_publickey.h", - "libssh2_sftp.h" - ], - "lib-depends": [ - "openssl" - ], - "lib-suggests": [ - "zlib" - ] - }, - "libtiff": { - "source": "libtiff", - "static-libs-unix": [ - "libtiff.a" - ] - }, - "libuuid": { - "source": "libuuid", - "static-libs-unix": [ - "libuuid.a" - ], - "headers": [ - "uuid/uuid.h" - ] - }, - "libuv": { - "source": "libuv", - "static-libs-unix": [ - "libuv.a" - ] - }, - "libwebp": { - "source": "libwebp", - "static-libs-unix": [ - "libwebp.a", - "libwebpdecoder.a", - "libwebpdemux.a", - "libwebpmux.a", - "libsharpyuv.a" - ], - "static-libs-windows": [ - "libwebp.lib", - "libwebpdecoder.lib", - "libwebpdemux.lib", - "libsharpyuv.lib" - ] - }, - "libxml2": { - "source": "libxml2", - "static-libs-unix": [ - "libxml2.a" - ], - "static-libs-windows": [ - "libxml2s.lib", - "libxml2_a.lib" - ], - "headers": [ - "libxml2" - ], - "lib-depends-unix": [ - "libiconv" - ], - "lib-suggests-unix": [ - "xz", - "icu", - "zlib" - ], - "lib-depends-windows": [ - "libiconv-win" - ], - "lib-suggests-windows": [ - "zlib" - ] - }, - "libxslt": { - "source": "libxslt", - "static-libs-unix": [ - "libxslt.a", - "libexslt.a" - ], - "lib-depends": [ - "libxml2" - ] - }, - "libyaml": { - "source": "libyaml", - "static-libs-unix": [ - "libyaml.a" - ], - "static-libs-windows": [ - "yaml.lib" - ], - "headers": [ - "yaml.h" - ] - }, - "libzip": { - "source": "libzip", - "static-libs-unix": [ - "libzip.a" - ], - "static-libs-windows": [ - "zip.lib", - "libzip_a.lib" - ], - "headers": [ - "zip.h", - "zipconf.h" - ], - "lib-depends-unix": [ - "zlib" - ], - "lib-suggests-unix": [ - "bzip2", - "xz", - "zstd", - "openssl" - ], - "lib-depends-windows": [ - "zlib", - "bzip2", - "xz" - ], - "lib-suggests-windows": [ - "zstd", - "openssl" - ] - }, - "ncurses": { - "source": "ncurses", - "static-libs-unix": [ - "libncurses.a" - ] - }, - "nghttp2": { - "source": "nghttp2", - "static-libs-unix": [ - "libnghttp2.a" - ], - "static-libs-windows": [ - "nghttp2.lib" - ], - "headers": [ - "nghttp2" - ], - "lib-depends": [ - "zlib", - "openssl" - ], - "lib-suggests": [ - "libxml2" - ] - }, - "onig": { - "source": "onig", - "static-libs-unix": [ - "libonig.a" - ], - "static-libs-windows": [ - "onig.lib", - "onig_a.lib" - ], - "headers": [ - "oniggnu.h", - "oniguruma.h" - ] - }, - "openssl": { - "source": "openssl", - "static-libs-unix": [ - "libssl.a", - "libcrypto.a" - ], - "static-libs-windows": [ - "libssl.lib", - "libcrypto.lib" - ], - "headers": [ - "openssl" - ], - "lib-depends": [ - "zlib" - ] - }, - "pkg-config": { - "source": "pkg-config" - }, - "postgresql": { - "source": "postgresql", - "static-libs-unix": [ - "libpq.a", - "libpgport.a", - "libpgcommon.a" - ], - "lib-depends": [ - "libiconv", - "libxml2", - "openssl", - "zlib", - "readline" - ], - "lib-suggests": [ - "icu", - "libxslt", - "ldap", - "zstd" - ] - }, - "pthreads4w": { - "source": "pthreads4w", - "static-libs-windows": [ - "libpthreadVC3.lib" - ] - }, - "qdbm": { - "source": "qdbm", - "static-libs-unix": [ - "libqdbm.a" - ], - "static-libs-windows": [ - "qdbm_a.lib" - ], - "headers-windows": [ - "depot.h" - ] - }, - "readline": { - "source": "readline", - "static-libs-unix": [ - "libreadline.a" - ], - "lib-depends": [ - "ncurses" - ] - }, - "snappy": { - "source": "snappy", - "static-libs-unix": [ - "libsnappy.a" - ], - "headers-unix": [ - "snappy.h", - "snappy-c.h", - "snappy-sinksource.h", - "snappy-stubs-public.h" - ], - "lib-depends": [ - "zlib" - ] - }, - "sqlite": { - "source": "sqlite", - "static-libs-unix": [ - "libsqlite3.a" - ], - "static-libs-windows": [ - "libsqlite3_a.lib" - ], - "headers": [ - "sqlite3.h", - "sqlite3ext.h" - ] - }, - "tidy": { - "source": "tidy", - "static-libs-unix": [ - "libtidy.a" - ] - }, - "unixodbc": { - "source": "unixodbc", - "static-libs-unix": [ - "libodbc.a", - "libodbccr.a", - "libodbcinst.a" - ], - "lib-depends": [ - "libiconv" - ] - }, - "xz": { - "source": "xz", - "static-libs-unix": [ - "liblzma.a" - ], - "static-libs-windows": [ - "liblzma.lib", - "liblzma_a.lib" - ], - "headers-unix": [ - "lzma" - ], - "headers-windows": [ - "lzma", - "lzma.h" - ], - "lib-depends-unix": [ - "libiconv" - ] - }, - "zlib": { - "source": "zlib", - "static-libs-unix": [ - "libz.a" - ], - "static-libs-windows": [ - "zlib_a.lib" - ], - "headers": [ - "zlib.h", - "zconf.h" - ] - }, - "zstd": { - "source": "zstd", - "static-libs-unix": [ - "libzstd.a" - ], - "static-libs-windows": [ - [ - "zstd.lib", - "zstd_static.lib" - ] - ], - "headers-unix": [ - "zdict.h", - "zstd.h", - "zstd_errors.h" - ], - "headers-windows": [ - "zstd.h", - "zstd_errors.h" - ] - } -} +{ + "brotli": { + "source": "brotli", + "static-libs-unix": [ + "libbrotlidec.a", + "libbrotlienc.a", + "libbrotlicommon.a" + ], + "static-libs-windows": [ + "brotlicommon.lib", + "brotlienc.lib", + "brotlidec.lib" + ], + "headers": [ + "brotli" + ] + }, + "bzip2": { + "source": "bzip2", + "static-libs-unix": [ + "libbz2.a" + ], + "static-libs-windows": [ + "libbz2.lib", + "libbz2_a.lib" + ], + "headers": [ + "bzlib.h" + ] + }, + "curl": { + "source": "curl", + "static-libs-unix": [ + "libcurl.a" + ], + "static-libs-windows": [ + "libcurl_a.lib" + ], + "headers": [ + "curl" + ], + "lib-depends-unix": [ + "openssl", + "zlib" + ], + "lib-depends-windows": [ + "openssl", + "zlib", + "libssh2", + "nghttp2" + ], + "lib-suggests-unix": [ + "libssh2", + "brotli", + "nghttp2", + "zstd" + ], + "lib-suggests-windows": [ + "brotli", + "zstd" + ], + "frameworks": [ + "CoreFoundation", + "CoreServices", + "SystemConfiguration" + ] + }, + "freetype": { + "source": "freetype", + "static-libs-unix": [ + "libfreetype.a" + ], + "static-libs-windows": [ + "libfreetype_a.lib" + ], + "headers-unix": [ + "freetype2/freetype/freetype.h", + "freetype2/ft2build.h" + ], + "lib-depends": [ + "zlib" + ], + "lib-suggests": [ + "libpng", + "bzip2", + "brotli" + ] + }, + "gettext": { + "source": "gettext", + "static-libs-unix": [ + "libintl.a" + ], + "lib-depends": [ + "libiconv" + ], + "lib-suggests": [ + "ncurses", + "libxml2" + ], + "frameworks": [ + "CoreFoundation" + ] + }, + "glfw": { + "source": "ext-glfw", + "static-libs-unix": [ + "libglfw3.a" + ], + "frameworks": [ + "CoreVideo", + "OpenGL", + "Cocoa", + "IOKit" + ] + }, + "gmp": { + "source": "gmp", + "static-libs-unix": [ + "libgmp.a" + ], + "static-libs-windows": [ + "libgmp.lib" + ], + "headers": [ + "gmp.h" + ] + }, + "icu": { + "source": "icu", + "cpp-library": true, + "static-libs-unix": [ + "libicui18n.a", + "libicuio.a", + "libicuuc.a", + "libicudata.a" + ] + }, + "imagemagick": { + "source": "imagemagick", + "static-libs-unix": [ + "libMagick++-7.Q16HDRI.a", + "libMagickWand-7.Q16HDRI.a", + "libMagickCore-7.Q16HDRI.a" + ], + "lib-depends": [ + "zlib", + "libpng", + "libjpeg", + "libwebp", + "freetype", + "libtiff" + ], + "lib-suggests": [ + "zstd", + "xz", + "bzip2", + "libzip", + "libxml2" + ] + }, + "imap": { + "source": "imap", + "static-libs-unix": [ + "libc-client.a" + ], + "lib-suggests": [ + "openssl" + ] + }, + "ldap": { + "source": "ldap", + "static-libs-unix": [ + "liblber.a", + "libldap.a" + ], + "lib-depends": [ + "openssl", + "zlib", + "gmp", + "libsodium" + ] + }, + "libargon2": { + "source": "libargon2", + "static-libs-unix": [ + "libargon2.a" + ] + }, + "libavif": { + "source": "libavif", + "static-libs-unix": [ + "libavif.a" + ], + "static-libs-windows": [ + "avif.lib" + ] + }, + "libcares": { + "source": "libcares", + "static-libs-unix": [ + "libcares.a" + ], + "headers-unix": [ + "ares.h", + "ares_dns.h", + "ares_nameser.h", + "ares_rules.h" + ] + }, + "libevent": { + "source": "libevent", + "static-libs-unix": [ + "libevent.a", + "libevent_core.a", + "libevent_extra.a", + "libevent_openssl.a" + ], + "lib-depends": [ + "openssl" + ] + }, + "libffi": { + "source": "libffi", + "static-libs-unix": [ + "libffi.a" + ], + "static-libs-windows": [ + "libffi.lib" + ], + "headers-unix": [ + "ffi.h", + "ffitarget.h" + ], + "headers-windows": [ + "ffi.h", + "fficonfig.h", + "ffitarget.h" + ] + }, + "libffi-win": { + "source": "libffi-win", + "static-libs-windows": [ + "libffi.lib" + ], + "headers-windows": [ + "ffi.h", + "ffitarget.h", + "fficonfig.h" + ] + }, + "libiconv": { + "source": "libiconv", + "static-libs-unix": [ + "libiconv.a", + "libcharset.a" + ], + "headers": [ + "iconv.h", + "libcharset.h", + "localcharset.h" + ] + }, + "libiconv-win": { + "source": "libiconv-win", + "static-libs-windows": [ + "libiconv.lib", + "libiconv_a.lib" + ] + }, + "libjpeg": { + "source": "libjpeg", + "static-libs-unix": [ + "libjpeg.a", + "libturbojpeg.a" + ], + "static-libs-windows": [ + "libjpeg_a.lib" + ], + "lib-suggests-windows": [ + "zlib" + ] + }, + "liblz4": { + "source": "liblz4", + "static-libs-unix": [ + "liblz4.a" + ] + }, + "libmemcached": { + "source": "libmemcached", + "static-libs-unix": [ + "libmemcached.a", + "libmemcachedutil.a" + ] + }, + "libpng": { + "source": "libpng", + "static-libs-unix": [ + "libpng16.a" + ], + "static-libs-windows": [ + "libpng16_static.lib", + "libpng_a.lib" + ], + "headers-unix": [ + "png.h", + "pngconf.h", + "pnglibconf.h" + ], + "headers-windows": [ + "png.h", + "pngconf.h" + ], + "lib-depends": [ + "zlib" + ] + }, + "librabbitmq": { + "source": "librabbitmq", + "static-libs-unix": [ + "librabbitmq.a" + ], + "static-libs-windows": [ + "rabbitmq.4.lib" + ], + "lib-depends": [ + "openssl" + ] + }, + "libsodium": { + "source": "libsodium", + "static-libs-unix": [ + "libsodium.a" + ] + }, + "libssh2": { + "source": "libssh2", + "static-libs-unix": [ + "libssh2.a" + ], + "static-libs-windows": [ + "libssh2.lib" + ], + "headers": [ + "libssh2.h", + "libssh2_publickey.h", + "libssh2_sftp.h" + ], + "lib-depends": [ + "openssl" + ], + "lib-suggests": [ + "zlib" + ] + }, + "libtiff": { + "source": "libtiff", + "static-libs-unix": [ + "libtiff.a" + ] + }, + "libuuid": { + "source": "libuuid", + "static-libs-unix": [ + "libuuid.a" + ], + "headers": [ + "uuid/uuid.h" + ] + }, + "libuv": { + "source": "libuv", + "static-libs-unix": [ + "libuv.a" + ] + }, + "libwebp": { + "source": "libwebp", + "static-libs-unix": [ + "libwebp.a", + "libwebpdecoder.a", + "libwebpdemux.a", + "libwebpmux.a", + "libsharpyuv.a" + ], + "static-libs-windows": [ + "libwebp.lib", + "libwebpdecoder.lib", + "libwebpdemux.lib", + "libsharpyuv.lib" + ] + }, + "libxml2": { + "source": "libxml2", + "static-libs-unix": [ + "libxml2.a" + ], + "static-libs-windows": [ + "libxml2s.lib", + "libxml2_a.lib" + ], + "headers": [ + "libxml2" + ], + "lib-depends-unix": [ + "libiconv" + ], + "lib-suggests-unix": [ + "xz", + "icu", + "zlib" + ], + "lib-depends-windows": [ + "libiconv-win" + ], + "lib-suggests-windows": [ + "zlib" + ] + }, + "libxslt": { + "source": "libxslt", + "static-libs-unix": [ + "libxslt.a", + "libexslt.a" + ], + "lib-depends": [ + "libxml2" + ] + }, + "libyaml": { + "source": "libyaml", + "static-libs-unix": [ + "libyaml.a" + ], + "static-libs-windows": [ + "yaml.lib" + ], + "headers": [ + "yaml.h" + ] + }, + "libzip": { + "source": "libzip", + "static-libs-unix": [ + "libzip.a" + ], + "static-libs-windows": [ + "zip.lib", + "libzip_a.lib" + ], + "headers": [ + "zip.h", + "zipconf.h" + ], + "lib-depends-unix": [ + "zlib" + ], + "lib-suggests-unix": [ + "bzip2", + "xz", + "zstd", + "openssl" + ], + "lib-depends-windows": [ + "zlib", + "bzip2", + "xz" + ], + "lib-suggests-windows": [ + "zstd", + "openssl" + ] + }, + "ncurses": { + "source": "ncurses", + "static-libs-unix": [ + "libncurses.a" + ] + }, + "nghttp2": { + "source": "nghttp2", + "static-libs-unix": [ + "libnghttp2.a" + ], + "static-libs-windows": [ + "nghttp2.lib" + ], + "headers": [ + "nghttp2" + ], + "lib-depends": [ + "zlib", + "openssl" + ], + "lib-suggests": [ + "libxml2" + ] + }, + "onig": { + "source": "onig", + "static-libs-unix": [ + "libonig.a" + ], + "static-libs-windows": [ + "onig.lib", + "onig_a.lib" + ], + "headers": [ + "oniggnu.h", + "oniguruma.h" + ] + }, + "openssl": { + "source": "openssl", + "static-libs-unix": [ + "libssl.a", + "libcrypto.a" + ], + "static-libs-windows": [ + "libssl.lib", + "libcrypto.lib" + ], + "headers": [ + "openssl" + ], + "lib-depends": [ + "zlib" + ] + }, + "pkg-config": { + "source": "pkg-config" + }, + "postgresql": { + "source": "postgresql", + "static-libs-unix": [ + "libpq.a", + "libpgport.a", + "libpgcommon.a" + ], + "lib-depends": [ + "libiconv", + "libxml2", + "openssl", + "zlib", + "readline" + ], + "lib-suggests": [ + "icu", + "libxslt", + "ldap", + "zstd" + ] + }, + "pthreads4w": { + "source": "pthreads4w", + "static-libs-windows": [ + "libpthreadVC3.lib" + ] + }, + "qdbm": { + "source": "qdbm", + "static-libs-unix": [ + "libqdbm.a" + ], + "static-libs-windows": [ + "qdbm_a.lib" + ], + "headers-windows": [ + "depot.h" + ] + }, + "readline": { + "source": "readline", + "static-libs-unix": [ + "libreadline.a" + ], + "lib-depends": [ + "ncurses" + ] + }, + "snappy": { + "source": "snappy", + "static-libs-unix": [ + "libsnappy.a" + ], + "headers-unix": [ + "snappy.h", + "snappy-c.h", + "snappy-sinksource.h", + "snappy-stubs-public.h" + ], + "lib-depends": [ + "zlib" + ] + }, + "sqlite": { + "source": "sqlite", + "static-libs-unix": [ + "libsqlite3.a" + ], + "static-libs-windows": [ + "libsqlite3_a.lib" + ], + "headers": [ + "sqlite3.h", + "sqlite3ext.h" + ] + }, + "tidy": { + "source": "tidy", + "static-libs-unix": [ + "libtidy.a" + ] + }, + "unixodbc": { + "source": "unixodbc", + "static-libs-unix": [ + "libodbc.a", + "libodbccr.a", + "libodbcinst.a" + ], + "lib-depends": [ + "libiconv" + ] + }, + "xz": { + "source": "xz", + "static-libs-unix": [ + "liblzma.a" + ], + "static-libs-windows": [ + "liblzma.lib", + "liblzma_a.lib" + ], + "headers-unix": [ + "lzma" + ], + "headers-windows": [ + "lzma", + "lzma.h" + ], + "lib-depends-unix": [ + "libiconv" + ] + }, + "zlib": { + "source": "zlib", + "static-libs-unix": [ + "libz.a" + ], + "static-libs-windows": [ + "zlib_a.lib" + ], + "headers": [ + "zlib.h", + "zconf.h" + ] + }, + "zstd": { + "source": "zstd", + "static-libs-unix": [ + "libzstd.a" + ], + "static-libs-windows": [ + [ + "zstd.lib", + "zstd_static.lib" + ] + ], + "headers-unix": [ + "zdict.h", + "zstd.h", + "zstd_errors.h" + ], + "headers-windows": [ + "zstd.h", + "zstd_errors.h" + ] + } +} diff --git a/config/pre-built.json b/config/pre-built.json index 8b5811e2a..396c88207 100644 --- a/config/pre-built.json +++ b/config/pre-built.json @@ -1,5 +1,6 @@ { "repo": "static-php/static-php-cli-hosted", - "match-pattern": "{name}-{arch}-{os}.tgz", - "pack-config": {} + "prefer-stable": true, + "match-pattern": "{name}-{arch}-{os}.txz", + "suffix": "txz" } \ No newline at end of file diff --git a/config/source.json b/config/source.json index 1593fc839..e1909f6b8 100644 --- a/config/source.json +++ b/config/source.json @@ -29,6 +29,7 @@ "brotli": { "type": "ghtar", "repo": "google/brotli", + "provide-pre-built": true, "license": { "type": "file", "path": "LICENSE" @@ -38,6 +39,7 @@ "type": "filelist", "url": "https://sourceware.org/pub/bzip2/", "regex": "/href=\"(?bzip2-(?[^\"]+)\\.tar\\.gz)\"/", + "provide-pre-built": true, "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." @@ -182,6 +184,7 @@ "gmp": { "type": "url", "url": "https://dl.static-php.dev/static-php-cli/deps/gmp/gmp-6.3.0.tar.xz", + "provide-pre-built": true, "alt": { "type": "ghtagtar", "repo": "alisw/GMP" @@ -196,6 +199,7 @@ "repo": "unicode-org/icu", "match": "icu4c.+-src\\.tgz", "prefer-stable": true, + "provide-pre-built": true, "license": { "type": "file", "path": "LICENSE" @@ -251,6 +255,7 @@ "type": "git", "rev": "master", "url": "https://github.com/static-php/phc-winner-argon2", + "provide-pre-built": true, "license": { "type": "file", "path": "LICENSE" @@ -259,6 +264,7 @@ "libavif": { "type": "ghtar", "repo": "AOMediaCodec/libavif", + "provide-pre-built": true, "license": { "type": "file", "path": "LICENSE" @@ -269,6 +275,7 @@ "repo": "c-ares/c-ares", "match": "c-ares-.+\\.tar\\.gz", "prefer-stable": true, + "provide-pre-built": true, "alt": { "type": "filelist", "url": "https://c-ares.org/download/", @@ -284,6 +291,7 @@ "repo": "libevent/libevent", "match": "libevent.+\\.tar\\.gz", "prefer-stable": true, + "provide-pre-built": true, "license": { "type": "file", "path": "LICENSE" @@ -312,6 +320,7 @@ "type": "filelist", "url": "https://ftp.gnu.org/gnu/libiconv/", "regex": "/href=\"(?libiconv-(?[^\"]+)\\.tar\\.gz)\"/", + "provide-pre-built": true, "license": { "type": "file", "path": "COPYING" @@ -339,6 +348,7 @@ "repo": "lz4/lz4", "match": "lz4-.+\\.tar\\.gz", "prefer-stable": true, + "provide-pre-built": true, "license": { "type": "file", "path": "LICENSE" @@ -357,6 +367,7 @@ "type": "git", "url": "https://github.com/glennrp/libpng.git", "rev": "libpng16", + "provide-pre-built": true, "license": { "type": "file", "path": "LICENSE" @@ -376,6 +387,7 @@ "repo": "jedisct1/libsodium", "match": "libsodium-\\d+(\\.\\d+)*\\.tar\\.gz", "prefer-stable": true, + "provide-pre-built": true, "license": { "type": "file", "path": "LICENSE" @@ -395,6 +407,7 @@ "type": "filelist", "url": "https://download.osgeo.org/libtiff/", "regex": "/href=\"(?tiff-(?[^\"]+)\\.tar\\.xz)\"/", + "provide-pre-built": true, "license": { "type": "file", "path": "LICENSE.md" @@ -426,6 +439,7 @@ "libwebp": { "type": "url", "url": "https://github.com/webmproject/libwebp/archive/refs/tags/v1.3.2.tar.gz", + "provide-pre-built": true, "license": { "type": "file", "path": "COPYING" @@ -453,6 +467,7 @@ "repo": "yaml/libyaml", "match": "yaml-.+\\.tar\\.gz", "prefer-stable": true, + "provide-pre-built": true, "license": { "type": "file", "path": "License" @@ -503,6 +518,7 @@ "type": "filelist", "url": "https://ftp.gnu.org/pub/gnu/ncurses/", "regex": "/href=\"(?ncurses-(?[^\"]+)\\.tar\\.gz)\"/", + "provide-pre-built": true, "license": { "type": "file", "path": "COPYING" @@ -523,6 +539,7 @@ "repo": "kkos/oniguruma", "match": "onig-.+\\.tar\\.gz", "prefer-stable": true, + "provide-pre-built": true, "license": { "type": "file", "path": "COPYING" @@ -532,6 +549,7 @@ "type": "filelist", "url": "https://www.openssl.org/source/", "regex": "/href=\"(?openssl-(?[^\"]+)\\.tar\\.gz)\"/", + "provide-pre-built": true, "license": { "type": "file", "path": "LICENSE.txt" @@ -560,6 +578,7 @@ "pkg-config": { "type": "url", "url": "https://dl.static-php.dev/static-php-cli/deps/pkg-config/pkg-config-0.29.2.tar.gz", + "provide-pre-built": true, "license": { "type": "file", "path": "COPYING" @@ -615,6 +634,7 @@ "type": "filelist", "url": "https://ftp.gnu.org/pub/gnu/readline/", "regex": "/href=\"(?readline-(?[^\"]+)\\.tar\\.gz)\"/", + "provide-pre-built": true, "license": { "type": "file", "path": "COPYING" @@ -653,6 +673,7 @@ "sqlite": { "type": "url", "url": "https://www.sqlite.org/2023/sqlite-autoconf-3430200.tar.gz", + "provide-pre-built": true, "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." @@ -701,6 +722,7 @@ "unixodbc": { "type": "url", "url": "https://www.unixodbc.org/unixODBC-2.3.12.tar.gz", + "provide-pre-built": true, "license": { "type": "file", "path": "COPYING" @@ -731,6 +753,7 @@ "repo": "tukaani-project/xz", "match": "xz.+\\.tar\\.xz", "prefer-stable": true, + "provide-pre-built": true, "license": { "type": "file", "path": "COPYING" @@ -761,6 +784,7 @@ "repo": "madler/zlib", "match": "zlib.+\\.tar\\.gz", "prefer-stable": true, + "provide-pre-built": true, "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" diff --git a/docs/.vitepress/components/CliGenerator.vue b/docs/.vitepress/components/CliGenerator.vue index 5ef344954..a3e3bc679 100644 --- a/docs/.vitepress/components/CliGenerator.vue +++ b/docs/.vitepress/components/CliGenerator.vue @@ -10,8 +10,11 @@

{{ I18N[lang].selectExt }}{{ checkedExts.length > 0 ? (' (' + checkedExts.length + ')') : '' }}

- - + + + + +
{{ I18N[lang].selectCommon }}
@@ -46,59 +49,80 @@

{{ I18N[lang].windowsSAPIUnavailable }}

{{ I18N[lang].buildOptions }}

-
- {{ I18N[lang].buildEnvironment }} - -
-
- {{ I18N[lang].selectedArch }} - -
-
- {{ I18N[lang].downloadPhpVersion }} - -
-
- {{ I18N[lang].useDebug }} - - - - - -
-
- {{ I18N[lang].useZTS }} - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{{ I18N[lang].buildEnvironment }} + +
{{ I18N[lang].downloadPhpVersion }} + +
{{ I18N[lang].useDebug }} + + + + +
{{ I18N[lang].useZTS }} + + + + +
{{ I18N[lang].resultShowDownload }} + + + + +
{{ I18N[lang].usePreBuilt }} + + + + +
{{ I18N[lang].useUPX }} + + + + +
- - -
-
- {{ I18N[lang].resultShowDownload }} - - - - - -
-
- {{ I18N[lang].useUPX }} - - - - - -

{{ I18N[lang].hardcodedINI }}