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?

@henderkes

Copy link
Copy Markdown
Collaborator

IMplemented a workaround for igbinary and opentelemetry. Imagick and xlswriter will have to stay pecl for now.

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