diff --git a/.github/workflows/build-unix.yml b/.github/workflows/build-unix.yml index 0166bfa00..ea9fb6eec 100644 --- a/.github/workflows/build-unix.yml +++ b/.github/workflows/build-unix.yml @@ -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,10 +273,18 @@ 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@v7 + 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" - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: php-cli-${{ inputs.php-version }}-${{ inputs.os }} path: buildroot/bin/php @@ -213,7 +292,7 @@ jobs: # Upload micro self-extracted executable - if: ${{ inputs.build-micro == true }} name: "Upload PHP micro SAPI" - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: php-micro-${{ inputs.php-version }}-${{ inputs.os }} path: buildroot/bin/micro.sfx @@ -221,18 +300,33 @@ jobs: # Upload fpm executable - if: ${{ inputs.build-fpm == true }} name: "Upload PHP fpm SAPI" - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: 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@v7 + with: + name: php-frankenphp-${{ inputs.php-version }}-${{ inputs.os }} + path: buildroot/bin/frankenphp + # Upload extensions metadata - - uses: actions/upload-artifact@v4 + - if: ${{ inputs['shared-extensions'] != '' }} + name: "Upload shared extensions" + uses: actions/upload-artifact@v7 + with: + name: php-shared-ext-${{ inputs.php-version }}-${{ inputs.os }} + path: | + buildroot/modules/*.so + - uses: actions/upload-artifact@v7 name: "Upload License Files" with: name: license-files-${{ inputs.php-version }}-${{ inputs.os }} path: buildroot/license/ - - uses: actions/upload-artifact@v4 + - uses: actions/upload-artifact@v7 name: "Upload Build Metadata" with: name: build-meta-${{ inputs.php-version }}-${{ inputs.os }} diff --git a/.github/workflows/build-windows-x86_64.yml b/.github/workflows/build-windows-x86_64.yml index 57a681848..d9cece6a2 100644 --- a/.github/workflows/build-windows-x86_64.yml +++ b/.github/workflows/build-windows-x86_64.yml @@ -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 @@ -90,24 +94,24 @@ jobs: # Upload cli executable - if: ${{ inputs.build-cli == true }} - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: php-${{ inputs.version }} path: buildroot/bin/php.exe # Upload micro self-extracted executable - if: ${{ inputs.build-micro == true }} - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: micro-${{ inputs.version }} path: buildroot/bin/micro.sfx # Upload extensions metadata - - uses: actions/upload-artifact@v4 + - uses: actions/upload-artifact@v7 with: name: license-files path: buildroot/license/ - - uses: actions/upload-artifact@v4 + - uses: actions/upload-artifact@v7 with: name: build-meta path: | diff --git a/.github/workflows/release-build.yml b/.github/workflows/release-build.yml index aaeee1ffc..d6f987e1a 100644 --- a/.github/workflows/release-build.yml +++ b/.github/workflows/release-build.yml @@ -2,9 +2,9 @@ name: Build SPC Binary on: push: - branches: [ "main" ] + branches: [ "main", "v3" ] pull_request: - branches: [ "main" ] + branches: [ "main", "v3" ] paths: - '.github/workflows/release-build.yml' release: @@ -40,7 +40,7 @@ jobs: filename: "spc-windows-x64.exe" steps: - name: "Checkout" - uses: "actions/checkout@v4" + uses: "actions/checkout@v5" - if: inputs.debug == true run: echo "SPC_BUILD_DEBUG=--debug" >> $GITHUB_ENV @@ -60,7 +60,7 @@ jobs: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT - name: "Cache Composer dependencies" - uses: "actions/cache@v4" + uses: "actions/cache@v5" with: path: "${{ steps.composer-cache.outputs.dir }}" key: "php-${{ env.PHP_VERSION }}-locked-composer-${{ hashFiles('**/composer.lock') }}" @@ -101,7 +101,7 @@ jobs: tar -czf ${{ matrix.operating-system.filename }} spc # validate spc binary if [ "${{ matrix.operating-system.name }}" == "linux-x86_64" ]; then - ./spc dev:extensions + ./spc dev:info php fi fi @@ -120,20 +120,32 @@ jobs: with: files: dist/${{ matrix.operating-system.filename }} - - 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' + - name: "Deploy to self-hosted OSS (latest)" + # only run this step if the repository is static-php-cli and is 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/nightly/ + destination_dir: v3/spc-bin/latest/ + endpoint: ${{ secrets.AWS_ENDPOINT }} + + - name: "Deploy to self-hosted OSS (versioned)" + # only run this step if the repository is static-php-cli and is 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: v3/spc-bin/${{ github.ref_name }}/ endpoint: ${{ secrets.AWS_ENDPOINT }} - name: "Upload Artifact" - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: path: spc${{ env.SUFFIX }} name: spc-${{ matrix.operating-system.name }}${{ env.SUFFIX }} @@ -156,10 +168,10 @@ jobs: os: "windows-latest" steps: - name: "Checkout" - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: "Download Artifact" - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v5 env: SUFFIX: ${{ matrix.operating-system.name == 'windows-x64' && '.exe' || '' }} with: @@ -172,4 +184,4 @@ jobs: - name: "Run SPC Tests" env: SUFFIX: ${{ matrix.operating-system.name == 'windows-x64' && '.exe' || '' }} - run: ./spc${{ env.SUFFIX }} dev:extensions + run: ./spc${{ env.SUFFIX }} dev:info php diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 132b33f00..0b2979f13 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -2,7 +2,7 @@ name: Tests on: pull_request: - branches: [ "main" ] + branches: [ "main", "v3" ] types: [ opened, synchronize, reopened ] paths: - 'src/**' @@ -106,6 +106,7 @@ jobs: run: SPC_LIBC=glibc vendor/bin/phpunit tests/ --no-coverage define-matrix: + if: false # TODO: enable when refactoring workflows name: "Define Matrix" runs-on: ubuntu-latest outputs: @@ -131,6 +132,7 @@ jobs: build: + if: false name: "Build PHP Test (PHP ${{ matrix.php }} ${{ matrix.os }})" runs-on: ${{ matrix.os }} needs: [define-matrix, php-cs-fixer, phpstan, phpunit] @@ -204,7 +206,7 @@ jobs: - name: "Upload logs" if: ${{ always() && hashFiles('log/**') != '' }} - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: build-logs-${{ matrix.os }}-${{ matrix.php }} path: log diff --git a/.github/workflows/vitepress-deploy.yml b/.github/workflows/vitepress-deploy.yml index 9101f11c7..256989809 100644 --- a/.github/workflows/vitepress-deploy.yml +++ b/.github/workflows/vitepress-deploy.yml @@ -1,71 +1,73 @@ -name: Docs Auto Deploy -on: - push: - branches: - - main - paths: - - 'config/**.json' - - 'docs/**' - - 'package.json' - - 'yarn.lock' - - '.github/workflows/vitepress-deploy.yml' - -jobs: - build: - name: Deploy docs - runs-on: ubuntu-latest - if: github.repository == 'crazywhalecc/static-php-cli' - steps: - - name: Checkout master - uses: actions/checkout@v4 - - - uses: actions/setup-node@v3 - with: - cache: yarn - - - run: yarn install --frozen-lockfile - - - name: "Copy Config Files" - run: | - mkdir -p docs/.vitepress/config - cp -r config/* docs/.vitepress/config/ - - - name: "Install PHP for official runners" - uses: shivammathur/setup-php@v2 - with: - coverage: none - tools: composer:v2 - php-version: 8.4 - ini-values: memory_limit=-1 - extensions: curl, openssl, mbstring - - - name: "Get Composer Cache Directory" - id: composer-cache - run: | - echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT - - - name: "Cache Composer dependencies" - uses: "actions/cache@v4" - with: - path: "${{ steps.composer-cache.outputs.dir }}" - key: "php-8.2-locked-composer-${{ hashFiles('**/composer.lock') }}" - restore-keys: | - php-8.2-locked-composer - - - name: "Install Locked Dependencies" - run: "composer install --no-interaction --no-progress" - - - name: "Generate Extension Support List" - run: | - bin/spc dev:gen-ext-docs > docs/extensions.md - bin/spc dev:gen-ext-dep-docs > docs/deps-map-ext.md - bin/spc dev:gen-lib-dep-docs > docs/deps-map-lib.md - - - name: Build - run: yarn docs:build - - - name: Deploy to GitHub Pages - uses: peaceiris/actions-gh-pages@v3 - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - publish_dir: docs/.vitepress/dist +name: Docs Auto Deploy +on: + push: + branches: + - v3 + paths: + - 'config/**.yml' + - 'docs/**' + - 'package.json' + - 'yarn.lock' + - '.github/workflows/vitepress-deploy.yml' + +jobs: + build: + name: Deploy docs + runs-on: ubuntu-latest + if: github.repository == 'crazywhalecc/static-php-cli' + steps: + - name: Checkout + uses: actions/checkout@v4 + + - uses: actions/setup-node@v3 + with: + cache: yarn + + - run: yarn install --frozen-lockfile + + - name: "Copy Config Files" + run: | + mkdir -p docs/.vitepress/config + cp -r config/* docs/.vitepress/config/ + + - name: "Install PHP for official runners" + uses: shivammathur/setup-php@v2 + with: + coverage: none + tools: composer:v2 + php-version: 8.4 + ini-values: memory_limit=-1 + extensions: curl, openssl, mbstring + + - name: "Get Composer Cache Directory" + id: composer-cache + run: | + echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT + + - name: "Cache Composer dependencies" + uses: "actions/cache@v4" + with: + path: "${{ steps.composer-cache.outputs.dir }}" + key: "php-8.2-locked-composer-${{ hashFiles('**/composer.lock') }}" + restore-keys: | + php-8.2-locked-composer + + - name: "Install Locked Dependencies" + run: "composer install --no-interaction --no-progress" + + # TODO: Uncomment when v3 gen commands are implemented + # - name: "Generate Extension Support List" + # run: | + # bin/spc dev:gen-ext-docs > docs/en/guide/extensions.md + # bin/spc dev:gen-ext-docs > docs/zh/guide/extensions.md + # bin/spc dev:gen-ext-dep-docs > docs/en/guide/deps-map.md + # bin/spc dev:gen-ext-dep-docs > docs/zh/guide/deps-map.md + + - name: Build + run: yarn docs:build + + - name: Deploy to GitHub Pages + uses: peaceiris/actions-gh-pages@v3 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_dir: docs/.vitepress/dist diff --git a/.gitignore b/.gitignore index 0d2bd5540..7145f3230 100644 --- a/.gitignore +++ b/.gitignore @@ -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* @@ -49,6 +52,8 @@ packlib_files.txt /node_modules/ /docs/.vitepress/dist/ /docs/.vitepress/cache/ +/docs/.vitepress/ext-data.json +/docs/.vitepress/deps-data.json package-lock.json pnpm-lock.yaml @@ -61,3 +66,9 @@ log/ # spc.phar spc.phar spc.exe + +# dumped files from StaticPHP v3 +/dump-*.json + +# config parse cache +/.spc.cache.php diff --git a/.php-cs-fixer.php b/.php-cs-fixer.php index d1c30090e..b9eb063ef 100644 --- a/.php-cs-fixer.php +++ b/.php-cs-fixer.php @@ -69,6 +69,6 @@ '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()); diff --git a/README-en.md b/README-en.md deleted file mode 100755 index 505fd70a2..000000000 --- a/README-en.md +++ /dev/null @@ -1,3 +0,0 @@ -# static-php-cli - -English README has been moved to [README.md](README.md). diff --git a/README-zh.md b/README-zh.md index d8d1b3964..fe3dc2800 100755 --- a/README-zh.md +++ b/README-zh.md @@ -1,172 +1,150 @@ -# static-php-cli - -[![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) -[![Releases](https://img.shields.io/packagist/v/crazywhalecc/static-php-cli?include_prereleases&label=Release&style=flat-square)](https://github.com/crazywhalecc/static-php-cli/releases) -[![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 运行时的强大工具,支持众多流行扩展。 - -## 特性 - -- :elephant: **支持多 PHP 版本** - 支持 PHP 8.1, 8.2, 8.3, 8.4, 8.5 -- :handbag: **单文件 PHP 可执行文件** - 构建零依赖的独立 PHP -- :hamburger: **phpmicro 集成** - 构建 **[phpmicro](https://github.com/dixyes/phpmicro)** 自解压可执行文件(将 PHP 二进制文件和源代码合并为一个文件) -- :pill: **智能环境检查器** - 自动构建环境检查器,具备自动修复功能 -- :zap: **跨平台支持** - 支持 Linux、macOS、FreeBSD 和 Windows -- :wrench: **可配置补丁** - 可自定义的源代码补丁系统 -- :books: **智能依赖管理** - 自动处理构建依赖 -- 📦 **自包含工具** - 提供使用 [box](https://github.com/box-project/box) 构建的 `spc` 可执行文件 -- :fire: **广泛的扩展支持** - 支持 75+ 流行 [扩展](https://static-php.dev/zh/guide/extensions.html) -- :floppy_disk: **UPX 压缩** - 减小二进制文件大小 30-50%(仅 Linux/Windows) - -**单文件独立 php-cli:** - -out1 - -**使用 phpmicro 将 PHP 代码与 PHP 解释器结合:** - -out2 - -## 快速开始 - -### 1. 下载 spc 二进制文件 - -```bash -# Linux x86_64 -curl -fsSL -o spc https://dl.static-php.dev/static-php-cli/spc-bin/nightly/spc-linux-x86_64 -# Linux aarch64 -curl -fsSL -o spc https://dl.static-php.dev/static-php-cli/spc-bin/nightly/spc-linux-aarch64 -# macOS x86_64 (Intel) -curl -fsSL -o spc https://dl.static-php.dev/static-php-cli/spc-bin/nightly/spc-macos-x86_64 -# macOS aarch64 (Apple) -curl -fsSL -o spc https://dl.static-php.dev/static-php-cli/spc-bin/nightly/spc-macos-aarch64 -# Windows (x86_64, win10 build 17063 或更高版本,请先安装 VS2022) -curl.exe -fsSL -o spc.exe https://dl.static-php.dev/static-php-cli/spc-bin/nightly/spc-windows-x64.exe -``` - -对于 macOS 和 Linux,请先添加执行权限: - -```bash -chmod +x ./spc -``` - -### 2. 构建静态 PHP - -首先,创建一个 `craft.yml` 文件,并从 [扩展列表](https://static-php.dev/zh/guide/extensions.html) 或 [命令生成器](https://static-php.dev/zh/guide/cli-generator.html) 中指定要包含的扩展: - -```yml -# PHP 版本支持:8.1, 8.2, 8.3, 8.4, 8.5 -php-version: 8.4 -# 在此处放置您的扩展列表 -extensions: "apcu,bcmath,calendar,ctype,curl,dba,dom,exif,fileinfo,filter,gd,iconv,mbregex,mbstring,mysqli,mysqlnd,opcache,openssl,pcntl,pdo,pdo_mysql,pdo_sqlite,phar,posix,readline,redis,session,simplexml,sockets,sodium,sqlite3,tokenizer,xml,xmlreader,xmlwriter,xsl,zip,zlib" -sapi: - - cli - - micro - - fpm -download-options: - prefer-pre-built: true -``` - -运行命令: - -```bash -./spc craft - -# 输出完整控制台日志 -./spc craft --debug -``` - -### 3. 静态 PHP 使用 - -现在您可以将 static-php-cli 构建的二进制文件复制到另一台机器上,无需依赖即可运行: - -``` -# php-cli -buildroot/bin/php -v - -# phpmicro -echo ' a.php -./spc micro:combine a.php -O my-app -./my-app - -# php-fpm -buildroot/bin/php-fpm -v -``` - -## 文档 - -当前 README 包含基本用法。有关 static-php-cli 的所有功能, -请访问 。 - -## 直接下载 - -如果您不想构建或想先测试,可以从 [Actions](https://github.com/static-php/static-php-cli-hosted/actions/workflows/build-php-bulk.yml) 下载示例预编译工件,或从自托管服务器下载。 - -以下是几个具有不同扩展组合的预编译静态 PHP 二进制文件, -您可以根据需要直接下载。 - -| 组合名称 | 扩展数量 | 系统 | 备注 | -|----------------------------------------------------------------------|----------------------------------------------------------------------------|--------------|--------------------| -| [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 | -| [gnu-bulk](https://dl.static-php.dev/static-php-cli/gnu-bulk/) | [50+](https://dl.static-php.dev/static-php-cli/bulk/README.txt) | Linux, macOS | 使用 glibc 的 bulk 组合 | -| [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%。 -> macOS 不支持 UPX 压缩,因此 mac 的预构建二进制文件大小较大。 - -### 在线构建(使用 GitHub Actions) - -上方直接下载的二进制不能满足需求时,可使用 GitHub Action 可以轻松构建静态编译的 PHP, -同时自行定义要编译的扩展。 - -1. Fork 本项目。 -2. 进入项目的 Actions 并选择 `CI`。 -3. 选择 `Run workflow`,填入您要编译的 PHP 版本、目标类型和扩展列表。(扩展用逗号分隔,例如 `bcmath,curl,mbstring`) -4. 等待一段时间后,进入相应的任务并获取 `Artifacts`。 - -如果您启用 `debug`,构建时将输出所有日志,包括编译日志,以便故障排除。 - -## 贡献 - -如果您需要的扩展缺失,可以创建 issue。 -如果您熟悉本项目,也欢迎发起 pull request。 - -如果您想贡献文档,请直接编辑 `docs/` 目录。 - -现在有一个 [static-php](https://github.com/static-php) 组织,用于存储与项目相关的仓库。 - -## 赞助本项目 - -您可以从 [GitHub Sponsor](https://github.com/crazywhalecc) 赞助我或我的项目。您捐赠的一部分将用于维护 **static-php.dev** 服务器。 - -**特别感谢以下赞助商**: - -Beyond Code Logo - -NativePHP Logo - -## 开源许可证 - -本项目本身基于 MIT 许可证, -一些新添加的扩展和依赖可能来自其他项目, -这些代码文件的头部也会给出额外的许可证和作者说明。 - -这些是类似的项目: - -- [dixyes/lwmbs](https://github.com/dixyes/lwmbs) -- [swoole/swoole-cli](https://github.com/swoole/swoole-cli) - -本项目使用了 [dixyes/lwmbs](https://github.com/dixyes/lwmbs) 的一些代码,例如 Windows 静态构建目标和 libiconv 支持。 -lwmbs 基于 [Mulan PSL 2](http://license.coscl.org.cn/MulanPSL2) 许可证。 - -由于本项目的特殊性, -项目编译过程中会使用许多其他开源项目,如 curl 和 protobuf, -它们都有自己的开源许可证。 - -请在编译后使用 `bin/spc dump-license` 命令导出项目中使用的开源许可证, -并遵守相应项目的 LICENSE。 +# 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) +[![Releases](https://img.shields.io/packagist/v/crazywhalecc/static-php-cli?include_prereleases&label=Release&style=flat-square)](https://github.com/crazywhalecc/static-php-cli/releases) +[![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) + +**StaticPHP** 是一个强大的工具,用于构建可移植的可执行文件,包括 PHP、扩展等。 + +## 特性 + +- :elephant: 支持多个 PHP 版本 - PHP 8.1, 8.2, 8.3, 8.4, 8.5 +- :handbag: 构建零依赖的单文件 PHP 可执行程序 +- :hamburger: 构建 **[phpmicro](https://github.com/static-php/phpmicro)** 自解压可执行文件(将 PHP 二进制和源码合并为单个文件) +- :pill: 自动构建环境检查器,支持自动修复 +- :zap: 支持 `Linux`、`macOS`、`Windows` +- :wrench: 通过 vendor 模式和自定义注册表实现便捷扩展 +- :books: 智能依赖管理 +- 📦 自包含 `spc` 可执行文件,便于自安装 +- :fire: 支持 100+ 热门 [PHP 扩展](https://static-php.dev/en/guide/extensions.html) +- :floppy_disk: 支持 UPX 压缩(二进制体积可缩小 30-50%) + +**单文件独立 php-cli:** + +out1 + +**使用 phpmicro 将 PHP 代码与 PHP 解释器结合:** + +out2 + +## 快速开始 + +### 1. 下载 spc 二进制 + +```bash +# For Linux x86_64 +curl -fsSL -o spc https://dl.static-php.dev/v3/spc-bin/latest/spc-linux-x86_64 +# For Linux aarch64 +curl -fsSL -o spc https://dl.static-php.dev/v3/spc-bin/latest/spc-linux-aarch64 +# macOS x86_64 (Intel) +curl -fsSL -o spc https://dl.static-php.dev/v3/spc-bin/latest/spc-macos-x86_64 +# macOS aarch64 (Apple) +curl -fsSL -o spc https://dl.static-php.dev/v3/spc-bin/latest/spc-macos-aarch64 +# Windows (x86_64, win10 build 17063 or later, please install VS2022 first) +curl.exe -fsSL -o spc.exe https://dl.static-php.dev/v3/spc-bin/latest/spc-windows-x64.exe +``` + +对于 macOS 和 Linux,请先添加可执行权限: + +```bash +chmod +x ./spc +``` + +### 2. 构建静态 PHP + +首先,创建 `craft.yml` 文件,并从 [扩展列表](https://static-php.dev/en/guide/extensions.html) 或 [命令生成器](https://static-php.dev/en/guide/cli-generator.html) 指定要包含的扩展: + +```yml +# PHP version support: 8.1, 8.2, 8.3, 8.4, 8.5 +php-version: 8.5 +# Put your extension list here +extensions: "apcu,bcmath,calendar,ctype,curl,dba,dom,exif,fileinfo,filter,gd,iconv,mbregex,mbstring,mysqli,mysqlnd,opcache,openssl,pcntl,pdo,pdo_mysql,pdo_sqlite,phar,posix,readline,redis,session,simplexml,sockets,sodium,sqlite3,tokenizer,xml,xmlreader,xmlwriter,xsl,zip,zlib" +sapi: + - cli + - micro +download-options: + parallel: 10 +``` + +运行命令: + +```bash +./spc craft + +# 输出完整控制台日志 +./spc craft -vvv +``` + +### 3. 静态 PHP 使用 + +现在你可以将 StaticPHP 构建的二进制复制到另一台机器并在无依赖环境下运行: + +``` +# php-cli +buildroot/bin/php -v + +# phpmicro +echo ' a.php +./spc micro:combine a.php -O my-app +./my-app +``` + +## 文档 + +当前 README 包含基础用法。有关 StaticPHP 的完整功能集, +请访问 。 + +## 直接下载 + +如果你暂时不想构建,或只想先测试,可以从 [Actions](https://github.com/static-php/static-php-cli-hosted/actions/workflows/build-php-bulk.yml) 下载示例预编译产物,或从自托管服务器下载。 + +我们为每个 PHP 版本提供 2 种扩展集合: + +- **gigantic**:尽可能包含更多扩展,二进制大小约 100-150MB。 +- **base**:仅包含 StaticPHP 自身使用的少量扩展,二进制大小约 10MB。 + +> WIP + +### 在线构建(使用 GitHub Actions) + +当上方直接下载的二进制无法满足你的需求时, +你可以使用 GitHub Actions 轻松构建静态编译的 PHP, +并同时自定义要编译的扩展列表。 + +1. Fork 此仓库。 +2. 进入项目的 Actions 并选择 `CI`。 +3. 选择 `Run workflow`,填写你要编译的 PHP 版本、目标类型和扩展列表。(扩展用逗号分隔,例如 `bcmath,curl,mbstring`) +4. 等待工作流执行完成后,进入对应运行记录并下载 `Artifacts`。 + +如果你启用 `debug`,构建时将输出所有日志,包括编译日志,便于排查问题。 + +> 我们也计划在未来提供可复用的 GitHub Actions 工作流, +> 这样你无需 fork 本项目,也能在自己的仓库中轻松构建 static PHP。 + +## 贡献 + +如果你需要的扩展缺失,可以创建 issue。 +如果你熟悉本项目,也欢迎发起 pull request。 + +如果你想贡献文档,请直接编辑 `docs/`。 + +## 赞助本项目 + +你可以通过 [GitHub Sponsor](https://github.com/crazywhalecc) 赞助我或我的项目。你捐赠的一部分将用于维护 **static-php.dev** 服务器。 + +**特别感谢以下赞助商:** + +Beyond Code Logo + +NativePHP Logo + +## 开源许可证 + +本项目本身采用 MIT 许可证。 +一些新添加的扩展和依赖可能来自其他项目。 +这些源码文件头部也可能包含额外的 LICENSE 和 AUTHOR 信息。 + +请在编译后使用 `bin/spc dump-license` 命令导出项目中使用的开源许可证, +并遵守对应项目的 LICENSE。 diff --git a/README.md b/README.md index 3f3bfbf1e..2ac3e349f 100755 --- a/README.md +++ b/README.md @@ -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,20 +6,19 @@ [![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 - :elephant: Support multiple PHP versions - PHP 8.1, 8.2, 8.3, 8.4, 8.5 - :handbag: Build single-file PHP executable with zero dependencies -- :hamburger:Build **[phpmicro](https://github.com/dixyes/phpmicro)** self-extracting executables (combines PHP binary and source code into one file) +- :hamburger: Build **[phpmicro](https://github.com/static-php/phpmicro)** self-extracting executables (combines PHP binary and source code into one file) - :pill: Automatic build environment checker with auto-fix capabilities -- :zap: `Linux`, `macOS`, `FreeBSD`, `Windows` support -- :wrench: Configurable source code patching +- :zap: `Linux`, `macOS`, `Windows` support +- :wrench: Easy to extend with vendor mode and custom registries - :books: Intelligent dependency management -- 📦 Self-contained `spc` executable (built with [box](https://github.com/box-project/box)) -- :fire: Support 100+ popular [extensions](https://static-php.dev/en/guide/extensions.html) +- 📦 Self-contained `spc` executable for easy self-installation +- :fire: Support 100+ popular [PHP extensions](https://static-php.dev/en/guide/extensions.html) - :floppy_disk: UPX compression support (reduces binary size by 30-50%) **Single-file standalone php-cli:** @@ -36,15 +35,15 @@ with popular extensions. ```bash # For Linux x86_64 -curl -fsSL -o spc https://dl.static-php.dev/static-php-cli/spc-bin/nightly/spc-linux-x86_64 +curl -fsSL -o spc https://dl.static-php.dev/v3/spc-bin/latest/spc-linux-x86_64 # For Linux aarch64 -curl -fsSL -o spc https://dl.static-php.dev/static-php-cli/spc-bin/nightly/spc-linux-aarch64 +curl -fsSL -o spc https://dl.static-php.dev/v3/spc-bin/latest/spc-linux-aarch64 # macOS x86_64 (Intel) -curl -fsSL -o spc https://dl.static-php.dev/static-php-cli/spc-bin/nightly/spc-macos-x86_64 +curl -fsSL -o spc https://dl.static-php.dev/v3/spc-bin/latest/spc-macos-x86_64 # macOS aarch64 (Apple) -curl -fsSL -o spc https://dl.static-php.dev/static-php-cli/spc-bin/nightly/spc-macos-aarch64 +curl -fsSL -o spc https://dl.static-php.dev/v3/spc-bin/latest/spc-macos-aarch64 # Windows (x86_64, win10 build 17063 or later, please install VS2022 first) -curl.exe -fsSL -o spc.exe https://dl.static-php.dev/static-php-cli/spc-bin/nightly/spc-windows-x64.exe +curl.exe -fsSL -o spc.exe https://dl.static-php.dev/v3/spc-bin/latest/spc-windows-x64.exe ``` For macOS and Linux, add execute permission first: @@ -59,15 +58,14 @@ First, create a `craft.yml` file and specify which extensions you want to includ ```yml # PHP version support: 8.1, 8.2, 8.3, 8.4, 8.5 -php-version: 8.4 +php-version: 8.5 # Put your extension list here extensions: "apcu,bcmath,calendar,ctype,curl,dba,dom,exif,fileinfo,filter,gd,iconv,mbregex,mbstring,mysqli,mysqlnd,opcache,openssl,pcntl,pdo,pdo_mysql,pdo_sqlite,phar,posix,readline,redis,session,simplexml,sockets,sodium,sqlite3,tokenizer,xml,xmlreader,xmlwriter,xsl,zip,zlib" sapi: - cli - micro - - fpm download-options: - prefer-pre-built: true + parallel: 10 ``` Run command: @@ -76,12 +74,12 @@ Run command: ./spc craft # Output full console log -./spc craft --debug +./spc craft -vvv ``` ### 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 @@ -91,48 +89,40 @@ buildroot/bin/php -v echo ' a.php ./spc micro:combine a.php -O my-app ./my-app - -# php-fpm -buildroot/bin/php-fpm -v ``` ## Documentation -The current README contains basic usage. For all the features of static-php-cli, -see . +The current README contains basic usage. For the complete feature set of StaticPHP, +see . ## Direct Download -If you don't want to build or want to test first, you can download example pre-compiled artifact from [Actions](https://github.com/static-php/static-php-cli-hosted/actions/workflows/build-php-bulk.yml), or from self-hosted server. +If you do not want to build yet or just want to test first, you can download example pre-compiled artifacts from [Actions](https://github.com/static-php/static-php-cli-hosted/actions/workflows/build-php-bulk.yml) or from a self-hosted server. -Below are several precompiled static-php binaries with different extension combinations, -which can be downloaded directly according to your needs. +We offer 2 types of extension sets for each PHP version: -| 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 | -| [gnu-bulk](https://dl.static-php.dev/static-php-cli/gnu-bulk/) | [50+](https://dl.static-php.dev/static-php-cli/bulk/README.txt) | Linux, macOS | Using shared glibc | -| [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/) | [40+](https://dl.static-php.dev/static-php-cli/windows/spc-max/README.txt) | Windows | The binary size is about 8.5MB | +- **gigantic**: Includes as many extensions as possible, the binary size is about 100-150MB. +- **base**: Only includes a few extensions used by StaticPHP itself, the binary size is about 10MB. -> 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. +> WIP ### Build Online (using GitHub Actions) -When the above direct download binaries cannot meet your needs, -you can use GitHub Action to easily build a statically compiled PHP, -and at the same time define the extensions to be compiled by yourself. +When the direct-download binaries above cannot meet your needs, +you can use GitHub Actions to easily build a statically compiled PHP +while defining your own extension list. -1. Fork me. +1. Fork this repository. 2. Go to the Actions of the project and select `CI`. 3. Select `Run workflow`, fill in the PHP version you want to compile, the target type, and the list of extensions. (extensions comma separated, e.g. `bcmath,curl,mbstring`) -4. After waiting for about a period of time, enter the corresponding task and get `Artifacts`. +4. After waiting for the workflow to finish, open the corresponding run and download `Artifacts`. If you enable `debug`, all logs will be output at build time, including compiled logs, for troubleshooting. +> We are also planning to provide a reusable GitHub Actions workflow in the future, +> so that you can easily build static PHP in your own repository, without forking this project. + ## Contribution If the extension you need is missing, you can create an issue. @@ -140,8 +130,6 @@ If you are familiar with this project, you are also welcome to initiate a pull r If you want to contribute documentation, please just edit in `docs/`. -Now there is a [static-php](https://github.com/static-php) organization, which is used to store the repo related to the project. - ## Sponsor this project You can sponsor me or my project from [GitHub Sponsor](https://github.com/crazywhalecc). A portion of your donation will be used to maintain the **static-php.dev** server. @@ -154,21 +142,9 @@ You can sponsor me or my project from [GitHub Sponsor](https://github.com/crazyw ## Open-Source License -This project itself is based on MIT License, -some newly added extensions and dependencies may originate from the the other projects, -and the headers of these code files will also be given additional instructions LICENSE and AUTHOR. - -These are similar projects: - -- [dixyes/lwmbs](https://github.com/dixyes/lwmbs) -- [swoole/swoole-cli](https://github.com/swoole/swoole-cli) - -The project uses some code from [dixyes/lwmbs](https://github.com/dixyes/lwmbs), such as windows static build target and libiconv support. -lwmbs is licensed under the [Mulan PSL 2](http://license.coscl.org.cn/MulanPSL2). - -Due to the special nature of this project, -many other open source projects such as curl and protobuf will be used during the project compilation process, -and they all have their own open source licenses. +This project itself is licensed under MIT. +Some newly added extensions and dependencies may originate from other projects. +The headers of those source files may also include additional LICENSE and AUTHOR information. Please use the `bin/spc dump-license` command to export the open source licenses used in the project after compilation, and comply with the corresponding project's LICENSE. diff --git a/bin/spc b/bin/spc index 18dd3a383..622dda863 100755 --- a/bin/spc +++ b/bin/spc @@ -1,13 +1,9 @@ #!/usr/bin/env php run(); -} catch (Exception $e) { - ExceptionHandler::getInstance()->handle($e); - exit(1); +} catch (SPCException $e) { + exit(ExceptionHandler::handleSPCException($e)); +} catch (\Throwable $e) { + exit(ExceptionHandler::handleDefaultException($e)); } + diff --git a/bin/spc-alpine-docker b/bin/spc-alpine-docker index 2790a5c34..cc223ba05 100755 --- a/bin/spc-alpine-docker +++ b/bin/spc-alpine-docker @@ -3,7 +3,7 @@ set -e # This file is using docker to run commands -SPC_DOCKER_VERSION=v6 +SPC_DOCKER_VERSION=v7 # Detect docker can run if ! which docker >/dev/null; then @@ -108,8 +108,7 @@ RUN apk update; \ wget \ xz \ gettext-dev \ - binutils-gold \ - patchelf + binutils-gold RUN curl -#fSL https://dl.static-php.dev/static-php-cli/bulk/php-8.4.4-cli-linux-\$(uname -m).tar.gz | tar -xz -C /usr/local/bin && \ chmod +x /usr/local/bin/php @@ -123,6 +122,7 @@ COPY ./composer.* /app/ ADD ./bin /app/bin RUN composer install --no-dev ADD ./config /app/config +ADD ./spc.registry.yml /app/spc.registry.yml RUN bin/spc doctor --auto-fix RUN bin/spc install-pkg upx diff --git a/bin/spc-debug b/bin/spc-debug new file mode 100755 index 000000000..2c5360037 --- /dev/null +++ b/bin/spc-debug @@ -0,0 +1,12 @@ +#!/usr/bin/env bash + +# Use SPC_XDEBUG=profile to enable Xdebug profiling mode, which will generate profiling files in /tmp. +# Otherwise, it will enable Xdebug debugging mode, which allows you to connect a debugger to port 9003. +if [ "$SPC_XDEBUG" = "profile" ]; then + XDEBUG_PREFIX="-d xdebug.mode=profile -d xdebug.start_with_request=yes -d xdebug.output_dir=/tmp -d xdebug.output_name=spc-profile.%t.%p.%r" +else + XDEBUG_PREFIX="-d xdebug.mode=debug -d xdebug.client_host=127.0.0.1 -d xdebug.client_port=9003 -d xdebug.start_with_request=yes" +fi + +# This script runs the 'spc' command with Xdebug enabled for debugging purposes. +php $XDEBUG_PREFIX "$(dirname "$0")/../bin/spc" "$@" diff --git a/bin/spc-debug.ps1 b/bin/spc-debug.ps1 new file mode 100644 index 000000000..015dae9c9 --- /dev/null +++ b/bin/spc-debug.ps1 @@ -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 diff --git a/bin/spc-gnu-docker b/bin/spc-gnu-docker deleted file mode 100755 index 68f85109f..000000000 --- a/bin/spc-gnu-docker +++ /dev/null @@ -1,241 +0,0 @@ -#!/usr/bin/env bash - -set -e - -# This file is using docker to run commands -SPC_DOCKER_VERSION=v6 - -# Detect docker can run -if ! which docker >/dev/null; then - echo "Docker is not installed, please install docker first !" - exit 1 -fi -DOCKER_EXECUTABLE="docker" -# shellcheck disable=SC2046 -if [ $(id -u) -ne 0 ]; then - if ! docker info > /dev/null 2>&1; then - if [ "$SPC_USE_SUDO" != "yes" ] && [ "$SPC_DOCKER_DEBUG" != "yes" ]; then - echo "Docker command requires sudo" - # shellcheck disable=SC2039 - echo -n 'To use sudo to run docker, run "export SPC_USE_SUDO=yes" and run command again' - exit 1 - fi - DOCKER_EXECUTABLE="sudo docker" - fi -fi - -# Convert uname to gnu arch -CURRENT_ARCH=$(uname -m) -if [ "$CURRENT_ARCH" = "arm64" ]; then - CURRENT_ARCH=aarch64 -fi -if [ -z "$SPC_USE_ARCH" ]; then - SPC_USE_ARCH=$CURRENT_ARCH -fi -# parse SPC_USE_ARCH -case $SPC_USE_ARCH in -x86_64|amd64) - SPC_USE_ARCH=x86_64 - SPC_USE_ARCH_DOCKER=amd64 - if [ "$CURRENT_ARCH" != "x86_64" ]; then - PLATFORM_ARG="--platform linux/amd64" - fi - ;; -aarch64|arm64) - SPC_USE_ARCH=aarch64 - SPC_USE_ARCH_DOCKER=arm64 - if [ "$CURRENT_ARCH" != "aarch64" ]; then - PLATFORM_ARG="--platform linux/arm64" - fi - ;; -*) - echo "Current arch is not supported to run in docker: $SPC_USE_ARCH" - exit 1 - ;; -esac -# detect if we need to use qemu-static -if [ "$SPC_USE_ARCH" != "$CURRENT_ARCH" ]; then - if [ "$(uname -s)" = "Linux" ]; then - echo "* Using different arch needs to setup qemu-static for docker !" - $DOCKER_EXECUTABLE run --rm --privileged multiarch/qemu-user-static --reset -p yes > /dev/null - fi -fi - -# Detect docker env is setup -if ! $DOCKER_EXECUTABLE images | grep -q cwcc-spc-gnu-$SPC_USE_ARCH-$SPC_DOCKER_VERSION; then - echo "Docker container does not exist. Building docker image ..." - $DOCKER_EXECUTABLE buildx build $PLATFORM_ARG -t cwcc-spc-gnu-$SPC_USE_ARCH-$SPC_DOCKER_VERSION -f- . <> /etc/bashrc -RUN source /etc/bashrc -RUN yum install -y which - -RUN curl -fsSL -o patchelf.tgz https://github.com/NixOS/patchelf/releases/download/0.18.0/patchelf-0.18.0-$SPC_USE_ARCH.tar.gz && \ - mkdir -p /patchelf && \ - tar -xzf patchelf.tgz -C /patchelf --strip-components=1 && \ - cp /patchelf/bin/patchelf /usr/bin/ - -RUN curl -o cmake.tgz -#fSL https://github.com/Kitware/CMake/releases/download/v3.31.4/cmake-3.31.4-linux-$SPC_USE_ARCH.tar.gz && \ - mkdir /cmake && \ - tar -xzf cmake.tgz -C /cmake --strip-components 1 - -WORKDIR /app -COPY ./composer.* /app/ -ADD ./bin/setup-runtime /app/bin/setup-runtime -ADD ./bin/spc /app/bin/spc -RUN /app/bin/setup-runtime -ADD ./src /app/src -RUN /app/bin/php /app/bin/composer install --no-dev -ENV SPC_LIBC=glibc -ENV PATH="/app/bin:/cmake/bin:/opt/rh/devtoolset-10/root/usr/bin:\$PATH" - -ADD ./config /app/config -RUN CC=gcc bin/spc doctor --auto-fix --debug -RUN bin/spc install-pkg upx -RUN if [ -f /app/buildroot/bin/re2c ]; then \ - cp /app/buildroot/bin/re2c /usr/local/bin/re2c ;\ - fi - -RUN curl -o make.tgz -fsSL https://ftp.gnu.org/gnu/make/make-4.4.tar.gz && \ - tar -zxvf make.tgz && \ - cd make-4.4 && \ - ./configure && \ - make && \ - make install && \ - ln -sf /usr/local/bin/make /usr/bin/make - -RUN curl -o automake.tgz -fsSL https://ftp.gnu.org/gnu/automake/automake-1.17.tar.xz && \ - tar -xvf automake.tgz && \ - cd automake-1.17 && \ - ./configure && \ - make && \ - make install && \ - ln -sf /usr/local/bin/automake /usr/bin/automake - -RUN mv /app/pkgroot/\$(uname -m)-linux /app/pkgroot-private -ADD bin/docker-entrypoint.sh /bin/docker-entrypoint.sh -RUN chmod +x /bin/docker-entrypoint.sh -ENTRYPOINT ["/bin/docker-entrypoint.sh"] -EOF -fi - -# Check if in ci (local terminal can execute with -it) -if [ -t 0 ]; then - INTERACT=-it -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" -MOUNT_LIST="$MOUNT_LIST -v ""$(pwd)""/log:/app/log" -if [ -f "$(pwd)/craft.yml" ]; then - MOUNT_LIST="$MOUNT_LIST -v ""$(pwd)""/craft.yml:/app/craft.yml" -fi - -# Apply env in temp env file -echo 'SPC_DEFAULT_C_FLAGS=-fPIC' > /tmp/spc-gnu-docker.env -echo 'SPC_LIBC=glibc' >> /tmp/spc-gnu-docker.env - -# Environment variable passthrough -ENV_LIST="" -ENV_LIST="$ENV_LIST -e SPC_FIX_DEPLOY_ROOT="$(pwd)"" -if [ ! -z "$GITHUB_TOKEN" ]; then - ENV_LIST="$ENV_LIST -e GITHUB_TOKEN=$GITHUB_TOKEN" -fi - -# Intercept and rewrite --with-frankenphp-app option, and mount host path to /app/app -FRANKENPHP_APP_PATH="" -NEW_ARGS=() -while [ $# -gt 0 ]; do - case "$1" in - --with-frankenphp-app=*) - FRANKENPHP_APP_PATH="${1#*=}" - NEW_ARGS+=("--with-frankenphp-app=/app/app") - shift - ;; - --with-frankenphp-app) - if [ -n "${2:-}" ]; then - FRANKENPHP_APP_PATH="$2" - NEW_ARGS+=("--with-frankenphp-app=/app/app") - shift 2 - else - NEW_ARGS+=("$1") - shift - fi - ;; - *) - NEW_ARGS+=("$1") - shift - ;; - esac -done - -# Normalize the path and add mount if provided -if [ -n "$FRANKENPHP_APP_PATH" ]; then - # expand ~ to $HOME - if [ "${FRANKENPHP_APP_PATH#~}" != "$FRANKENPHP_APP_PATH" ]; then - FRANKENPHP_APP_PATH="$HOME${FRANKENPHP_APP_PATH#~}" - fi - # make absolute if relative - case "$FRANKENPHP_APP_PATH" in - /*) ABS_APP_PATH="$FRANKENPHP_APP_PATH" ;; - *) ABS_APP_PATH="$(pwd)/$FRANKENPHP_APP_PATH" ;; - esac - MOUNT_LIST="$MOUNT_LIST -v $ABS_APP_PATH:/app/app" -fi - -# Run docker -# shellcheck disable=SC2068 -# shellcheck disable=SC2086 -# shellcheck disable=SC2090 - -if [ "$SPC_DOCKER_DEBUG" = "yes" ]; then - echo "* Debug mode enabled, run docker in interactive mode." - echo "* You can use 'exit' to exit the docker container." - echo "* You can use 'bin/spc' like normal builds." - echo "*" - echo "* Mounted directories:" - echo "* ./config: $(pwd)/config" - echo "* ./src: $(pwd)/src" - echo "* ./buildroot: $(pwd)/buildroot" - echo "* ./source: $(pwd)/source" - echo "* ./dist: $(pwd)/dist" - echo "* ./downloads: $(pwd)/downloads" - echo "* ./pkgroot: $(pwd)/pkgroot" - echo "*" - set -ex - $DOCKER_EXECUTABLE run $PLATFORM_ARG --privileged --rm -it $INTERACT $ENV_LIST --env-file /tmp/spc-gnu-docker.env $MOUNT_LIST cwcc-spc-gnu-$SPC_USE_ARCH-$SPC_DOCKER_VERSION /bin/bash -else - $DOCKER_EXECUTABLE run $PLATFORM_ARG --rm $INTERACT $ENV_LIST --env-file /tmp/spc-gnu-docker.env $MOUNT_LIST cwcc-spc-gnu-$SPC_USE_ARCH-$SPC_DOCKER_VERSION bin/spc "${NEW_ARGS[@]}" -fi diff --git a/box.json b/box.json index f6eecf1ca..13b785447 100644 --- a/box.json +++ b/box.json @@ -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" } diff --git a/captainhook.json b/captainhook.json index 77be1d571..1057cb292 100644 --- a/captainhook.json +++ b/captainhook.json @@ -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"] + } + ] } ] }, diff --git a/composer.json b/composer.json index 1a1005c73..60c12aaa2 100644 --- a/composer.json +++ b/composer.json @@ -9,26 +9,28 @@ } ], "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" + "StaticPHP\\": "src/StaticPHP", + "Package\\": "src/Package" }, "files": [ "src/globals/defines.php", @@ -37,7 +39,7 @@ }, "autoload-dev": { "psr-4": { - "SPC\\Tests\\": "tests/SPC" + "Tests\\StaticPHP\\": "tests/StaticPHP" } }, "bin": [ @@ -46,6 +48,7 @@ "scripts": { "analyse": "phpstan analyse --memory-limit 300M", "cs-fix": "php-cs-fixer fix", + "lint-config": "php bin/spc dev:lint-config", "test": "vendor/bin/phpunit tests/ --no-coverage", "build:phar": "vendor/bin/box compile" }, @@ -59,6 +62,9 @@ "optimize-autoloader": true, "sort-packages": true }, + "suggest": { + "ext-yaml": "Speeds up YAML config file parsing" + }, "funding": [ { "type": "other", diff --git a/composer.lock b/composer.lock index e8f320c7c..5df074a64 100644 --- a/composer.lock +++ b/composer.lock @@ -4,90 +4,100 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "f81132977eb1310f5ccb27c8de76c8d2", + "content-hash": "1d5518bdf7730190aead0e953abff538", "packages": [ { - "name": "illuminate/collections", - "version": "v11.46.1", + "name": "laravel/prompts", + "version": "v0.3.16", "source": { "type": "git", - "url": "https://github.com/illuminate/collections.git", - "reference": "856b1da953e46281ba61d7c82d337072d3ee1825" + "url": "https://github.com/laravel/prompts.git", + "reference": "11e7d5f93803a2190b00e145142cb00a33d17ad2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/collections/zipball/856b1da953e46281ba61d7c82d337072d3ee1825", - "reference": "856b1da953e46281ba61d7c82d337072d3ee1825", + "url": "https://api.github.com/repos/laravel/prompts/zipball/11e7d5f93803a2190b00e145142cb00a33d17ad2", + "reference": "11e7d5f93803a2190b00e145142cb00a33d17ad2", "shasum": "" }, "require": { - "illuminate/conditionable": "^11.0", - "illuminate/contracts": "^11.0", - "illuminate/macroable": "^11.0", - "php": "^8.2" + "composer-runtime-api": "^2.2", + "ext-mbstring": "*", + "php": "^8.1", + "symfony/console": "^6.2|^7.0|^8.0" + }, + "conflict": { + "illuminate/console": ">=10.17.0 <10.25.0", + "laravel/framework": ">=10.17.0 <10.25.0" + }, + "require-dev": { + "illuminate/collections": "^10.0|^11.0|^12.0|^13.0", + "mockery/mockery": "^1.5", + "pestphp/pest": "^2.3|^3.4|^4.0", + "phpstan/phpstan": "^1.12.28", + "phpstan/phpstan-mockery": "^1.1.3" }, "suggest": { - "symfony/var-dumper": "Required to use the dump method (^7.0)." + "ext-pcntl": "Required for the spinner to be animated." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "11.x-dev" + "dev-main": "0.3.x-dev" } }, "autoload": { "files": [ - "functions.php", - "helpers.php" + "src/helpers.php" ], "psr-4": { - "Illuminate\\Support\\": "" + "Laravel\\Prompts\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "description": "The Illuminate Collections package.", - "homepage": "https://laravel.com", + "description": "Add beautiful and user-friendly forms to your command-line applications.", "support": { - "issues": "https://github.com/laravel/framework/issues", - "source": "https://github.com/laravel/framework" + "issues": "https://github.com/laravel/prompts/issues", + "source": "https://github.com/laravel/prompts/tree/v0.3.16" }, - "time": "2025-03-24T11:54:20+00:00" + "time": "2026-03-23T14:35:33+00:00" }, { - "name": "illuminate/conditionable", - "version": "v11.46.1", + "name": "laravel/serializable-closure", + "version": "v2.0.11", "source": { "type": "git", - "url": "https://github.com/illuminate/conditionable.git", - "reference": "319b717e0587bd7c8a3b44464f0e27867b4bcda9" + "url": "https://github.com/laravel/serializable-closure.git", + "reference": "d1af40ac4a6ccc12bd062a7184f63c9995a63bdd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/conditionable/zipball/319b717e0587bd7c8a3b44464f0e27867b4bcda9", - "reference": "319b717e0587bd7c8a3b44464f0e27867b4bcda9", + "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/d1af40ac4a6ccc12bd062a7184f63c9995a63bdd", + "reference": "d1af40ac4a6ccc12bd062a7184f63c9995a63bdd", "shasum": "" }, "require": { - "php": "^8.0.2" + "php": "^8.1" + }, + "require-dev": { + "illuminate/support": "^10.0|^11.0|^12.0|^13.0", + "nesbot/carbon": "^2.67|^3.0", + "pestphp/pest": "^2.36|^3.0|^4.0", + "phpstan/phpstan": "^2.0", + "symfony/var-dumper": "^6.2.0|^7.0.0|^8.0.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "11.x-dev" + "dev-master": "2.x-dev" } }, "autoload": { "psr-4": { - "Illuminate\\Support\\": "" + "Laravel\\SerializableClosure\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -98,167 +108,151 @@ { "name": "Taylor Otwell", "email": "taylor@laravel.com" + }, + { + "name": "Nuno Maduro", + "email": "nuno@laravel.com" } ], - "description": "The Illuminate Conditionable package.", - "homepage": "https://laravel.com", + "description": "Laravel Serializable Closure provides an easy and secure way to serialize closures in PHP.", + "keywords": [ + "closure", + "laravel", + "serializable" + ], "support": { - "issues": "https://github.com/laravel/framework/issues", - "source": "https://github.com/laravel/framework" + "issues": "https://github.com/laravel/serializable-closure/issues", + "source": "https://github.com/laravel/serializable-closure" }, - "time": "2025-03-24T11:54:20+00:00" + "time": "2026-04-07T13:32:18+00:00" }, { - "name": "illuminate/contracts", - "version": "v11.46.1", + "name": "php-di/invoker", + "version": "2.3.7", "source": { "type": "git", - "url": "https://github.com/illuminate/contracts.git", - "reference": "4b2a67d1663f50085bc91e6371492697a5d2d4e8" + "url": "https://github.com/PHP-DI/Invoker.git", + "reference": "3c1ddfdef181431fbc4be83378f6d036d59e81e1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/contracts/zipball/4b2a67d1663f50085bc91e6371492697a5d2d4e8", - "reference": "4b2a67d1663f50085bc91e6371492697a5d2d4e8", + "url": "https://api.github.com/repos/PHP-DI/Invoker/zipball/3c1ddfdef181431fbc4be83378f6d036d59e81e1", + "reference": "3c1ddfdef181431fbc4be83378f6d036d59e81e1", "shasum": "" }, "require": { - "php": "^8.2", - "psr/container": "^1.1.1|^2.0.1", - "psr/simple-cache": "^1.0|^2.0|^3.0" + "php": ">=7.3", + "psr/container": "^1.0|^2.0" }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "11.x-dev" - } + "require-dev": { + "athletic/athletic": "~0.1.8", + "mnapoli/hard-mode": "~0.3.0", + "phpunit/phpunit": "^9.0 || ^10 || ^11 || ^12" }, + "type": "library", "autoload": { "psr-4": { - "Illuminate\\Contracts\\": "" + "Invoker\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } + "description": "Generic and extensible callable invoker", + "homepage": "https://github.com/PHP-DI/Invoker", + "keywords": [ + "callable", + "dependency", + "dependency-injection", + "injection", + "invoke", + "invoker" ], - "description": "The Illuminate Contracts package.", - "homepage": "https://laravel.com", "support": { - "issues": "https://github.com/laravel/framework/issues", - "source": "https://github.com/laravel/framework" - }, - "time": "2025-03-24T11:54:20+00:00" - }, - { - "name": "illuminate/macroable", - "version": "v11.46.1", - "source": { - "type": "git", - "url": "https://github.com/illuminate/macroable.git", - "reference": "e1cb9e51b9ed5d3c9bc1ab431d0a52fe42a990ed" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/illuminate/macroable/zipball/e1cb9e51b9ed5d3c9bc1ab431d0a52fe42a990ed", - "reference": "e1cb9e51b9ed5d3c9bc1ab431d0a52fe42a990ed", - "shasum": "" - }, - "require": { - "php": "^8.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "11.x-dev" - } - }, - "autoload": { - "psr-4": { - "Illuminate\\Support\\": "" - } + "issues": "https://github.com/PHP-DI/Invoker/issues", + "source": "https://github.com/PHP-DI/Invoker/tree/2.3.7" }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ + "funding": [ { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" + "url": "https://github.com/mnapoli", + "type": "github" } ], - "description": "The Illuminate Macroable package.", - "homepage": "https://laravel.com", - "support": { - "issues": "https://github.com/laravel/framework/issues", - "source": "https://github.com/laravel/framework" - }, - "time": "2024-06-28T20:10:30+00:00" + "time": "2025-08-30T10:22:22+00:00" }, { - "name": "laravel/prompts", - "version": "v0.1.25", + "name": "php-di/php-di", + "version": "7.1.1", "source": { "type": "git", - "url": "https://github.com/laravel/prompts.git", - "reference": "7b4029a84c37cb2725fc7f011586e2997040bc95" + "url": "https://github.com/PHP-DI/PHP-DI.git", + "reference": "f88054cc052e40dbe7b383c8817c19442d480352" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/prompts/zipball/7b4029a84c37cb2725fc7f011586e2997040bc95", - "reference": "7b4029a84c37cb2725fc7f011586e2997040bc95", + "url": "https://api.github.com/repos/PHP-DI/PHP-DI/zipball/f88054cc052e40dbe7b383c8817c19442d480352", + "reference": "f88054cc052e40dbe7b383c8817c19442d480352", "shasum": "" }, "require": { - "ext-mbstring": "*", - "illuminate/collections": "^10.0|^11.0", - "php": "^8.1", - "symfony/console": "^6.2|^7.0" + "laravel/serializable-closure": "^1.0 || ^2.0", + "php": ">=8.0", + "php-di/invoker": "^2.0", + "psr/container": "^1.1 || ^2.0" }, - "conflict": { - "illuminate/console": ">=10.17.0 <10.25.0", - "laravel/framework": ">=10.17.0 <10.25.0" + "provide": { + "psr/container-implementation": "^1.0" }, "require-dev": { - "mockery/mockery": "^1.5", - "pestphp/pest": "^2.3", - "phpstan/phpstan": "^1.11", - "phpstan/phpstan-mockery": "^1.1" + "friendsofphp/php-cs-fixer": "^3", + "friendsofphp/proxy-manager-lts": "^1", + "mnapoli/phpunit-easymock": "^1.3", + "phpunit/phpunit": "^9.6 || ^10 || ^11", + "vimeo/psalm": "^5|^6" }, "suggest": { - "ext-pcntl": "Required for the spinner to be animated." + "friendsofphp/proxy-manager-lts": "Install it if you want to use lazy injection (version ^1)" }, "type": "library", - "extra": { - "branch-alias": { - "dev-main": "0.1.x-dev" - } - }, "autoload": { "files": [ - "src/helpers.php" + "src/functions.php" ], "psr-4": { - "Laravel\\Prompts\\": "src/" + "DI\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], - "description": "Add beautiful and user-friendly forms to your command-line applications.", + "description": "The dependency injection container for humans", + "homepage": "https://php-di.org/", + "keywords": [ + "PSR-11", + "container", + "container-interop", + "dependency injection", + "di", + "ioc", + "psr11" + ], "support": { - "issues": "https://github.com/laravel/prompts/issues", - "source": "https://github.com/laravel/prompts/tree/v0.1.25" + "issues": "https://github.com/PHP-DI/PHP-DI/issues", + "source": "https://github.com/PHP-DI/PHP-DI/tree/7.1.1" }, - "time": "2024-08-12T22:06:33+00:00" + "funding": [ + { + "url": "https://github.com/mnapoli", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/php-di/php-di", + "type": "tidelift" + } + ], + "time": "2025-08-16T11:10:48+00:00" }, { "name": "psr/container", @@ -363,69 +357,18 @@ }, "time": "2024-09-11T13:17:53+00:00" }, - { - "name": "psr/simple-cache", - "version": "3.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/simple-cache.git", - "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/764e0b3939f5ca87cb904f570ef9be2d78a07865", - "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865", - "shasum": "" - }, - "require": { - "php": ">=8.0.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\SimpleCache\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common interfaces for simple caching", - "keywords": [ - "cache", - "caching", - "psr", - "psr-16", - "simple-cache" - ], - "support": { - "source": "https://github.com/php-fig/simple-cache/tree/3.0.0" - }, - "time": "2021-10-29T13:26:27+00:00" - }, { "name": "symfony/console", - "version": "v7.3.6", + "version": "v7.4.8", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "c28ad91448f86c5f6d9d2c70f0cf68bf135f252a" + "reference": "1e92e39c51f95b88e3d66fa2d9f06d1fb45dd707" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/c28ad91448f86c5f6d9d2c70f0cf68bf135f252a", - "reference": "c28ad91448f86c5f6d9d2c70f0cf68bf135f252a", + "url": "https://api.github.com/repos/symfony/console/zipball/1e92e39c51f95b88e3d66fa2d9f06d1fb45dd707", + "reference": "1e92e39c51f95b88e3d66fa2d9f06d1fb45dd707", "shasum": "" }, "require": { @@ -433,7 +376,7 @@ "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-mbstring": "~1.0", "symfony/service-contracts": "^2.5|^3", - "symfony/string": "^7.2" + "symfony/string": "^7.2|^8.0" }, "conflict": { "symfony/dependency-injection": "<6.4", @@ -447,16 +390,16 @@ }, "require-dev": { "psr/log": "^1|^2|^3", - "symfony/config": "^6.4|^7.0", - "symfony/dependency-injection": "^6.4|^7.0", - "symfony/event-dispatcher": "^6.4|^7.0", - "symfony/http-foundation": "^6.4|^7.0", - "symfony/http-kernel": "^6.4|^7.0", - "symfony/lock": "^6.4|^7.0", - "symfony/messenger": "^6.4|^7.0", - "symfony/process": "^6.4|^7.0", - "symfony/stopwatch": "^6.4|^7.0", - "symfony/var-dumper": "^6.4|^7.0" + "symfony/config": "^6.4|^7.0|^8.0", + "symfony/dependency-injection": "^6.4|^7.0|^8.0", + "symfony/event-dispatcher": "^6.4|^7.0|^8.0", + "symfony/http-foundation": "^6.4|^7.0|^8.0", + "symfony/http-kernel": "^6.4|^7.0|^8.0", + "symfony/lock": "^6.4|^7.0|^8.0", + "symfony/messenger": "^6.4|^7.0|^8.0", + "symfony/process": "^6.4|^7.0|^8.0", + "symfony/stopwatch": "^6.4|^7.0|^8.0", + "symfony/var-dumper": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -490,7 +433,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v7.3.6" + "source": "https://github.com/symfony/console/tree/v7.4.8" }, "funding": [ { @@ -510,7 +453,7 @@ "type": "tidelift" } ], - "time": "2025-11-04T01:21:42+00:00" + "time": "2026-03-30T13:54:39+00:00" }, { "name": "symfony/deprecation-contracts", @@ -581,16 +524,16 @@ }, { "name": "symfony/polyfill-ctype", - "version": "v1.33.0", + "version": "v1.34.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638" + "reference": "141046a8f9477948ff284fa65be2095baafb94f2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/a3cc8b044a6ea513310cbd48ef7333b384945638", - "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/141046a8f9477948ff284fa65be2095baafb94f2", + "reference": "141046a8f9477948ff284fa65be2095baafb94f2", "shasum": "" }, "require": { @@ -640,7 +583,7 @@ "portable" ], "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.33.0" + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.34.0" }, "funding": [ { @@ -660,20 +603,20 @@ "type": "tidelift" } ], - "time": "2024-09-09T11:45:10+00:00" + "time": "2026-04-10T16:19:22+00:00" }, { "name": "symfony/polyfill-intl-grapheme", - "version": "v1.33.0", + "version": "v1.34.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "380872130d3a5dd3ace2f4010d95125fde5d5c70" + "reference": "ad1b7b9092976d6c948b8a187cec9faaea9ec1df" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/380872130d3a5dd3ace2f4010d95125fde5d5c70", - "reference": "380872130d3a5dd3ace2f4010d95125fde5d5c70", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/ad1b7b9092976d6c948b8a187cec9faaea9ec1df", + "reference": "ad1b7b9092976d6c948b8a187cec9faaea9ec1df", "shasum": "" }, "require": { @@ -722,7 +665,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.33.0" + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.34.0" }, "funding": [ { @@ -742,11 +685,11 @@ "type": "tidelift" } ], - "time": "2025-06-27T09:58:17+00:00" + "time": "2026-04-10T16:19:22+00:00" }, { "name": "symfony/polyfill-intl-normalizer", - "version": "v1.33.0", + "version": "v1.34.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git", @@ -807,7 +750,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.33.0" + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.34.0" }, "funding": [ { @@ -831,16 +774,16 @@ }, { "name": "symfony/polyfill-mbstring", - "version": "v1.33.0", + "version": "v1.34.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493" + "reference": "6a21eb99c6973357967f6ce3708cd55a6bec6315" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/6d857f4d76bd4b343eac26d6b539585d2bc56493", - "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/6a21eb99c6973357967f6ce3708cd55a6bec6315", + "reference": "6a21eb99c6973357967f6ce3708cd55a6bec6315", "shasum": "" }, "require": { @@ -892,7 +835,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.33.0" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.34.0" }, "funding": [ { @@ -912,20 +855,20 @@ "type": "tidelift" } ], - "time": "2024-12-23T08:48:59+00:00" + "time": "2026-04-10T17:25:58+00:00" }, { "name": "symfony/process", - "version": "v7.3.4", + "version": "v7.4.8", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "f24f8f316367b30810810d4eb30c543d7003ff3b" + "reference": "60f19cd3badc8de688421e21e4305eba50f8089a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/f24f8f316367b30810810d4eb30c543d7003ff3b", - "reference": "f24f8f316367b30810810d4eb30c543d7003ff3b", + "url": "https://api.github.com/repos/symfony/process/zipball/60f19cd3badc8de688421e21e4305eba50f8089a", + "reference": "60f19cd3badc8de688421e21e4305eba50f8089a", "shasum": "" }, "require": { @@ -957,7 +900,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v7.3.4" + "source": "https://github.com/symfony/process/tree/v7.4.8" }, "funding": [ { @@ -977,7 +920,7 @@ "type": "tidelift" } ], - "time": "2025-09-11T10:12:26+00:00" + "time": "2026-03-24T13:12:05+00:00" }, { "name": "symfony/service-contracts", @@ -1068,34 +1011,34 @@ }, { "name": "symfony/string", - "version": "v7.3.4", + "version": "v8.0.8", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "f96476035142921000338bad71e5247fbc138872" + "reference": "ae9488f874d7603f9d2dfbf120203882b645d963" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/f96476035142921000338bad71e5247fbc138872", - "reference": "f96476035142921000338bad71e5247fbc138872", + "url": "https://api.github.com/repos/symfony/string/zipball/ae9488f874d7603f9d2dfbf120203882b645d963", + "reference": "ae9488f874d7603f9d2dfbf120203882b645d963", "shasum": "" }, "require": { - "php": ">=8.2", - "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-intl-grapheme": "~1.0", - "symfony/polyfill-intl-normalizer": "~1.0", - "symfony/polyfill-mbstring": "~1.0" + "php": ">=8.4", + "symfony/polyfill-ctype": "^1.8", + "symfony/polyfill-intl-grapheme": "^1.33", + "symfony/polyfill-intl-normalizer": "^1.0", + "symfony/polyfill-mbstring": "^1.0" }, "conflict": { "symfony/translation-contracts": "<2.5" }, "require-dev": { - "symfony/emoji": "^7.1", - "symfony/http-client": "^6.4|^7.0", - "symfony/intl": "^6.4|^7.0", + "symfony/emoji": "^7.4|^8.0", + "symfony/http-client": "^7.4|^8.0", + "symfony/intl": "^7.4|^8.0", "symfony/translation-contracts": "^2.5|^3.0", - "symfony/var-exporter": "^6.4|^7.0" + "symfony/var-exporter": "^7.4|^8.0" }, "type": "library", "autoload": { @@ -1134,7 +1077,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v7.3.4" + "source": "https://github.com/symfony/string/tree/v8.0.8" }, "funding": [ { @@ -1154,32 +1097,32 @@ "type": "tidelift" } ], - "time": "2025-09-11T14:36:48+00:00" + "time": "2026-03-30T15:14:47+00:00" }, { "name": "symfony/yaml", - "version": "v7.3.5", + "version": "v7.4.8", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "90208e2fc6f68f613eae7ca25a2458a931b1bacc" + "reference": "c58fdf7b3d6c2995368264c49e4e8b05bcff2883" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/90208e2fc6f68f613eae7ca25a2458a931b1bacc", - "reference": "90208e2fc6f68f613eae7ca25a2458a931b1bacc", + "url": "https://api.github.com/repos/symfony/yaml/zipball/c58fdf7b3d6c2995368264c49e4e8b05bcff2883", + "reference": "c58fdf7b3d6c2995368264c49e4e8b05bcff2883", "shasum": "" }, "require": { "php": ">=8.2", - "symfony/deprecation-contracts": "^2.5|^3.0", + "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-ctype": "^1.8" }, "conflict": { "symfony/console": "<6.4" }, "require-dev": { - "symfony/console": "^6.4|^7.0" + "symfony/console": "^6.4|^7.0|^8.0" }, "bin": [ "Resources/bin/yaml-lint" @@ -1210,7 +1153,7 @@ "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v7.3.5" + "source": "https://github.com/symfony/yaml/tree/v7.4.8" }, "funding": [ { @@ -1230,7 +1173,7 @@ "type": "tidelift" } ], - "time": "2025-09-27T09:00:46+00:00" + "time": "2026-03-24T13:12:05+00:00" }, { "name": "zhamao/logger", @@ -1615,16 +1558,16 @@ }, { "name": "amphp/parallel", - "version": "v2.3.2", + "version": "v2.3.3", "source": { "type": "git", "url": "https://github.com/amphp/parallel.git", - "reference": "321b45ae771d9c33a068186b24117e3cd1c48dce" + "reference": "296b521137a54d3a02425b464e5aee4c93db2c60" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/amphp/parallel/zipball/321b45ae771d9c33a068186b24117e3cd1c48dce", - "reference": "321b45ae771d9c33a068186b24117e3cd1c48dce", + "url": "https://api.github.com/repos/amphp/parallel/zipball/296b521137a54d3a02425b464e5aee4c93db2c60", + "reference": "296b521137a54d3a02425b464e5aee4c93db2c60", "shasum": "" }, "require": { @@ -1687,7 +1630,7 @@ ], "support": { "issues": "https://github.com/amphp/parallel/issues", - "source": "https://github.com/amphp/parallel/tree/v2.3.2" + "source": "https://github.com/amphp/parallel/tree/v2.3.3" }, "funding": [ { @@ -1695,7 +1638,7 @@ "type": "github" } ], - "time": "2025-08-27T21:55:40+00:00" + "time": "2025-11-15T06:23:42+00:00" }, { "name": "amphp/parser", @@ -1896,24 +1839,27 @@ }, { "name": "amphp/serialization", - "version": "v1.0.0", + "version": "v1.1.0", "source": { "type": "git", "url": "https://github.com/amphp/serialization.git", - "reference": "693e77b2fb0b266c3c7d622317f881de44ae94a1" + "reference": "fdf2834d78cebb0205fb2672676c1b1eb84371f0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/amphp/serialization/zipball/693e77b2fb0b266c3c7d622317f881de44ae94a1", - "reference": "693e77b2fb0b266c3c7d622317f881de44ae94a1", + "url": "https://api.github.com/repos/amphp/serialization/zipball/fdf2834d78cebb0205fb2672676c1b1eb84371f0", + "reference": "fdf2834d78cebb0205fb2672676c1b1eb84371f0", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.4" }, "require-dev": { - "amphp/php-cs-fixer-config": "dev-master", - "phpunit/phpunit": "^9 || ^8 || ^7" + "amphp/php-cs-fixer-config": "^2", + "ext-json": "*", + "ext-zlib": "*", + "phpunit/phpunit": "^9", + "psalm/phar": "6.16.1" }, "type": "library", "autoload": { @@ -1948,9 +1894,15 @@ ], "support": { "issues": "https://github.com/amphp/serialization/issues", - "source": "https://github.com/amphp/serialization/tree/master" + "source": "https://github.com/amphp/serialization/tree/v1.1.0" }, - "time": "2020-03-25T21:39:07+00:00" + "funding": [ + { + "url": "https://github.com/amphp", + "type": "github" + } + ], + "time": "2026-04-05T15:59:53+00:00" }, { "name": "amphp/socket", @@ -2113,7 +2065,7 @@ }, { "name": "captainhook/captainhook-phar", - "version": "5.25.11", + "version": "5.29.2", "source": { "type": "git", "url": "https://github.com/captainhook-git/captainhook-phar.git", @@ -2167,7 +2119,7 @@ ], "support": { "issues": "https://github.com/captainhook-git/captainhook/issues", - "source": "https://github.com/captainhook-git/captainhook-phar/tree/5.25.11" + "source": "https://github.com/captainhook-git/captainhook-phar/tree/5.29.2" }, "funding": [ { @@ -2556,29 +2508,29 @@ }, { "name": "doctrine/deprecations", - "version": "1.1.5", + "version": "1.1.6", "source": { "type": "git", "url": "https://github.com/doctrine/deprecations.git", - "reference": "459c2f5dd3d6a4633d3b5f46ee2b1c40f57d3f38" + "reference": "d4fe3e6fd9bb9e72557a19674f44d8ac7db4c6ca" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/deprecations/zipball/459c2f5dd3d6a4633d3b5f46ee2b1c40f57d3f38", - "reference": "459c2f5dd3d6a4633d3b5f46ee2b1c40f57d3f38", + "url": "https://api.github.com/repos/doctrine/deprecations/zipball/d4fe3e6fd9bb9e72557a19674f44d8ac7db4c6ca", + "reference": "d4fe3e6fd9bb9e72557a19674f44d8ac7db4c6ca", "shasum": "" }, "require": { "php": "^7.1 || ^8.0" }, "conflict": { - "phpunit/phpunit": "<=7.5 || >=13" + "phpunit/phpunit": "<=7.5 || >=14" }, "require-dev": { - "doctrine/coding-standard": "^9 || ^12 || ^13", - "phpstan/phpstan": "1.4.10 || 2.1.11", + "doctrine/coding-standard": "^9 || ^12 || ^14", + "phpstan/phpstan": "1.4.10 || 2.1.30", "phpstan/phpstan-phpunit": "^1.0 || ^2", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.6 || ^10.5 || ^11.5 || ^12", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.6 || ^10.5 || ^11.5 || ^12.4 || ^13.0", "psr/log": "^1 || ^2 || ^3" }, "suggest": { @@ -2598,9 +2550,78 @@ "homepage": "https://www.doctrine-project.org/", "support": { "issues": "https://github.com/doctrine/deprecations/issues", - "source": "https://github.com/doctrine/deprecations/tree/1.1.5" + "source": "https://github.com/doctrine/deprecations/tree/1.1.6" + }, + "time": "2026-02-07T07:09:04+00:00" + }, + { + "name": "ergebnis/agent-detector", + "version": "1.1.1", + "source": { + "type": "git", + "url": "https://github.com/ergebnis/agent-detector.git", + "reference": "5b654a9f1ff8a5d2ce6a57568df5ae8801c87f64" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ergebnis/agent-detector/zipball/5b654a9f1ff8a5d2ce6a57568df5ae8801c87f64", + "reference": "5b654a9f1ff8a5d2ce6a57568df5ae8801c87f64", + "shasum": "" + }, + "require": { + "php": "~7.4.0 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0 || ~8.6.0" + }, + "require-dev": { + "ergebnis/composer-normalize": "^2.50.0", + "ergebnis/license": "^2.7.0", + "ergebnis/php-cs-fixer-config": "^6.60.2", + "ergebnis/phpstan-rules": "^2.13.1", + "ergebnis/phpunit-slow-test-detector": "^2.24.0", + "ergebnis/rector-rules": "^1.16.0", + "fakerphp/faker": "^1.24.1", + "infection/infection": "^0.26.6", + "phpstan/extension-installer": "^1.4.3", + "phpstan/phpstan": "^2.1.46", + "phpstan/phpstan-deprecation-rules": "^2.0.4", + "phpstan/phpstan-phpunit": "^2.0.16", + "phpstan/phpstan-strict-rules": "^2.0.10", + "phpunit/phpunit": "^9.6.34", + "rector/rector": "^2.4.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.0-dev" + }, + "composer-normalize": { + "indent-size": 2, + "indent-style": "space" + } + }, + "autoload": { + "psr-4": { + "Ergebnis\\AgentDetector\\": "src/" + } }, - "time": "2025-04-07T20:06:18+00:00" + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Andreas Möller", + "email": "am@localheinz.com", + "homepage": "https://localheinz.com" + } + ], + "description": "Provides a detector for detecting the presence of an agent.", + "homepage": "https://github.com/ergebnis/agent-detector", + "support": { + "issues": "https://github.com/ergebnis/agent-detector/issues", + "security": "https://github.com/ergebnis/agent-detector/blob/main/.github/SECURITY.md", + "source": "https://github.com/ergebnis/agent-detector" + }, + "time": "2026-04-10T13:45:13+00:00" }, { "name": "evenement/evenement", @@ -2864,22 +2885,23 @@ }, { "name": "friendsofphp/php-cs-fixer", - "version": "v3.89.2", + "version": "v3.95.0", "source": { "type": "git", "url": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer.git", - "reference": "7569658f91e475ec93b99bd5964b059ad1336dcf" + "reference": "4ba5ab77108583d2a89ed48e1a5c01e62cc1d3f4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/7569658f91e475ec93b99bd5964b059ad1336dcf", - "reference": "7569658f91e475ec93b99bd5964b059ad1336dcf", + "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/4ba5ab77108583d2a89ed48e1a5c01e62cc1d3f4", + "reference": "4ba5ab77108583d2a89ed48e1a5c01e62cc1d3f4", "shasum": "" }, "require": { "clue/ndjson-react": "^1.3", "composer/semver": "^3.4", "composer/xdebug-handler": "^3.0.5", + "ergebnis/agent-detector": "^1.1.1", "ext-filter": "*", "ext-hash": "*", "ext-json": "*", @@ -2890,31 +2912,32 @@ "react/event-loop": "^1.5", "react/socket": "^1.16", "react/stream": "^1.4", - "sebastian/diff": "^4.0.6 || ^5.1.1 || ^6.0.2 || ^7.0", - "symfony/console": "^5.4.47 || ^6.4.24 || ^7.0", - "symfony/event-dispatcher": "^5.4.45 || ^6.4.24 || ^7.0", - "symfony/filesystem": "^5.4.45 || ^6.4.24 || ^7.0", - "symfony/finder": "^5.4.45 || ^6.4.24 || ^7.0", - "symfony/options-resolver": "^5.4.45 || ^6.4.24 || ^7.0", + "sebastian/diff": "^4.0.6 || ^5.1.1 || ^6.0.2 || ^7.0 || ^8.0", + "symfony/console": "^5.4.47 || ^6.4.24 || ^7.0 || ^8.0", + "symfony/event-dispatcher": "^5.4.45 || ^6.4.24 || ^7.0 || ^8.0", + "symfony/filesystem": "^5.4.45 || ^6.4.24 || ^7.0 || ^8.0", + "symfony/finder": "^5.4.45 || ^6.4.24 || ^7.0 || ^8.0", + "symfony/options-resolver": "^5.4.45 || ^6.4.24 || ^7.0 || ^8.0", "symfony/polyfill-mbstring": "^1.33", "symfony/polyfill-php80": "^1.33", "symfony/polyfill-php81": "^1.33", "symfony/polyfill-php84": "^1.33", - "symfony/process": "^5.4.47 || ^6.4.24 || ^7.2", - "symfony/stopwatch": "^5.4.45 || ^6.4.24 || ^7.0" + "symfony/process": "^5.4.47 || ^6.4.24 || ^7.2 || ^8.0", + "symfony/stopwatch": "^5.4.45 || ^6.4.24 || ^7.0 || ^8.0" }, "require-dev": { - "facile-it/paraunit": "^1.3.1 || ^2.7", - "infection/infection": "^0.31.0", - "justinrainbow/json-schema": "^6.5", - "keradus/cli-executor": "^2.2", + "facile-it/paraunit": "^1.3.1 || ^2.8.0", + "infection/infection": "^0.32.6", + "justinrainbow/json-schema": "^6.8.0", + "keradus/cli-executor": "^2.3", "mikey179/vfsstream": "^1.6.12", - "php-coveralls/php-coveralls": "^2.9", - "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.6", - "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.6", - "phpunit/phpunit": "^9.6.25 || ^10.5.53 || ^11.5.34", - "symfony/var-dumper": "^5.4.48 || ^6.4.24 || ^7.3.2", - "symfony/yaml": "^5.4.45 || ^6.4.24 || ^7.3.2" + "php-coveralls/php-coveralls": "^2.9.1", + "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.8", + "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.8", + "phpunit/phpunit": "^9.6.34 || ^10.5.63 || ^11.5.55", + "symfony/polyfill-php85": "^1.33", + "symfony/var-dumper": "^5.4.48 || ^6.4.32 || ^7.4.4 || ^8.0.8", + "symfony/yaml": "^5.4.45 || ^6.4.30 || ^7.4.1 || ^8.0.8" }, "suggest": { "ext-dom": "For handling output formats in XML", @@ -2929,7 +2952,7 @@ "PhpCsFixer\\": "src/" }, "exclude-from-classmap": [ - "src/Fixer/Internal/*" + "src/**/Internal/" ] }, "notification-url": "https://packagist.org/downloads/", @@ -2955,7 +2978,7 @@ ], "support": { "issues": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues", - "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.89.2" + "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.95.0" }, "funding": [ { @@ -2963,20 +2986,20 @@ "type": "github" } ], - "time": "2025-11-06T21:12:50+00:00" + "time": "2026-04-11T17:30:38+00:00" }, { "name": "humbug/box", - "version": "4.6.10", + "version": "4.7.0", "source": { "type": "git", "url": "https://github.com/box-project/box.git", - "reference": "6dc6a1314d63e9d75c8195c996e1081e68514c36" + "reference": "9c2a430118f61ba4a20bc4969931494503f5da6a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/box-project/box/zipball/6dc6a1314d63e9d75c8195c996e1081e68514c36", - "reference": "6dc6a1314d63e9d75c8195c996e1081e68514c36", + "url": "https://api.github.com/repos/box-project/box/zipball/9c2a430118f61ba4a20bc4969931494503f5da6a", + "reference": "9c2a430118f61ba4a20bc4969931494503f5da6a", "shasum": "" }, "require": { @@ -3075,9 +3098,9 @@ ], "support": { "issues": "https://github.com/box-project/box/issues", - "source": "https://github.com/box-project/box/tree/4.6.10" + "source": "https://github.com/box-project/box/tree/4.7.0" }, - "time": "2025-10-31T18:38:02+00:00" + "time": "2026-03-18T09:34:43+00:00" }, { "name": "humbug/php-scoper", @@ -3212,21 +3235,21 @@ }, { "name": "justinrainbow/json-schema", - "version": "6.6.1", + "version": "6.8.0", "source": { "type": "git", "url": "https://github.com/jsonrainbow/json-schema.git", - "reference": "fd8e5c6b1badb998844ad34ce0abcd71a0aeb396" + "reference": "89ac92bcfe5d0a8a4433c7b89d394553ae7250cc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/jsonrainbow/json-schema/zipball/fd8e5c6b1badb998844ad34ce0abcd71a0aeb396", - "reference": "fd8e5c6b1badb998844ad34ce0abcd71a0aeb396", + "url": "https://api.github.com/repos/jsonrainbow/json-schema/zipball/89ac92bcfe5d0a8a4433c7b89d394553ae7250cc", + "reference": "89ac92bcfe5d0a8a4433c7b89d394553ae7250cc", "shasum": "" }, "require": { "ext-json": "*", - "marc-mabe/php-enum": "^4.0", + "marc-mabe/php-enum": "^4.4", "php": "^7.2 || ^8.0" }, "require-dev": { @@ -3281,9 +3304,9 @@ ], "support": { "issues": "https://github.com/jsonrainbow/json-schema/issues", - "source": "https://github.com/jsonrainbow/json-schema/tree/6.6.1" + "source": "https://github.com/jsonrainbow/json-schema/tree/6.8.0" }, - "time": "2025-11-07T18:30:29+00:00" + "time": "2026-04-02T12:43:11+00:00" }, { "name": "kelunik/certificate", @@ -3345,33 +3368,38 @@ }, { "name": "league/uri", - "version": "7.5.1", + "version": "7.8.1", "source": { "type": "git", "url": "https://github.com/thephpleague/uri.git", - "reference": "81fb5145d2644324614cc532b28efd0215bda430" + "reference": "08cf38e3924d4f56238125547b5720496fac8fd4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/uri/zipball/81fb5145d2644324614cc532b28efd0215bda430", - "reference": "81fb5145d2644324614cc532b28efd0215bda430", + "url": "https://api.github.com/repos/thephpleague/uri/zipball/08cf38e3924d4f56238125547b5720496fac8fd4", + "reference": "08cf38e3924d4f56238125547b5720496fac8fd4", "shasum": "" }, "require": { - "league/uri-interfaces": "^7.5", - "php": "^8.1" + "league/uri-interfaces": "^7.8.1", + "php": "^8.1", + "psr/http-factory": "^1" }, "conflict": { "league/uri-schemes": "^1.0" }, "suggest": { "ext-bcmath": "to improve IPV4 host parsing", + "ext-dom": "to convert the URI into an HTML anchor tag", "ext-fileinfo": "to create Data URI from file contennts", "ext-gmp": "to improve IPV4 host parsing", "ext-intl": "to handle IDN host with the best performance", - "jeremykendall/php-domain-parser": "to resolve Public Suffix and Top Level Domain", - "league/uri-components": "Needed to easily manipulate URI objects components", + "ext-uri": "to use the PHP native URI class", + "jeremykendall/php-domain-parser": "to further parse the URI host and resolve its Public Suffix and Top Level Domain", + "league/uri-components": "to provide additional tools to manipulate URI objects components", + "league/uri-polyfill": "to backport the PHP URI extension for older versions of PHP", "php-64bit": "to improve IPV4 host parsing", + "rowbot/url": "to handle URLs using the WHATWG URL Living Standard specification", "symfony/polyfill-intl-idn": "to handle IDN host via the Symfony polyfill if ext-intl is not present" }, "type": "library", @@ -3399,6 +3427,7 @@ "description": "URI manipulation library", "homepage": "https://uri.thephpleague.com", "keywords": [ + "URN", "data-uri", "file-uri", "ftp", @@ -3411,9 +3440,11 @@ "psr-7", "query-string", "querystring", + "rfc2141", "rfc3986", "rfc3987", "rfc6570", + "rfc8141", "uri", "uri-template", "url", @@ -3423,7 +3454,7 @@ "docs": "https://uri.thephpleague.com", "forum": "https://thephpleague.slack.com", "issues": "https://github.com/thephpleague/uri-src/issues", - "source": "https://github.com/thephpleague/uri/tree/7.5.1" + "source": "https://github.com/thephpleague/uri/tree/7.8.1" }, "funding": [ { @@ -3431,26 +3462,25 @@ "type": "github" } ], - "time": "2024-12-08T08:40:02+00:00" + "time": "2026-03-15T20:22:25+00:00" }, { "name": "league/uri-interfaces", - "version": "7.5.0", + "version": "7.8.1", "source": { "type": "git", "url": "https://github.com/thephpleague/uri-interfaces.git", - "reference": "08cfc6c4f3d811584fb09c37e2849e6a7f9b0742" + "reference": "85d5c77c5d6d3af6c54db4a78246364908f3c928" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/uri-interfaces/zipball/08cfc6c4f3d811584fb09c37e2849e6a7f9b0742", - "reference": "08cfc6c4f3d811584fb09c37e2849e6a7f9b0742", + "url": "https://api.github.com/repos/thephpleague/uri-interfaces/zipball/85d5c77c5d6d3af6c54db4a78246364908f3c928", + "reference": "85d5c77c5d6d3af6c54db4a78246364908f3c928", "shasum": "" }, "require": { "ext-filter": "*", "php": "^8.1", - "psr/http-factory": "^1", "psr/http-message": "^1.1 || ^2.0" }, "suggest": { @@ -3458,6 +3488,7 @@ "ext-gmp": "to improve IPV4 host parsing", "ext-intl": "to handle IDN host with the best performance", "php-64bit": "to improve IPV4 host parsing", + "rowbot/url": "to handle URLs using the WHATWG URL Living Standard specification", "symfony/polyfill-intl-idn": "to handle IDN host via the Symfony polyfill if ext-intl is not present" }, "type": "library", @@ -3482,7 +3513,7 @@ "homepage": "https://nyamsprod.com" } ], - "description": "Common interfaces and classes for URI representation and interaction", + "description": "Common tools for parsing and resolving RFC3987/RFC3986 URI", "homepage": "https://uri.thephpleague.com", "keywords": [ "data-uri", @@ -3507,7 +3538,7 @@ "docs": "https://uri.thephpleague.com", "forum": "https://thephpleague.slack.com", "issues": "https://github.com/thephpleague/uri-src/issues", - "source": "https://github.com/thephpleague/uri-interfaces/tree/7.5.0" + "source": "https://github.com/thephpleague/uri-interfaces/tree/7.8.1" }, "funding": [ { @@ -3515,7 +3546,7 @@ "type": "github" } ], - "time": "2024-12-08T08:18:47+00:00" + "time": "2026-03-08T20:05:35+00:00" }, { "name": "marc-mabe/php-enum", @@ -3704,16 +3735,16 @@ }, { "name": "nikic/php-parser", - "version": "v5.6.2", + "version": "v5.7.0", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "3a454ca033b9e06b63282ce19562e892747449bb" + "reference": "dca41cd15c2ac9d055ad70dbfd011130757d1f82" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/3a454ca033b9e06b63282ce19562e892747449bb", - "reference": "3a454ca033b9e06b63282ce19562e892747449bb", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/dca41cd15c2ac9d055ad70dbfd011130757d1f82", + "reference": "dca41cd15c2ac9d055ad70dbfd011130757d1f82", "shasum": "" }, "require": { @@ -3756,9 +3787,9 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v5.6.2" + "source": "https://github.com/nikic/PHP-Parser/tree/v5.7.0" }, - "time": "2025-10-21T19:32:17+00:00" + "time": "2025-12-06T11:56:16+00:00" }, { "name": "phar-io/composer-distributor", @@ -4147,16 +4178,16 @@ }, { "name": "phpdocumentor/reflection-docblock", - "version": "5.6.3", + "version": "5.6.7", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "94f8051919d1b0369a6bcc7931d679a511c03fe9" + "reference": "31a105931bc8ffa3a123383829772e832fd8d903" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/94f8051919d1b0369a6bcc7931d679a511c03fe9", - "reference": "94f8051919d1b0369a6bcc7931d679a511c03fe9", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/31a105931bc8ffa3a123383829772e832fd8d903", + "reference": "31a105931bc8ffa3a123383829772e832fd8d903", "shasum": "" }, "require": { @@ -4166,7 +4197,7 @@ "phpdocumentor/reflection-common": "^2.2", "phpdocumentor/type-resolver": "^1.7", "phpstan/phpdoc-parser": "^1.7|^2.0", - "webmozart/assert": "^1.9.1" + "webmozart/assert": "^1.9.1 || ^2" }, "require-dev": { "mockery/mockery": "~1.3.5 || ~1.6.0", @@ -4205,22 +4236,22 @@ "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", "support": { "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues", - "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.6.3" + "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.6.7" }, - "time": "2025-08-01T19:43:32+00:00" + "time": "2026-03-18T20:47:46+00:00" }, { "name": "phpdocumentor/type-resolver", - "version": "1.10.0", + "version": "1.12.0", "source": { "type": "git", "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "679e3ce485b99e84c775d28e2e96fade9a7fb50a" + "reference": "92a98ada2b93d9b201a613cb5a33584dde25f195" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/679e3ce485b99e84c775d28e2e96fade9a7fb50a", - "reference": "679e3ce485b99e84c775d28e2e96fade9a7fb50a", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/92a98ada2b93d9b201a613cb5a33584dde25f195", + "reference": "92a98ada2b93d9b201a613cb5a33584dde25f195", "shasum": "" }, "require": { @@ -4263,22 +4294,22 @@ "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", "support": { "issues": "https://github.com/phpDocumentor/TypeResolver/issues", - "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.10.0" + "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.12.0" }, - "time": "2024-11-09T15:12:26+00:00" + "time": "2025-11-21T15:09:14+00:00" }, { "name": "phpstan/phpdoc-parser", - "version": "2.3.0", + "version": "2.3.2", "source": { "type": "git", "url": "https://github.com/phpstan/phpdoc-parser.git", - "reference": "1e0cd5370df5dd2e556a36b9c62f62e555870495" + "reference": "a004701b11273a26cd7955a61d67a7f1e525a45a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/1e0cd5370df5dd2e556a36b9c62f62e555870495", - "reference": "1e0cd5370df5dd2e556a36b9c62f62e555870495", + "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/a004701b11273a26cd7955a61d67a7f1e525a45a", + "reference": "a004701b11273a26cd7955a61d67a7f1e525a45a", "shasum": "" }, "require": { @@ -4310,21 +4341,21 @@ "description": "PHPDoc parser with support for nullable, intersection and generic types", "support": { "issues": "https://github.com/phpstan/phpdoc-parser/issues", - "source": "https://github.com/phpstan/phpdoc-parser/tree/2.3.0" + "source": "https://github.com/phpstan/phpdoc-parser/tree/2.3.2" }, - "time": "2025-08-30T15:50:23+00:00" + "time": "2026-01-25T14:56:51+00:00" }, { "name": "phpstan/phpstan", - "version": "1.12.32", + "version": "2.1.46", "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/2770dcdf5078d0b0d53f94317e06affe88419aa8", - "reference": "2770dcdf5078d0b0d53f94317e06affe88419aa8", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/a193923fc2d6325ef4e741cf3af8c3e8f54dbf25", + "reference": "a193923fc2d6325ef4e741cf3af8c3e8f54dbf25", "shasum": "" }, "require": { - "php": "^7.2|^8.0" + "php": "^7.4|^8.0" }, "conflict": { "phpstan/phpstan-shim": "*" @@ -4365,7 +4396,7 @@ "type": "github" } ], - "time": "2025-09-30T10:16:31+00:00" + "time": "2026-04-01T09:25:14+00:00" }, { "name": "phpunit/php-code-coverage", @@ -4690,16 +4721,16 @@ }, { "name": "phpunit/phpunit", - "version": "10.5.58", + "version": "10.5.63", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "e24fb46da450d8e6a5788670513c1af1424f16ca" + "reference": "33198268dad71e926626b618f3ec3966661e4d90" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/e24fb46da450d8e6a5788670513c1af1424f16ca", - "reference": "e24fb46da450d8e6a5788670513c1af1424f16ca", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/33198268dad71e926626b618f3ec3966661e4d90", + "reference": "33198268dad71e926626b618f3ec3966661e4d90", "shasum": "" }, "require": { @@ -4720,7 +4751,7 @@ "phpunit/php-timer": "^6.0.0", "sebastian/cli-parser": "^2.0.1", "sebastian/code-unit": "^2.0.0", - "sebastian/comparator": "^5.0.4", + "sebastian/comparator": "^5.0.5", "sebastian/diff": "^5.1.1", "sebastian/environment": "^6.1.0", "sebastian/exporter": "^5.1.4", @@ -4771,7 +4802,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.58" + "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.63" }, "funding": [ { @@ -4795,7 +4826,7 @@ "type": "tidelift" } ], - "time": "2025-09-28T12:04:46+00:00" + "time": "2026-01-27T05:48:37+00:00" }, { "name": "psr/event-dispatcher", @@ -5029,16 +5060,16 @@ }, { "name": "react/child-process", - "version": "v0.6.6", + "version": "v0.6.7", "source": { "type": "git", "url": "https://github.com/reactphp/child-process.git", - "reference": "1721e2b93d89b745664353b9cfc8f155ba8a6159" + "reference": "970f0e71945556422ee4570ccbabaedc3cf04ad3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/reactphp/child-process/zipball/1721e2b93d89b745664353b9cfc8f155ba8a6159", - "reference": "1721e2b93d89b745664353b9cfc8f155ba8a6159", + "url": "https://api.github.com/repos/reactphp/child-process/zipball/970f0e71945556422ee4570ccbabaedc3cf04ad3", + "reference": "970f0e71945556422ee4570ccbabaedc3cf04ad3", "shasum": "" }, "require": { @@ -5092,7 +5123,7 @@ ], "support": { "issues": "https://github.com/reactphp/child-process/issues", - "source": "https://github.com/reactphp/child-process/tree/v0.6.6" + "source": "https://github.com/reactphp/child-process/tree/v0.6.7" }, "funding": [ { @@ -5100,20 +5131,20 @@ "type": "open_collective" } ], - "time": "2025-01-01T16:37:48+00:00" + "time": "2025-12-23T15:25:20+00:00" }, { "name": "react/dns", - "version": "v1.13.0", + "version": "v1.14.0", "source": { "type": "git", "url": "https://github.com/reactphp/dns.git", - "reference": "eb8ae001b5a455665c89c1df97f6fb682f8fb0f5" + "reference": "7562c05391f42701c1fccf189c8225fece1cd7c3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/reactphp/dns/zipball/eb8ae001b5a455665c89c1df97f6fb682f8fb0f5", - "reference": "eb8ae001b5a455665c89c1df97f6fb682f8fb0f5", + "url": "https://api.github.com/repos/reactphp/dns/zipball/7562c05391f42701c1fccf189c8225fece1cd7c3", + "reference": "7562c05391f42701c1fccf189c8225fece1cd7c3", "shasum": "" }, "require": { @@ -5168,7 +5199,7 @@ ], "support": { "issues": "https://github.com/reactphp/dns/issues", - "source": "https://github.com/reactphp/dns/tree/v1.13.0" + "source": "https://github.com/reactphp/dns/tree/v1.14.0" }, "funding": [ { @@ -5176,20 +5207,20 @@ "type": "open_collective" } ], - "time": "2024-06-13T14:18:03+00:00" + "time": "2025-11-18T19:34:28+00:00" }, { "name": "react/event-loop", - "version": "v1.5.0", + "version": "v1.6.0", "source": { "type": "git", "url": "https://github.com/reactphp/event-loop.git", - "reference": "bbe0bd8c51ffc05ee43f1729087ed3bdf7d53354" + "reference": "ba276bda6083df7e0050fd9b33f66ad7a4ac747a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/reactphp/event-loop/zipball/bbe0bd8c51ffc05ee43f1729087ed3bdf7d53354", - "reference": "bbe0bd8c51ffc05ee43f1729087ed3bdf7d53354", + "url": "https://api.github.com/repos/reactphp/event-loop/zipball/ba276bda6083df7e0050fd9b33f66ad7a4ac747a", + "reference": "ba276bda6083df7e0050fd9b33f66ad7a4ac747a", "shasum": "" }, "require": { @@ -5240,7 +5271,7 @@ ], "support": { "issues": "https://github.com/reactphp/event-loop/issues", - "source": "https://github.com/reactphp/event-loop/tree/v1.5.0" + "source": "https://github.com/reactphp/event-loop/tree/v1.6.0" }, "funding": [ { @@ -5248,7 +5279,7 @@ "type": "open_collective" } ], - "time": "2023-11-13T13:48:05+00:00" + "time": "2025-11-17T20:46:25+00:00" }, { "name": "react/promise", @@ -5325,16 +5356,16 @@ }, { "name": "react/socket", - "version": "v1.16.0", + "version": "v1.17.0", "source": { "type": "git", "url": "https://github.com/reactphp/socket.git", - "reference": "23e4ff33ea3e160d2d1f59a0e6050e4b0fb0eac1" + "reference": "ef5b17b81f6f60504c539313f94f2d826c5faa08" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/reactphp/socket/zipball/23e4ff33ea3e160d2d1f59a0e6050e4b0fb0eac1", - "reference": "23e4ff33ea3e160d2d1f59a0e6050e4b0fb0eac1", + "url": "https://api.github.com/repos/reactphp/socket/zipball/ef5b17b81f6f60504c539313f94f2d826c5faa08", + "reference": "ef5b17b81f6f60504c539313f94f2d826c5faa08", "shasum": "" }, "require": { @@ -5393,7 +5424,7 @@ ], "support": { "issues": "https://github.com/reactphp/socket/issues", - "source": "https://github.com/reactphp/socket/tree/v1.16.0" + "source": "https://github.com/reactphp/socket/tree/v1.17.0" }, "funding": [ { @@ -5401,7 +5432,7 @@ "type": "open_collective" } ], - "time": "2024-07-26T10:38:09+00:00" + "time": "2025-11-19T20:47:34+00:00" }, { "name": "react/stream", @@ -5483,16 +5514,16 @@ }, { "name": "revolt/event-loop", - "version": "v1.0.7", + "version": "v1.0.8", "source": { "type": "git", "url": "https://github.com/revoltphp/event-loop.git", - "reference": "09bf1bf7f7f574453efe43044b06fafe12216eb3" + "reference": "b6fc06dce8e9b523c9946138fa5e62181934f91c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/revoltphp/event-loop/zipball/09bf1bf7f7f574453efe43044b06fafe12216eb3", - "reference": "09bf1bf7f7f574453efe43044b06fafe12216eb3", + "url": "https://api.github.com/repos/revoltphp/event-loop/zipball/b6fc06dce8e9b523c9946138fa5e62181934f91c", + "reference": "b6fc06dce8e9b523c9946138fa5e62181934f91c", "shasum": "" }, "require": { @@ -5549,9 +5580,9 @@ ], "support": { "issues": "https://github.com/revoltphp/event-loop/issues", - "source": "https://github.com/revoltphp/event-loop/tree/v1.0.7" + "source": "https://github.com/revoltphp/event-loop/tree/v1.0.8" }, - "time": "2025-01-25T19:27:39+00:00" + "time": "2025-08-27T21:33:23+00:00" }, { "name": "sebastian/cli-parser", @@ -5723,16 +5754,16 @@ }, { "name": "sebastian/comparator", - "version": "5.0.4", + "version": "5.0.5", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "e8e53097718d2b53cfb2aa859b06a41abf58c62e" + "reference": "55dfef806eb7dfeb6e7a6935601fef866f8ca48d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/e8e53097718d2b53cfb2aa859b06a41abf58c62e", - "reference": "e8e53097718d2b53cfb2aa859b06a41abf58c62e", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/55dfef806eb7dfeb6e7a6935601fef866f8ca48d", + "reference": "55dfef806eb7dfeb6e7a6935601fef866f8ca48d", "shasum": "" }, "require": { @@ -5788,7 +5819,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/comparator/issues", "security": "https://github.com/sebastianbergmann/comparator/security/policy", - "source": "https://github.com/sebastianbergmann/comparator/tree/5.0.4" + "source": "https://github.com/sebastianbergmann/comparator/tree/5.0.5" }, "funding": [ { @@ -5808,7 +5839,7 @@ "type": "tidelift" } ], - "time": "2025-09-07T05:25:07+00:00" + "time": "2026-01-24T09:25:16+00:00" }, { "name": "sebastian/complexity", @@ -6620,24 +6651,24 @@ }, { "name": "symfony/event-dispatcher", - "version": "v7.3.3", + "version": "v8.0.8", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "b7dc69e71de420ac04bc9ab830cf3ffebba48191" + "reference": "f662acc6ab22a3d6d716dcb44c381c6002940df6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/b7dc69e71de420ac04bc9ab830cf3ffebba48191", - "reference": "b7dc69e71de420ac04bc9ab830cf3ffebba48191", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/f662acc6ab22a3d6d716dcb44c381c6002940df6", + "reference": "f662acc6ab22a3d6d716dcb44c381c6002940df6", "shasum": "" }, "require": { - "php": ">=8.2", + "php": ">=8.4", "symfony/event-dispatcher-contracts": "^2.5|^3" }, "conflict": { - "symfony/dependency-injection": "<6.4", + "symfony/security-http": "<7.4", "symfony/service-contracts": "<2.5" }, "provide": { @@ -6646,13 +6677,14 @@ }, "require-dev": { "psr/log": "^1|^2|^3", - "symfony/config": "^6.4|^7.0", - "symfony/dependency-injection": "^6.4|^7.0", - "symfony/error-handler": "^6.4|^7.0", - "symfony/expression-language": "^6.4|^7.0", - "symfony/http-foundation": "^6.4|^7.0", + "symfony/config": "^7.4|^8.0", + "symfony/dependency-injection": "^7.4|^8.0", + "symfony/error-handler": "^7.4|^8.0", + "symfony/expression-language": "^7.4|^8.0", + "symfony/framework-bundle": "^7.4|^8.0", + "symfony/http-foundation": "^7.4|^8.0", "symfony/service-contracts": "^2.5|^3", - "symfony/stopwatch": "^6.4|^7.0" + "symfony/stopwatch": "^7.4|^8.0" }, "type": "library", "autoload": { @@ -6680,7 +6712,7 @@ "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v7.3.3" + "source": "https://github.com/symfony/event-dispatcher/tree/v8.0.8" }, "funding": [ { @@ -6700,7 +6732,7 @@ "type": "tidelift" } ], - "time": "2025-08-13T11:49:31+00:00" + "time": "2026-03-30T15:14:47+00:00" }, { "name": "symfony/event-dispatcher-contracts", @@ -6780,16 +6812,16 @@ }, { "name": "symfony/filesystem", - "version": "v7.3.6", + "version": "v7.4.8", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "e9bcfd7837928ab656276fe00464092cc9e1826a" + "reference": "58b9790d12f9670b7f53a1c1738febd3108970a5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/e9bcfd7837928ab656276fe00464092cc9e1826a", - "reference": "e9bcfd7837928ab656276fe00464092cc9e1826a", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/58b9790d12f9670b7f53a1c1738febd3108970a5", + "reference": "58b9790d12f9670b7f53a1c1738febd3108970a5", "shasum": "" }, "require": { @@ -6798,7 +6830,7 @@ "symfony/polyfill-mbstring": "~1.8" }, "require-dev": { - "symfony/process": "^6.4|^7.0" + "symfony/process": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -6826,7 +6858,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v7.3.6" + "source": "https://github.com/symfony/filesystem/tree/v7.4.8" }, "funding": [ { @@ -6846,27 +6878,27 @@ "type": "tidelift" } ], - "time": "2025-11-05T09:52:27+00:00" + "time": "2026-03-24T13:12:05+00:00" }, { "name": "symfony/finder", - "version": "v7.3.5", + "version": "v7.4.8", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "9f696d2f1e340484b4683f7853b273abff94421f" + "reference": "e0be088d22278583a82da281886e8c3592fbf149" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/9f696d2f1e340484b4683f7853b273abff94421f", - "reference": "9f696d2f1e340484b4683f7853b273abff94421f", + "url": "https://api.github.com/repos/symfony/finder/zipball/e0be088d22278583a82da281886e8c3592fbf149", + "reference": "e0be088d22278583a82da281886e8c3592fbf149", "shasum": "" }, "require": { "php": ">=8.2" }, "require-dev": { - "symfony/filesystem": "^6.4|^7.0" + "symfony/filesystem": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -6894,7 +6926,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v7.3.5" + "source": "https://github.com/symfony/finder/tree/v7.4.8" }, "funding": [ { @@ -6914,24 +6946,24 @@ "type": "tidelift" } ], - "time": "2025-10-15T18:45:57+00:00" + "time": "2026-03-24T13:12:05+00:00" }, { "name": "symfony/options-resolver", - "version": "v7.3.3", + "version": "v8.0.8", "source": { "type": "git", "url": "https://github.com/symfony/options-resolver.git", - "reference": "0ff2f5c3df08a395232bbc3c2eb7e84912df911d" + "reference": "b48bce0a70b914f6953dafbd10474df232ed4de8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/options-resolver/zipball/0ff2f5c3df08a395232bbc3c2eb7e84912df911d", - "reference": "0ff2f5c3df08a395232bbc3c2eb7e84912df911d", + "url": "https://api.github.com/repos/symfony/options-resolver/zipball/b48bce0a70b914f6953dafbd10474df232ed4de8", + "reference": "b48bce0a70b914f6953dafbd10474df232ed4de8", "shasum": "" }, "require": { - "php": ">=8.2", + "php": ">=8.4", "symfony/deprecation-contracts": "^2.5|^3" }, "type": "library", @@ -6965,7 +6997,7 @@ "options" ], "support": { - "source": "https://github.com/symfony/options-resolver/tree/v7.3.3" + "source": "https://github.com/symfony/options-resolver/tree/v8.0.8" }, "funding": [ { @@ -6985,20 +7017,20 @@ "type": "tidelift" } ], - "time": "2025-08-05T10:16:07+00:00" + "time": "2026-03-30T15:14:47+00:00" }, { "name": "symfony/polyfill-iconv", - "version": "v1.33.0", + "version": "v1.34.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-iconv.git", - "reference": "5f3b930437ae03ae5dff61269024d8ea1b3774aa" + "reference": "2c5729fd241b4b22f6e4b436bc3354a4f262df57" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/5f3b930437ae03ae5dff61269024d8ea1b3774aa", - "reference": "5f3b930437ae03ae5dff61269024d8ea1b3774aa", + "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/2c5729fd241b4b22f6e4b436bc3354a4f262df57", + "reference": "2c5729fd241b4b22f6e4b436bc3354a4f262df57", "shasum": "" }, "require": { @@ -7049,7 +7081,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-iconv/tree/v1.33.0" + "source": "https://github.com/symfony/polyfill-iconv/tree/v1.34.0" }, "funding": [ { @@ -7069,20 +7101,20 @@ "type": "tidelift" } ], - "time": "2024-09-17T14:58:18+00:00" + "time": "2026-04-10T16:19:22+00:00" }, { "name": "symfony/polyfill-php84", - "version": "v1.33.0", + "version": "v1.34.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php84.git", - "reference": "d8ced4d875142b6a7426000426b8abc631d6b191" + "reference": "88486db2c389b290bf87ff1de7ebc1e13e42bb06" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php84/zipball/d8ced4d875142b6a7426000426b8abc631d6b191", - "reference": "d8ced4d875142b6a7426000426b8abc631d6b191", + "url": "https://api.github.com/repos/symfony/polyfill-php84/zipball/88486db2c389b290bf87ff1de7ebc1e13e42bb06", + "reference": "88486db2c389b290bf87ff1de7ebc1e13e42bb06", "shasum": "" }, "require": { @@ -7129,7 +7161,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php84/tree/v1.33.0" + "source": "https://github.com/symfony/polyfill-php84/tree/v1.34.0" }, "funding": [ { @@ -7149,24 +7181,24 @@ "type": "tidelift" } ], - "time": "2025-06-24T13:30:11+00:00" + "time": "2026-04-10T18:47:49+00:00" }, { "name": "symfony/stopwatch", - "version": "v7.3.0", + "version": "v8.0.8", "source": { "type": "git", "url": "https://github.com/symfony/stopwatch.git", - "reference": "5a49289e2b308214c8b9c2fda4ea454d8b8ad7cd" + "reference": "85954ed72d5440ea4dc9a10b7e49e01df766ffa3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/stopwatch/zipball/5a49289e2b308214c8b9c2fda4ea454d8b8ad7cd", - "reference": "5a49289e2b308214c8b9c2fda4ea454d8b8ad7cd", + "url": "https://api.github.com/repos/symfony/stopwatch/zipball/85954ed72d5440ea4dc9a10b7e49e01df766ffa3", + "reference": "85954ed72d5440ea4dc9a10b7e49e01df766ffa3", "shasum": "" }, "require": { - "php": ">=8.2", + "php": ">=8.4", "symfony/service-contracts": "^2.5|^3" }, "type": "library", @@ -7195,7 +7227,7 @@ "description": "Provides a way to profile code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/stopwatch/tree/v7.3.0" + "source": "https://github.com/symfony/stopwatch/tree/v8.0.8" }, "funding": [ { @@ -7206,25 +7238,29 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2025-02-24T10:49:57+00:00" + "time": "2026-03-30T15:14:47+00:00" }, { "name": "symfony/var-dumper", - "version": "v7.3.5", + "version": "v7.4.8", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "476c4ae17f43a9a36650c69879dcf5b1e6ae724d" + "reference": "9510c3966f749a1d1ff0059e1eabef6cc621e7fd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/476c4ae17f43a9a36650c69879dcf5b1e6ae724d", - "reference": "476c4ae17f43a9a36650c69879dcf5b1e6ae724d", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/9510c3966f749a1d1ff0059e1eabef6cc621e7fd", + "reference": "9510c3966f749a1d1ff0059e1eabef6cc621e7fd", "shasum": "" }, "require": { @@ -7236,10 +7272,10 @@ "symfony/console": "<6.4" }, "require-dev": { - "symfony/console": "^6.4|^7.0", - "symfony/http-kernel": "^6.4|^7.0", - "symfony/process": "^6.4|^7.0", - "symfony/uid": "^6.4|^7.0", + "symfony/console": "^6.4|^7.0|^8.0", + "symfony/http-kernel": "^6.4|^7.0|^8.0", + "symfony/process": "^6.4|^7.0|^8.0", + "symfony/uid": "^6.4|^7.0|^8.0", "twig/twig": "^3.12" }, "bin": [ @@ -7278,7 +7314,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v7.3.5" + "source": "https://github.com/symfony/var-dumper/tree/v7.4.8" }, "funding": [ { @@ -7298,20 +7334,20 @@ "type": "tidelift" } ], - "time": "2025-09-27T09:00:46+00:00" + "time": "2026-03-30T13:44:50+00:00" }, { "name": "thecodingmachine/safe", - "version": "v3.3.0", + "version": "v3.4.0", "source": { "type": "git", "url": "https://github.com/thecodingmachine/safe.git", - "reference": "2cdd579eeaa2e78e51c7509b50cc9fb89a956236" + "reference": "705683a25bacf0d4860c7dea4d7947bfd09eea19" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thecodingmachine/safe/zipball/2cdd579eeaa2e78e51c7509b50cc9fb89a956236", - "reference": "2cdd579eeaa2e78e51c7509b50cc9fb89a956236", + "url": "https://api.github.com/repos/thecodingmachine/safe/zipball/705683a25bacf0d4860c7dea4d7947bfd09eea19", + "reference": "705683a25bacf0d4860c7dea4d7947bfd09eea19", "shasum": "" }, "require": { @@ -7421,7 +7457,7 @@ "description": "PHP core functions that throw exceptions instead of returning FALSE on error", "support": { "issues": "https://github.com/thecodingmachine/safe/issues", - "source": "https://github.com/thecodingmachine/safe/tree/v3.3.0" + "source": "https://github.com/thecodingmachine/safe/tree/v3.4.0" }, "funding": [ { @@ -7432,25 +7468,29 @@ "url": "https://github.com/shish", "type": "github" }, + { + "url": "https://github.com/silasjoisten", + "type": "github" + }, { "url": "https://github.com/staabm", "type": "github" } ], - "time": "2025-05-14T06:15:44+00:00" + "time": "2026-02-04T18:08:13+00:00" }, { "name": "theseer/tokenizer", - "version": "1.3.0", + "version": "1.3.1", "source": { "type": "git", "url": "https://github.com/theseer/tokenizer.git", - "reference": "d74205c497bfbca49f34d4bc4c19c17e22db4ebb" + "reference": "b7489ce515e168639d17feec34b8847c326b0b3c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/theseer/tokenizer/zipball/d74205c497bfbca49f34d4bc4c19c17e22db4ebb", - "reference": "d74205c497bfbca49f34d4bc4c19c17e22db4ebb", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/b7489ce515e168639d17feec34b8847c326b0b3c", + "reference": "b7489ce515e168639d17feec34b8847c326b0b3c", "shasum": "" }, "require": { @@ -7479,7 +7519,7 @@ "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", "support": { "issues": "https://github.com/theseer/tokenizer/issues", - "source": "https://github.com/theseer/tokenizer/tree/1.3.0" + "source": "https://github.com/theseer/tokenizer/tree/1.3.1" }, "funding": [ { @@ -7487,7 +7527,7 @@ "type": "github" } ], - "time": "2025-11-13T13:44:09+00:00" + "time": "2025-11-17T20:03:58+00:00" }, { "name": "webmozart/assert", @@ -7554,10 +7594,10 @@ "prefer-stable": false, "prefer-lowest": false, "platform": { - "php": ">= 8.3", + "php": ">=8.4", "ext-mbstring": "*", "ext-zlib": "*" }, "platform-dev": {}, - "plugin-api-version": "2.6.0" + "plugin-api-version": "2.9.0" } diff --git a/config/artifact/glfw.yml b/config/artifact/glfw.yml new file mode 100644 index 000000000..05e9f18d4 --- /dev/null +++ b/config/artifact/glfw.yml @@ -0,0 +1,9 @@ +glfw: + metadata: + license-files: + - LICENSE + license: MIT + source: + type: git + url: 'https://github.com/mario-deluna/php-glfw' + rev: master diff --git a/config/artifact/musl-wrapper.yml b/config/artifact/musl-wrapper.yml new file mode 100644 index 000000000..9ae3ec492 --- /dev/null +++ b/config/artifact/musl-wrapper.yml @@ -0,0 +1,2 @@ +musl-wrapper: + source: 'https://musl.libc.org/releases/musl-1.2.5.tar.gz' diff --git a/config/artifact/ncurses.yml b/config/artifact/ncurses.yml new file mode 100644 index 000000000..52c8f59ff --- /dev/null +++ b/config/artifact/ncurses.yml @@ -0,0 +1,9 @@ +ncurses: + binary: hosted + metadata: + license-files: + - COPYING + source: + type: filelist + url: 'https://ftp.gnu.org/pub/gnu/ncurses/' + regex: '/href="(?ncurses-(?[^"]+)\.tar\.gz)"/' diff --git a/config/artifact/php-src.yml b/config/artifact/php-src.yml new file mode 100644 index 000000000..e304db9db --- /dev/null +++ b/config/artifact/php-src.yml @@ -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' diff --git a/config/env.ini b/config/env.ini index 7448cc373..947971188 100644 --- a/config/env.ini +++ b/config/env.ini @@ -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 @@ -75,8 +82,10 @@ SPC_MICRO_PATCHES=static_extensions_win32,cli_checks,disable_huge_page,vcruntime ; - musl-native: used for alpine linux, can build `musl` and `musl -dynamic` target. ; - gnu-native: used for general linux distros, can build gnu target for the installed glibc version only. -; LEGACY option to specify the target -SPC_LIBC=musl +; option to specify the target, superceded by SPC_TARGET if set +; SPC_LIBC=musl +; uncomment to link libc dynamically on musl +; SPC_MUSL_DYNAMIC=true ; Recommended: specify your target here. Zig toolchain will be used. ; examples: @@ -85,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" @@ -112,18 +121,26 @@ SPC_CMD_PREFIX_PHP_CONFIGURE="./configure --prefix= --with-valgrind=no --disable SPC_CMD_VAR_PHP_EMBED_TYPE="static" ; EXTRA_CFLAGS for `configure` and `make` php SPC_CMD_VAR_PHP_MAKE_EXTRA_CFLAGS="-g -fstack-protector-strong -fno-ident -fPIE ${SPC_DEFAULT_C_FLAGS}" +; EXTRA_CXXFLAGS for `configure` and `make` php +SPC_CMD_VAR_PHP_MAKE_EXTRA_CXXFLAGS="-g -fstack-protector-strong -fno-ident -fPIE ${SPC_DEFAULT_CXX_FLAGS}" ; EXTRA_LDFLAGS for `make` php, can use -release to set a soname for libphp.so SPC_CMD_VAR_PHP_MAKE_EXTRA_LDFLAGS="" +; optional, path to openssl conf. This affects where openssl will look for the default CA. +; default on Debian/Alpine: /etc/ssl, default on RHEL: /etc/pki/tls +OPENSSLDIR="" + [macos] ; build target: macho or macho (possibly we could support macho-universal in the future) ; Currently we do not support universal and cross-compilation for macOS. SPC_TARGET=native-macos -; compiler environments -CC=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" @@ -142,8 +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}" - -[freebsd] -; compiler environments -CC=clang -CXX=clang++ +; 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 diff --git a/config/ext.json b/config/ext.json deleted file mode 100644 index e8f69339e..000000000 --- a/config/ext.json +++ /dev/null @@ -1,1233 +0,0 @@ -{ - "amqp": { - "support": { - "BSD": "wip" - }, - "type": "external", - "arg-type": "custom", - "source": "amqp", - "lib-depends": [ - "librabbitmq" - ], - "ext-depends-windows": [ - "openssl" - ] - }, - "apcu": { - "type": "external", - "source": "apcu" - }, - "ast": { - "type": "external", - "source": "ast" - }, - "bcmath": { - "type": "builtin" - }, - "brotli": { - "type": "external", - "source": "ext-brotli", - "arg-type": "enable", - "lib-depends": [ - "brotli" - ] - }, - "bz2": { - "type": "builtin", - "arg-type-unix": "with-path", - "arg-type-windows": "with", - "lib-depends": [ - "bzip2" - ] - }, - "calendar": { - "type": "builtin" - }, - "ctype": { - "type": "builtin" - }, - "curl": { - "notes": true, - "type": "builtin", - "arg-type": "with", - "lib-depends": [ - "curl" - ], - "ext-depends-windows": [ - "zlib", - "openssl" - ] - }, - "dba": { - "type": "builtin", - "arg-type": "custom", - "lib-suggests": [ - "qdbm" - ] - }, - "dio": { - "support": { - "BSD": "wip" - }, - "type": "external", - "source": "dio" - }, - "dom": { - "support": { - "BSD": "wip" - }, - "type": "builtin", - "arg-type": "custom", - "arg-type-windows": "with", - "lib-depends": [ - "libxml2", - "zlib" - ], - "ext-depends-windows": [ - "xml" - ] - }, - "ds": { - "type": "external", - "source": "ext-ds" - }, - "enchant": { - "support": { - "Windows": "wip", - "BSD": "wip", - "Darwin": "wip", - "Linux": "wip" - }, - "type": "wip" - }, - "ev": { - "type": "external", - "source": "ev", - "arg-type-windows": "with", - "ext-depends": [ - "sockets" - ] - }, - "event": { - "support": { - "Windows": "wip", - "BSD": "wip" - }, - "notes": true, - "type": "external", - "source": "ext-event", - "arg-type": "custom", - "lib-depends": [ - "libevent" - ], - "ext-depends": [ - "openssl" - ], - "ext-suggests": [ - "sockets" - ] - }, - "exif": { - "type": "builtin" - }, - "ffi": { - "support": { - "Linux": "partial", - "BSD": "wip" - }, - "notes": true, - "arg-type": "custom", - "type": "builtin", - "lib-depends-unix": [ - "libffi" - ], - "lib-depends-windows": [ - "libffi-win" - ] - }, - "fileinfo": { - "type": "builtin" - }, - "filter": { - "type": "builtin" - }, - "ftp": { - "type": "builtin", - "lib-suggests": [ - "openssl" - ] - }, - "gd": { - "support": { - "BSD": "wip" - }, - "notes": true, - "type": "builtin", - "arg-type": "custom", - "arg-type-windows": "with", - "lib-depends": [ - "zlib", - "libpng" - ], - "ext-depends": [ - "zlib" - ], - "lib-suggests": [ - "libavif", - "libwebp", - "libjpeg", - "freetype" - ] - }, - "gettext": { - "support": { - "Windows": "wip", - "BSD": "wip" - }, - "type": "builtin", - "arg-type": "with-path", - "lib-depends": [ - "gettext" - ] - }, - "glfw": { - "support": { - "Windows": "wip", - "BSD": "no", - "Linux": "no" - }, - "notes": true, - "type": "external", - "arg-type": "custom", - "source": "ext-glfw", - "lib-depends": [ - "glfw" - ], - "lib-depends-windows": [] - }, - "gmp": { - "support": { - "Windows": "wip", - "BSD": "wip" - }, - "type": "builtin", - "arg-type": "with-path", - "lib-depends": [ - "gmp" - ] - }, - "gmssl": { - "support": { - "BSD": "wip" - }, - "type": "external", - "source": "ext-gmssl", - "lib-depends": [ - "gmssl" - ] - }, - "grpc": { - "support": { - "Windows": "wip", - "BSD": "wip" - }, - "type": "external", - "source": "grpc", - "arg-type-unix": "enable-path", - "cpp-extension": true, - "lib-depends": [ - "grpc" - ] - }, - "iconv": { - "support": { - "BSD": "wip" - }, - "type": "builtin", - "arg-type": "with-path", - "arg-type-windows": "with", - "lib-depends-unix": [ - "libiconv" - ], - "lib-depends-windows": [ - "libiconv-win" - ] - }, - "igbinary": { - "support": { - "BSD": "wip" - }, - "type": "external", - "source": "igbinary", - "ext-suggests": [ - "session", - "apcu" - ] - }, - "imagick": { - "support": { - "Windows": "wip", - "BSD": "wip" - }, - "notes": true, - "type": "external", - "source": "ext-imagick", - "arg-type": "custom", - "lib-depends": [ - "imagemagick" - ] - }, - "imap": { - "support": { - "Windows": "wip", - "BSD": "wip" - }, - "notes": true, - "type": "external", - "source": "ext-imap", - "arg-type": "custom", - "lib-depends": [ - "imap" - ], - "ext-suggests": [ - "openssl" - ] - }, - "inotify": { - "support": { - "Windows": "no", - "BSD": "wip", - "Darwin": "no" - }, - "type": "external", - "source": "inotify" - }, - "intl": { - "support": { - "BSD": "wip" - }, - "type": "builtin", - "lib-depends-unix": [ - "icu" - ], - "lib-depends-windows": [ - "icu-static-win" - ] - }, - "ldap": { - "support": { - "Windows": "wip", - "BSD": "wip" - }, - "type": "builtin", - "arg-type": "with-path", - "lib-depends": [ - "ldap" - ], - "lib-suggests": [ - "gmp", - "libsodium" - ], - "ext-suggests": [ - "openssl" - ] - }, - "libxml": { - "support": { - "BSD": "wip" - }, - "type": "builtin", - "arg-type": "none", - "ext-depends": [ - "xml" - ], - "build-with-php": true, - "target": [ - "static" - ] - }, - "lz4": { - "support": { - "Windows": "wip", - "BSD": "wip" - }, - "type": "external", - "source": "ext-lz4", - "arg-type": "custom", - "lib-depends": [ - "liblz4" - ] - }, - "maxminddb": { - "support": { - "BSD": "wip", - "Windows": "wip" - }, - "type": "external", - "source": "ext-maxminddb", - "arg-type": "with", - "lib-depends": [ - "libmaxminddb" - ] - }, - "mbregex": { - "type": "builtin", - "arg-type": "custom", - "target": [ - "static" - ], - "ext-depends": [ - "mbstring" - ], - "lib-depends": [ - "onig" - ] - }, - "mbstring": { - "type": "builtin", - "arg-type": "custom" - }, - "mcrypt": { - "type": "wip", - "support": { - "Windows": "no", - "BSD": "no", - "Darwin": "no", - "Linux": "no" - }, - "notes": true - }, - "memcache": { - "support": { - "Windows": "wip", - "BSD": "wip" - }, - "type": "external", - "source": "ext-memcache", - "arg-type": "custom", - "ext-depends": [ - "zlib", - "session" - ], - "build-with-php": true - }, - "memcached": { - "support": { - "Windows": "wip", - "BSD": "wip" - }, - "type": "external", - "source": "memcached", - "arg-type": "custom", - "cpp-extension": true, - "lib-depends": [ - "libmemcached" - ], - "lib-depends-unix": [ - "libmemcached", - "fastlz" - ], - "lib-suggests": [ - "zstd" - ], - "ext-depends": [ - "session", - "zlib" - ], - "ext-suggests": [ - "igbinary", - "msgpack", - "session" - ] - }, - "mongodb": { - "support": { - "BSD": "wip", - "Windows": "wip" - }, - "type": "external", - "source": "mongodb", - "arg-type": "custom", - "lib-suggests": [ - "icu", - "openssl", - "zstd", - "zlib" - ], - "frameworks": [ - "CoreFoundation", - "Security" - ] - }, - "msgpack": { - "support": { - "BSD": "wip" - }, - "type": "external", - "source": "msgpack", - "arg-type-unix": "with", - "arg-type-windows": "enable", - "ext-depends": [ - "session" - ] - }, - "mysqli": { - "type": "builtin", - "arg-type": "with", - "build-with-php": true, - "ext-depends": [ - "mysqlnd" - ] - }, - "mysqlnd": { - "type": "builtin", - "arg-type-windows": "with", - "build-with-php": true, - "lib-depends": [ - "zlib" - ] - }, - "oci8": { - "type": "wip", - "support": { - "Windows": "wip", - "BSD": "no", - "Darwin": "no", - "Linux": "no" - }, - "notes": true - }, - "odbc": { - "support": { - "BSD": "wip", - "Windows": "wip" - }, - "type": "builtin", - "arg-type-unix": "custom", - "lib-depends-unix": [ - "unixodbc" - ] - }, - "opcache": { - "type": "builtin", - "arg-type-unix": "custom", - "arg-type-windows": "enable", - "zend-extension": true - }, - "openssl": { - "notes": true, - "type": "builtin", - "arg-type": "custom", - "arg-type-windows": "with", - "build-with-php": true, - "lib-depends": [ - "openssl", - "zlib" - ], - "ext-depends": [ - "zlib" - ] - }, - "opentelemetry": { - "support": { - "BSD": "wip" - }, - "type": "external", - "source": "opentelemetry" - }, - "parallel": { - "support": { - "BSD": "wip" - }, - "notes": true, - "type": "external", - "source": "parallel", - "arg-type-windows": "with", - "lib-depends-windows": [ - "pthreads4w" - ] - }, - "password-argon2": { - "support": { - "Windows": "wip", - "BSD": "wip" - }, - "notes": true, - "type": "builtin", - "arg-type": "custom", - "lib-depends": [ - "libargon2", - "openssl" - ] - }, - "pcntl": { - "support": { - "Windows": "no" - }, - "type": "builtin", - "unix-only": true - }, - "pdo": { - "type": "builtin" - }, - "pdo_mysql": { - "type": "builtin", - "arg-type": "with", - "ext-depends": [ - "pdo", - "mysqlnd" - ] - }, - "pdo_odbc": { - "support": { - "BSD": "wip" - }, - "type": "builtin", - "arg-type": "custom", - "lib-depends-unix": [ - "unixodbc" - ], - "ext-depends": [ - "pdo", - "odbc" - ] - }, - "pdo_pgsql": { - "support": { - "BSD": "wip" - }, - "type": "builtin", - "arg-type": "with-path", - "arg-type-windows": "custom", - "ext-depends": [ - "pdo", - "pgsql" - ], - "lib-depends-unix": [ - "postgresql" - ], - "lib-depends-windows": [ - "postgresql-win" - ] - }, - "pdo_sqlite": { - "support": { - "BSD": "wip" - }, - "type": "builtin", - "arg-type": "with", - "ext-depends": [ - "pdo", - "sqlite3" - ], - "lib-depends": [ - "sqlite" - ] - }, - "pdo_sqlsrv": { - "support": { - "BSD": "wip" - }, - "type": "external", - "source": "pdo_sqlsrv", - "arg-type": "with", - "ext-depends": [ - "pdo", - "sqlsrv" - ] - }, - "pgsql": { - "support": { - "BSD": "wip" - }, - "notes": true, - "type": "builtin", - "arg-type": "custom", - "lib-depends-unix": [ - "postgresql" - ], - "lib-depends-windows": [ - "postgresql-win" - ] - }, - "phar": { - "type": "builtin", - "ext-depends": [ - "zlib" - ] - }, - "posix": { - "support": { - "Windows": "no" - }, - "type": "builtin", - "unix-only": true - }, - "protobuf": { - "support": { - "Windows": "wip", - "BSD": "wip" - }, - "type": "external", - "source": "protobuf" - }, - "rar": { - "support": { - "BSD": "wip", - "Darwin": "partial" - }, - "notes": true, - "type": "external", - "source": "rar", - "cpp-extension": true - }, - "rdkafka": { - "support": { - "BSD": "wip", - "Windows": "wip" - }, - "type": "external", - "source": "ext-rdkafka", - "arg-type": "custom", - "cpp-extension": true, - "lib-depends": [ - "librdkafka" - ] - }, - "readline": { - "support": { - "Windows": "wip", - "BSD": "wip" - }, - "type": "builtin", - "arg-type": "with-path", - "lib-depends": [ - "libedit" - ], - "target": [ - "static" - ] - }, - "redis": { - "support": { - "BSD": "wip" - }, - "type": "external", - "source": "redis", - "arg-type": "custom", - "ext-suggests": [ - "session", - "igbinary", - "msgpack" - ], - "lib-suggests-unix": [ - "zstd", - "liblz4" - ] - }, - "session": { - "type": "builtin", - "build-with-php": true - }, - "shmop": { - "type": "builtin", - "build-with-php": true - }, - "simdjson": { - "type": "external", - "source": "ext-simdjson", - "cpp-extension": true - }, - "simplexml": { - "support": { - "BSD": "wip" - }, - "type": "builtin", - "arg-type": "custom", - "lib-depends": [ - "libxml2" - ], - "ext-depends-windows": [ - "xml" - ], - "build-with-php": true - }, - "snappy": { - "support": { - "Windows": "wip", - "BSD": "wip" - }, - "type": "external", - "source": "ext-snappy", - "cpp-extension": true, - "arg-type": "custom", - "lib-depends": [ - "snappy" - ], - "ext-suggests": [ - "apcu" - ] - }, - "snmp": { - "support": { - "Windows": "wip", - "BSD": "wip" - }, - "type": "builtin", - "arg-type-unix": "with", - "arg-type-windows": "with", - "lib-depends": [ - "net-snmp" - ] - }, - "soap": { - "support": { - "BSD": "wip" - }, - "type": "builtin", - "arg-type": "custom", - "ext-depends": [ - "libxml", - "session" - ] - }, - "sockets": { - "type": "builtin" - }, - "sodium": { - "support": { - "BSD": "wip" - }, - "type": "builtin", - "arg-type": "with", - "lib-depends": [ - "libsodium" - ] - }, - "spx": { - "support": { - "BSD": "wip", - "Windows": "no" - }, - "notes": true, - "type": "external", - "source": "spx", - "arg-type": "custom", - "lib-depends": [ - "zlib" - ] - }, - "sqlite3": { - "support": { - "BSD": "wip" - }, - "type": "builtin", - "arg-type": "with-path", - "arg-type-windows": "with", - "build-with-php": true, - "lib-depends": [ - "sqlite" - ] - }, - "sqlsrv": { - "support": { - "BSD": "wip" - }, - "type": "external", - "source": "sqlsrv", - "lib-depends-unix": [ - "unixodbc" - ], - "ext-depends-linux": [ - "pcntl" - ], - "cpp-extension": true - }, - "ssh2": { - "support": { - "BSD": "wip" - }, - "type": "external", - "source": "ext-ssh2", - "arg-type": "with-path", - "arg-type-windows": "with", - "lib-depends": [ - "libssh2" - ], - "ext-depends": [ - "openssl", - "zlib" - ] - }, - "swoole": { - "support": { - "Windows": "no", - "BSD": "wip" - }, - "notes": true, - "type": "external", - "source": "swoole", - "arg-type": "custom", - "cpp-extension": true, - "unix-only": true, - "lib-depends": [ - "libcares", - "brotli", - "nghttp2", - "zlib" - ], - "lib-suggests": [ - "zstd" - ], - "lib-suggests-linux": [ - "zstd", - "liburing" - ], - "ext-depends": [ - "openssl", - "curl" - ], - "ext-suggests": [ - "sockets", - "swoole-hook-pgsql", - "swoole-hook-mysql", - "swoole-hook-sqlite", - "swoole-hook-odbc" - ] - }, - "swoole-hook-mysql": { - "support": { - "Windows": "no", - "BSD": "wip" - }, - "notes": true, - "type": "addon", - "arg-type": "none", - "ext-depends": [ - "mysqlnd", - "pdo", - "pdo_mysql", - "swoole" - ], - "ext-suggests": [ - "mysqli" - ] - }, - "swoole-hook-odbc": { - "support": { - "Windows": "no", - "BSD": "wip" - }, - "notes": true, - "type": "addon", - "arg-type": "none", - "ext-depends": [ - "pdo", - "swoole" - ], - "lib-depends": [ - "unixodbc" - ] - }, - "swoole-hook-pgsql": { - "support": { - "Windows": "no", - "BSD": "wip", - "Darwin": "partial" - }, - "notes": true, - "type": "addon", - "arg-type": "none", - "ext-depends": [ - "pgsql", - "pdo", - "swoole" - ] - }, - "swoole-hook-sqlite": { - "support": { - "Windows": "no", - "BSD": "wip" - }, - "notes": true, - "type": "addon", - "arg-type": "none", - "ext-depends": [ - "sqlite3", - "pdo", - "swoole" - ] - }, - "swow": { - "support": { - "BSD": "wip" - }, - "notes": true, - "type": "external", - "source": "swow", - "arg-type": "custom", - "lib-suggests": [ - "openssl", - "curl" - ], - "ext-suggests": [ - "openssl", - "curl" - ] - }, - "sysvmsg": { - "support": { - "Windows": "no", - "BSD": "wip" - }, - "type": "builtin", - "unix-only": true - }, - "sysvsem": { - "support": { - "Windows": "no", - "BSD": "wip" - }, - "type": "builtin", - "unix-only": true - }, - "sysvshm": { - "support": { - "BSD": "wip" - }, - "type": "builtin" - }, - "tidy": { - "support": { - "Windows": "wip", - "BSD": "wip" - }, - "type": "builtin", - "arg-type": "with-path", - "lib-depends": [ - "tidy" - ] - }, - "tokenizer": { - "type": "builtin", - "build-with-php": true - }, - "trader": { - "support": { - "BSD": "wip", - "Windows": "wip" - }, - "type": "external", - "source": "ext-trader" - }, - "uuid": { - "support": { - "Windows": "wip", - "BSD": "wip" - }, - "type": "external", - "source": "ext-uuid", - "arg-type": "with-path", - "lib-depends": [ - "libuuid" - ] - }, - "uv": { - "support": { - "Windows": "wip", - "BSD": "wip" - }, - "type": "external", - "source": "ext-uv", - "arg-type": "with-path", - "lib-depends": [ - "libuv" - ], - "ext-depends": [ - "sockets" - ] - }, - "xdebug": { - "type": "external", - "source": "xdebug", - "target": [ - "shared" - ], - "support": { - "Windows": "wip", - "BSD": "no", - "Darwin": "partial", - "Linux": "partial" - }, - "notes": true, - "zend-extension": true - }, - "xhprof": { - "support": { - "Windows": "wip", - "BSD": "wip" - }, - "notes": true, - "type": "external", - "source": "xhprof", - "ext-depends": [ - "ctype" - ], - "build-with-php": true - }, - "xlswriter": { - "support": { - "BSD": "wip" - }, - "type": "external", - "source": "xlswriter", - "arg-type": "custom", - "ext-depends": [ - "zlib", - "zip" - ], - "lib-suggests": [ - "openssl" - ] - }, - "xml": { - "support": { - "BSD": "wip" - }, - "notes": true, - "type": "builtin", - "arg-type": "custom", - "arg-type-windows": "with", - "lib-depends": [ - "libxml2" - ], - "ext-depends-windows": [ - "iconv" - ], - "build-with-php": true - }, - "xmlreader": { - "support": { - "BSD": "wip" - }, - "type": "builtin", - "arg-type": "custom", - "lib-depends": [ - "libxml2" - ], - "ext-depends-windows": [ - "xml", - "dom" - ], - "build-with-php": true - }, - "xmlwriter": { - "support": { - "BSD": "wip" - }, - "type": "builtin", - "arg-type": "custom", - "lib-depends": [ - "libxml2" - ], - "ext-depends-windows": [ - "xml" - ], - "build-with-php": true - }, - "xsl": { - "support": { - "Windows": "wip", - "BSD": "wip" - }, - "type": "builtin", - "arg-type": "with-path", - "lib-depends": [ - "libxslt" - ], - "ext-depends": [ - "xml", - "dom" - ] - }, - "xz": { - "type": "external", - "source": "ext-xz", - "arg-type": "with", - "lib-depends": [ - "xz" - ] - }, - "yac": { - "support": { - "BSD": "wip" - }, - "type": "external", - "source": "yac", - "arg-type-unix": "custom", - "lib-depends-unix": [ - "fastlz" - ], - "ext-depends-unix": [ - "igbinary" - ] - }, - "yaml": { - "support": { - "BSD": "wip" - }, - "type": "external", - "source": "yaml", - "arg-type-unix": "with-path", - "arg-type-windows": "with", - "lib-depends": [ - "libyaml" - ] - }, - "zip": { - "support": { - "BSD": "wip" - }, - "type": "external", - "source": "ext-zip", - "arg-type": "custom", - "arg-type-windows": "enable", - "lib-depends-unix": [ - "libzip" - ], - "ext-depends-windows": [ - "zlib", - "bz2" - ], - "lib-depends-windows": [ - "libzip", - "zlib", - "bzip2", - "xz" - ] - }, - "zlib": { - "type": "builtin", - "arg-type": "custom", - "arg-type-windows": "enable", - "lib-depends": [ - "zlib" - ], - "build-with-php": true, - "target": [ - "static" - ] - }, - "zstd": { - "support": { - "Windows": "wip", - "BSD": "wip" - }, - "type": "external", - "source": "ext-zstd", - "arg-type": "custom", - "lib-depends": [ - "zstd" - ] - } -} diff --git a/config/lib.json b/config/lib.json deleted file mode 100644 index 47f3c7b89..000000000 --- a/config/lib.json +++ /dev/null @@ -1,1038 +0,0 @@ -{ - "lib-base": { - "type": "root" - }, - "php": { - "type": "root", - "source": "php-src", - "lib-depends": [ - "lib-base", - "micro", - "frankenphp" - ], - "lib-depends-macos": [ - "lib-base", - "micro", - "libxml2", - "frankenphp" - ], - "lib-suggests-linux": [ - "libacl", - "brotli", - "watcher" - ], - "lib-suggests-macos": [ - "brotli", - "watcher" - ] - }, - "frankenphp": { - "source": "frankenphp", - "type": "target" - }, - "micro": { - "type": "target", - "source": "micro" - }, - "pkg-config": { - "type": "package", - "source": "pkg-config", - "bin-unix": [ - "pkg-config" - ] - }, - "attr": { - "source": "attr", - "static-libs-unix": [ - "libattr.a" - ] - }, - "brotli": { - "source": "brotli", - "pkg-configs": [ - "libbrotlicommon", - "libbrotlidec", - "libbrotlienc" - ], - "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": [ - "zlib", - "libssh2", - "nghttp2" - ], - "lib-suggests-unix": [ - "libssh2", - "brotli", - "nghttp2", - "nghttp3", - "ngtcp2", - "zstd", - "libcares", - "ldap", - "idn2", - "krb5" - ], - "lib-suggests-windows": [ - "brotli", - "zstd" - ], - "frameworks": [ - "CoreFoundation", - "CoreServices", - "SystemConfiguration" - ] - }, - "fastlz": { - "source": "fastlz", - "static-libs-unix": [ - "libfastlz.a" - ], - "headers": [ - "fastlz/fastlz.h" - ] - }, - "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" - ] - }, - "gmssl": { - "source": "gmssl", - "static-libs-unix": [ - "libgmssl.a" - ], - "static-libs-windows": [ - "gmssl.lib" - ], - "frameworks": [ - "Security" - ] - }, - "grpc": { - "source": "grpc", - "pkg-configs": [ - "grpc" - ], - "lib-depends": [ - "zlib", - "openssl", - "libcares" - ], - "cpp-library": true, - "frameworks": [ - "CoreFoundation" - ] - }, - "icu": { - "source": "icu", - "cpp-library": true, - "pkg-configs": [ - "icu-uc", - "icu-i18n", - "icu-io" - ] - }, - "icu-static-win": { - "source": "icu-static-win", - "static-libs-windows": [ - "icudt.lib", - "icuin.lib", - "icuio.lib", - "icuuc.lib" - ], - "headers-windows": [ - "unicode" - ] - }, - "idn2": { - "source": "libidn2", - "pkg-configs": [ - "libidn2" - ], - "headers": [ - "idn2.h" - ], - "lib-suggests-unix": [ - "libiconv", - "gettext", - "libunistring" - ], - "lib-depends-macos": [ - "libiconv", - "gettext" - ] - }, - "imagemagick": { - "source": "imagemagick", - "cpp-library": true, - "pkg-configs": [ - "Magick++-7.Q16HDRI", - "MagickCore-7.Q16HDRI", - "MagickWand-7.Q16HDRI" - ], - "lib-depends": [ - "zlib", - "libjpeg", - "libjxl", - "libpng", - "libwebp", - "freetype", - "libtiff", - "libheif", - "bzip2" - ], - "lib-suggests": [ - "zstd", - "xz", - "libzip", - "libxml2" - ] - }, - "imap": { - "source": "imap", - "static-libs-unix": [ - "libc-client.a" - ], - "lib-suggests": [ - "openssl" - ] - }, - "jbig": { - "source": "jbig", - "static-libs-unix": [ - "libjbig.a", - "libjbig85.a" - ], - "headers": [ - "jbig.h", - "jbig85.h", - "jbig_ar.h" - ] - }, - "krb5": { - "source": "krb5", - "pkg-configs": [ - "krb5-gssapi" - ], - "headers": [ - "krb5.h", - "gssapi/gssapi.h" - ], - "lib-depends": [ - "openssl" - ], - "lib-suggests": [ - "ldap", - "libedit" - ], - "frameworks": [ - "Kerberos" - ] - }, - "ldap": { - "source": "ldap", - "pkg-configs": [ - "ldap", - "lber" - ], - "lib-depends": [ - "openssl", - "zlib", - "gmp", - "libsodium" - ] - }, - "lerc": { - "source": "lerc", - "static-libs-unix": [ - "libLerc.a" - ], - "cpp-library": true - }, - "libacl": { - "source": "libacl", - "static-libs-unix": [ - "libacl.a" - ], - "lib-depends": [ - "attr" - ] - }, - "libaom": { - "source": "libaom", - "static-libs-unix": [ - "libaom.a" - ], - "cpp-library": true - }, - "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" - ] - }, - "libde265": { - "source": "libde265", - "static-libs-unix": [ - "libde265.a" - ], - "cpp-library": true - }, - "libedit": { - "source": "libedit", - "static-libs-unix": [ - "libedit.a" - ], - "lib-depends": [ - "ncurses" - ] - }, - "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" - ] - }, - "libheif": { - "source": "libheif", - "static-libs-unix": [ - "libheif.a" - ], - "lib-depends": [ - "libde265", - "libwebp", - "libaom", - "zlib", - "brotli" - ] - }, - "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" - ] - }, - "libjxl": { - "source": "libjxl", - "pkg-configs": [ - "libjxl", - "libjxl_cms", - "libjxl_threads", - "libhwy" - ], - "lib-depends": [ - "brotli", - "libjpeg", - "libpng", - "libwebp" - ] - }, - "liblz4": { - "source": "liblz4", - "static-libs-unix": [ - "liblz4.a" - ] - }, - "libmaxminddb": { - "source": "libmaxminddb", - "static-libs-unix": [ - "libmaxminddb.a" - ], - "headers": [ - "maxminddb.h", - "maxminddb_config.h" - ] - }, - "libmemcached": { - "source": "libmemcached", - "cpp-library": true, - "static-libs-unix": [ - "libmemcached.a", - "libmemcachedprotocol.a", - "libmemcachedutil.a", - "libhashkit.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" - ] - }, - "librdkafka": { - "source": "librdkafka", - "pkg-configs": [ - "rdkafka++-static", - "rdkafka-static" - ], - "cpp-library": true, - "lib-suggests": [ - "curl", - "liblz4", - "openssl", - "zlib", - "zstd" - ] - }, - "libsodium": { - "source": "libsodium", - "static-libs-unix": [ - "libsodium.a" - ], - "static-libs-windows": [ - "libsodium.lib" - ] - }, - "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" - ] - }, - "libtiff": { - "source": "libtiff", - "static-libs-unix": [ - "libtiff.a" - ], - "lib-depends": [ - "zlib", - "libjpeg" - ], - "lib-suggests-unix": [ - "lerc", - "libwebp", - "jbig", - "xz", - "zstd" - ] - }, - "libunistring": { - "source": "libunistring", - "static-libs-unix": [ - "libunistring.a" - ], - "headers": [ - "unistr.h", - "unistring/" - ] - }, - "liburing": { - "source": "liburing", - "pkg-configs": [ - "liburing", - "liburing-ffi" - ], - "static-libs-linux": [ - "liburing.a", - "liburing-ffi.a" - ], - "headers-linux": [ - "liburing/", - "liburing.h" - ] - }, - "libuuid": { - "source": "libuuid", - "static-libs-unix": [ - "libuuid.a" - ], - "headers": [ - "uuid/uuid.h" - ] - }, - "libuv": { - "source": "libuv", - "static-libs-unix": [ - "libuv.a" - ] - }, - "libwebp": { - "source": "libwebp", - "pkg-configs": [ - "libwebp", - "libwebpdecoder", - "libwebpdemux", - "libwebpmux", - "libsharpyuv" - ], - "static-libs-windows": [ - "libwebp.lib", - "libwebpdecoder.lib", - "libwebpdemux.lib", - "libsharpyuv.lib" - ] - }, - "libxml2": { - "source": "libxml2", - "pkg-configs": [ - "libxml-2.0" - ], - "static-libs-windows": [ - "libxml2s.lib", - "libxml2_a.lib" - ], - "headers": [ - "libxml2" - ], - "lib-depends-unix": [ - "libiconv" - ], - "lib-suggests-unix": [ - "xz", - "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" - ] - }, - "mimalloc": { - "source": "mimalloc", - "static-libs-unix": [ - "libmimalloc.a" - ] - }, - "ncurses": { - "source": "ncurses", - "static-libs-unix": [ - "libncurses.a" - ] - }, - "net-snmp": { - "source": "net-snmp", - "pkg-configs": [ - "netsnmp", - "netsnmp-agent" - ], - "lib-depends": [ - "openssl", - "zlib" - ] - }, - "nghttp2": { - "source": "nghttp2", - "static-libs-unix": [ - "libnghttp2.a" - ], - "static-libs-windows": [ - "nghttp2.lib" - ], - "headers": [ - "nghttp2" - ], - "lib-depends": [ - "zlib", - "openssl" - ], - "lib-suggests": [ - "libxml2", - "nghttp3", - "ngtcp2" - ] - }, - "nghttp3": { - "source": "nghttp3", - "static-libs-unix": [ - "libnghttp3.a" - ], - "static-libs-windows": [ - "nghttp3.lib" - ], - "headers": [ - "nghttp3" - ], - "lib-depends": [ - "openssl" - ] - }, - "ngtcp2": { - "source": "ngtcp2", - "static-libs-unix": [ - "libngtcp2.a", - "libngtcp2_crypto_ossl.a" - ], - "static-libs-windows": [ - "ngtcp2.lib", - "ngtcp2_crypto_ossl.lib" - ], - "headers": [ - "ngtcp2" - ], - "lib-depends": [ - "openssl" - ], - "lib-suggests": [ - "nghttp3", - "brotli" - ] - }, - "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" - ] - }, - "postgresql": { - "source": "postgresql", - "pkg-configs": [ - "libpq" - ], - "lib-depends": [ - "libiconv", - "libxml2", - "openssl", - "zlib", - "libedit" - ], - "lib-suggests": [ - "icu", - "libxslt", - "ldap", - "zstd" - ] - }, - "postgresql-win": { - "source": "postgresql-win", - "static-libs": [ - "libpq.lib", - "libpgport.lib", - "libpgcommon.lib" - ] - }, - "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" - ] - }, - "re2c": { - "source": "re2c", - "bin-unix": [ - "re2c" - ] - }, - "readline": { - "source": "readline", - "static-libs-unix": [ - "libreadline.a" - ], - "lib-depends": [ - "ncurses" - ] - }, - "snappy": { - "source": "snappy", - "cpp-library": true, - "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" - ] - }, - "watcher": { - "source": "watcher", - "cpp-library": true, - "static-libs-unix": [ - "libwatcher-c.a" - ], - "headers": [ - "wtr/watcher-c.h" - ] - }, - "xz": { - "source": "xz", - "static-libs-unix": [ - "liblzma.a" - ], - "static-libs-windows": [ - "lzma.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/pkg.json b/config/pkg.json deleted file mode 100644 index d3b4fb909..000000000 --- a/config/pkg.json +++ /dev/null @@ -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" - } -} diff --git a/config/pkg/ext/builtin-extensions.yml b/config/pkg/ext/builtin-extensions.yml new file mode 100644 index 000000000..52478e2c3 --- /dev/null +++ b/config/pkg/ext/builtin-extensions.yml @@ -0,0 +1,378 @@ +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-com_dotnet: + type: php-extension + php-extension: + os: + - Windows + arg-type@windows: '--enable-com-dotnet=yes' +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: + - ext-xml + php-extension: + arg-type: enable + arg-type@windows: with +ext-exif: + type: php-extension + depends@windows: + - ext-mbstring +ext-ffi: + type: php-extension + depends@unix: + - libffi + depends@windows: + - libffi-win + 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 + arg-type@windows: with +ext-gettext: + type: php-extension + depends@unix: + - gettext + depends@windows: + - gettext-win + php-extension: + arg-type: with-path + arg-type@windows: with +ext-gmp: + type: php-extension + depends@unix: + - gmp + depends@windows: + - mpir + php-extension: + arg-type: with-path + arg-type@windows: with +ext-iconv: + type: php-extension + depends@unix: + - libiconv + depends@windows: + - libiconv-win + php-extension: + arg-type@unix: with-path + arg-type@windows: with +ext-intl: + type: php-extension + depends: + - icu +ext-ldap: + type: php-extension + depends: + - ldap + suggests: + - gmp + - libsodium + - ext-openssl + php-extension: + os: + - Linux + - Darwin + arg-type: with-path + arg-type@windows: with +ext-libxml: + type: php-extension + depends: + - libxml2 + php-extension: + build-with-php: true + build-shared: false + arg-type@unix: with-path + arg-type@windows: with +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@' + arg-type@windows: enable +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: + os: + - Linux + - Darwin + arg-type: custom + display-name: '' +ext-pcntl: + type: php-extension + php-extension: + os: + - Linux + - Darwin +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 + depends@unix: + - unixodbc + - ext-pdo + - ext-odbc + php-extension: + arg-type: custom +ext-pdo_pgsql: + type: php-extension + depends: + - 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: + - postgresql + php-extension: + arg-type: custom +ext-phar: + type: php-extension + depends: + - zlib +ext-posix: + type: php-extension + php-extension: + os: + - Linux + - Darwin +ext-readline: + type: php-extension + depends@unix: + - libedit + depends@windows: + - wineditline + php-extension: + arg-type: '--with-libedit --without-readline' + arg-type@windows: with + 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 + arg-type@windows: with + build-with-php: true +ext-snmp: + type: php-extension + depends: + - net-snmp + php-extension: + os: + - Linux + - Darwin + arg-type: with +ext-soap: + type: php-extension + depends: + - ext-xml + - ext-session + php-extension: + arg-type: enable + 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: + os: + - Linux + - Darwin +ext-sysvsem: + type: php-extension + php-extension: + os: + - Linux + - Darwin +ext-sysvshm: + type: php-extension +ext-tidy: + type: php-extension + depends: + - tidy + php-extension: + arg-type: with-path +ext-tokenizer: + type: php-extension + php-extension: + build-with-php: true +ext-xml: + type: php-extension + depends: + - ext-libxml + depends@windows: + - ext-iconv + - ext-libxml + php-extension: + arg-type@unix: enable + arg-type@windows: with + build-with-php: true +ext-xmlreader: + type: php-extension + depends: + - ext-xml + php-extension: + arg-type: enable + build-with-php: true +ext-xmlwriter: + type: php-extension + depends: + - ext-xml + php-extension: + arg-type: enable + 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 diff --git a/config/pkg/ext/ext-amqp.yml b/config/pkg/ext/ext-amqp.yml new file mode 100644 index 000000000..6c73bf203 --- /dev/null +++ b/config/pkg/ext/ext-amqp.yml @@ -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' diff --git a/config/pkg/ext/ext-apcu.yml b/config/pkg/ext/ext-apcu.yml new file mode 100644 index 000000000..331b04f76 --- /dev/null +++ b/config/pkg/ext/ext-apcu.yml @@ -0,0 +1,9 @@ +ext-apcu: + type: php-extension + artifact: + source: + type: pecl + name: APCu + metadata: + license-files: [LICENSE] + license: PHP-3.01 diff --git a/config/pkg/ext/ext-ast.yml b/config/pkg/ext/ext-ast.yml new file mode 100644 index 000000000..776b82dff --- /dev/null +++ b/config/pkg/ext/ext-ast.yml @@ -0,0 +1,9 @@ +ext-ast: + type: php-extension + artifact: + source: + type: pecl + name: ast + metadata: + license-files: [LICENSE] + license: BSD-3-Clause diff --git a/config/pkg/ext/ext-brotli.yml b/config/pkg/ext/ext-brotli.yml new file mode 100644 index 000000000..147ecb636 --- /dev/null +++ b/config/pkg/ext/ext-brotli.yml @@ -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 diff --git a/config/pkg/ext/ext-decimal.yml b/config/pkg/ext/ext-decimal.yml new file mode 100644 index 000000000..da5419115 --- /dev/null +++ b/config/pkg/ext/ext-decimal.yml @@ -0,0 +1,16 @@ +ext-decimal: + type: php-extension + artifact: + source: + type: ghtagtar + repo: php-decimal/ext-decimal + match: 'v2\.\d.*' + extract: php-src/ext/decimal + metadata: + license-files: [LICENSE] + license: MIT + depends: + - libmpdec + php-extension: + arg-type@unix: '--enable-decimal --with-libmpdec-path=@build_root_path@' + arg-type@windows: '--with-decimal' diff --git a/config/pkg/ext/ext-deepclone.yml b/config/pkg/ext/ext-deepclone.yml new file mode 100644 index 000000000..ae54dbb59 --- /dev/null +++ b/config/pkg/ext/ext-deepclone.yml @@ -0,0 +1,10 @@ +ext-deepclone: + type: php-extension + artifact: + source: + type: ghtagtar + repo: symfony/php-ext-deepclone + extract: php-src/ext/deepclone + metadata: + license-files: [LICENSE] + license: PHP-3.01 diff --git a/config/pkg/ext/ext-dio.yml b/config/pkg/ext/ext-dio.yml new file mode 100644 index 000000000..b445940c3 --- /dev/null +++ b/config/pkg/ext/ext-dio.yml @@ -0,0 +1,9 @@ +ext-dio: + type: php-extension + artifact: + source: + type: pecl + name: dio + metadata: + license-files: [LICENSE] + license: PHP-3.01 diff --git a/config/pkg/ext/ext-ds.yml b/config/pkg/ext/ext-ds.yml new file mode 100644 index 000000000..0c0a4b3c4 --- /dev/null +++ b/config/pkg/ext/ext-ds.yml @@ -0,0 +1,9 @@ +ext-ds: + type: php-extension + artifact: + source: + type: pecl + name: ds + metadata: + license-files: [LICENSE] + license: MIT diff --git a/config/pkg/ext/ext-ev.yml b/config/pkg/ext/ext-ev.yml new file mode 100644 index 000000000..174e5f843 --- /dev/null +++ b/config/pkg/ext/ext-ev.yml @@ -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 diff --git a/config/pkg/ext/ext-event.yml b/config/pkg/ext/ext-event.yml new file mode 100644 index 000000000..537af066b --- /dev/null +++ b/config/pkg/ext/ext-event.yml @@ -0,0 +1,20 @@ +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: + os: + - Linux + - Darwin + arg-type: custom diff --git a/config/pkg/ext/ext-excimer.yml b/config/pkg/ext/ext-excimer.yml new file mode 100644 index 000000000..a896fe0bd --- /dev/null +++ b/config/pkg/ext/ext-excimer.yml @@ -0,0 +1,13 @@ +ext-excimer: + type: php-extension + artifact: + source: + type: pecl + name: excimer + metadata: + license-files: [LICENSE] + license: PHP-3.01 + php-extension: + os: + - Linux + - Darwin diff --git a/config/pkg/ext/ext-glfw.yml b/config/pkg/ext/ext-glfw.yml new file mode 100644 index 000000000..1be1e75f5 --- /dev/null +++ b/config/pkg/ext/ext-glfw.yml @@ -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@' diff --git a/config/pkg/ext/ext-gmssl.yml b/config/pkg/ext/ext-gmssl.yml new file mode 100644 index 000000000..7ed8981d7 --- /dev/null +++ b/config/pkg/ext/ext-gmssl.yml @@ -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 diff --git a/config/pkg/ext/ext-grpc.yml b/config/pkg/ext/ext-grpc.yml new file mode 100644 index 000000000..ae63cad2b --- /dev/null +++ b/config/pkg/ext/ext-grpc.yml @@ -0,0 +1,17 @@ +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: + os: + - Linux + - Darwin + arg-type@unix: enable-path diff --git a/config/pkg/ext/ext-igbinary.yml b/config/pkg/ext/ext-igbinary.yml new file mode 100644 index 000000000..1a80831bb --- /dev/null +++ b/config/pkg/ext/ext-igbinary.yml @@ -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 diff --git a/config/pkg/ext/ext-imagick.yml b/config/pkg/ext/ext-imagick.yml new file mode 100644 index 000000000..2a1c221c3 --- /dev/null +++ b/config/pkg/ext/ext-imagick.yml @@ -0,0 +1,16 @@ +ext-imagick: + type: php-extension + artifact: + source: + type: pecl + name: imagick + metadata: + license-files: [LICENSE] + license: PHP-3.01 + depends: + - imagemagick + php-extension: + os: + - Linux + - Darwin + arg-type: custom diff --git a/config/pkg/ext/ext-imap.yml b/config/pkg/ext/ext-imap.yml new file mode 100644 index 000000000..3abcebb8b --- /dev/null +++ b/config/pkg/ext/ext-imap.yml @@ -0,0 +1,18 @@ +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: + os: + - Linux + - Darwin + arg-type: custom diff --git a/config/pkg/ext/ext-inotify.yml b/config/pkg/ext/ext-inotify.yml new file mode 100644 index 000000000..d69847ee4 --- /dev/null +++ b/config/pkg/ext/ext-inotify.yml @@ -0,0 +1,12 @@ +ext-inotify: + type: php-extension + artifact: + source: + type: pecl + name: inotify + metadata: + license-files: [LICENSE] + license: PHP-3.01 + php-extension: + os: + - Linux diff --git a/config/pkg/ext/ext-lz4.yml b/config/pkg/ext/ext-lz4.yml new file mode 100644 index 000000000..8e16d54e4 --- /dev/null +++ b/config/pkg/ext/ext-lz4.yml @@ -0,0 +1,16 @@ +ext-lz4: + type: php-extension + artifact: + source: + type: git + url: 'https://github.com/kjdev/php-ext-lz4.git' + rev: master + 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' diff --git a/config/pkg/ext/ext-maxminddb.yml b/config/pkg/ext/ext-maxminddb.yml new file mode 100644 index 000000000..59d7e4e3d --- /dev/null +++ b/config/pkg/ext/ext-maxminddb.yml @@ -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 diff --git a/config/pkg/ext/ext-memcache.yml b/config/pkg/ext/ext-memcache.yml new file mode 100644 index 000000000..6e1f4385c --- /dev/null +++ b/config/pkg/ext/ext-memcache.yml @@ -0,0 +1,17 @@ +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: + os: + - Linux + - Darwin + arg-type: '--enable-memcache@shared_suffix@ --with-zlib-dir=@build_root_path@' diff --git a/config/pkg/ext/ext-memcached.yml b/config/pkg/ext/ext-memcached.yml new file mode 100644 index 000000000..b320c6699 --- /dev/null +++ b/config/pkg/ext/ext-memcached.yml @@ -0,0 +1,26 @@ +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: + os: + - Linux + - Darwin + arg-type: '--enable-memcached@shared_suffix@ --with-zlib-dir=@build_root_path@' diff --git a/config/pkg/ext/ext-mongodb.yml b/config/pkg/ext/ext-mongodb.yml new file mode 100644 index 000000000..97f9f0a0d --- /dev/null +++ b/config/pkg/ext/ext-mongodb.yml @@ -0,0 +1,24 @@ +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 + depends@windows: + - ext-openssl + suggests@unix: + - icu + - openssl + - zstd + - zlib + frameworks: + - CoreFoundation + - Security + php-extension: + arg-type@unix: custom + arg-type@windows: '--enable-mongodb --with-mongodb-client-side-encryption' diff --git a/config/pkg/ext/ext-msgpack.yml b/config/pkg/ext/ext-msgpack.yml new file mode 100644 index 000000000..8b230c31a --- /dev/null +++ b/config/pkg/ext/ext-msgpack.yml @@ -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 diff --git a/config/pkg/ext/ext-mysqlnd_ed25519.yml b/config/pkg/ext/ext-mysqlnd_ed25519.yml new file mode 100644 index 000000000..e7aa3de89 --- /dev/null +++ b/config/pkg/ext/ext-mysqlnd_ed25519.yml @@ -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 diff --git a/config/pkg/ext/ext-mysqlnd_parsec.yml b/config/pkg/ext/ext-mysqlnd_parsec.yml new file mode 100644 index 000000000..903d65c40 --- /dev/null +++ b/config/pkg/ext/ext-mysqlnd_parsec.yml @@ -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 diff --git a/config/pkg/ext/ext-opentelemetry.yml b/config/pkg/ext/ext-opentelemetry.yml new file mode 100644 index 000000000..5caebef2a --- /dev/null +++ b/config/pkg/ext/ext-opentelemetry.yml @@ -0,0 +1,9 @@ +ext-opentelemetry: + type: php-extension + artifact: + source: + type: pecl + name: opentelemetry + metadata: + license-files: [LICENSE] + license: Apache-2.0 diff --git a/config/pkg/ext/ext-parallel.yml b/config/pkg/ext/ext-parallel.yml new file mode 100644 index 000000000..94103f578 --- /dev/null +++ b/config/pkg/ext/ext-parallel.yml @@ -0,0 +1,13 @@ +ext-parallel: + type: php-extension + artifact: + source: + type: pecl + name: parallel + metadata: + license-files: [LICENSE] + license: PHP-3.01 + depends@windows: + - pthreads4w + php-extension: + arg-type@windows: with diff --git a/config/pkg/ext/ext-pcov.yml b/config/pkg/ext/ext-pcov.yml new file mode 100644 index 000000000..3fac61d08 --- /dev/null +++ b/config/pkg/ext/ext-pcov.yml @@ -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 diff --git a/config/pkg/ext/ext-pdo_sqlsrv.yml b/config/pkg/ext/ext-pdo_sqlsrv.yml new file mode 100644 index 000000000..6d57333b3 --- /dev/null +++ b/config/pkg/ext/ext-pdo_sqlsrv.yml @@ -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 diff --git a/config/pkg/ext/ext-protobuf.yml b/config/pkg/ext/ext-protobuf.yml new file mode 100644 index 000000000..f9d6b2080 --- /dev/null +++ b/config/pkg/ext/ext-protobuf.yml @@ -0,0 +1,13 @@ +ext-protobuf: + type: php-extension + artifact: + source: + type: pecl + name: protobuf + metadata: + license-files: [LICENSE] + license: BSD-3-Clause + php-extension: + os: + - Linux + - Darwin diff --git a/config/pkg/ext/ext-rar.yml b/config/pkg/ext/ext-rar.yml new file mode 100644 index 000000000..1770788a6 --- /dev/null +++ b/config/pkg/ext/ext-rar.yml @@ -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 diff --git a/config/pkg/ext/ext-rdkafka.yml b/config/pkg/ext/ext-rdkafka.yml new file mode 100644 index 000000000..1c7b55e3a --- /dev/null +++ b/config/pkg/ext/ext-rdkafka.yml @@ -0,0 +1,18 @@ +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: + os: + - Linux + - Darwin + arg-type: custom diff --git a/config/pkg/ext/ext-redis.yml b/config/pkg/ext/ext-redis.yml new file mode 100644 index 000000000..c05b4ee26 --- /dev/null +++ b/config/pkg/ext/ext-redis.yml @@ -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 diff --git a/config/pkg/ext/ext-simdjson.yml b/config/pkg/ext/ext-simdjson.yml new file mode 100644 index 000000000..37eeb5f1a --- /dev/null +++ b/config/pkg/ext/ext-simdjson.yml @@ -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 diff --git a/config/pkg/ext/ext-snappy.yml b/config/pkg/ext/ext-snappy.yml new file mode 100644 index 000000000..394527779 --- /dev/null +++ b/config/pkg/ext/ext-snappy.yml @@ -0,0 +1,19 @@ +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@' + arg-type@windows: '--enable-snappy' diff --git a/config/pkg/ext/ext-spx.yml b/config/pkg/ext/ext-spx.yml new file mode 100644 index 000000000..edf41f514 --- /dev/null +++ b/config/pkg/ext/ext-spx.yml @@ -0,0 +1,17 @@ +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: + os: + - Linux + - Darwin + arg-type: '--enable-SPX@shared_suffix@' diff --git a/config/pkg/ext/ext-sqlsrv.yml b/config/pkg/ext/ext-sqlsrv.yml new file mode 100644 index 000000000..603d7a93a --- /dev/null +++ b/config/pkg/ext/ext-sqlsrv.yml @@ -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 diff --git a/config/pkg/ext/ext-ssh2.yml b/config/pkg/ext/ext-ssh2.yml new file mode 100644 index 000000000..14c9bf327 --- /dev/null +++ b/config/pkg/ext/ext-ssh2.yml @@ -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 diff --git a/config/pkg/ext/ext-swoole.yml b/config/pkg/ext/ext-swoole.yml new file mode 100644 index 000000000..31bbb1dc0 --- /dev/null +++ b/config/pkg/ext/ext-swoole.yml @@ -0,0 +1,87 @@ +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: + os: + - Linux + - Darwin + arg-type: custom +ext-swoole-hook-mysql: + type: php-extension + depends: + - ext-mysqlnd + - ext-pdo + - ext-pdo_mysql + suggests: + - ext-mysqli + php-extension: + os: + - Linux + - Darwin + arg-type: none + display-name: swoole +ext-swoole-hook-odbc: + type: php-extension + depends: + - ext-pdo + - unixodbc + php-extension: + os: + - Linux + - Darwin + arg-type: none + display-name: swoole +ext-swoole-hook-pgsql: + type: php-extension + depends: + - ext-pgsql + - ext-pdo + php-extension: + os: + - Linux + - Darwin + arg-type: none + display-name: swoole +ext-swoole-hook-sqlite: + type: php-extension + depends: + - ext-sqlite3 + - ext-pdo + php-extension: + os: + - Linux + - Darwin + arg-type: none + display-name: swoole diff --git a/config/pkg/ext/ext-swow.yml b/config/pkg/ext/ext-swow.yml new file mode 100644 index 000000000..11592cd0b --- /dev/null +++ b/config/pkg/ext/ext-swow.yml @@ -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 diff --git a/config/pkg/ext/ext-trader.yml b/config/pkg/ext/ext-trader.yml new file mode 100644 index 000000000..03dcadc60 --- /dev/null +++ b/config/pkg/ext/ext-trader.yml @@ -0,0 +1,11 @@ +ext-trader: + type: php-extension + artifact: + source: + type: pecl + name: trader + metadata: + license-files: [LICENSE] + license: BSD-2-Clause + php-extension: + arg-type: enable diff --git a/config/pkg/ext/ext-uuid.yml b/config/pkg/ext/ext-uuid.yml new file mode 100644 index 000000000..3d71aa8b4 --- /dev/null +++ b/config/pkg/ext/ext-uuid.yml @@ -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: + os: + - Linux + - Darwin + arg-type: with-path diff --git a/config/pkg/ext/ext-uv.yml b/config/pkg/ext/ext-uv.yml new file mode 100644 index 000000000..59d4a8c90 --- /dev/null +++ b/config/pkg/ext/ext-uv.yml @@ -0,0 +1,15 @@ +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: + arg-type: with-path diff --git a/config/pkg/ext/ext-xdebug.yml b/config/pkg/ext/ext-xdebug.yml new file mode 100644 index 000000000..20c6b4600 --- /dev/null +++ b/config/pkg/ext/ext-xdebug.yml @@ -0,0 +1,17 @@ +ext-xdebug: + type: php-extension + artifact: + source: + type: pie + repo: xdebug/xdebug + metadata: + license-files: [LICENSE] + license: Xdebug-1.03 + php-extension: + os: + - Linux + - Darwin + zend-extension: true + build-static: false + build-shared: true + build-with-php: false diff --git a/config/pkg/ext/ext-xhprof.yml b/config/pkg/ext/ext-xhprof.yml new file mode 100644 index 000000000..a554d8375 --- /dev/null +++ b/config/pkg/ext/ext-xhprof.yml @@ -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: + os: + - Linux + - Darwin + arg-type: enable + build-with-php: true diff --git a/config/pkg/ext/ext-xlswriter.yml b/config/pkg/ext/ext-xlswriter.yml new file mode 100644 index 000000000..01b99ed90 --- /dev/null +++ b/config/pkg/ext/ext-xlswriter.yml @@ -0,0 +1,17 @@ +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: + arg-type: custom + arg-type@windows: '--with-xlswriter' diff --git a/config/pkg/ext/ext-xz.yml b/config/pkg/ext/ext-xz.yml new file mode 100644 index 000000000..1551eaec4 --- /dev/null +++ b/config/pkg/ext/ext-xz.yml @@ -0,0 +1,16 @@ +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 + arg-type@windows: enable diff --git a/config/pkg/ext/ext-yac.yml b/config/pkg/ext/ext-yac.yml new file mode 100644 index 000000000..e10bea064 --- /dev/null +++ b/config/pkg/ext/ext-yac.yml @@ -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' diff --git a/config/pkg/ext/ext-yaml.yml b/config/pkg/ext/ext-yaml.yml new file mode 100644 index 000000000..a60b62547 --- /dev/null +++ b/config/pkg/ext/ext-yaml.yml @@ -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 diff --git a/config/pkg/ext/ext-zip.yml b/config/pkg/ext/ext-zip.yml new file mode 100644 index 000000000..9a4b0282b --- /dev/null +++ b/config/pkg/ext/ext-zip.yml @@ -0,0 +1,15 @@ +ext-zip: + type: php-extension + artifact: + source: + type: pecl + name: zip + extract: ext-zip + metadata: + license-files: [LICENSE] + license: PHP-3.01 + depends: + - libzip + php-extension: + arg-type: custom + arg-type@windows: enable diff --git a/config/pkg/ext/ext-zstd.yml b/config/pkg/ext/ext-zstd.yml new file mode 100644 index 000000000..9b01422be --- /dev/null +++ b/config/pkg/ext/ext-zstd.yml @@ -0,0 +1,18 @@ +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 + suggests: + - ext-apcu + php-extension: + arg-type: '--enable-zstd --with-libzstd=@build_root_path@' + arg-type@windows: '--enable-zstd' diff --git a/config/pkg/lib/attr.yml b/config/pkg/lib/attr.yml new file mode 100644 index 000000000..cbf181c9d --- /dev/null +++ b/config/pkg/lib/attr.yml @@ -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 diff --git a/config/pkg/lib/brotli.yml b/config/pkg/lib/brotli.yml new file mode 100644 index 000000000..c88b93b5a --- /dev/null +++ b/config/pkg/lib/brotli.yml @@ -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 diff --git a/config/pkg/lib/bzip2.yml b/config/pkg/lib/bzip2.yml new file mode 100644 index 000000000..f9e1870d8 --- /dev/null +++ b/config/pkg/lib/bzip2.yml @@ -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="(?bzip2-(?[^"]+)\.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 diff --git a/config/pkg/lib/fastlz.yml b/config/pkg/lib/fastlz.yml new file mode 100644 index 000000000..e3296831b --- /dev/null +++ b/config/pkg/lib/fastlz.yml @@ -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 diff --git a/config/pkg/lib/freetype.yml b/config/pkg/lib/freetype.yml new file mode 100644 index 000000000..df7dc22a8 --- /dev/null +++ b/config/pkg/lib/freetype.yml @@ -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 diff --git a/config/pkg/lib/gettext-win.yml b/config/pkg/lib/gettext-win.yml new file mode 100644 index 000000000..142383077 --- /dev/null +++ b/config/pkg/lib/gettext-win.yml @@ -0,0 +1,9 @@ +gettext-win: + type: library + artifact: + source: + type: git + url: 'https://github.com/winlibs/gettext.git' + rev: master + static-libs@windows: + - libintl_a.lib diff --git a/config/pkg/lib/gettext.yml b/config/pkg/lib/gettext.yml new file mode 100644 index 000000000..58f541f81 --- /dev/null +++ b/config/pkg/lib/gettext.yml @@ -0,0 +1,19 @@ +gettext: + type: library + artifact: + source: + type: filelist + url: 'https://ftp.gnu.org/pub/gnu/gettext/' + regex: '/href="(?gettext-(?[^"]+)\.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 diff --git a/config/pkg/lib/glfw.yml b/config/pkg/lib/glfw.yml new file mode 100644 index 000000000..f7d015492 --- /dev/null +++ b/config/pkg/lib/glfw.yml @@ -0,0 +1,11 @@ +glfw: + type: library + artifact: glfw + headers: + - GLFW/glfw3.h + - GLFW/glfw3native.h + lang: cpp + static-libs@unix: + - libglfw3.a + static-libs@windows: + - glfw3.lib diff --git a/config/pkg/lib/gmp.yml b/config/pkg/lib/gmp.yml new file mode 100644 index 000000000..c14697748 --- /dev/null +++ b/config/pkg/lib/gmp.yml @@ -0,0 +1,19 @@ +gmp: + type: library + artifact: + source: + type: filelist + url: 'https://ftp.gnu.org/gnu/gmp/' + regex: '/href="(?gmp-(?[^"]+)\.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 diff --git a/config/pkg/lib/gmssl.yml b/config/pkg/lib/gmssl.yml new file mode 100644 index 000000000..076234353 --- /dev/null +++ b/config/pkg/lib/gmssl.yml @@ -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 diff --git a/config/pkg/lib/grpc.yml b/config/pkg/lib/grpc.yml new file mode 100644 index 000000000..feb6068bb --- /dev/null +++ b/config/pkg/lib/grpc.yml @@ -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 diff --git a/config/pkg/lib/icu.yml b/config/pkg/lib/icu.yml new file mode 100644 index 000000000..e42dcb6c3 --- /dev/null +++ b/config/pkg/lib/icu.yml @@ -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 diff --git a/config/pkg/lib/idn2.yml b/config/pkg/lib/idn2.yml new file mode 100644 index 000000000..cef2a1496 --- /dev/null +++ b/config/pkg/lib/idn2.yml @@ -0,0 +1,21 @@ +idn2: + type: library + artifact: + source: + type: filelist + url: 'https://ftp.gnu.org/gnu/libidn/' + regex: '/href="(?libidn2-(?[^"]+)\.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 diff --git a/config/pkg/lib/imagemagick.yml b/config/pkg/lib/imagemagick.yml new file mode 100644 index 000000000..4c4a8e1c1 --- /dev/null +++ b/config/pkg/lib/imagemagick.yml @@ -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 diff --git a/config/pkg/lib/imap.yml b/config/pkg/lib/imap.yml new file mode 100644 index 000000000..31e6c7e71 --- /dev/null +++ b/config/pkg/lib/imap.yml @@ -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 diff --git a/config/pkg/lib/jbig.yml b/config/pkg/lib/jbig.yml new file mode 100644 index 000000000..f96ecf461 --- /dev/null +++ b/config/pkg/lib/jbig.yml @@ -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 diff --git a/config/pkg/lib/krb5.yml b/config/pkg/lib/krb5.yml new file mode 100644 index 000000000..e3234ade5 --- /dev/null +++ b/config/pkg/lib/krb5.yml @@ -0,0 +1,22 @@ +krb5: + type: library + artifact: + source: + type: url + url: 'https://web.mit.edu/kerberos/dist/krb5/1.22/krb5-1.22.2.tar.gz' + 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 diff --git a/config/pkg/lib/ldap.yml b/config/pkg/lib/ldap.yml new file mode 100644 index 000000000..d1e7db2ae --- /dev/null +++ b/config/pkg/lib/ldap.yml @@ -0,0 +1,17 @@ +ldap: + type: library + artifact: + source: + type: filelist + url: 'https://www.openldap.org/software/download/OpenLDAP/openldap-release/' + regex: '/href="(?openldap-(?[^"]+)\.tgz)"/' + metadata: + license-files: [LICENSE] + depends: + - openssl + - zlib + - gmp + - libsodium + pkg-configs: + - ldap + - lber diff --git a/config/pkg/lib/lerc.yml b/config/pkg/lib/lerc.yml new file mode 100644 index 000000000..330ca7952 --- /dev/null +++ b/config/pkg/lib/lerc.yml @@ -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 diff --git a/config/pkg/lib/libacl.yml b/config/pkg/lib/libacl.yml new file mode 100644 index 000000000..e67a33eca --- /dev/null +++ b/config/pkg/lib/libacl.yml @@ -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 diff --git a/config/pkg/lib/libaom.yml b/config/pkg/lib/libaom.yml new file mode 100644 index 000000000..51d14a9b5 --- /dev/null +++ b/config/pkg/lib/libaom.yml @@ -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 diff --git a/config/pkg/lib/libargon2.yml b/config/pkg/lib/libargon2.yml new file mode 100644 index 000000000..dcd388819 --- /dev/null +++ b/config/pkg/lib/libargon2.yml @@ -0,0 +1,14 @@ +libargon2: + type: library + artifact: + source: + type: git + rev: master + url: 'https://github.com/static-php/phc-winner-argon2' + metadata: + license-files: [LICENSE] + license: BSD-2-Clause + suggests: + - libsodium + static-libs@unix: + - libargon2.a diff --git a/config/pkg/lib/libavif.yml b/config/pkg/lib/libavif.yml new file mode 100644 index 000000000..eaea8542a --- /dev/null +++ b/config/pkg/lib/libavif.yml @@ -0,0 +1,20 @@ +libavif: + type: library + artifact: + source: + type: ghtar + repo: AOMediaCodec/libavif + metadata: + license-files: [LICENSE] + license: BSD-2-Clause + depends: + - libaom + suggests: + - libwebp + - libjpeg + - libxml2 + - libpng + static-libs@unix: + - libavif.a + static-libs@windows: + - avif.lib diff --git a/config/pkg/lib/libcares.yml b/config/pkg/lib/libcares.yml new file mode 100644 index 000000000..5d3f8c9d1 --- /dev/null +++ b/config/pkg/lib/libcares.yml @@ -0,0 +1,23 @@ +libcares: + type: library + artifact: + source: + type: ghrel + repo: c-ares/c-ares + match: c-ares-.+\.tar\.gz + prefer-stable: true + source-mirror: + type: filelist + url: 'https://c-ares.org/download/' + regex: '/href="\/download\/(?c-ares-(?[^"]+)\.tar\.gz)"/' + binary: hosted + metadata: + license-files: [LICENSE.md] + headers@unix: + - ares.h + - ares_dns.h + - ares_nameser.h + pkg-configs: + - libcares + static-libs@unix: + - libcares.a diff --git a/config/pkg/lib/libde265.yml b/config/pkg/lib/libde265.yml new file mode 100644 index 000000000..679c875a4 --- /dev/null +++ b/config/pkg/lib/libde265.yml @@ -0,0 +1,13 @@ +libde265: + type: library + artifact: + source: + type: ghrel + repo: strukturag/libde265 + match: libde265-.+\.tar\.gz + prefer-stable: true + metadata: + license-files: [COPYING] + lang: cpp + static-libs@unix: + - libde265.a diff --git a/config/pkg/lib/libedit.yml b/config/pkg/lib/libedit.yml new file mode 100644 index 000000000..02d6dd810 --- /dev/null +++ b/config/pkg/lib/libedit.yml @@ -0,0 +1,15 @@ +libedit: + type: library + artifact: + source: + type: filelist + url: 'https://thrysoee.dk/editline/' + regex: '/href="(?libedit-(?[^"]+)\.tar\.gz)"/' + binary: hosted + metadata: + license-files: [COPYING] + license: BSD-3-Clause + depends: + - ncurses + static-libs@unix: + - libedit.a diff --git a/config/pkg/lib/libevent.yml b/config/pkg/lib/libevent.yml new file mode 100644 index 000000000..aa4d0d525 --- /dev/null +++ b/config/pkg/lib/libevent.yml @@ -0,0 +1,18 @@ +libevent: + type: library + artifact: + source: + type: ghrel + repo: libevent/libevent + match: libevent.+\.tar\.gz + prefer-stable: true + metadata: + license-files: [LICENSE] + license: BSD-3-Clause + depends@unix: + - openssl + static-libs@unix: + - libevent.a + - libevent_core.a + - libevent_extra.a + - libevent_openssl.a diff --git a/config/pkg/lib/libffi-win.yml b/config/pkg/lib/libffi-win.yml new file mode 100644 index 000000000..051dfcb22 --- /dev/null +++ b/config/pkg/lib/libffi-win.yml @@ -0,0 +1,12 @@ +libffi-win: + type: library + artifact: + source: + type: git + rev: master + url: 'https://github.com/static-php/libffi-win.git' + metadata: + license-files: [LICENSE] + license: MIT + static-libs@windows: + - libffi.lib diff --git a/config/pkg/lib/libffi.yml b/config/pkg/lib/libffi.yml new file mode 100644 index 000000000..a33956844 --- /dev/null +++ b/config/pkg/lib/libffi.yml @@ -0,0 +1,16 @@ +libffi: + type: library + artifact: + source: + type: ghrel + repo: libffi/libffi + match: libffi.+\.tar\.gz + prefer-stable: true + metadata: + license-files: [LICENSE] + license: MIT + headers@unix: + - ffi.h + - ffitarget.h + static-libs@unix: + - libffi.a diff --git a/config/pkg/lib/libheif.yml b/config/pkg/lib/libheif.yml new file mode 100644 index 000000000..4265f2c2e --- /dev/null +++ b/config/pkg/lib/libheif.yml @@ -0,0 +1,18 @@ +libheif: + type: library + artifact: + source: + type: ghrel + repo: strukturag/libheif + match: libheif-.+\.tar\.gz + prefer-stable: true + metadata: + license-files: [COPYING] + depends: + - libde265 + - libwebp + - libaom + - zlib + - brotli + static-libs@unix: + - libheif.a diff --git a/config/pkg/lib/libiconv-win.yml b/config/pkg/lib/libiconv-win.yml new file mode 100644 index 000000000..103acf2e9 --- /dev/null +++ b/config/pkg/lib/libiconv-win.yml @@ -0,0 +1,13 @@ +libiconv-win: + type: library + artifact: + source: + type: git + rev: master + url: 'https://github.com/static-php/libiconv-win.git' + metadata: + license-files: [source/COPYING] + license: GPL-3.0-or-later + static-libs@windows: + - libiconv.lib + - libiconv_a.lib diff --git a/config/pkg/lib/libiconv.yml b/config/pkg/lib/libiconv.yml new file mode 100644 index 000000000..7fc3bddad --- /dev/null +++ b/config/pkg/lib/libiconv.yml @@ -0,0 +1,18 @@ +libiconv: + type: library + artifact: + source: + type: filelist + url: 'https://ftp.gnu.org/gnu/libiconv/' + regex: '/href="(?libiconv-(?[^"]+)\.tar\.gz)"/' + binary: hosted + metadata: + license-files: [COPYING.LIB] + license: LGPL-2.0-or-later + headers: + - iconv.h + - libcharset.h + - localcharset.h + static-libs@unix: + - libiconv.a + - libcharset.a diff --git a/config/pkg/lib/libjpeg.yml b/config/pkg/lib/libjpeg.yml new file mode 100644 index 000000000..cca706861 --- /dev/null +++ b/config/pkg/lib/libjpeg.yml @@ -0,0 +1,16 @@ +libjpeg: + type: library + artifact: + source: + type: ghtar + repo: libjpeg-turbo/libjpeg-turbo + metadata: + license-files: [LICENSE.md] + license: IJG + suggests@windows: + - zlib + static-libs@unix: + - libjpeg.a + - libturbojpeg.a + static-libs@windows: + - libjpeg_a.lib diff --git a/config/pkg/lib/libjxl.yml b/config/pkg/lib/libjxl.yml new file mode 100644 index 000000000..f2f3d5516 --- /dev/null +++ b/config/pkg/lib/libjxl.yml @@ -0,0 +1,21 @@ +libjxl: + type: library + artifact: + source: + type: git + url: 'https://github.com/libjxl/libjxl' + rev: main + submodules: [third_party/highway, third_party/libjpeg-turbo, third_party/sjpeg, third_party/skcms] + metadata: + license-files: [LICENSE] + license: BSD-3-Clause + depends: + - brotli + - libjpeg + - libpng + - libwebp + pkg-configs: + - libjxl + - libjxl_cms + - libjxl_threads + - libhwy diff --git a/config/pkg/lib/liblz4.yml b/config/pkg/lib/liblz4.yml new file mode 100644 index 000000000..bb7a74aef --- /dev/null +++ b/config/pkg/lib/liblz4.yml @@ -0,0 +1,15 @@ +liblz4: + type: library + artifact: + source: + type: ghrel + repo: lz4/lz4 + match: lz4-.+\.tar\.gz + prefer-stable: true + metadata: + license-files: [LICENSE] + license: BSD-2-Clause + static-libs@unix: + - liblz4.a + static-libs@windows: + - lz4.lib diff --git a/config/pkg/lib/libmaxminddb.yml b/config/pkg/lib/libmaxminddb.yml new file mode 100644 index 000000000..1f67800e2 --- /dev/null +++ b/config/pkg/lib/libmaxminddb.yml @@ -0,0 +1,18 @@ +libmaxminddb: + type: library + artifact: + source: + type: ghrel + repo: maxmind/libmaxminddb + match: libmaxminddb-.+\.tar\.gz + prefer-stable: true + metadata: + license-files: [LICENSE] + license: Apache-2.0 + headers: + - maxminddb.h + - maxminddb_config.h + static-libs@unix: + - libmaxminddb.a + static-libs@windows: + - libmaxminddb.lib diff --git a/config/pkg/lib/libmemcached.yml b/config/pkg/lib/libmemcached.yml new file mode 100644 index 000000000..5f56f215d --- /dev/null +++ b/config/pkg/lib/libmemcached.yml @@ -0,0 +1,16 @@ +libmemcached: + type: library + artifact: + source: + type: ghtagtar + repo: awesomized/libmemcached + match: 1.\d.\d + metadata: + license-files: [LICENSE] + license: BSD-3-Clause + lang: cpp + static-libs@unix: + - libmemcached.a + - libmemcachedprotocol.a + - libmemcachedutil.a + - libhashkit.a diff --git a/config/pkg/lib/libmpdec.yml b/config/pkg/lib/libmpdec.yml new file mode 100644 index 000000000..adb9e5318 --- /dev/null +++ b/config/pkg/lib/libmpdec.yml @@ -0,0 +1,15 @@ +libmpdec: + type: library + artifact: + source: + type: url + url: 'https://www.bytereef.org/software/mpdecimal/releases/mpdecimal-4.0.1.tar.gz' + metadata: + license-files: [COPYRIGHT.txt] + license: BSD-2-Clause + headers: + - mpdecimal.h + static-libs@unix: + - libmpdec.a + static-libs@windows: + - libmpdec_a.lib diff --git a/config/pkg/lib/libpng.yml b/config/pkg/lib/libpng.yml new file mode 100644 index 000000000..083cf430a --- /dev/null +++ b/config/pkg/lib/libpng.yml @@ -0,0 +1,19 @@ +libpng: + type: library + artifact: + source: + type: ghtagtar + repo: pnggroup/libpng + match: v1\.6\.\d+ + query: '?per_page=150' + binary: hosted + metadata: + license-files: [LICENSE] + license: PNG + depends: + - zlib + static-libs@unix: + - libpng16.a + static-libs@windows: + - libpng16_static.lib + - libpng_a.lib diff --git a/config/pkg/lib/librabbitmq.yml b/config/pkg/lib/librabbitmq.yml new file mode 100644 index 000000000..9928d331d --- /dev/null +++ b/config/pkg/lib/librabbitmq.yml @@ -0,0 +1,16 @@ +librabbitmq: + type: library + artifact: + source: + type: ghtar + repo: alanxz/rabbitmq-c + prefer-stable: true + metadata: + license-files: [LICENSE] + license: MIT + depends: + - openssl + static-libs@unix: + - librabbitmq.a + static-libs@windows: + - rabbitmq.4.lib diff --git a/config/pkg/lib/librdkafka.yml b/config/pkg/lib/librdkafka.yml new file mode 100644 index 000000000..cb83fb43c --- /dev/null +++ b/config/pkg/lib/librdkafka.yml @@ -0,0 +1,19 @@ +librdkafka: + type: library + artifact: + source: + type: ghtar + repo: confluentinc/librdkafka + metadata: + license-files: [LICENSE] + license: BSD-2-Clause + suggests: + - curl + - liblz4 + - openssl + - zlib + - zstd + lang: cpp + pkg-configs: + - rdkafka++-static + - rdkafka-static diff --git a/config/pkg/lib/libsodium.yml b/config/pkg/lib/libsodium.yml new file mode 100644 index 000000000..4bd41363b --- /dev/null +++ b/config/pkg/lib/libsodium.yml @@ -0,0 +1,17 @@ +libsodium: + type: library + artifact: + source: + type: ghrel + repo: jedisct1/libsodium + match: 'libsodium-(?!1\.0\.21)\d+(\.\d+)*\.tar\.gz' + prefer-stable: true + binary: hosted + metadata: + license-files: [LICENSE] + pkg-configs: + - libsodium + static-libs@unix: + - libsodium.a + static-libs@windows: + - libsodium.lib diff --git a/config/pkg/lib/libssh2.yml b/config/pkg/lib/libssh2.yml new file mode 100644 index 000000000..2916e3a9c --- /dev/null +++ b/config/pkg/lib/libssh2.yml @@ -0,0 +1,24 @@ +libssh2: + type: library + artifact: + source: + type: ghrel + repo: libssh2/libssh2 + match: libssh2.+\.tar\.gz + prefer-stable: true + binary: hosted + metadata: + license-files: [COPYING] + license: BSD-3-Clause + depends: + - openssl + headers: + - libssh2.h + - libssh2_publickey.h + - libssh2_sftp.h + pkg-configs: + - libssh2 + static-libs@unix: + - libssh2.a + static-libs@windows: + - libssh2.lib diff --git a/config/pkg/lib/libtiff.yml b/config/pkg/lib/libtiff.yml new file mode 100644 index 000000000..e3f345f13 --- /dev/null +++ b/config/pkg/lib/libtiff.yml @@ -0,0 +1,21 @@ +libtiff: + type: library + artifact: + source: + type: filelist + url: 'https://download.osgeo.org/libtiff/' + regex: '/href="(?tiff-(?[^"]+)\.tar\.xz)"/' + metadata: + license-files: [LICENSE.md] + license: libtiff + depends: + - zlib + - libjpeg + suggests@unix: + - lerc + - libwebp + - jbig + - xz + - zstd + static-libs@unix: + - libtiff.a diff --git a/config/pkg/lib/libunistring.yml b/config/pkg/lib/libunistring.yml new file mode 100644 index 000000000..2b2ffd334 --- /dev/null +++ b/config/pkg/lib/libunistring.yml @@ -0,0 +1,16 @@ +libunistring: + type: library + artifact: + source: + type: filelist + url: 'https://ftp.gnu.org/gnu/libunistring/' + regex: '/href="(?libunistring-(?[^"]+)\.tar\.gz)"/' + binary: hosted + metadata: + license-files: [COPYING.LIB] + license: LGPL-3.0-or-later + headers: + - unistr.h + - unistring/ + static-libs@unix: + - libunistring.a diff --git a/config/pkg/lib/liburing.yml b/config/pkg/lib/liburing.yml new file mode 100644 index 000000000..58bda5240 --- /dev/null +++ b/config/pkg/lib/liburing.yml @@ -0,0 +1,19 @@ +liburing: + type: library + artifact: + source: + type: ghtar + repo: axboe/liburing + prefer-stable: true + metadata: + license-files: [COPYING] + license: LGPL-2.1-or-later + headers@linux: + - liburing/ + - liburing.h + pkg-configs: + - liburing + - liburing-ffi + static-libs@linux: + - liburing.a + - liburing-ffi.a diff --git a/config/pkg/lib/libuuid.yml b/config/pkg/lib/libuuid.yml new file mode 100644 index 000000000..65af3bc77 --- /dev/null +++ b/config/pkg/lib/libuuid.yml @@ -0,0 +1,14 @@ +libuuid: + type: library + artifact: + source: + type: git + url: 'https://github.com/static-php/libuuid.git' + rev: master + metadata: + license-files: [COPYING] + license: MIT + headers: + - uuid/uuid.h + static-libs@unix: + - libuuid.a diff --git a/config/pkg/lib/libuv.yml b/config/pkg/lib/libuv.yml new file mode 100644 index 000000000..1548ebcd8 --- /dev/null +++ b/config/pkg/lib/libuv.yml @@ -0,0 +1,13 @@ +libuv: + type: library + artifact: + source: + type: ghtar + repo: libuv/libuv + metadata: + license-files: [LICENSE, LICENSE-extra] + license: MIT + static-libs@unix: + - libuv.a + static-libs@windows: + - libuv.lib diff --git a/config/pkg/lib/libwebp.yml b/config/pkg/lib/libwebp.yml new file mode 100644 index 000000000..24873b127 --- /dev/null +++ b/config/pkg/lib/libwebp.yml @@ -0,0 +1,21 @@ +libwebp: + type: library + artifact: + source: + type: ghtagtar + repo: webmproject/libwebp + match: v1\.\d+\.\d+$ + metadata: + license-files: [COPYING] + license: BSD-3-Clause + pkg-configs: + - libwebp + - libwebpdecoder + - libwebpdemux + - libwebpmux + - libsharpyuv + static-libs@windows: + - libwebp.lib + - libwebpdecoder.lib + - libwebpdemux.lib + - libsharpyuv.lib diff --git a/config/pkg/lib/libxml2.yml b/config/pkg/lib/libxml2.yml new file mode 100644 index 000000000..5ffdc8b27 --- /dev/null +++ b/config/pkg/lib/libxml2.yml @@ -0,0 +1,24 @@ +libxml2: + type: library + artifact: + source: + type: ghtagtar + repo: GNOME/libxml2 + match: v2\.\d+\.\d+$ + metadata: + license-files: [Copyright] + license: MIT + depends@unix: + - libiconv + - zlib + - xz + depends@windows: + - zlib + - libiconv-win + headers: + - libxml2 + pkg-configs: + - libxml-2.0 + static-libs@windows: + - libxml2s.lib + - libxml2_a.lib diff --git a/config/pkg/lib/libxslt.yml b/config/pkg/lib/libxslt.yml new file mode 100644 index 000000000..a9898648a --- /dev/null +++ b/config/pkg/lib/libxslt.yml @@ -0,0 +1,18 @@ +libxslt: + type: library + artifact: + source: + type: filelist + url: 'https://download.gnome.org/sources/libxslt/1.1/' + regex: '/href="(?libxslt-(?[^"]+)\.tar\.xz)"/' + metadata: + license-files: [Copyright] + license: MIT + depends: + - libxml2 + static-libs@unix: + - libxslt.a + - libexslt.a + static-libs@windows: + - libxslt_a.lib + - libexslt_a.lib diff --git a/config/pkg/lib/libyaml.yml b/config/pkg/lib/libyaml.yml new file mode 100644 index 000000000..8cabd58fb --- /dev/null +++ b/config/pkg/lib/libyaml.yml @@ -0,0 +1,17 @@ +libyaml: + type: library + artifact: + source: + type: ghrel + repo: yaml/libyaml + match: yaml-.+\.tar\.gz + prefer-stable: true + metadata: + license-files: [License] + license: MIT + headers: + - yaml.h + static-libs@unix: + - libyaml.a + static-libs@windows: + - yaml.lib diff --git a/config/pkg/lib/libzip.yml b/config/pkg/lib/libzip.yml new file mode 100644 index 000000000..3d8a375a0 --- /dev/null +++ b/config/pkg/lib/libzip.yml @@ -0,0 +1,25 @@ +libzip: + type: library + artifact: + source: + type: ghrel + repo: nih-at/libzip + match: libzip.+\.tar\.xz + prefer-stable: true + metadata: + license-files: [LICENSE] + license: BSD-3-Clause + depends: + - zlib + suggests: + - bzip2 + - xz + - zstd + - openssl + headers: + - zip.h + - zipconf.h + static-libs@unix: + - libzip.a + static-libs@windows: + - libzip_a.lib diff --git a/config/pkg/lib/mimalloc.yml b/config/pkg/lib/mimalloc.yml new file mode 100644 index 000000000..4ab343ab8 --- /dev/null +++ b/config/pkg/lib/mimalloc.yml @@ -0,0 +1,12 @@ +mimalloc: + type: library + artifact: + source: + type: ghtagtar + repo: microsoft/mimalloc + match: 'v2\.\d\.[^3].*' + metadata: + license-files: [LICENSE] + license: MIT + static-libs@unix: + - libmimalloc.a diff --git a/config/pkg/lib/mpir.yml b/config/pkg/lib/mpir.yml new file mode 100644 index 000000000..6fc8012f0 --- /dev/null +++ b/config/pkg/lib/mpir.yml @@ -0,0 +1,9 @@ +mpir: + type: library + artifact: + source: + type: git + url: 'https://github.com/winlibs/mpir.git' + rev: master + static-libs@windows: + - mpir_a.lib diff --git a/config/pkg/lib/ncurses.yml b/config/pkg/lib/ncurses.yml new file mode 100644 index 000000000..6ce20f917 --- /dev/null +++ b/config/pkg/lib/ncurses.yml @@ -0,0 +1,10 @@ +ncurses: + type: library + artifact: ncurses + static-libs@unix: + - libncurses.a +ncursesw: + type: library + artifact: ncurses + static-libs@unix: + - libncursesw.a diff --git a/config/pkg/lib/net-snmp.yml b/config/pkg/lib/net-snmp.yml new file mode 100644 index 000000000..b1e9912ec --- /dev/null +++ b/config/pkg/lib/net-snmp.yml @@ -0,0 +1,15 @@ +net-snmp: + type: library + artifact: + source: + type: ghtagtar + repo: net-snmp/net-snmp + metadata: + license-files: [COPYING] + license: 'BSD-3-Clause AND MIT' + depends: + - openssl + - zlib + pkg-configs: + - netsnmp + - netsnmp-agent diff --git a/config/pkg/lib/nghttp2.yml b/config/pkg/lib/nghttp2.yml new file mode 100644 index 000000000..11521d5a3 --- /dev/null +++ b/config/pkg/lib/nghttp2.yml @@ -0,0 +1,26 @@ +nghttp2: + type: library + artifact: + source: + type: ghrel + repo: nghttp2/nghttp2 + match: nghttp2.+\.tar\.xz + prefer-stable: true + metadata: + license-files: [COPYING] + depends: + - zlib + - openssl + suggests: + - libxml2 + - nghttp3 + - ngtcp2 + - brotli + headers: + - nghttp2 + pkg-configs: + - libnghttp2 + static-libs@unix: + - libnghttp2.a + static-libs@windows: + - nghttp2.lib diff --git a/config/pkg/lib/nghttp3.yml b/config/pkg/lib/nghttp3.yml new file mode 100644 index 000000000..272172b99 --- /dev/null +++ b/config/pkg/lib/nghttp3.yml @@ -0,0 +1,21 @@ +nghttp3: + type: library + artifact: + source: + type: ghrel + repo: ngtcp2/nghttp3 + match: nghttp3.+\.tar\.xz + prefer-stable: true + metadata: + license-files: [COPYING] + license: MIT + depends: + - openssl + headers: + - nghttp3 + pkg-configs: + - libnghttp3 + static-libs@unix: + - libnghttp3.a + static-libs@windows: + - nghttp3.lib diff --git a/config/pkg/lib/ngtcp2.yml b/config/pkg/lib/ngtcp2.yml new file mode 100644 index 000000000..8984ca729 --- /dev/null +++ b/config/pkg/lib/ngtcp2.yml @@ -0,0 +1,23 @@ +ngtcp2: + type: library + artifact: + source: + type: ghrel + repo: ngtcp2/ngtcp2 + match: ngtcp2.+\.tar\.xz + prefer-stable: true + metadata: + license-files: [COPYING] + license: MIT + depends: + - openssl + headers: + - ngtcp2 + pkg-configs: + - libngtcp2 + - libngtcp2_crypto_ossl + static-libs@unix: + - libngtcp2.a + - libngtcp2_crypto_ossl.a + static-libs@windows: + - ngtcp2.lib diff --git a/config/pkg/lib/onig.yml b/config/pkg/lib/onig.yml new file mode 100644 index 000000000..c2ef658af --- /dev/null +++ b/config/pkg/lib/onig.yml @@ -0,0 +1,18 @@ +onig: + type: library + artifact: + source: + type: ghrel + repo: kkos/oniguruma + match: onig-.+\.tar\.gz + metadata: + license-files: [COPYING] + license: Custom + headers: + - oniggnu.h + - oniguruma.h + static-libs@unix: + - libonig.a + static-libs@windows: + - onig.lib + - onig_a.lib diff --git a/config/pkg/lib/openssl.yml b/config/pkg/lib/openssl.yml new file mode 100644 index 000000000..da02f202b --- /dev/null +++ b/config/pkg/lib/openssl.yml @@ -0,0 +1,29 @@ +openssl: + type: library + artifact: + source: + type: ghrel + repo: openssl/openssl + match: openssl.+\.tar\.gz + prefer-stable: true + source-mirror: + type: filelist + url: 'https://www.openssl.org/source/' + regex: '/href="(?openssl-(?[^"]+)\.tar\.gz)"/' + binary: hosted + metadata: + license-files: [LICENSE.txt] + license: OpenSSL + depends: + - zlib + depends@windows: + - zlib + - jom + headers: + - openssl + static-libs@unix: + - libssl.a + - libcrypto.a + static-libs@windows: + - libssl.lib + - libcrypto.lib diff --git a/config/pkg/lib/postgresql.yml b/config/pkg/lib/postgresql.yml new file mode 100644 index 000000000..ee78072e4 --- /dev/null +++ b/config/pkg/lib/postgresql.yml @@ -0,0 +1,29 @@ +postgresql: + type: library + artifact: + source: + type: ghtagtar + repo: postgres/postgres + match: REL_18_\d+ + binary: + windows-x86_64: { type: url, url: 'https://get.enterprisedb.com/postgresql/postgresql-16.8-1-windows-x64-binaries.zip', extract: { lib/libpq.lib: '{build_root_path}/lib/libpq.lib', lib/libpgport.lib: '{build_root_path}/lib/libpgport.lib', lib/libpgcommon.lib: '{build_root_path}/lib/libpgcommon.lib', include/libpq-fe.h: '{build_root_path}/include/libpq-fe.h', include/postgres_ext.h: '{build_root_path}/include/postgres_ext.h', include/pg_config_ext.h: '{build_root_path}/include/pg_config_ext.h', include/libpq/libpq-fs.h: '{build_root_path}/include/libpq/libpq-fs.h' } } + metadata: + license-files: ['@/postgresql.txt'] + license: PostgreSQL + depends@unix: + - libiconv + - libxml2 + - openssl + - zlib + - libedit + suggests@unix: + - icu + - libxslt + - ldap + - zstd + pkg-configs: + - libpq + static-libs@windows: + - libpq.lib + - libpgport.lib + - libpgcommon.lib diff --git a/config/pkg/lib/pthreads4w.yml b/config/pkg/lib/pthreads4w.yml new file mode 100644 index 000000000..5c8eabace --- /dev/null +++ b/config/pkg/lib/pthreads4w.yml @@ -0,0 +1,13 @@ +pthreads4w: + type: library + artifact: + source: + type: git + rev: master + url: 'https://git.code.sf.net/p/pthreads4w/code' + metadata: + license-files: [LICENSE] + license: Apache-2.0 + static-libs@windows: + - libpthreadVC3.lib + - pthreadVC3.lib diff --git a/config/pkg/lib/qdbm.yml b/config/pkg/lib/qdbm.yml new file mode 100644 index 000000000..86b881d7c --- /dev/null +++ b/config/pkg/lib/qdbm.yml @@ -0,0 +1,14 @@ +qdbm: + type: library + artifact: + source: + type: git + url: 'https://github.com/static-php/qdbm.git' + rev: main + metadata: + license-files: [COPYING] + license: 'GPL-2.0-only OR LGPL-2.1-only' + static-libs@unix: + - libqdbm.a + static-libs@windows: + - qdbm_a.lib diff --git a/config/pkg/lib/readline.yml b/config/pkg/lib/readline.yml new file mode 100644 index 000000000..0cb80b00f --- /dev/null +++ b/config/pkg/lib/readline.yml @@ -0,0 +1,14 @@ +readline: + type: library + artifact: + source: + type: filelist + url: 'https://ftp.gnu.org/pub/gnu/readline/' + regex: '/href="(?readline-(?[^"]+)\.tar\.gz)"/' + metadata: + license-files: [COPYING] + license: GPL-3.0-or-later + depends: + - ncurses + static-libs@unix: + - libreadline.a diff --git a/config/pkg/lib/snappy.yml b/config/pkg/lib/snappy.yml new file mode 100644 index 000000000..9875e784f --- /dev/null +++ b/config/pkg/lib/snappy.yml @@ -0,0 +1,27 @@ +snappy: + type: library + artifact: + source: + type: git + rev: main + url: 'https://github.com/google/snappy' + metadata: + license-files: [COPYING] + license: BSD-3-Clause + depends: + - zlib + headers@unix: + - snappy.h + - snappy-c.h + - snappy-sinksource.h + - snappy-stubs-public.h + headers@windows: + - snappy.h + - snappy-c.h + - snappy-sinksource.h + - snappy-stubs-public.h + lang: cpp + static-libs@unix: + - libsnappy.a + static-libs@windows: + - snappy.lib diff --git a/config/pkg/lib/sqlite.yml b/config/pkg/lib/sqlite.yml new file mode 100644 index 000000000..442629d0c --- /dev/null +++ b/config/pkg/lib/sqlite.yml @@ -0,0 +1,14 @@ +sqlite: + type: library + artifact: + source: 'https://www.sqlite.org/2024/sqlite-autoconf-3450200.tar.gz' + metadata: + license-files: ['@/sqlite.txt'] + license: Unlicense + headers: + - sqlite3.h + - sqlite3ext.h + static-libs@unix: + - libsqlite3.a + static-libs@windows: + - libsqlite3_a.lib diff --git a/config/pkg/lib/tidy.yml b/config/pkg/lib/tidy.yml new file mode 100644 index 000000000..a58a60d66 --- /dev/null +++ b/config/pkg/lib/tidy.yml @@ -0,0 +1,14 @@ +tidy: + type: library + artifact: + source: + type: ghtar + repo: htacg/tidy-html5 + prefer-stable: true + metadata: + license-files: [README/LICENSE.md] + license: W3C + static-libs@unix: + - libtidy.a + static-libs@windows: + - tidy_a.lib diff --git a/config/pkg/lib/unixodbc.yml b/config/pkg/lib/unixodbc.yml new file mode 100644 index 000000000..af98916a0 --- /dev/null +++ b/config/pkg/lib/unixodbc.yml @@ -0,0 +1,13 @@ +unixodbc: + type: library + artifact: + source: 'https://www.unixodbc.org/unixODBC-2.3.12.tar.gz' + metadata: + license-files: [COPYING] + license: LGPL-2.1-only + depends: + - libiconv + static-libs@unix: + - libodbc.a + - libodbccr.a + - libodbcinst.a diff --git a/config/pkg/lib/watcher.yml b/config/pkg/lib/watcher.yml new file mode 100644 index 000000000..82911ec41 --- /dev/null +++ b/config/pkg/lib/watcher.yml @@ -0,0 +1,17 @@ +watcher: + type: library + artifact: + source: + type: ghtar + repo: e-dant/watcher + prefer-stable: true + metadata: + license-files: [license] + license: MIT + frameworks: + - CoreServices + headers: + - wtr/watcher-c.h + lang: cpp + static-libs@unix: + - libwatcher-c.a diff --git a/config/pkg/lib/wineditline.yml b/config/pkg/lib/wineditline.yml new file mode 100644 index 000000000..92f80ba2a --- /dev/null +++ b/config/pkg/lib/wineditline.yml @@ -0,0 +1,14 @@ +wineditline: + type: library + artifact: + source: + type: git + url: 'https://github.com/winlibs/wineditline.git' + rev: master + metadata: + license-files: [COPYING] + license: GPL-2.0-or-later + headers: + - editline + static-libs@windows: + - edit_a.lib diff --git a/config/pkg/lib/xz.yml b/config/pkg/lib/xz.yml new file mode 100644 index 000000000..3be1815d8 --- /dev/null +++ b/config/pkg/lib/xz.yml @@ -0,0 +1,26 @@ +xz: + type: library + artifact: + source: + type: ghrel + repo: tukaani-project/xz + match: xz.+\.tar\.xz + prefer-stable: true + binary: hosted + metadata: + license-files: [COPYING] + license: 0BSD + depends@unix: + - libiconv + headers@unix: + - lzma + headers@windows: + - lzma + - lzma.h + pkg-configs: + - liblzma + static-libs@unix: + - liblzma.a + static-libs@windows: + - lzma.lib + - liblzma_a.lib diff --git a/config/pkg/lib/zlib.yml b/config/pkg/lib/zlib.yml new file mode 100644 index 000000000..b4e71364e --- /dev/null +++ b/config/pkg/lib/zlib.yml @@ -0,0 +1,19 @@ +zlib: + type: library + artifact: + source: + type: ghrel + repo: madler/zlib + match: zlib.+\.tar\.gz + binary: hosted + metadata: + license-files: ['@/zlib.txt'] + license: Zlib-Custom + headers: + - zlib.h + - zconf.h + static-libs@unix: + - libz.a + static-libs@windows: + - zlibstatic.lib + - zlib_a.lib diff --git a/config/pkg/lib/zstd.yml b/config/pkg/lib/zstd.yml new file mode 100644 index 000000000..c1d15cf6e --- /dev/null +++ b/config/pkg/lib/zstd.yml @@ -0,0 +1,21 @@ +zstd: + type: library + artifact: + source: + type: ghrel + repo: facebook/zstd + match: zstd.+\.tar\.gz + prefer-stable: true + metadata: + license-files: [LICENSE] + license: BSD-3-Clause + headers@unix: + - zdict.h + - zstd.h + - zstd_errors.h + pkg-configs: + - libzstd + static-libs@unix: + - libzstd.a + static-libs@windows: + - zstd.lib diff --git a/config/pkg/target/curl.yml b/config/pkg/target/curl.yml new file mode 100644 index 000000000..78064510c --- /dev/null +++ b/config/pkg/target/curl.yml @@ -0,0 +1,44 @@ +curl: + type: target + artifact: + source: + type: ghrel + repo: curl/curl + match: curl.+\.tar\.xz + prefer-stable: true + metadata: + license-files: [COPYING] + license: curl + depends@unix: + - openssl + - zlib + depends@windows: + - zlib + - libssh2 + - nghttp2 + suggests@unix: + - libssh2 + - brotli + - nghttp2 + - nghttp3 + - ngtcp2 + - zstd + - libcares + - ldap + - idn2 + - krb5 + suggests@windows: + - brotli + - zstd + frameworks: + - CoreFoundation + - CoreServices + - SystemConfiguration + headers: + - curl + static-bins@unix: + - curl + static-libs@unix: + - libcurl.a + static-libs@windows: + - libcurl_a.lib diff --git a/config/pkg/target/frankenphp.yml b/config/pkg/target/frankenphp.yml new file mode 100644 index 000000000..21d47448c --- /dev/null +++ b/config/pkg/target/frankenphp.yml @@ -0,0 +1,26 @@ +frankenphp: + type: target + artifact: + source: + type: ghtar + repo: php/frankenphp + prefer-stable: true + metadata: + license-files: [LICENSE] + license: MIT + depends: + - php-embed + - go-xcaddy + depends@windows: + - php-embed + - go-win + - pthreads4w + suggests@unix: + - brotli + - watcher + suggests@windows: + - brotli + static-bins@unix: + - frankenphp + static-bins@windows: + - frankenphp.exe diff --git a/config/pkg/target/go-win.yml b/config/pkg/target/go-win.yml new file mode 100644 index 000000000..46c13f5f1 --- /dev/null +++ b/config/pkg/target/go-win.yml @@ -0,0 +1,10 @@ +go-win: + type: target + artifact: + binary: custom + env: + GOROOT: '{pkg_root_path}/go-win' + GOBIN: '{pkg_root_path}/go-win/bin' + GOPATH: '{pkg_root_path}/go-win/go' + path@windows: + - '{pkg_root_path}/go-win/bin' diff --git a/config/pkg/target/go-xcaddy.yml b/config/pkg/target/go-xcaddy.yml new file mode 100644 index 000000000..deafb37d6 --- /dev/null +++ b/config/pkg/target/go-xcaddy.yml @@ -0,0 +1,12 @@ +go-xcaddy: + type: target + artifact: + binary: custom + env: + GOROOT: '{pkg_root_path}/go-xcaddy' + GOBIN: '{pkg_root_path}/go-xcaddy/bin' + GOPATH: '{pkg_root_path}/go-xcaddy/go' + path@unix: + - '{pkg_root_path}/go-xcaddy/bin' + static-bins: + - xcaddy diff --git a/config/pkg/target/htop.yml b/config/pkg/target/htop.yml new file mode 100644 index 000000000..fcefa70aa --- /dev/null +++ b/config/pkg/target/htop.yml @@ -0,0 +1,10 @@ +htop: + type: target + artifact: + source: + type: ghrel + repo: htop-dev/htop + match: htop.+\.tar\.xz + prefer-stable: true + depends: + - ncursesw diff --git a/config/pkg/target/jom.yml b/config/pkg/target/jom.yml new file mode 100644 index 000000000..70916bfdd --- /dev/null +++ b/config/pkg/target/jom.yml @@ -0,0 +1,7 @@ +jom: + type: target + artifact: + binary: + windows-x86_64: { type: url, url: 'https://download.qt.io/official_releases/jom/jom.zip', extract: '{pkg_root_path}/jom' } + path@windows: + - '{pkg_root_path}\jom' diff --git a/config/pkg/target/musl-toolchain.yml b/config/pkg/target/musl-toolchain.yml new file mode 100644 index 000000000..038059e27 --- /dev/null +++ b/config/pkg/target/musl-toolchain.yml @@ -0,0 +1,6 @@ +musl-toolchain: + type: target + artifact: + binary: + linux-x86_64: { type: url, url: 'https://dl.static-php.dev/static-php-cli/deps/musl-toolchain/x86_64-musl-toolchain.tgz', extract: '{pkg_root_path}/musl-toolchain' } + linux-aarch64: { type: url, url: 'https://dl.static-php.dev/static-php-cli/deps/musl-toolchain/aarch64-musl-toolchain.tgz', extract: '{pkg_root_path}/musl-toolchain' } diff --git a/config/pkg/target/nasm.yml b/config/pkg/target/nasm.yml new file mode 100644 index 000000000..3f483e8bb --- /dev/null +++ b/config/pkg/target/nasm.yml @@ -0,0 +1,5 @@ +nasm: + type: target + artifact: + binary: + windows-x86_64: { type: url, url: 'https://dl.static-php.dev/static-php-cli/deps/nasm/nasm-2.16.01-win64.zip', extract: { nasm.exe: '{php_sdk_path}/bin/nasm.exe', ndisasm.exe: '{php_sdk_path}/bin/ndisasm.exe' } } diff --git a/config/pkg/target/php-sdk-binary-tools.yml b/config/pkg/target/php-sdk-binary-tools.yml new file mode 100644 index 000000000..81180007e --- /dev/null +++ b/config/pkg/target/php-sdk-binary-tools.yml @@ -0,0 +1,5 @@ +php-sdk-binary-tools: + type: target + artifact: + binary: + windows-x86_64: { type: git, rev: master, url: 'https://github.com/php/php-sdk-binary-tools.git', extract: '{php_sdk_path}' } diff --git a/config/pkg/target/php.yml b/config/pkg/target/php.yml new file mode 100644 index 000000000..d45e509e4 --- /dev/null +++ b/config/pkg/target/php.yml @@ -0,0 +1,33 @@ +php: + type: target + artifact: php-src + depends@macos: + - libxml2 +php-cgi: + type: virtual-target + depends: + - php +php-cli: + type: virtual-target + depends: + - php +php-embed: + type: virtual-target + depends: + - php +php-fpm: + type: virtual-target + depends: + - php + suggests@linux: + - libacl +php-micro: + type: virtual-target + artifact: + source: + type: git + extract: php-src/sapi/micro + rev: master + url: 'https://github.com/static-php/phpmicro' + depends: + - php diff --git a/config/pkg/target/pkg-config.yml b/config/pkg/target/pkg-config.yml new file mode 100644 index 000000000..9b6d16035 --- /dev/null +++ b/config/pkg/target/pkg-config.yml @@ -0,0 +1,9 @@ +pkg-config: + type: target + artifact: + source: 'https://dl.static-php.dev/static-php-cli/deps/pkg-config/pkg-config-0.29.2.tar.gz' + binary: + linux-x86_64: { type: ghrel, repo: static-php/static-php-cli-hosted, match: pkg-config-x86_64-linux-musl-1.2.5.txz, extract: { bin/pkg-config: '{pkg_root_path}/bin/pkg-config' } } + linux-aarch64: { type: ghrel, repo: static-php/static-php-cli-hosted, match: pkg-config-aarch64-linux-musl-1.2.5.txz, extract: { bin/pkg-config: '{pkg_root_path}/bin/pkg-config' } } + macos-x86_64: { type: ghrel, repo: static-php/static-php-cli-hosted, match: pkg-config-x86_64-darwin.txz, extract: { bin/pkg-config: '{pkg_root_path}/bin/pkg-config' } } + macos-aarch64: { type: ghrel, repo: static-php/static-php-cli-hosted, match: pkg-config-aarch64-darwin.txz, extract: { bin/pkg-config: '{pkg_root_path}/bin/pkg-config' } } diff --git a/config/pkg/target/protoc.yml b/config/pkg/target/protoc.yml new file mode 100644 index 000000000..b45fb335a --- /dev/null +++ b/config/pkg/target/protoc.yml @@ -0,0 +1,8 @@ +protoc: + type: target + artifact: + binary: + linux-x86_64: { type: ghrel, repo: protocolbuffers/protobuf, match: 'protoc-([0-9.]+)-linux-x86_64\.zip', extract: '{pkg_root_path}/protoc' } + linux-aarch64: { type: ghrel, repo: protocolbuffers/protobuf, match: 'protoc-([0-9.]+)-linux-aarch_64\.zip', extract: '{pkg_root_path}/protoc' } + path: + - '{pkg_root_path}/protoc/bin' diff --git a/config/pkg/target/re2c.yml b/config/pkg/target/re2c.yml new file mode 100644 index 000000000..eb4f85f31 --- /dev/null +++ b/config/pkg/target/re2c.yml @@ -0,0 +1,14 @@ +re2c: + type: target + artifact: + source: + type: ghrel + repo: skvadrik/re2c + match: re2c.+\.tar\.xz + prefer-stable: true + source-mirror: 'https://dl.static-php.dev/static-php-cli/deps/re2c/re2c-4.3.tar.xz' + metadata: + license-files: [LICENSE] + license: 'MIT OR Apache-2.0' + static-bins@unix: + - re2c diff --git a/config/pkg/target/rust.yml b/config/pkg/target/rust.yml new file mode 100644 index 000000000..f2e107380 --- /dev/null +++ b/config/pkg/target/rust.yml @@ -0,0 +1,6 @@ +rust: + type: target + artifact: + binary: custom + path: + - '{pkg_root_path}/rust/bin' diff --git a/config/pkg/target/strawberry-perl.yml b/config/pkg/target/strawberry-perl.yml new file mode 100644 index 000000000..9e2e3187c --- /dev/null +++ b/config/pkg/target/strawberry-perl.yml @@ -0,0 +1,5 @@ +strawberry-perl: + type: target + artifact: + binary: + windows-x86_64: { type: url, url: 'https://github.com/StrawberryPerl/Perl-Dist-Strawberry/releases/download/SP_5380_5361/strawberry-perl-5.38.0.1-64bit-portable.zip', extract: '{pkg_root_path}/strawberry-perl' } diff --git a/config/pkg/target/upx.yml b/config/pkg/target/upx.yml new file mode 100644 index 000000000..29506c39a --- /dev/null +++ b/config/pkg/target/upx.yml @@ -0,0 +1,7 @@ +upx: + type: target + artifact: + binary: + linux-x86_64: { type: ghrel, repo: upx/upx, match: upx.+-amd64_linux\.tar\.xz, extract: { upx: '{pkg_root_path}/bin/upx' } } + linux-aarch64: { type: ghrel, repo: upx/upx, match: upx.+-arm64_linux\.tar\.xz, extract: { upx: '{pkg_root_path}/bin/upx' } } + windows-x86_64: { type: ghrel, repo: upx/upx, match: upx.+-win64\.zip, extract: { upx.exe: '{pkg_root_path}/bin/upx.exe' } } diff --git a/config/pkg/target/vswhere.yml b/config/pkg/target/vswhere.yml new file mode 100644 index 000000000..d7f8670cc --- /dev/null +++ b/config/pkg/target/vswhere.yml @@ -0,0 +1,5 @@ +vswhere: + type: target + artifact: + binary: + windows-x86_64: { type: url, url: 'https://github.com/microsoft/vswhere/releases/download/3.1.7/vswhere.exe', extract: '{pkg_root_path}/bin/vswhere.exe' } diff --git a/config/pkg/target/zig.yml b/config/pkg/target/zig.yml new file mode 100644 index 000000000..dda72b55b --- /dev/null +++ b/config/pkg/target/zig.yml @@ -0,0 +1,4 @@ +zig: + type: target + artifact: + binary: custom diff --git a/config/pre-built.json b/config/pre-built.json deleted file mode 100644 index af8496e22..000000000 --- a/config/pre-built.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "repo": "static-php/static-php-cli-hosted", - "prefer-stable": true, - "match-pattern-linux": "{name}-{arch}-{os}-{libc}-{libcver}.txz", - "match-pattern-macos": "{name}-{arch}-{os}.txz", - "match-pattern-windows": "{name}-{arch}-{os}.tgz" -} diff --git a/config/source.json b/config/source.json deleted file mode 100644 index 06aa5c6f5..000000000 --- a/config/source.json +++ /dev/null @@ -1,1243 +0,0 @@ -{ - "php-src": { - "type": "custom", - "license": { - "type": "file", - "path": "LICENSE" - }, - "alt": false - }, - "amqp": { - "type": "url", - "url": "https://pecl.php.net/get/amqp", - "path": "php-src/ext/amqp", - "filename": "amqp.tgz", - "license": { - "type": "file", - "path": "LICENSE" - } - }, - "apcu": { - "type": "url", - "url": "https://pecl.php.net/get/APCu", - "path": "php-src/ext/apcu", - "filename": "apcu.tgz", - "license": { - "type": "file", - "path": "LICENSE" - } - }, - "ast": { - "type": "url", - "url": "https://pecl.php.net/get/ast", - "path": "php-src/ext/ast", - "filename": "ast.tgz", - "license": { - "type": "file", - "path": "LICENSE" - } - }, - "attr": { - "alt": { - "type": "url", - "url": "https://mirror.souseiseki.middlendian.com/nongnu/attr/attr-2.5.2.tar.gz" - }, - "type": "url", - "url": "https://download.savannah.nongnu.org/releases/attr/attr-2.5.2.tar.gz", - "provide-pre-built": true, - "license": { - "type": "file", - "path": "doc/COPYING.LGPL" - } - }, - "brotli": { - "type": "ghtagtar", - "repo": "google/brotli", - "match": "v1\\.\\d.*", - "provide-pre-built": true, - "license": { - "type": "file", - "path": "LICENSE" - } - }, - "bzip2": { - "alt": { - "type": "filelist", - "url": "https://sourceware.org/pub/bzip2/", - "regex": "/href=\"(?bzip2-(?[^\"]+)\\.tar\\.gz)\"/" - }, - "type": "url", - "url": "https://dl.static-php.dev/static-php-cli/deps/bzip2/bzip2-1.0.8.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." - } - }, - "curl": { - "type": "ghrel", - "repo": "curl/curl", - "match": "curl.+\\.tar\\.xz", - "prefer-stable": true, - "license": { - "type": "file", - "path": "COPYING" - } - }, - "dio": { - "type": "url", - "url": "https://pecl.php.net/get/dio", - "path": "php-src/ext/dio", - "filename": "dio.tgz", - "license": { - "type": "file", - "path": "LICENSE" - } - }, - "ev": { - "type": "url", - "url": "https://pecl.php.net/get/ev", - "path": "php-src/ext/ev", - "filename": "ev.tgz", - "license": { - "type": "file", - "path": "LICENSE" - } - }, - "ext-brotli": { - "type": "git", - "path": "php-src/ext/brotli", - "rev": "master", - "url": "https://github.com/kjdev/php-ext-brotli", - "license": { - "type": "file", - "path": "LICENSE" - } - }, - "ext-ds": { - "type": "url", - "url": "https://pecl.php.net/get/ds", - "path": "php-src/ext/ds", - "filename": "ds.tgz", - "license": { - "type": "file", - "path": "LICENSE" - } - }, - "ext-event": { - "type": "url", - "url": "https://bitbucket.org/osmanov/pecl-event/get/3.0.8.tar.gz", - "path": "php-src/ext/event", - "license": { - "type": "file", - "path": "LICENSE" - } - }, - "ext-glfw": { - "type": "git", - "url": "https://github.com/mario-deluna/php-glfw", - "rev": "master", - "license": { - "type": "file", - "path": "LICENSE" - } - }, - "ext-gmssl": { - "type": "ghtar", - "repo": "gmssl/GmSSL-PHP", - "path": "php-src/ext/gmssl", - "license": { - "type": "file", - "path": "LICENSE" - } - }, - "ext-imagick": { - "type": "url", - "url": "https://pecl.php.net/get/imagick", - "path": "php-src/ext/imagick", - "filename": "imagick.tgz", - "license": { - "type": "file", - "path": "LICENSE" - } - }, - "ext-imap": { - "type": "url", - "url": "https://pecl.php.net/get/imap", - "path": "php-src/ext/imap", - "filename": "imap.tgz", - "license": { - "type": "file", - "path": [ - "LICENSE" - ] - } - }, - "ext-lz4": { - "type": "ghtagtar", - "repo": "kjdev/php-ext-lz4", - "path": "php-src/ext/lz4", - "license": { - "type": "file", - "path": [ - "LICENSE" - ] - } - }, - "ext-maxminddb": { - "type": "url", - "url": "https://pecl.php.net/get/maxminddb", - "filename": "ext-maxminddb.tgz", - "license": { - "type": "file", - "path": "LICENSE" - } - }, - "ext-memcache": { - "type": "url", - "url": "https://pecl.php.net/get/memcache", - "path": "php-src/ext/memcache", - "filename": "memcache.tgz", - "license": { - "type": "file", - "path": "LICENSE" - } - }, - "ext-rdkafka": { - "type": "ghtar", - "repo": "arnaud-lb/php-rdkafka", - "path": "php-src/ext/rdkafka", - "license": { - "type": "file", - "path": "LICENSE" - } - }, - "ext-simdjson": { - "type": "url", - "url": "https://pecl.php.net/get/simdjson", - "path": "php-src/ext/simdjson", - "filename": "simdjson.tgz", - "license": { - "type": "file", - "path": "LICENSE" - } - }, - "ext-snappy": { - "type": "git", - "path": "php-src/ext/snappy", - "rev": "master", - "url": "https://github.com/kjdev/php-ext-snappy", - "license": { - "type": "file", - "path": "LICENSE" - } - }, - "ext-ssh2": { - "type": "url", - "url": "https://pecl.php.net/get/ssh2", - "path": "php-src/ext/ssh2", - "filename": "ssh2.tgz", - "license": { - "type": "file", - "path": "LICENSE" - } - }, - "ext-trader": { - "type": "url", - "url": "https://pecl.php.net/get/trader", - "path": "php-src/ext/trader", - "filename": "trader.tgz", - "license": { - "type": "file", - "path": "LICENSE" - } - }, - "ext-uuid": { - "type": "url", - "url": "https://pecl.php.net/get/uuid", - "path": "php-src/ext/uuid", - "filename": "uuid.tgz", - "license": { - "type": "file", - "path": "LICENSE" - } - }, - "ext-uv": { - "type": "url", - "url": "https://pecl.php.net/get/uv", - "path": "php-src/ext/uv", - "filename": "uv.tgz", - "license": { - "type": "file", - "path": "LICENSE" - } - }, - "ext-xz": { - "type": "git", - "path": "php-src/ext/xz", - "rev": "main", - "url": "https://github.com/codemasher/php-ext-xz", - "license": { - "type": "file", - "path": "LICENSE" - } - }, - "ext-zip": { - "type": "url", - "url": "https://pecl.php.net/get/zip", - "filename": "ext-zip.tgz", - "license": { - "type": "file", - "path": "LICENSE" - } - }, - "ext-zstd": { - "type": "git", - "path": "php-src/ext/zstd", - "rev": "master", - "url": "https://github.com/kjdev/php-ext-zstd", - "license": { - "type": "file", - "path": "LICENSE" - } - }, - "fastlz": { - "type": "git", - "url": "https://github.com/ariya/FastLZ.git", - "rev": "master", - "license": { - "type": "file", - "path": "LICENSE.MIT" - } - }, - "frankenphp": { - "type": "ghtar", - "repo": "php/frankenphp", - "prefer-stable": true, - "license": { - "type": "file", - "path": "LICENSE" - } - }, - "freetype": { - "type": "ghtagtar", - "repo": "freetype/freetype", - "match": "VER-2-\\d+-\\d+", - "license": { - "type": "file", - "path": "LICENSE.TXT" - } - }, - "gettext": { - "type": "filelist", - "url": "https://ftp.gnu.org/pub/gnu/gettext/", - "regex": "/href=\"(?gettext-(?[^\"]+)\\.tar\\.xz)\"/", - "license": { - "type": "file", - "path": "gettext-runtime/intl/COPYING.LIB" - } - }, - "gmp": { - "type": "filelist", - "url": "https://gmplib.org/download/gmp/", - "regex": "/href=\"(?gmp-(?[^\"]+)\\.tar\\.xz)\"/", - "provide-pre-built": true, - "alt": { - "type": "url", - "url": "https://dl.static-php.dev/static-php-cli/deps/gmp/gmp-6.3.0.tar.xz" - }, - "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." - } - }, - "gmssl": { - "type": "ghtar", - "repo": "guanzhi/GmSSL", - "provide-pre-built": true, - "license": { - "type": "file", - "path": "LICENSE" - } - }, - "grpc": { - "type": "git", - "rev": "v1.75.x", - "url": "https://github.com/grpc/grpc.git", - "provide-pre-built": true, - "license": { - "type": "file", - "path": "LICENSE" - } - }, - "icu": { - "type": "ghrel", - "repo": "unicode-org/icu", - "match": "icu4c.+-src\\.tgz", - "prefer-stable": true, - "provide-pre-built": true, - "license": { - "type": "file", - "path": "LICENSE" - } - }, - "icu-static-win": { - "type": "url", - "url": "https://dl.static-php.dev/static-php-cli/deps/icu-static-windows-x64/icu-static-windows-x64.zip", - "license": { - "type": "text", - "text": "none" - } - }, - "igbinary": { - "type": "url", - "url": "https://pecl.php.net/get/igbinary", - "path": "php-src/ext/igbinary", - "filename": "igbinary.tgz", - "license": { - "type": "file", - "path": "COPYING" - } - }, - "imagemagick": { - "type": "ghtar", - "repo": "ImageMagick/ImageMagick", - "license": { - "type": "file", - "path": "LICENSE" - } - }, - "imap": { - "type": "git", - "url": "https://github.com/static-php/imap.git", - "rev": "master", - "license": { - "type": "file", - "path": "LICENSE" - } - }, - "inotify": { - "type": "url", - "url": "https://pecl.php.net/get/inotify", - "path": "php-src/ext/inotify", - "filename": "inotify.tgz", - "license": { - "type": "file", - "path": "LICENSE" - } - }, - "jbig": { - "type": "url", - "url": "https://dl.static-php.dev/static-php-cli/deps/jbig/jbigkit-2.1.tar.gz", - "provide-pre-built": true, - "alt": { - "type": "url", - "url": "https://www.cl.cam.ac.uk/~mgk25/jbigkit/download/jbigkit-2.1.tar.gz" - }, - "license": { - "type": "file", - "path": "COPYING" - } - }, - "krb5": { - "type": "ghtagtar", - "repo": "krb5/krb5", - "match": "krb5.+-final", - "prefer-stable": true, - "license": { - "type": "file", - "path": "NOTICE" - } - }, - "ldap": { - "type": "filelist", - "url": "https://www.openldap.org/software/download/OpenLDAP/openldap-release/", - "regex": "/href=\"(?openldap-(?[^\"]+)\\.tgz)\"/", - "license": { - "type": "file", - "path": "LICENSE" - } - }, - "lerc": { - "type": "ghtar", - "repo": "Esri/lerc", - "prefer-stable": true, - "provide-pre-built": true, - "license": { - "type": "file", - "path": "LICENSE" - } - }, - "libacl": { - "alt": { - "type": "url", - "url": "https://mirror.souseiseki.middlendian.com/nongnu/acl/acl-2.3.2.tar.gz" - }, - "type": "url", - "url": "https://download.savannah.nongnu.org/releases/acl/acl-2.3.2.tar.gz", - "provide-pre-built": true, - "license": { - "type": "file", - "path": "doc/COPYING.LGPL" - } - }, - "libaom": { - "type": "git", - "rev": "main", - "url": "https://aomedia.googlesource.com/aom", - "provide-pre-built": true, - "license": { - "type": "file", - "path": "LICENSE" - } - }, - "libargon2": { - "type": "git", - "rev": "master", - "url": "https://github.com/static-php/phc-winner-argon2", - "provide-pre-built": true, - "license": { - "type": "file", - "path": "LICENSE" - } - }, - "libavif": { - "type": "ghtar", - "repo": "AOMediaCodec/libavif", - "provide-pre-built": true, - "license": { - "type": "file", - "path": "LICENSE" - } - }, - "libcares": { - "type": "ghrel", - "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/", - "regex": "/href=\"\\/download\\/(?c-ares-(?[^\"]+)\\.tar\\.gz)\"/" - }, - "license": { - "type": "file", - "path": "LICENSE.md" - } - }, - "libde265": { - "type": "ghrel", - "repo": "strukturag/libde265", - "match": "libde265-.+\\.tar\\.gz", - "prefer-stable": true, - "provide-pre-built": true, - "license": { - "type": "file", - "path": "COPYING" - } - }, - "libedit": { - "type": "filelist", - "url": "https://thrysoee.dk/editline/", - "regex": "/href=\"(?libedit-(?[^\"]+)\\.tar\\.gz)\"/", - "provide-pre-built": true, - "license": { - "type": "file", - "path": "COPYING" - } - }, - "libevent": { - "type": "ghrel", - "repo": "libevent/libevent", - "match": "libevent.+\\.tar\\.gz", - "prefer-stable": true, - "provide-pre-built": true, - "license": { - "type": "file", - "path": "LICENSE" - } - }, - "libffi": { - "type": "ghrel", - "repo": "libffi/libffi", - "match": "libffi.+\\.tar\\.gz", - "prefer-stable": true, - "license": { - "type": "file", - "path": "LICENSE" - } - }, - "libffi-win": { - "type": "git", - "rev": "master", - "url": "https://github.com/static-php/libffi-win.git", - "license": { - "type": "file", - "path": "LICENSE" - } - }, - "libheif": { - "type": "ghrel", - "repo": "strukturag/libheif", - "match": "libheif-.+\\.tar\\.gz", - "prefer-stable": true, - "provide-pre-built": true, - "license": { - "type": "file", - "path": "COPYING" - } - }, - "libiconv": { - "type": "filelist", - "url": "https://ftp.gnu.org/gnu/libiconv/", - "regex": "/href=\"(?libiconv-(?[^\"]+)\\.tar\\.gz)\"/", - "provide-pre-built": true, - "license": { - "type": "file", - "path": "COPYING.LIB" - } - }, - "libiconv-win": { - "type": "git", - "rev": "master", - "url": "https://github.com/static-php/libiconv-win.git", - "license": { - "type": "file", - "path": "source/COPYING" - } - }, - "libidn2": { - "type": "filelist", - "url": "https://ftp.gnu.org/gnu/libidn/", - "regex": "/href=\"(?libidn2-(?[^\"]+)\\.tar\\.gz)\"/", - "license": { - "type": "file", - "path": "COPYING.LESSERv3" - } - }, - "libjpeg": { - "type": "ghtar", - "repo": "libjpeg-turbo/libjpeg-turbo", - "license": { - "type": "file", - "path": "LICENSE.md" - } - }, - "libjxl": { - "type": "git", - "url": "https://github.com/libjxl/libjxl", - "rev": "main", - "submodules": [ - "third_party/highway", - "third_party/libjpeg-turbo", - "third_party/sjpeg", - "third_party/skcms" - ], - "license": { - "type": "file", - "path": "LICENSE" - } - }, - "liblz4": { - "type": "ghrel", - "repo": "lz4/lz4", - "match": "lz4-.+\\.tar\\.gz", - "prefer-stable": true, - "provide-pre-built": true, - "license": { - "type": "file", - "path": "LICENSE" - } - }, - "libmaxminddb": { - "type": "ghrel", - "repo": "maxmind/libmaxminddb", - "match": "libmaxminddb-.+\\.tar\\.gz", - "prefer-stable": true, - "license": { - "type": "file", - "path": "LICENSE" - } - }, - "libmemcached": { - "type": "ghtagtar", - "repo": "awesomized/libmemcached", - "match": "1.\\d.\\d", - "license": { - "type": "file", - "path": "LICENSE" - } - }, - "libpng": { - "type": "git", - "url": "https://github.com/glennrp/libpng.git", - "rev": "libpng16", - "provide-pre-built": true, - "license": { - "type": "file", - "path": "LICENSE" - } - }, - "librabbitmq": { - "type": "git", - "url": "https://github.com/alanxz/rabbitmq-c.git", - "rev": "master", - "license": { - "type": "file", - "path": "LICENSE" - } - }, - "librdkafka": { - "type": "ghtar", - "repo": "confluentinc/librdkafka", - "license": { - "type": "file", - "path": "LICENSE" - } - }, - "libsodium": { - "type": "ghrel", - "repo": "jedisct1/libsodium", - "match": "libsodium-\\d+(\\.\\d+)*\\.tar\\.gz", - "prefer-stable": true, - "provide-pre-built": true, - "license": { - "type": "file", - "path": "LICENSE" - } - }, - "libssh2": { - "type": "ghrel", - "repo": "libssh2/libssh2", - "match": "libssh2.+\\.tar\\.gz", - "prefer-stable": true, - "provide-pre-built": true, - "license": { - "type": "file", - "path": "COPYING" - } - }, - "libtiff": { - "type": "filelist", - "url": "https://download.osgeo.org/libtiff/", - "regex": "/href=\"(?tiff-(?[^\"]+)\\.tar\\.xz)\"/", - "license": { - "type": "file", - "path": "LICENSE.md" - } - }, - "libunistring": { - "type": "filelist", - "url": "https://ftp.gnu.org/gnu/libunistring/", - "regex": "/href=\"(?libunistring-(?[^\"]+)\\.tar\\.gz)\"/", - "provide-pre-built": true, - "license": { - "type": "file", - "path": "COPYING.LIB" - } - }, - "liburing": { - "type": "ghtar", - "repo": "axboe/liburing", - "prefer-stable": true, - "license": { - "type": "file", - "path": "COPYING" - } - }, - "libuuid": { - "type": "git", - "url": "https://github.com/static-php/libuuid.git", - "rev": "master", - "provide-pre-built": true, - "license": { - "type": "file", - "path": "COPYING" - } - }, - "libuv": { - "type": "ghtar", - "repo": "libuv/libuv", - "license": [ - { - "type": "file", - "path": "LICENSE" - }, - { - "type": "file", - "path": "LICENSE-extra" - } - ] - }, - "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" - } - }, - "libxml2": { - "type": "url", - "url": "https://github.com/GNOME/libxml2/archive/refs/tags/v2.12.5.tar.gz", - "license": { - "type": "file", - "path": "Copyright" - } - }, - "libxslt": { - "type": "filelist", - "url": "https://download.gnome.org/sources/libxslt/1.1/", - "regex": "/href=\"(?libxslt-(?[^\"]+)\\.tar\\.xz)\"/", - "license": { - "type": "file", - "path": "Copyright" - } - }, - "libyaml": { - "type": "ghrel", - "repo": "yaml/libyaml", - "match": "yaml-.+\\.tar\\.gz", - "prefer-stable": true, - "provide-pre-built": true, - "license": { - "type": "file", - "path": "License" - } - }, - "libzip": { - "type": "ghrel", - "repo": "nih-at/libzip", - "match": "libzip.+\\.tar\\.xz", - "prefer-stable": true, - "license": { - "type": "file", - "path": "LICENSE" - } - }, - "memcached": { - "type": "url", - "url": "https://pecl.php.net/get/memcached", - "path": "php-src/ext/memcached", - "filename": "memcached.tgz", - "license": { - "type": "file", - "path": "LICENSE" - } - }, - "micro": { - "type": "git", - "path": "php-src/sapi/micro", - "rev": "master", - "url": "https://github.com/static-php/phpmicro", - "license": { - "type": "file", - "path": "LICENSE" - } - }, - "mimalloc": { - "type": "ghtagtar", - "repo": "microsoft/mimalloc", - "match": "v2\\.\\d\\.[^3].*", - "provide-pre-built": false, - "license": { - "type": "file", - "path": "LICENSE" - } - }, - "mongodb": { - "type": "ghrel", - "repo": "mongodb/mongo-php-driver", - "path": "php-src/ext/mongodb", - "match": "mongodb.+\\.tgz", - "prefer-stable": true, - "license": { - "type": "file", - "path": "LICENSE" - } - }, - "msgpack": { - "type": "url", - "url": "https://pecl.php.net/get/msgpack", - "path": "php-src/ext/msgpack", - "filename": "msgpack.tgz", - "license": { - "type": "file", - "path": "LICENSE" - } - }, - "ncurses": { - "type": "filelist", - "url": "https://ftp.gnu.org/pub/gnu/ncurses/", - "regex": "/href=\"(?ncurses-(?[^\"]+)\\.tar\\.gz)\"/", - "provide-pre-built": true, - "license": { - "type": "file", - "path": "COPYING" - } - }, - "net-snmp": { - "type": "ghtagtar", - "repo": "net-snmp/net-snmp", - "license": { - "type": "file", - "path": "COPYING" - } - }, - "nghttp2": { - "type": "ghrel", - "repo": "nghttp2/nghttp2", - "match": "nghttp2.+\\.tar\\.xz", - "prefer-stable": true, - "license": { - "type": "file", - "path": "COPYING" - } - }, - "nghttp3": { - "type": "ghrel", - "repo": "ngtcp2/nghttp3", - "match": "nghttp3.+\\.tar\\.xz", - "prefer-stable": true, - "license": { - "type": "file", - "path": "COPYING" - } - }, - "ngtcp2": { - "type": "ghrel", - "repo": "ngtcp2/ngtcp2", - "match": "ngtcp2.+\\.tar\\.xz", - "prefer-stable": true, - "license": { - "type": "file", - "path": "COPYING" - } - }, - "onig": { - "type": "ghrel", - "repo": "kkos/oniguruma", - "match": "onig-.+\\.tar\\.gz", - "prefer-stable": true, - "provide-pre-built": true, - "license": { - "type": "file", - "path": "COPYING" - } - }, - "openssl": { - "type": "ghrel", - "repo": "openssl/openssl", - "match": "openssl.+\\.tar\\.gz", - "prefer-stable": true, - "alt": { - "type": "filelist", - "url": "https://www.openssl.org/source/", - "regex": "/href=\"(?openssl-(?[^\"]+)\\.tar\\.gz)\"/" - }, - "provide-pre-built": true, - "license": { - "type": "file", - "path": "LICENSE.txt" - } - }, - "opentelemetry": { - "type": "url", - "url": "https://pecl.php.net/get/opentelemetry", - "path": "php-src/ext/opentelemetry", - "filename": "opentelemetry.tgz", - "license": { - "type": "file", - "path": "LICENSE" - } - }, - "parallel": { - "type": "url", - "url": "https://pecl.php.net/get/parallel", - "path": "php-src/ext/parallel", - "filename": "parallel.tgz", - "license": { - "type": "file", - "path": "LICENSE" - } - }, - "pdo_sqlsrv": { - "type": "url", - "url": "https://pecl.php.net/get/pdo_sqlsrv", - "path": "php-src/ext/pdo_sqlsrv", - "filename": "pdo_sqlsrv.tgz", - "license": { - "type": "file", - "path": "LICENSE" - } - }, - "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" - } - }, - "postgresql": { - "type": "ghtagtar", - "repo": "postgres/postgres", - "match": "REL_18_\\d+", - "license": { - "type": "file", - "path": "COPYRIGHT" - } - }, - "postgresql-win": { - "type": "url", - "url": "https://get.enterprisedb.com/postgresql/postgresql-16.8-1-windows-x64-binaries.zip", - "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." - } - }, - "protobuf": { - "type": "url", - "url": "https://pecl.php.net/get/protobuf", - "path": "php-src/ext/protobuf", - "filename": "protobuf.tgz", - "license": { - "type": "file", - "path": "LICENSE" - } - }, - "pthreads4w": { - "type": "git", - "rev": "master", - "url": "https://git.code.sf.net/p/pthreads4w/code", - "license": { - "type": "file", - "path": "LICENSE" - } - }, - "qdbm": { - "type": "git", - "url": "https://github.com/static-php/qdbm.git", - "rev": "main", - "license": { - "type": "file", - "path": "COPYING" - } - }, - "rar": { - "type": "git", - "url": "https://github.com/static-php/php-rar.git", - "path": "php-src/ext/rar", - "rev": "issue-php82", - "license": { - "type": "file", - "path": "LICENSE" - } - }, - "re2c": { - "type": "ghrel", - "repo": "skvadrik/re2c", - "match": "re2c.+\\.tar\\.xz", - "prefer-stable": true, - "alt": { - "type": "url", - "url": "https://dl.static-php.dev/static-php-cli/deps/re2c/re2c-4.3.tar.xz" - }, - "license": { - "type": "file", - "path": "LICENSE" - } - }, - "readline": { - "type": "filelist", - "url": "https://ftp.gnu.org/pub/gnu/readline/", - "regex": "/href=\"(?readline-(?[^\"]+)\\.tar\\.gz)\"/", - "provide-pre-built": true, - "license": { - "type": "file", - "path": "COPYING" - } - }, - "redis": { - "type": "url", - "url": "https://pecl.php.net/get/redis", - "path": "php-src/ext/redis", - "filename": "redis.tgz", - "license": { - "type": "file", - "path": [ - "LICENSE", - "COPYING" - ] - } - }, - "snappy": { - "type": "git", - "rev": "main", - "url": "https://github.com/google/snappy", - "license": { - "type": "file", - "path": "COPYING" - } - }, - "spx": { - "type": "pie", - "repo": "noisebynorthwest/php-spx", - "path": "php-src/ext/spx", - "license": { - "type": "file", - "path": "LICENSE" - } - }, - "sqlite": { - "type": "url", - "url": "https://www.sqlite.org/2024/sqlite-autoconf-3450200.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." - } - }, - "sqlsrv": { - "type": "url", - "url": "https://pecl.php.net/get/sqlsrv", - "path": "php-src/ext/sqlsrv", - "filename": "sqlsrv.tgz", - "license": { - "type": "file", - "path": "LICENSE" - } - }, - "swoole": { - "path": "php-src/ext/swoole", - "type": "ghtar", - "repo": "swoole/swoole-src", - "match": "v6\\.+", - "prefer-stable": true, - "license": { - "type": "file", - "path": "LICENSE" - } - }, - "swow": { - "path": "php-src/ext/swow-src", - "type": "ghtar", - "repo": "swow/swow", - "prefer-stable": true, - "license": { - "type": "file", - "path": "LICENSE" - } - }, - "tidy": { - "type": "ghtar", - "repo": "htacg/tidy-html5", - "prefer-stable": true, - "license": { - "type": "file", - "path": "README/LICENSE.md" - } - }, - "unixodbc": { - "type": "url", - "url": "https://www.unixodbc.org/unixODBC-2.3.12.tar.gz", - "provide-pre-built": true, - "license": { - "type": "file", - "path": "COPYING" - } - }, - "watcher": { - "type": "ghtar", - "repo": "e-dant/watcher", - "prefer-stable": true, - "license": { - "type": "file", - "path": "license" - } - }, - "xdebug": { - "type": "url", - "url": "https://pecl.php.net/get/xdebug", - "filename": "xdebug.tgz", - "license": { - "type": "file", - "path": "LICENSE" - } - }, - "xhprof": { - "type": "url", - "url": "https://pecl.php.net/get/xhprof", - "path": "php-src/ext/xhprof-src", - "filename": "xhprof.tgz", - "license": { - "type": "file", - "path": "LICENSE" - } - }, - "xlswriter": { - "type": "url", - "url": "https://pecl.php.net/get/xlswriter", - "path": "php-src/ext/xlswriter", - "filename": "xlswriter.tgz", - "license": { - "type": "file", - "path": "LICENSE" - } - }, - "xz": { - "type": "ghrel", - "repo": "tukaani-project/xz", - "match": "xz.+\\.tar\\.xz", - "prefer-stable": true, - "provide-pre-built": true, - "license": { - "type": "file", - "path": "COPYING" - } - }, - "yac": { - "type": "url", - "url": "https://pecl.php.net/get/yac", - "path": "php-src/ext/yac", - "filename": "yac.tgz", - "license": { - "type": "file", - "path": "LICENSE" - } - }, - "yaml": { - "type": "git", - "path": "php-src/ext/yaml", - "rev": "php7", - "url": "https://github.com/php/pecl-file_formats-yaml", - "license": { - "type": "file", - "path": "LICENSE" - } - }, - "zlib": { - "type": "ghrel", - "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" - } - }, - "zstd": { - "type": "ghrel", - "repo": "facebook/zstd", - "match": "zstd.+\\.tar\\.gz", - "prefer-stable": true, - "license": { - "type": "file", - "path": "LICENSE" - } - } -} diff --git a/docs/.vitepress/components/CliGenerator.vue b/docs/.vitepress/components/CliGenerator.vue index 378f6eaed..14590d64c 100644 --- a/docs/.vitepress/components/CliGenerator.vue +++ b/docs/.vitepress/components/CliGenerator.vue @@ -1,9 +1,14 @@