hello,
Added Shivam as cc just in case :)
I have synchronized PHP’s bundled libgd with the current libgd 2.4
development code, as a first step to add the new features and fix some
existing. The PR is https://github.com/php/php-src/pull/22532
I need to add some libraries to the various runners, and
packages-master-vs18-x64 for windows.
I already added the new libs to winlibs for windows, but libtiff (will
do later this week). Besides the new additions, it also makes windows
builds on par with almost all other platforms when it comes to what is
available.
So far:
- Added winlibs repositories for libjxl, libultrahdr, and libheif.
- Added corresponding winlib-builder workflows.
- libheif is built for x64 with HEVC and AV1 encoding/decoding,
including static codec backends. - libjxl and libultrahdr Windows builds are working.
- PHP’s ext/gd/config.w32 can detect and enable these optional libraries.
The remaining issues are distribution. PHP’s VS18 dependency manifest
currently contains none of these packages, so Windows CI reports them
as unavailable and builds GD without those features. And add them for
Ubuntu/Alpine, not sure about others, but i think it would be good to
have them as well. libultrahdr may require a custom build for most
linux. If that helps, those requiring custom builds are in the
libgd/libgd workflows, but for windows I use vcpkg for most deps, and
custom builds for all platforms for libultrahdr.
I do not think I should add new packages directly to the stable
manifest, even though PHP 8.6 is currently alpha. What would be the
steps to add them?
Once it is sorted out, the next stage is the extension itself, maybe a
clean new PR to split both changes and easier for reviews.
ps: first sent by mistake to internals-win, but this is for all
platforms, sorry for the double post
Cheers,
Pierre
@pierrejoye