Skip to content

Migrate extension sources from pecl to pie#1218

Open
crazywhalecc wants to merge 4 commits into
v3from
feat/pie-ext-sources
Open

Migrate extension sources from pecl to pie#1218
crazywhalecc wants to merge 4 commits into
v3from
feat/pie-ext-sources

Conversation

@crazywhalecc

Copy link
Copy Markdown
Owner

What does this PR do?

Port from feat/pgo-v3 (henderkes):

  • switch 30 ext-*.yml sources from pecl to pie (packagist)
  • PIE downloader: expand minified packagist p2 metadata and pick the newest stable release instead of the newest entry (may be RC/beta)
  • PIE downloader: default extract path to php-src/ext/, so per-extension extract lines are no longer needed

Checklist before merging

  • If you modified *.php or *.yml, run them locally to ensure your changes are valid:
    • composer cs-fix
    • composer analyse
    • composer test
    • bin/spc dev:lint-config

Port from feat/pgo-v3 (henderkes):
- switch 30 ext-*.yml sources from pecl to pie (packagist)
- PIE downloader: expand minified packagist p2 metadata and pick the
  newest stable release instead of the newest entry (may be RC/beta)
- PIE downloader: default extract path to php-src/ext/<name>, so
  per-extension extract lines are no longer needed

Kept from fix/spcconfig (not in pgo-v3): ext-imagick Windows support
and ext-zip depends@windows.

Deviation from pgo-v3: ext-xdebug keeps an explicit extract to a
standalone source/ext-xdebug dir. It is shared-only (build-static:
false) and cannot be built in-tree; extracting into php-src/ext would
let PHP's buildconf pick up its config.m4 and pollute the main
configure.
@crazywhalecc crazywhalecc added the need-test This PR has not been tested yet, cannot merge now label Jul 21, 2026
Base automatically changed from fix/spcconfig to v3 July 21, 2026 11:04
@github-actions

github-actions Bot commented Jul 21, 2026

Copy link
Copy Markdown

StaticPHP Test Bot

Detected: Extensions: amqp, apcu, ast, dio, ev, excimer, gearman, grpc, imagick, imap, inotify, memcache, memcached, msgpack, mysqlnd_ed25519, mysqlnd_parsec, parallel, pcov, redis, spx, ssh2, trader, uuid, uv, xdebug, xhprof, yac, zip | Libraries: none | Targets: none
Active labels: test/php-83
Available labels: need-test (gate), test/linux test/windows test/macos (platform), test/tier2 (extra arch), test/php-83 test/php-84 (PHP version), sapi/frankenphp (extra FrankenPHP SAPI build)
Config: Linux x86_64 + Windows x86_64 + macOS arm64 | PHP 8.3, PHP 8.5 NTS

@crazywhalecc

crazywhalecc commented Jul 21, 2026

Copy link
Copy Markdown
Owner Author

@henderkes Some extensions build test failed.

  • xlswriter pie version does not include submodule and build failed.
  • opentelemetry pie version extension dir is in subdir php-src/ext/opentelemetry/ext/.
  • igbinary pecl has 3.2.17RC1 version that has fixed this bug, but pie latest version is 3.2.16.

Either we revert these two ext, or just fix it .

@henderkes

Copy link
Copy Markdown
Collaborator

Long-term we need to migrate. pecl is going down quite often lately and will not be up forever, it's in discussion often.

@henderkes

Copy link
Copy Markdown
Collaborator

For xlswriter and opentelemetry the current workaround solution wouldn't be optimal. I wonder if pie even works in installing those?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

need-test This PR has not been tested yet, cannot merge now test/php-83

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants