[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: = "- ";" class=3D"Apple-dash-list"><li>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.</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 <[email protected]> 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--