[INTERNALS-WIN] Re: New Windows/others dependencies for bundled GD in PHP 8.6?

[email protected] (Shivam Mathur) Thu, 2 Jul 2026 15:29:50 +0530
Newsgroups php.internals.win
Message-ID <[email protected]>
--Apple-Mail=_5B0EB5B1-8B97-4C1B-AAA1-EE7ED18E3F0F
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=utf-8

Hi Pierre,

Thanks for reaching out.

I saw the new workflows briefly. I will have a look later today.

A couple of things I noticed.
In winlibs we follow the convention for tags as <library>-<version>, =
(like libcurl-8.21.0) and that passes to the artifact names in the =
workflows, so please retag them.
I would prefer if we did static builds for these new libraries and =
avoided introducing any new DLL files.
Yes, we add the builds to the staging manifests for upgrades/new =
libraries. We use the workflows in https://github.com/php/web-downloads =
to manage the uploads and manifest updates.
I can do the builds this weekend and upload them.

Thanks
Shivam

> On 2 Jul 2026, at 1:57=E2=80=AFPM, Pierre Joye <[email protected]> =
wrote:
>=20
> hello,
>=20
> Added Shivam as cc just in case :)
>=20
> I have synchronized PHP=E2=80=99s 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
>=20
> I need to add some libraries to the various runners, and
> packages-master-vs18-x64 for windows.
>=20
> 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.
>=20
> 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=E2=80=99s ext/gd/config.w32 can detect and enable these optional =
libraries.
>=20
> The remaining issues are distribution. PHP=E2=80=99s 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.
>=20
> 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?
>=20
> 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.
>=20
> Cheers,
> --
> Pierre
>=20
> @pierrejoye


--Apple-Mail=_5B0EB5B1-8B97-4C1B-AAA1-EE7ED18E3F0F
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=utf-8

<html aria-label=3D"message body"><head><meta http-equiv=3D"content-type" =
content=3D"text/html; charset=3Dutf-8"></head><body =
style=3D"overflow-wrap: break-word; -webkit-nbsp-mode: space; =
line-break: after-white-space;">Hi Pierre,<div><br></div><div>Thanks for =
reaching out.</div><div><br></div><div>I saw the new workflows briefly. =
I will have a look later today.</div><div><br></div><div>A couple of =
things I noticed.</div><div><ul style=3D"list-style-type: =
&quot;-&nbsp;&nbsp;&quot;;" class=3D"Apple-dash-list"><li>In winlibs we =
follow the convention for tags as &lt;library&gt;-&lt;version&gt;, (like =
libcurl-8.21.0) and that passes to the artifact names in the workflows, =
so please retag them.</li><li>I would prefer if we did static builds for =
these new libraries and avoided introducing any new DLL =
files.</li></ul><div>Yes, we add the builds to the staging manifests for =
upgrades/new libraries. We use the workflows in <a =
href=3D"https://github.com/php/web-downloads">https://github.com/php/web-d=
ownloads</a> to manage the uploads and manifest =
updates.</div></div><div>I can do the builds this weekend and upload =
them.</div><div><br></div><div>Thanks</div><div>Shivam</div><div><div><br>=
<blockquote type=3D"cite"><div>On 2 Jul 2026, at 1:57=E2=80=AFPM, Pierre =
Joye &lt;[email protected]&gt; wrote:</div><br =
class=3D"Apple-interchange-newline"><div><div>hello,<br><br>Added Shivam =
as cc just in case :)<br><br>I have synchronized PHP=E2=80=99s bundled =
libgd with the current libgd 2.4<br>development code, as a first step to =
add the new features and fix some<br>existing. The PR is =
https://github.com/php/php-src/pull/22532<br><br>I need to add some =
libraries to the various runners, and<br>packages-master-vs18-x64 for =
windows.<br><br>I already added the new libs to winlibs for windows, but =
libtiff (will<br>do later this week). Besides the new additions, it also =
makes windows<br>builds on par with almost all other platforms when it =
comes to what is<br>available.<br><br>So far:<br>- Added winlibs =
repositories for libjxl, libultrahdr, and libheif.<br>- Added =
corresponding winlib-builder workflows.<br>- libheif is built for x64 =
with HEVC and AV1 encoding/decoding,<br>including static codec =
backends.<br>- libjxl and libultrahdr Windows builds are working.<br>- =
PHP=E2=80=99s ext/gd/config.w32 can detect and enable these optional =
libraries.<br><br>The remaining issues are distribution. PHP=E2=80=99s =
VS18 dependency manifest<br>currently contains none of these packages, =
so Windows CI reports them<br>as unavailable and builds GD without those =
features. And add them for<br>Ubuntu/Alpine, not sure about others, but =
i think it would be good to<br>have them as well. libultrahdr may =
require a custom build for most<br>linux. If that helps, those requiring =
custom builds are in the<br>libgd/libgd workflows, but for windows I use =
vcpkg for most deps, and<br>custom builds for all platforms for =
libultrahdr.<br><br>I do not think I should add new packages directly to =
the stable<br>manifest, even though PHP 8.6 is currently alpha. What =
would be the<br>steps to add them?<br><br>Once it is sorted out, the =
next stage is the extension itself, maybe a<br>clean new PR to split =
both changes and easier for =
reviews.<br><br>Cheers,<br>--<br>Pierre<br><br>@pierrejoye<br></div></div>=
</blockquote></div><br></div></body></html>=

--Apple-Mail=_5B0EB5B1-8B97-4C1B-AAA1-EE7ED18E3F0F--