update extensions from pecl to pie

This commit is contained in:
henderkes
2026-07-21 12:54:02 +07:00
parent 1778032633
commit 9bceaace8e
28 changed files with 98 additions and 57 deletions

View File

@@ -2,8 +2,9 @@ ext-amqp:
type: php-extension type: php-extension
artifact: artifact:
source: source:
type: pecl type: pie
name: amqp repo: php-amqp/php-amqp
extract: php-src/ext/amqp
metadata: metadata:
license-files: [LICENSE] license-files: [LICENSE]
license: PHP-3.01 license: PHP-3.01

View File

@@ -2,8 +2,9 @@ ext-apcu:
type: php-extension type: php-extension
artifact: artifact:
source: source:
type: pecl type: pie
name: APCu repo: apcu/apcu
extract: php-src/ext/apcu
metadata: metadata:
license-files: [LICENSE] license-files: [LICENSE]
license: PHP-3.01 license: PHP-3.01

View File

@@ -2,8 +2,9 @@ ext-ast:
type: php-extension type: php-extension
artifact: artifact:
source: source:
type: pecl type: pie
name: ast repo: nikic/php-ast
extract: php-src/ext/ast
metadata: metadata:
license-files: [LICENSE] license-files: [LICENSE]
license: BSD-3-Clause license: BSD-3-Clause

View File

@@ -2,8 +2,9 @@ ext-dio:
type: php-extension type: php-extension
artifact: artifact:
source: source:
type: pecl type: pie
name: dio repo: pecl/dio
extract: php-src/ext/dio
metadata: metadata:
license-files: [LICENSE] license-files: [LICENSE]
license: PHP-3.01 license: PHP-3.01

View File

@@ -2,8 +2,9 @@ ext-ev:
type: php-extension type: php-extension
artifact: artifact:
source: source:
type: pecl type: pie
name: ev repo: osmanov/pecl-ev
extract: php-src/ext/ev
metadata: metadata:
license-files: [LICENSE] license-files: [LICENSE]
license: PHP-3.01 license: PHP-3.01

View File

@@ -2,8 +2,9 @@ ext-excimer:
type: php-extension type: php-extension
artifact: artifact:
source: source:
type: pecl type: ghtagtar
name: excimer repo: wikimedia/mediawiki-php-excimer
extract: php-src/ext/excimer
metadata: metadata:
license-files: [LICENSE] license-files: [LICENSE]
license: PHP-3.01 license: PHP-3.01

View File

@@ -2,8 +2,9 @@ ext-gearman:
type: php-extension type: php-extension
artifact: artifact:
source: source:
type: pecl type: ghtar
name: gearman repo: php/pecl-networking-gearman
extract: php-src/ext/gearman
metadata: metadata:
license-files: [LICENSE] license-files: [LICENSE]
license: PHP-3.01 license: PHP-3.01

View File

@@ -2,8 +2,9 @@ ext-grpc:
type: php-extension type: php-extension
artifact: artifact:
source: source:
type: pecl type: pie
name: grpc repo: grpc/grpc-php-ext
extract: php-src/ext/grpc
metadata: metadata:
license-files: [LICENSE] license-files: [LICENSE]
license: Apache-2.0 license: Apache-2.0

View File

@@ -2,8 +2,10 @@ ext-igbinary:
type: php-extension type: php-extension
artifact: artifact:
source: source:
type: pecl type: ghtagtar
name: igbinary repo: igbinary/igbinary
match: tags/\d+(\.\d+)+$
extract: php-src/ext/igbinary
metadata: metadata:
license-files: [COPYING] license-files: [COPYING]
license: BSD-3-Clause license: BSD-3-Clause

View File

@@ -2,8 +2,9 @@ ext-imagick:
type: php-extension type: php-extension
artifact: artifact:
source: source:
type: pecl type: pie
name: imagick repo: imagick/imagick
extract: php-src/ext/imagick
metadata: metadata:
license-files: [LICENSE] license-files: [LICENSE]
license: PHP-3.01 license: PHP-3.01

View File

@@ -2,8 +2,9 @@ ext-imap:
type: php-extension type: php-extension
artifact: artifact:
source: source:
type: pecl type: ghtagtar
name: imap repo: php/pecl-mail-imap
extract: php-src/ext/imap
metadata: metadata:
license-files: [LICENSE] license-files: [LICENSE]
license: PHP-3.01 license: PHP-3.01

View File

@@ -2,8 +2,9 @@ ext-inotify:
type: php-extension type: php-extension
artifact: artifact:
source: source:
type: pecl type: pie
name: inotify repo: arnaud-lb/inotify
extract: php-src/ext/inotify
metadata: metadata:
license-files: [LICENSE] license-files: [LICENSE]
license: PHP-3.01 license: PHP-3.01

View File

@@ -2,8 +2,9 @@ ext-memcache:
type: php-extension type: php-extension
artifact: artifact:
source: source:
type: pecl type: ghtar
name: memcache repo: websupport-sk/pecl-memcache
extract: php-src/ext/memcache
metadata: metadata:
license-files: [LICENSE] license-files: [LICENSE]
license: PHP-3.0 license: PHP-3.0

View File

@@ -2,8 +2,9 @@ ext-memcached:
type: php-extension type: php-extension
artifact: artifact:
source: source:
type: pecl type: pie
name: memcached repo: php-memcached/php-memcached
extract: php-src/ext/memcached
metadata: metadata:
license-files: [LICENSE] license-files: [LICENSE]
license: PHP-3.01 license: PHP-3.01

View File

@@ -2,8 +2,9 @@ ext-msgpack:
type: php-extension type: php-extension
artifact: artifact:
source: source:
type: pecl type: pie
name: msgpack repo: msgpack/msgpack-php
extract: php-src/ext/msgpack
metadata: metadata:
license-files: [LICENSE] license-files: [LICENSE]
license: BSD-3-Clause license: BSD-3-Clause

View File

@@ -2,8 +2,9 @@ ext-opentelemetry:
type: php-extension type: php-extension
artifact: artifact:
source: source:
type: pecl type: pie
name: opentelemetry repo: open-telemetry/ext-opentelemetry
extract: php-src/ext/opentelemetry
metadata: metadata:
license-files: [LICENSE] license-files: [LICENSE]
license: Apache-2.0 license: Apache-2.0

View File

@@ -2,8 +2,9 @@ ext-parallel:
type: php-extension type: php-extension
artifact: artifact:
source: source:
type: pecl type: pie
name: parallel repo: pecl/parallel
extract: php-src/ext/parallel
metadata: metadata:
license-files: [LICENSE] license-files: [LICENSE]
license: PHP-3.01 license: PHP-3.01

View File

@@ -2,8 +2,9 @@ ext-pcov:
type: php-extension type: php-extension
artifact: artifact:
source: source:
type: pecl type: pie
name: pcov repo: pecl/pcov
extract: php-src/ext/pcov
metadata: metadata:
license-files: [LICENSE] license-files: [LICENSE]
license: PHP-3.01 license: PHP-3.01

View File

@@ -2,8 +2,9 @@ ext-redis:
type: php-extension type: php-extension
artifact: artifact:
source: source:
type: pecl type: pie
name: redis repo: phpredis/phpredis
extract: php-src/ext/redis
metadata: metadata:
license-files: [LICENSE] license-files: [LICENSE]
license: PHP-3.01 license: PHP-3.01

View File

@@ -2,8 +2,9 @@ ext-ssh2:
type: php-extension type: php-extension
artifact: artifact:
source: source:
type: pecl type: ghtar
name: ssh2 repo: php/pecl-networking-ssh2
extract: php-src/ext/ssh2
metadata: metadata:
license-files: [LICENSE] license-files: [LICENSE]
license: PHP-3.01 license: PHP-3.01

View File

@@ -2,8 +2,9 @@ ext-trader:
type: php-extension type: php-extension
artifact: artifact:
source: source:
type: pecl type: ghtagtar
name: trader repo: php/pecl-math-trader
extract: php-src/ext/trader
metadata: metadata:
license-files: [LICENSE] license-files: [LICENSE]
license: BSD-2-Clause license: BSD-2-Clause

View File

@@ -2,8 +2,9 @@ ext-uuid:
type: php-extension type: php-extension
artifact: artifact:
source: source:
type: pecl type: pie
name: uuid repo: pecl/uuid
extract: php-src/ext/uuid
metadata: metadata:
license-files: [LICENSE] license-files: [LICENSE]
license: LGPL-2.1-only license: LGPL-2.1-only

View File

@@ -2,9 +2,9 @@ ext-uv:
type: php-extension type: php-extension
artifact: artifact:
source: source:
type: pecl type: ghtagtar
name: uv repo: amphp/ext-uv
prefer-stable: false extract: php-src/ext/uv
metadata: metadata:
license-files: [LICENSE] license-files: [LICENSE]
license: PHP-3.01 license: PHP-3.01

View File

@@ -2,8 +2,8 @@ ext-xhprof:
type: php-extension type: php-extension
artifact: artifact:
source: source:
type: pecl type: ghtar
name: xhprof repo: longxinH/xhprof
extract: php-src/ext/xhprof-src extract: php-src/ext/xhprof-src
metadata: metadata:
license-files: [LICENSE] license-files: [LICENSE]

View File

@@ -2,8 +2,9 @@ ext-xlswriter:
type: php-extension type: php-extension
artifact: artifact:
source: source:
type: pecl type: pie
name: xlswriter repo: viest/xlswriter
extract: php-src/ext/xlswriter
metadata: metadata:
license-files: [LICENSE] license-files: [LICENSE]
license: BSD-2-Clause license: BSD-2-Clause

View File

@@ -2,8 +2,9 @@ ext-yac:
type: php-extension type: php-extension
artifact: artifact:
source: source:
type: pecl type: ghtagtar
name: yac repo: laruence/yac
extract: php-src/ext/yac
metadata: metadata:
license-files: [LICENSE] license-files: [LICENSE]
license: PHP-3.01 license: PHP-3.01

View File

@@ -2,9 +2,9 @@ ext-zip:
type: php-extension type: php-extension
artifact: artifact:
source: source:
type: pecl type: pie
name: zip repo: pecl/zip
extract: ext-zip extract: php-src/ext/zip
metadata: metadata:
license-files: [LICENSE] license-files: [LICENSE]
license: PHP-3.01 license: PHP-3.01

View File

@@ -56,7 +56,23 @@ class PIE implements DownloadTypeInterface, CheckUpdateInterface
if (!isset($data['packages'][$config['repo']]) || !is_array($data['packages'][$config['repo']])) { if (!isset($data['packages'][$config['repo']]) || !is_array($data['packages'][$config['repo']])) {
throw new DownloaderException("failed to find {$name} repo info from packagist"); throw new DownloaderException("failed to find {$name} repo info from packagist");
} }
$first = $data['packages'][$config['repo']][0] ?? []; // p2 metadata is minified: each entry only carries fields changed vs the previous one, '__unset' removes a field
$releases = [];
$current = [];
foreach ($data['packages'][$config['repo']] as $release) {
$current = array_merge($current, $release);
$current = array_filter($current, static fn ($v) => $v !== '__unset');
$releases[] = $current;
}
// packagist lists newest first including RC/beta/alpha — pick the newest stable release
$first = null;
foreach ($releases as $release) {
if (!preg_match('/[._-]?(?:alpha|a|beta|b|rc)[._-]?\d*$/i', $release['version'] ?? '')) {
$first = $release;
break;
}
}
$first ??= $releases[0] ?? [];
if (!isset($first['php-ext'])) { if (!isset($first['php-ext'])) {
throw new DownloaderException("failed to find {$name} php-ext info from packagist, maybe not a php extension package"); throw new DownloaderException("failed to find {$name} php-ext info from packagist, maybe not a php extension package");
} }