v3-refactor: Implement v2 libs (#1021)

All the library build scripts for *nix has refactored to v3 now
This commit is contained in:
Jerry Ma 2026-02-06 16:42:00 +08:00 committed by GitHub
commit 7c3ac484b3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
250 changed files with 7269 additions and 924 deletions

View File

@ -1,3 +0,0 @@
# static-php-cli
English README has been moved to [README.md](README.md).

View File

@ -1,44 +1,53 @@
{
"pre-push": {
"enabled": true,
"actions": [
{
"action": "php vendor/bin/phpstan analyse --memory-limit 300M"
}
]
},
"pre-commit": {
"enabled": true,
"actions": [
{
"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"]
}
]
}
]
},
"post-change": {
"enabled": true,
"actions": [
{
"action": "composer install",
"options": [],
"conditions": [
{
"exec": "\\CaptainHook\\App\\Hook\\Condition\\FileChanged\\Any",
"args": [
[
"composer.json",
"composer.lock"
]
]
}
]
}
]
}
}
{
"pre-push": {
"enabled": true,
"actions": [
{
"action": "php vendor/bin/phpstan analyse --memory-limit 300M"
}
]
},
"pre-commit": {
"enabled": true,
"actions": [
{
"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"]
}
]
}
]
},
"post-change": {
"enabled": true,
"actions": [
{
"action": "composer install",
"options": [],
"conditions": [
{
"exec": "\\CaptainHook\\App\\Hook\\Condition\\FileChanged\\Any",
"args": [
[
"composer.json",
"composer.lock"
]
]
}
]
}
]
}
}

View File

@ -25,7 +25,7 @@
"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": {
@ -50,6 +50,7 @@
"scripts": {
"analyse": "phpstan analyse --memory-limit 300M",
"cs-fix": "php-cs-fixer fix",
"lint-config": "bin/spc dev:lint-config",
"test": "vendor/bin/phpunit tests/ --no-coverage",
"build:phar": "vendor/bin/box compile"
},

299
composer.lock generated
View File

@ -4,20 +4,20 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "edb3243ddaa8b05d8f6545266a146e93",
"content-hash": "f30595c9c60e55083112410cd1ffb203",
"packages": [
{
"name": "laravel/prompts",
"version": "v0.3.8",
"version": "v0.3.11",
"source": {
"type": "git",
"url": "https://github.com/laravel/prompts.git",
"reference": "096748cdfb81988f60090bbb839ce3205ace0d35"
"reference": "dd2a2ed95acacbcccd32fd98dee4c946ae7a7217"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laravel/prompts/zipball/096748cdfb81988f60090bbb839ce3205ace0d35",
"reference": "096748cdfb81988f60090bbb839ce3205ace0d35",
"url": "https://api.github.com/repos/laravel/prompts/zipball/dd2a2ed95acacbcccd32fd98dee4c946ae7a7217",
"reference": "dd2a2ed95acacbcccd32fd98dee4c946ae7a7217",
"shasum": ""
},
"require": {
@ -61,22 +61,22 @@
"description": "Add beautiful and user-friendly forms to your command-line applications.",
"support": {
"issues": "https://github.com/laravel/prompts/issues",
"source": "https://github.com/laravel/prompts/tree/v0.3.8"
"source": "https://github.com/laravel/prompts/tree/v0.3.11"
},
"time": "2025-11-21T20:52:52+00:00"
"time": "2026-01-27T02:55:06+00:00"
},
{
"name": "laravel/serializable-closure",
"version": "v2.0.7",
"version": "v2.0.8",
"source": {
"type": "git",
"url": "https://github.com/laravel/serializable-closure.git",
"reference": "cb291e4c998ac50637c7eeb58189c14f5de5b9dd"
"reference": "7581a4407012f5f53365e11bafc520fd7f36bc9b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laravel/serializable-closure/zipball/cb291e4c998ac50637c7eeb58189c14f5de5b9dd",
"reference": "cb291e4c998ac50637c7eeb58189c14f5de5b9dd",
"url": "https://api.github.com/repos/laravel/serializable-closure/zipball/7581a4407012f5f53365e11bafc520fd7f36bc9b",
"reference": "7581a4407012f5f53365e11bafc520fd7f36bc9b",
"shasum": ""
},
"require": {
@ -124,7 +124,7 @@
"issues": "https://github.com/laravel/serializable-closure/issues",
"source": "https://github.com/laravel/serializable-closure"
},
"time": "2025-11-21T20:52:36+00:00"
"time": "2026-01-08T16:22:46+00:00"
},
{
"name": "nette/php-generator",
@ -200,16 +200,16 @@
},
{
"name": "nette/utils",
"version": "v4.1.0",
"version": "v4.1.1",
"source": {
"type": "git",
"url": "https://github.com/nette/utils.git",
"reference": "fa1f0b8261ed150447979eb22e373b7b7ad5a8e0"
"reference": "c99059c0315591f1a0db7ad6002000288ab8dc72"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nette/utils/zipball/fa1f0b8261ed150447979eb22e373b7b7ad5a8e0",
"reference": "fa1f0b8261ed150447979eb22e373b7b7ad5a8e0",
"url": "https://api.github.com/repos/nette/utils/zipball/c99059c0315591f1a0db7ad6002000288ab8dc72",
"reference": "c99059c0315591f1a0db7ad6002000288ab8dc72",
"shasum": ""
},
"require": {
@ -283,9 +283,9 @@
],
"support": {
"issues": "https://github.com/nette/utils/issues",
"source": "https://github.com/nette/utils/tree/v4.1.0"
"source": "https://github.com/nette/utils/tree/v4.1.1"
},
"time": "2025-12-01T17:49:23+00:00"
"time": "2025-12-22T12:14:32+00:00"
},
{
"name": "php-di/invoker",
@ -520,16 +520,16 @@
},
{
"name": "symfony/console",
"version": "v7.4.0",
"version": "v7.4.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
"reference": "0bc0f45254b99c58d45a8fbf9fb955d46cbd1bb8"
"reference": "41e38717ac1dd7a46b6bda7d6a82af2d98a78894"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/console/zipball/0bc0f45254b99c58d45a8fbf9fb955d46cbd1bb8",
"reference": "0bc0f45254b99c58d45a8fbf9fb955d46cbd1bb8",
"url": "https://api.github.com/repos/symfony/console/zipball/41e38717ac1dd7a46b6bda7d6a82af2d98a78894",
"reference": "41e38717ac1dd7a46b6bda7d6a82af2d98a78894",
"shasum": ""
},
"require": {
@ -594,7 +594,7 @@
"terminal"
],
"support": {
"source": "https://github.com/symfony/console/tree/v7.4.0"
"source": "https://github.com/symfony/console/tree/v7.4.4"
},
"funding": [
{
@ -614,7 +614,7 @@
"type": "tidelift"
}
],
"time": "2025-11-27T13:27:24+00:00"
"time": "2026-01-13T11:36:38+00:00"
},
{
"name": "symfony/deprecation-contracts",
@ -1020,16 +1020,16 @@
},
{
"name": "symfony/process",
"version": "v7.4.0",
"version": "v7.4.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/process.git",
"reference": "7ca8dc2d0dcf4882658313aba8be5d9fd01026c8"
"reference": "608476f4604102976d687c483ac63a79ba18cc97"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/process/zipball/7ca8dc2d0dcf4882658313aba8be5d9fd01026c8",
"reference": "7ca8dc2d0dcf4882658313aba8be5d9fd01026c8",
"url": "https://api.github.com/repos/symfony/process/zipball/608476f4604102976d687c483ac63a79ba18cc97",
"reference": "608476f4604102976d687c483ac63a79ba18cc97",
"shasum": ""
},
"require": {
@ -1061,7 +1061,7 @@
"description": "Executes commands in sub-processes",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/process/tree/v7.4.0"
"source": "https://github.com/symfony/process/tree/v7.4.5"
},
"funding": [
{
@ -1081,7 +1081,7 @@
"type": "tidelift"
}
],
"time": "2025-10-16T11:21:06+00:00"
"time": "2026-01-26T15:07:59+00:00"
},
{
"name": "symfony/service-contracts",
@ -1172,16 +1172,16 @@
},
{
"name": "symfony/string",
"version": "v8.0.0",
"version": "v8.0.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/string.git",
"reference": "f929eccf09531078c243df72398560e32fa4cf4f"
"reference": "758b372d6882506821ed666032e43020c4f57194"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/string/zipball/f929eccf09531078c243df72398560e32fa4cf4f",
"reference": "f929eccf09531078c243df72398560e32fa4cf4f",
"url": "https://api.github.com/repos/symfony/string/zipball/758b372d6882506821ed666032e43020c4f57194",
"reference": "758b372d6882506821ed666032e43020c4f57194",
"shasum": ""
},
"require": {
@ -1238,7 +1238,7 @@
"utf8"
],
"support": {
"source": "https://github.com/symfony/string/tree/v8.0.0"
"source": "https://github.com/symfony/string/tree/v8.0.4"
},
"funding": [
{
@ -1258,20 +1258,20 @@
"type": "tidelift"
}
],
"time": "2025-09-11T14:37:55+00:00"
"time": "2026-01-12T12:37:40+00:00"
},
{
"name": "symfony/yaml",
"version": "v7.4.0",
"version": "v7.4.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/yaml.git",
"reference": "6c84a4b55aee4cd02034d1c528e83f69ddf63810"
"reference": "24dd4de28d2e3988b311751ac49e684d783e2345"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/yaml/zipball/6c84a4b55aee4cd02034d1c528e83f69ddf63810",
"reference": "6c84a4b55aee4cd02034d1c528e83f69ddf63810",
"url": "https://api.github.com/repos/symfony/yaml/zipball/24dd4de28d2e3988b311751ac49e684d783e2345",
"reference": "24dd4de28d2e3988b311751ac49e684d783e2345",
"shasum": ""
},
"require": {
@ -1314,7 +1314,7 @@
"description": "Loads and dumps YAML files",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/yaml/tree/v7.4.0"
"source": "https://github.com/symfony/yaml/tree/v7.4.1"
},
"funding": [
{
@ -1334,7 +1334,7 @@
"type": "tidelift"
}
],
"time": "2025-11-16T10:14:42+00:00"
"time": "2025-12-04T18:11:45+00:00"
},
{
"name": "zhamao/logger",
@ -1719,16 +1719,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": {
@ -1791,7 +1791,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": [
{
@ -1799,7 +1799,7 @@
"type": "github"
}
],
"time": "2025-08-27T21:55:40+00:00"
"time": "2025-11-15T06:23:42+00:00"
},
{
"name": "amphp/parser",
@ -2217,7 +2217,7 @@
},
{
"name": "captainhook/captainhook-phar",
"version": "5.27.3",
"version": "5.27.5",
"source": {
"type": "git",
"url": "https://github.com/captainhook-git/captainhook-phar.git",
@ -2271,7 +2271,7 @@
],
"support": {
"issues": "https://github.com/captainhook-git/captainhook/issues",
"source": "https://github.com/captainhook-git/captainhook-phar/tree/5.27.3"
"source": "https://github.com/captainhook-git/captainhook-phar/tree/5.27.5"
},
"funding": [
{
@ -2968,16 +2968,16 @@
},
{
"name": "friendsofphp/php-cs-fixer",
"version": "v3.91.0",
"version": "v3.93.1",
"source": {
"type": "git",
"url": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer.git",
"reference": "c4a25f20390337789c26b693ae46faa125040352"
"reference": "b3546ab487c0762c39f308dc1ec0ea2c461fc21a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/c4a25f20390337789c26b693ae46faa125040352",
"reference": "c4a25f20390337789c26b693ae46faa125040352",
"url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/b3546ab487c0762c39f308dc1ec0ea2c461fc21a",
"reference": "b3546ab487c0762c39f308dc1ec0ea2c461fc21a",
"shasum": ""
},
"require": {
@ -3009,16 +3009,17 @@
},
"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",
"infection/infection": "^0.32",
"justinrainbow/json-schema": "^6.6",
"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 || ^8.0",
"symfony/yaml": "^5.4.45 || ^6.4.24 || ^7.3.2 || ^8.0"
"phpunit/phpunit": "^9.6.31 || ^10.5.60 || ^11.5.48",
"symfony/polyfill-php85": "^1.33",
"symfony/var-dumper": "^5.4.48 || ^6.4.26 || ^7.4.0 || ^8.0",
"symfony/yaml": "^5.4.45 || ^6.4.30 || ^7.4.1 || ^8.0"
},
"suggest": {
"ext-dom": "For handling output formats in XML",
@ -3033,7 +3034,7 @@
"PhpCsFixer\\": "src/"
},
"exclude-from-classmap": [
"src/Fixer/Internal/*"
"src/**/Internal/"
]
},
"notification-url": "https://packagist.org/downloads/",
@ -3059,7 +3060,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.91.0"
"source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.93.1"
},
"funding": [
{
@ -3067,7 +3068,7 @@
"type": "github"
}
],
"time": "2025-11-28T22:07:42+00:00"
"time": "2026-01-28T23:50:50+00:00"
},
{
"name": "humbug/box",
@ -3316,21 +3317,21 @@
},
{
"name": "justinrainbow/json-schema",
"version": "6.6.2",
"version": "6.6.4",
"source": {
"type": "git",
"url": "https://github.com/jsonrainbow/json-schema.git",
"reference": "3c25fe750c1599716ef26aa997f7c026cee8c4b7"
"reference": "2eeb75d21cf73211335888e7f5e6fd7440723ec7"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/jsonrainbow/json-schema/zipball/3c25fe750c1599716ef26aa997f7c026cee8c4b7",
"reference": "3c25fe750c1599716ef26aa997f7c026cee8c4b7",
"url": "https://api.github.com/repos/jsonrainbow/json-schema/zipball/2eeb75d21cf73211335888e7f5e6fd7440723ec7",
"reference": "2eeb75d21cf73211335888e7f5e6fd7440723ec7",
"shasum": ""
},
"require": {
"ext-json": "*",
"marc-mabe/php-enum": "^4.0",
"marc-mabe/php-enum": "^4.4",
"php": "^7.2 || ^8.0"
},
"require-dev": {
@ -3385,9 +3386,9 @@
],
"support": {
"issues": "https://github.com/jsonrainbow/json-schema/issues",
"source": "https://github.com/jsonrainbow/json-schema/tree/6.6.2"
"source": "https://github.com/jsonrainbow/json-schema/tree/6.6.4"
},
"time": "2025-11-28T15:24:03+00:00"
"time": "2025-12-19T15:01:32+00:00"
},
{
"name": "kelunik/certificate",
@ -3449,20 +3450,20 @@
},
{
"name": "league/uri",
"version": "7.6.0",
"version": "7.8.0",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/uri.git",
"reference": "f625804987a0a9112d954f9209d91fec52182344"
"reference": "4436c6ec8d458e4244448b069cc572d088230b76"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/thephpleague/uri/zipball/f625804987a0a9112d954f9209d91fec52182344",
"reference": "f625804987a0a9112d954f9209d91fec52182344",
"url": "https://api.github.com/repos/thephpleague/uri/zipball/4436c6ec8d458e4244448b069cc572d088230b76",
"reference": "4436c6ec8d458e4244448b069cc572d088230b76",
"shasum": ""
},
"require": {
"league/uri-interfaces": "^7.6",
"league/uri-interfaces": "^7.8",
"php": "^8.1",
"psr/http-factory": "^1"
},
@ -3476,11 +3477,11 @@
"ext-gmp": "to improve IPV4 host parsing",
"ext-intl": "to handle IDN host with the best performance",
"ext-uri": "to use the PHP native URI class",
"jeremykendall/php-domain-parser": "to resolve Public Suffix and Top Level Domain",
"league/uri-components": "Needed to easily manipulate URI objects components",
"league/uri-polyfill": "Needed to backport the PHP URI extension for older versions of PHP",
"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 WHATWG URL",
"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",
@ -3535,7 +3536,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.6.0"
"source": "https://github.com/thephpleague/uri/tree/7.8.0"
},
"funding": [
{
@ -3543,20 +3544,20 @@
"type": "github"
}
],
"time": "2025-11-18T12:17:23+00:00"
"time": "2026-01-14T17:24:56+00:00"
},
{
"name": "league/uri-interfaces",
"version": "7.6.0",
"version": "7.8.0",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/uri-interfaces.git",
"reference": "ccbfb51c0445298e7e0b7f4481b942f589665368"
"reference": "c5c5cd056110fc8afaba29fa6b72a43ced42acd4"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/thephpleague/uri-interfaces/zipball/ccbfb51c0445298e7e0b7f4481b942f589665368",
"reference": "ccbfb51c0445298e7e0b7f4481b942f589665368",
"url": "https://api.github.com/repos/thephpleague/uri-interfaces/zipball/c5c5cd056110fc8afaba29fa6b72a43ced42acd4",
"reference": "c5c5cd056110fc8afaba29fa6b72a43ced42acd4",
"shasum": ""
},
"require": {
@ -3569,7 +3570,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 WHATWG URL",
"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",
@ -3619,7 +3620,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.6.0"
"source": "https://github.com/thephpleague/uri-interfaces/tree/7.8.0"
},
"funding": [
{
@ -3627,7 +3628,7 @@
"type": "github"
}
],
"time": "2025-11-18T12:17:23+00:00"
"time": "2026-01-15T06:54:53+00:00"
},
{
"name": "marc-mabe/php-enum",
@ -3816,16 +3817,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": {
@ -3868,9 +3869,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",
@ -4259,16 +4260,16 @@
},
{
"name": "phpdocumentor/reflection-docblock",
"version": "5.6.5",
"version": "5.6.6",
"source": {
"type": "git",
"url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
"reference": "90614c73d3800e187615e2dd236ad0e2a01bf761"
"reference": "5cee1d3dfc2d2aa6599834520911d246f656bcb8"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/90614c73d3800e187615e2dd236ad0e2a01bf761",
"reference": "90614c73d3800e187615e2dd236ad0e2a01bf761",
"url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/5cee1d3dfc2d2aa6599834520911d246f656bcb8",
"reference": "5cee1d3dfc2d2aa6599834520911d246f656bcb8",
"shasum": ""
},
"require": {
@ -4278,7 +4279,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",
@ -4317,9 +4318,9 @@
"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.5"
"source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.6.6"
},
"time": "2025-11-27T19:50:05+00:00"
"time": "2025-12-22T21:13:58+00:00"
},
{
"name": "phpdocumentor/type-resolver",
@ -4381,16 +4382,16 @@
},
{
"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": {
@ -4422,21 +4423,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.38",
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/2770dcdf5078d0b0d53f94317e06affe88419aa8",
"reference": "2770dcdf5078d0b0d53f94317e06affe88419aa8",
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/dfaf1f530e1663aa167bc3e52197adb221582629",
"reference": "dfaf1f530e1663aa167bc3e52197adb221582629",
"shasum": ""
},
"require": {
"php": "^7.2|^8.0"
"php": "^7.4|^8.0"
},
"conflict": {
"phpstan/phpstan-shim": "*"
@ -4477,7 +4478,7 @@
"type": "github"
}
],
"time": "2025-09-30T10:16:31+00:00"
"time": "2026-01-30T17:12:46+00:00"
},
{
"name": "phpunit/php-code-coverage",
@ -4802,16 +4803,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": {
@ -4832,7 +4833,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",
@ -4883,7 +4884,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": [
{
@ -4907,7 +4908,7 @@
"type": "tidelift"
}
],
"time": "2025-09-28T12:04:46+00:00"
"time": "2026-01-27T05:48:37+00:00"
},
{
"name": "psr/event-dispatcher",
@ -5141,16 +5142,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": {
@ -5204,7 +5205,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": [
{
@ -5212,7 +5213,7 @@
"type": "open_collective"
}
],
"time": "2025-01-01T16:37:48+00:00"
"time": "2025-12-23T15:25:20+00:00"
},
{
"name": "react/dns",
@ -5835,16 +5836,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": {
@ -5900,7 +5901,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": [
{
@ -5920,7 +5921,7 @@
"type": "tidelift"
}
],
"time": "2025-09-07T05:25:07+00:00"
"time": "2026-01-24T09:25:16+00:00"
},
{
"name": "sebastian/complexity",
@ -6732,16 +6733,16 @@
},
{
"name": "symfony/event-dispatcher",
"version": "v8.0.0",
"version": "v8.0.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher.git",
"reference": "573f95783a2ec6e38752979db139f09fec033f03"
"reference": "99301401da182b6cfaa4700dbe9987bb75474b47"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/573f95783a2ec6e38752979db139f09fec033f03",
"reference": "573f95783a2ec6e38752979db139f09fec033f03",
"url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/99301401da182b6cfaa4700dbe9987bb75474b47",
"reference": "99301401da182b6cfaa4700dbe9987bb75474b47",
"shasum": ""
},
"require": {
@ -6793,7 +6794,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/v8.0.0"
"source": "https://github.com/symfony/event-dispatcher/tree/v8.0.4"
},
"funding": [
{
@ -6813,7 +6814,7 @@
"type": "tidelift"
}
],
"time": "2025-10-30T14:17:19+00:00"
"time": "2026-01-05T11:45:55+00:00"
},
{
"name": "symfony/event-dispatcher-contracts",
@ -6963,16 +6964,16 @@
},
{
"name": "symfony/finder",
"version": "v7.4.0",
"version": "v7.4.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/finder.git",
"reference": "340b9ed7320570f319028a2cbec46d40535e94bd"
"reference": "ad4daa7c38668dcb031e63bc99ea9bd42196a2cb"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/finder/zipball/340b9ed7320570f319028a2cbec46d40535e94bd",
"reference": "340b9ed7320570f319028a2cbec46d40535e94bd",
"url": "https://api.github.com/repos/symfony/finder/zipball/ad4daa7c38668dcb031e63bc99ea9bd42196a2cb",
"reference": "ad4daa7c38668dcb031e63bc99ea9bd42196a2cb",
"shasum": ""
},
"require": {
@ -7007,7 +7008,7 @@
"description": "Finds files and directories via an intuitive fluent interface",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/finder/tree/v7.4.0"
"source": "https://github.com/symfony/finder/tree/v7.4.5"
},
"funding": [
{
@ -7027,7 +7028,7 @@
"type": "tidelift"
}
],
"time": "2025-11-05T05:42:40+00:00"
"time": "2026-01-26T15:07:59+00:00"
},
{
"name": "symfony/options-resolver",
@ -7332,16 +7333,16 @@
},
{
"name": "symfony/var-dumper",
"version": "v7.4.0",
"version": "v7.4.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/var-dumper.git",
"reference": "41fd6c4ae28c38b294b42af6db61446594a0dece"
"reference": "0e4769b46a0c3c62390d124635ce59f66874b282"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/41fd6c4ae28c38b294b42af6db61446594a0dece",
"reference": "41fd6c4ae28c38b294b42af6db61446594a0dece",
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/0e4769b46a0c3c62390d124635ce59f66874b282",
"reference": "0e4769b46a0c3c62390d124635ce59f66874b282",
"shasum": ""
},
"require": {
@ -7395,7 +7396,7 @@
"dump"
],
"support": {
"source": "https://github.com/symfony/var-dumper/tree/v7.4.0"
"source": "https://github.com/symfony/var-dumper/tree/v7.4.4"
},
"funding": [
{
@ -7415,7 +7416,7 @@
"type": "tidelift"
}
],
"time": "2025-10-27T20:36:44+00:00"
"time": "2026-01-01T22:13:48+00:00"
},
{
"name": "thecodingmachine/safe",

9
config/artifact/glfw.yml Normal file
View File

@ -0,0 +1,9 @@
glfw:
metadata:
license-files:
- LICENSE
license: MIT
source:
type: git
url: 'https://github.com/mario-deluna/php-glfw'
rev: master

View File

@ -0,0 +1,7 @@
php-src:
metadata:
license-files:
- LICENSE
license: PHP-3.01
source:
type: php-release

View File

@ -48,7 +48,7 @@ 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
@ -82,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:
@ -92,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"
@ -130,11 +132,11 @@ OPENSSLDIR=""
; build target: macho or macho (possibly we could support macho-universal in the future)
; Currently we do not support universal and cross-compilation for macOS.
SPC_TARGET=native-macos
; compiler environments
CC=clang
CXX=clang++
AR=ar
LD=ld
; 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"

View File

@ -43,6 +43,14 @@
"calendar": {
"type": "builtin"
},
"com_dotnet": {
"support": {
"BSD": "no",
"Linux": "no",
"Darwin": "no"
},
"type": "builtin"
},
"ctype": {
"type": "builtin"
},

File diff suppressed because it is too large Load Diff

View File

@ -1,98 +0,0 @@
{
"frankenphp": {
"artifact": "frankenphp",
"depends": [
"php-embed",
"go-xcaddy"
],
"depends@macos": [
"php-embed",
"go-xcaddy",
"libxml2"
],
"type": "virtual-target"
},
"go-xcaddy": {
"artifact": "go-xcaddy",
"static-bins": [
"xcaddy"
],
"type": "target"
},
"musl-toolchain": {
"artifact": "musl-toolchain",
"type": "target"
},
"nasm": {
"artifact": "nasm",
"type": "target"
},
"php": {
"artifact": "php-src",
"depends@macos": [
"libxml2"
],
"type": "target"
},
"php-cgi": {
"depends": [
"php"
],
"type": "virtual-target"
},
"php-cli": {
"depends": [
"php"
],
"type": "virtual-target"
},
"php-embed": {
"depends": [
"php"
],
"type": "virtual-target"
},
"php-fpm": {
"depends": [
"php"
],
"type": "virtual-target"
},
"php-micro": {
"artifact": "micro",
"depends": [
"php"
],
"type": "virtual-target"
},
"php-sdk-binary-tools": {
"artifact": "php-sdk-binary-tools",
"type": "target"
},
"pkg-config": {
"artifact": "pkg-config",
"static-bins": [
"pkg-config"
],
"type": "target"
},
"strawberry-perl": {
"artifact": "strawberry-perl",
"type": "target"
},
"upx": {
"artifact": "upx",
"type": "target"
},
"vswhere": {
"artifact": "vswhere",
"static-bins@windows": [
"vswhere.exe"
],
"type": "target"
},
"zig": {
"artifact": "zig",
"type": "target"
}
}

View File

@ -0,0 +1,21 @@
ext-bcmath:
type: php-extension
ext-openssl:
type: php-extension
depends:
- openssl
- zlib
- ext-zlib
php-extension:
arg-type: custom
arg-type@windows: with
build-with-php: true
ext-zlib:
type: php-extension
depends:
- zlib
php-extension:
arg-type: custom
arg-type@windows: with
build-with-php: true
build-shared: false

View File

@ -0,0 +1,18 @@
ext-amqp:
type: php-extension
artifact:
source:
type: url
url: 'https://pecl.php.net/get/amqp'
extract: php-src/ext/amqp
filename: amqp.tgz
metadata:
license-files: [LICENSE]
license: PHP-3.01
depends:
- librabbitmq
depends@windows:
- ext-openssl
php-extension:
arg-type: '--with-amqp@shared_suffix@ --with-librabbitmq-dir=@build_root_path@'
arg-type@windows: '--with-amqp'

View File

@ -0,0 +1,5 @@
ext-glfw:
type: php-extension
artifact: glfw
depends:
- glfw

View File

@ -0,0 +1,10 @@
ext-mbregex:
type: php-extension
depends:
- onig
- ext-mbstring
php-extension:
arg-type: custom
build-shared: false
build-static: true
display-name: mbstring

View File

@ -0,0 +1,4 @@
ext-mbstring:
type: php-extension
php-extension:
arg-type: custom

View File

@ -0,0 +1,11 @@
ext-readline:
type: php-extension
depends:
- libedit
php-extension:
support:
Windows: wip
BSD: wip
arg-type: with-path
build-shared: false
build-static: true

10
config/pkg/lib/attr.yml Normal file
View File

@ -0,0 +1,10 @@
attr:
type: library
artifact:
source: 'https://download.savannah.nongnu.org/releases/attr/attr-2.5.2.tar.gz'
source-mirror: 'https://mirror.souseiseki.middlendian.com/nongnu/attr/attr-2.5.2.tar.gz'
metadata:
license-files: [doc/COPYING.LGPL]
license: LGPL-2.1-or-later
static-libs@unix:
- libattr.a

17
config/pkg/lib/brotli.yml Normal file
View File

@ -0,0 +1,17 @@
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

18
config/pkg/lib/bzip2.yml Normal file
View File

@ -0,0 +1,18 @@
bzip2:
type: library
artifact:
source:
type: url
url: 'https://dl.static-php.dev/static-php-cli/deps/bzip2/bzip2-1.0.8.tar.gz'
source-mirror:
type: filelist
url: 'https://sourceware.org/pub/bzip2/'
regex: '/href="(?<file>bzip2-(?<version>[^"]+)\.tar\.gz)"/'
binary: hosted
metadata:
license-files: ['@/bzip2.txt']
license: bzip2-1.0.6
headers:
- bzlib.h
static-libs@unix:
- libbz2.a

33
config/pkg/lib/curl.yml Normal file
View File

@ -0,0 +1,33 @@
curl:
type: library
artifact:
source:
type: ghrel
repo: curl/curl
match: curl.+\.tar\.xz
prefer-stable: true
metadata:
license-files: [COPYING]
license: curl
depends@unix:
- openssl
- zlib
suggests@unix:
- libssh2
- brotli
- nghttp2
- nghttp3
- ngtcp2
- zstd
- libcares
- ldap
- idn2
- krb5
frameworks:
- CoreFoundation
- CoreServices
- SystemConfiguration
headers:
- curl
static-libs@unix:
- libcurl.a

14
config/pkg/lib/fastlz.yml Normal file
View File

@ -0,0 +1,14 @@
fastlz:
type: library
artifact:
source:
type: git
url: 'https://github.com/ariya/FastLZ.git'
rev: master
metadata:
license-files: [LICENSE.MIT]
license: MIT
headers:
- fastlz.h
static-libs@unix:
- libfastlz.a

View File

@ -0,0 +1,22 @@
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:
- bzip2
- brotli
headers@unix:
- freetype2/freetype/freetype.h
- freetype2/ft2build.h
static-libs@unix:
- libfreetype.a
static-libs@windows:
- libfreetype_a.lib

View File

@ -0,0 +1,19 @@
gettext:
type: library
artifact:
source:
type: filelist
url: 'https://ftp.gnu.org/pub/gnu/gettext/'
regex: '/href="(?<file>gettext-(?<version>[^"]+)\.tar\.xz)"/'
metadata:
license-files: [gettext-runtime/intl/COPYING.LIB]
license: LGPL-2.1-or-later
depends:
- libiconv
suggests:
- ncurses
- libxml2
frameworks:
- CoreFoundation
static-libs@unix:
- libintl.a

6
config/pkg/lib/glfw.yml Normal file
View File

@ -0,0 +1,6 @@
glfw:
type: library
artifact: glfw
lang: cpp
static-libs@unix:
- libglfw3.a

19
config/pkg/lib/gmp.yml Normal file
View File

@ -0,0 +1,19 @@
gmp:
type: library
artifact:
source:
type: filelist
url: 'https://gmplib.org/download/gmp/'
regex: '/href="(?<file>gmp-(?<version>[^"]+)\.tar\.xz)"/'
source-mirror:
type: url
url: 'https://dl.static-php.dev/static-php-cli/deps/gmp/gmp-6.3.0.tar.xz'
metadata:
license-files: ['@/gmp.txt']
license: Custom
headers:
- gmp.h
pkg-configs:
- gmp
static-libs@unix:
- libgmp.a

15
config/pkg/lib/gmssl.yml Normal file
View File

@ -0,0 +1,15 @@
gmssl:
type: library
artifact:
source:
type: ghtar
repo: guanzhi/GmSSL
metadata:
license-files: [LICENSE]
license: Apache-2.0
frameworks:
- Security
static-libs@unix:
- libgmssl.a
static-libs@windows:
- gmssl.lib

19
config/pkg/lib/grpc.yml Normal file
View File

@ -0,0 +1,19 @@
grpc:
type: library
artifact:
source:
type: git
rev: v1.75.x
url: 'https://github.com/grpc/grpc.git'
metadata:
license-files: [LICENSE]
license: Apache-2.0
depends:
- zlib
- openssl
- libcares
frameworks:
- CoreFoundation
lang: cpp
pkg-configs:
- grpc

16
config/pkg/lib/icu.yml Normal file
View File

@ -0,0 +1,16 @@
icu:
type: library
artifact:
source:
type: ghrel
repo: unicode-org/icu
match: icu4c.+-src\.tgz
prefer-stable: true
metadata:
license-files: [LICENSE]
license: ICU
lang: cpp
pkg-configs:
- icu-uc
- icu-i18n
- icu-io

21
config/pkg/lib/idn2.yml Normal file
View File

@ -0,0 +1,21 @@
idn2:
type: library
artifact:
source:
type: filelist
url: 'https://ftp.gnu.org/gnu/libidn/'
regex: '/href="(?<file>libidn2-(?<version>[^"]+)\.tar\.gz)"/'
metadata:
license-files: [COPYING.LESSERv3]
license: LGPL-3.0-or-later
depends@macos:
- libiconv
- gettext
suggests@unix:
- libiconv
- gettext
- libunistring
headers:
- idn2.h
pkg-configs:
- libidn2

View File

@ -0,0 +1,28 @@
imagemagick:
type: library
artifact:
source:
type: ghtar
repo: ImageMagick/ImageMagick
metadata:
license-files: [LICENSE]
depends:
- zlib
- libjpeg
- libjxl
- libpng
- libwebp
- freetype
- libtiff
- libheif
- bzip2
suggests:
- zstd
- xz
- libzip
- libxml2
lang: cpp
pkg-configs:
- Magick++-7.Q16HDRI
- MagickCore-7.Q16HDRI
- MagickWand-7.Q16HDRI

13
config/pkg/lib/imap.yml Normal file
View File

@ -0,0 +1,13 @@
imap:
type: library
artifact:
source:
type: git
url: 'https://github.com/static-php/imap.git'
rev: master
metadata:
license-files: [LICENSE]
suggests@unix:
- openssl
static-libs@unix:
- libc-client.a

15
config/pkg/lib/jbig.yml Normal file
View File

@ -0,0 +1,15 @@
jbig:
type: library
artifact:
source: 'https://dl.static-php.dev/static-php-cli/deps/jbig/jbigkit-2.1.tar.gz'
source-mirror: 'https://www.cl.cam.ac.uk/~mgk25/jbigkit/download/jbigkit-2.1.tar.gz'
metadata:
license-files: [COPYING]
license: GPL-2.0-or-later
headers:
- jbig.h
- jbig85.h
- jbig_ar.h
static-libs@unix:
- libjbig.a
- libjbig85.a

23
config/pkg/lib/krb5.yml Normal file
View File

@ -0,0 +1,23 @@
krb5:
type: library
artifact:
source:
type: ghtagtar
repo: krb5/krb5
match: krb5.+-final
metadata:
license-files: [NOTICE]
license: BSD-3-Clause
source-root: src
depends:
- openssl
suggests:
- ldap
- libedit
frameworks:
- Kerberos
headers:
- krb5.h
- gssapi/gssapi.h
pkg-configs:
- krb5-gssapi

17
config/pkg/lib/ldap.yml Normal file
View File

@ -0,0 +1,17 @@
ldap:
type: library
artifact:
source:
type: filelist
url: 'https://www.openldap.org/software/download/OpenLDAP/openldap-release/'
regex: '/href="(?<file>openldap-(?<version>[^"]+)\.tgz)"/'
metadata:
license-files: [LICENSE]
depends:
- openssl
- zlib
- gmp
- libsodium
pkg-configs:
- ldap
- lber

12
config/pkg/lib/lerc.yml Normal file
View File

@ -0,0 +1,12 @@
lerc:
type: library
artifact:
source:
type: ghtar
repo: Esri/lerc
prefer-stable: true
metadata:
license-files: [LICENSE]
lang: cpp
static-libs@unix:
- libLerc.a

12
config/pkg/lib/libacl.yml Normal file
View File

@ -0,0 +1,12 @@
libacl:
type: library
artifact:
source: 'https://download.savannah.nongnu.org/releases/acl/acl-2.3.2.tar.gz'
source-mirror: 'https://mirror.souseiseki.middlendian.com/nongnu/acl/acl-2.3.2.tar.gz'
metadata:
license-files: [doc/COPYING.LGPL]
license: LGPL-2.1-or-later
depends:
- attr
static-libs@unix:
- libacl.a

12
config/pkg/lib/libaom.yml Normal file
View File

@ -0,0 +1,12 @@
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

View File

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

View File

@ -0,0 +1,11 @@
libavif:
type: library
artifact:
source:
type: ghtar
repo: AOMediaCodec/libavif
metadata:
license-files: [LICENSE]
license: BSD-2-Clause
static-libs@unix:
- libavif.a

View File

@ -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\/(?<file>c-ares-(?<version>[^"]+)\.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

View File

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

View File

@ -0,0 +1,15 @@
libedit:
type: library
artifact:
source:
type: filelist
url: 'https://thrysoee.dk/editline/'
regex: '/href="(?<file>libedit-(?<version>[^"]+)\.tar\.gz)"/'
binary: hosted
metadata:
license-files: [COPYING]
license: BSD-3-Clause
depends:
- ncurses
static-libs@unix:
- libedit.a

View File

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

16
config/pkg/lib/libffi.yml Normal file
View File

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

View File

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

View File

@ -0,0 +1,18 @@
libiconv:
type: library
artifact:
source:
type: filelist
url: 'https://ftp.gnu.org/gnu/libiconv/'
regex: '/href="(?<file>libiconv-(?<version>[^"]+)\.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

View File

@ -0,0 +1,12 @@
libjpeg:
type: library
artifact:
source:
type: ghtar
repo: libjpeg-turbo/libjpeg-turbo
metadata:
license-files: [LICENSE.md]
license: IJG
static-libs@unix:
- libjpeg.a
- libturbojpeg.a

21
config/pkg/lib/libjxl.yml Normal file
View File

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

13
config/pkg/lib/liblz4.yml Normal file
View File

@ -0,0 +1,13 @@
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

View File

@ -0,0 +1,16 @@
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

View File

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

16
config/pkg/lib/libpng.yml Normal file
View File

@ -0,0 +1,16 @@
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

View File

@ -0,0 +1,14 @@
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

View File

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

View File

@ -0,0 +1,15 @@
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

View File

@ -0,0 +1,22 @@
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

View File

@ -0,0 +1,21 @@
libtiff:
type: library
artifact:
source:
type: filelist
url: 'https://download.osgeo.org/libtiff/'
regex: '/href="(?<file>tiff-(?<version>[^"]+)\.tar\.xz)"/'
metadata:
license-files: [LICENSE.md]
license: libtiff
depends:
- zlib
- libjpeg
suggests@unix:
- lerc
- libwebp
- jbig
- xz
- zstd
static-libs@unix:
- libtiff.a

View File

@ -0,0 +1,16 @@
libunistring:
type: library
artifact:
source:
type: filelist
url: 'https://ftp.gnu.org/gnu/libunistring/'
regex: '/href="(?<file>libunistring-(?<version>[^"]+)\.tar\.gz)"/'
binary: hosted
metadata:
license-files: [COPYING.LIB]
license: LGPL-3.0-or-later
headers:
- unistr.h
- unistring/
static-libs@unix:
- libunistring.a

View File

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

View File

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

11
config/pkg/lib/libuv.yml Normal file
View File

@ -0,0 +1,11 @@
libuv:
type: library
artifact:
source:
type: ghtar
repo: libuv/libuv
metadata:
license-files: [LICENSE, LICENSE-extra]
license: MIT
static-libs@unix:
- libuv.a

View File

@ -0,0 +1,16 @@
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

View File

@ -0,0 +1,19 @@
libxml2:
type: library
artifact:
source:
type: ghtagtar
repo: GNOME/libxml2
match: v2\.\d+\.\d+$
metadata:
license-files: [Copyright]
license: MIT
depends@unix:
- libiconv
suggests@unix:
- xz
- zlib
headers:
- libxml2
pkg-configs:
- libxml-2.0

View File

@ -0,0 +1,15 @@
libxslt:
type: library
artifact:
source:
type: filelist
url: 'https://download.gnome.org/sources/libxslt/1.1/'
regex: '/href="(?<file>libxslt-(?<version>[^"]+)\.tar\.xz)"/'
metadata:
license-files: [Copyright]
license: MIT
depends:
- libxml2
static-libs@unix:
- libxslt.a
- libexslt.a

View File

@ -0,0 +1,15 @@
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

22
config/pkg/lib/libzip.yml Normal file
View File

@ -0,0 +1,22 @@
libzip:
type: library
artifact:
source:
type: ghrel
repo: nih-at/libzip
match: libzip.+\.tar\.xz
prefer-stable: true
metadata:
license-files: [LICENSE]
depends@unix:
- zlib
suggests@unix:
- bzip2
- xz
- zstd
- openssl
headers:
- zip.h
- zipconf.h
static-libs@unix:
- libzip.a

View File

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

View File

@ -0,0 +1,12 @@
ncurses:
type: library
artifact:
source:
type: filelist
url: 'https://ftp.gnu.org/pub/gnu/ncurses/'
regex: '/href="(?<file>ncurses-(?<version>[^"]+)\.tar\.gz)"/'
binary: hosted
metadata:
license-files: [COPYING]
static-libs@unix:
- libncurses.a

View File

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

View File

@ -0,0 +1,24 @@
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

View File

@ -0,0 +1,19 @@
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

24
config/pkg/lib/ngtcp2.yml Normal file
View File

@ -0,0 +1,24 @@
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
suggests:
- nghttp3
- brotli
headers:
- ngtcp2
pkg-configs:
- libngtcp2
- libngtcp2_crypto_ossl
static-libs@unix:
- libngtcp2.a
- libngtcp2_crypto_ossl.a

15
config/pkg/lib/onig.yml Normal file
View File

@ -0,0 +1,15 @@
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

View File

@ -0,0 +1,23 @@
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="(?<file>openssl-(?<version>[^"]+)\.tar\.gz)"/'
binary: hosted
metadata:
license-files: [LICENSE.txt]
license: OpenSSL
depends:
- zlib
headers:
- openssl
static-libs@unix:
- libssl.a
- libcrypto.a

View File

@ -0,0 +1,23 @@
postgresql:
type: library
artifact:
source:
type: ghtagtar
repo: postgres/postgres
match: REL_18_\d+
metadata:
license-files: [COPYRIGHT]
license: PostgreSQL
depends:
- libiconv
- libxml2
- openssl
- zlib
- libedit
suggests:
- icu
- libxslt
- ldap
- zstd
pkg-configs:
- libpq

12
config/pkg/lib/qdbm.yml Normal file
View File

@ -0,0 +1,12 @@
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

View File

@ -0,0 +1,14 @@
readline:
type: library
artifact:
source:
type: filelist
url: 'https://ftp.gnu.org/pub/gnu/readline/'
regex: '/href="(?<file>readline-(?<version>[^"]+)\.tar\.gz)"/'
metadata:
license-files: [COPYING]
license: GPL-3.0-or-later
depends:
- ncurses
static-libs@unix:
- libreadline.a

20
config/pkg/lib/snappy.yml Normal file
View File

@ -0,0 +1,20 @@
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
lang: cpp
static-libs@unix:
- libsnappy.a

12
config/pkg/lib/sqlite.yml Normal file
View File

@ -0,0 +1,12 @@
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

12
config/pkg/lib/tidy.yml Normal file
View File

@ -0,0 +1,12 @@
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

View File

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

View File

@ -0,0 +1,15 @@
watcher:
type: library
artifact:
source:
type: ghtar
repo: e-dant/watcher
prefer-stable: true
metadata:
license-files: [license]
license: MIT
headers:
- wtr/watcher-c.h
lang: cpp
static-libs@unix:
- libwatcher-c.a

20
config/pkg/lib/xz.yml Normal file
View File

@ -0,0 +1,20 @@
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
pkg-configs:
- liblzma
static-libs@unix:
- liblzma.a

16
config/pkg/lib/zlib.yml Normal file
View File

@ -0,0 +1,16 @@
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

19
config/pkg/lib/zstd.yml Normal file
View File

@ -0,0 +1,19 @@
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

View File

@ -0,0 +1,6 @@
go-xcaddy:
type: target
artifact:
binary: custom
static-bins:
- xcaddy

View File

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

View File

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

View File

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

44
config/pkg/target/php.yml Normal file
View File

@ -0,0 +1,44 @@
frankenphp:
type: virtual-target
artifact:
source:
type: ghtar
repo: php/frankenphp
prefer-stable: true
metadata:
license-files: [LICENSE]
license: MIT
depends:
- php-embed
- go-xcaddy
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
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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -0,0 +1,4 @@
zig:
type: target
artifact:
binary: custom

View File

@ -11,11 +11,13 @@ parameters:
- '#Function Swoole\\Coroutine\\run not found.#'
- '#Static call to instance method ZM\\Logger\\ConsoleColor#'
- '#Constant GNU_ARCH not found#'
-
identifiers:
- 'if.alwaysFalse'
dynamicConstantNames:
- PHP_OS_FAMILY
excludePaths:
analyseAndScan:
- ./src/globals/ext-tests/swoole.php
- ./src/globals/ext-tests/swoole.phpt
- ./src/globals/ext-tests/
- ./src/globals/test-extensions.php
- ./src/SPC/

View File

@ -1,6 +1,9 @@
{
"name": "internal",
"name": "core",
"autoload": "vendor/autoload.php",
"scripts": [
"ext/"
],
"doctor": {
"psr-4": {
"StaticPHP\\Doctor\\Item": "src/StaticPHP/Doctor/Item"
@ -11,14 +14,14 @@
"Package": "src/Package"
},
"config": [
"config/pkg.ext.json",
"config/pkg.lib.json",
"config/pkg.target.json"
"config/pkg/lib/",
"config/pkg/target/",
"config/pkg/ext/"
]
},
"artifact": {
"config": [
"config/artifact.json"
"config/artifact/"
],
"psr-4": {
"Package\\Artifact": "src/Package/Artifact"

View File

@ -0,0 +1,23 @@
<?php
declare(strict_types=1);
namespace Package\Artifact;
use StaticPHP\Artifact\Artifact;
use StaticPHP\Attribute\Artifact\AfterSourceExtract;
use StaticPHP\Attribute\PatchDescription;
use StaticPHP\Runtime\SystemTarget;
use StaticPHP\Util\SourcePatcher;
use StaticPHP\Util\System\LinuxUtil;
class attr
{
#[AfterSourceExtract('attr')]
#[PatchDescription('Patch attr for Alpine Linux (musl) and macOS - gethostname declaration')]
public function patchAttrForAlpine(Artifact $artifact): void
{
spc_skip_unless(SystemTarget::getTargetOS() === 'Darwin' || SystemTarget::getTargetOS() === 'Linux' && !LinuxUtil::isMuslDist(), 'Only for Alpine Linux (musl) and macOS');
SourcePatcher::patchFile('attr_alpine_gethostname.patch', $artifact->getSourceDir());
}
}

View File

@ -0,0 +1,20 @@
<?php
declare(strict_types=1);
namespace Package\Artifact;
use StaticPHP\Artifact\Artifact;
use StaticPHP\Attribute\Artifact\AfterSourceExtract;
use StaticPHP\Attribute\PatchDescription;
use StaticPHP\Util\FileSystem;
class bzip2
{
#[AfterSourceExtract('bzip2')]
#[PatchDescription('Patch bzip2 Makefile to add -fPIC flag for position-independent code')]
public function patchBzip2Makefile(Artifact $artifact): void
{
FileSystem::replaceFileStr("{$artifact->getSourceDir()}/Makefile", 'CFLAGS=-Wall', 'CFLAGS=-fPIC -Wall');
}
}

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