- static-libs@windows listed both libiconv.lib (the dll import lib) and
libiconv_a.lib; the import lib came first, so php.exe ended up
importing libiconv.dll and the cli smoke test died with
STATUS_DLL_NOT_FOUND on machines without it
- the meson build assumed meson/ninja/win_flex/win_bison/perl on PATH,
which only held on machines that had them installed
- add meson, ninja and winflexbison tool packages and declare them via
tools@windows on postgresql, together with the existing strawberry-perl
- meson no longer ships a Windows MSI, so the wheel is installed offline
into a venv: postgres re-invokes meson through find_program, which
needs the real meson.exe launcher pip generates
- Add 'tools' field to ConfigValidator for build-time tool declarations
- Move jom and strawberry-perl from depends@windows to tools@windows in openssl.yml
- Move go-xcaddy/go-win from depends to tools in frankenphp.yml
- Register config/pkg/tool/ path in spc.registry.yml
- Use addInstallPackage for upx tool in php.php (ToolPackage instead of library dep)
- Include 'tool' type in DumpCapabilitiesCommand and InstallPackageCommand package lists
All GNU packages now use ftp.gnu.org (stable canonical server) as the
primary filelist source, with ftpmirror.gnu.org configured as
source-mirror fallback. ftpmirror uses DNS round-robin across many
mirrors of varying reliability; this setup eliminates random CI failures
caused by unreachable mirror nodes while preserving a fallback path.
ftp.gnu.org is unreliable and frequently times out during CI builds.
ftpmirror.gnu.org is GNU's own CDN that auto-redirects to the nearest
mirror. This is the recommended download method per
https://www.gnu.org/prep/ftp.en.html
Also normalizes /pub/gnu/ paths to /gnu/ since ftpmirror only serves
the latter.
Affects: libiconv, gettext, gmp, idn2, libunistring, ncurses, readline