Skip to content

Switch default Ninja minimal version to a reasonable value#1897

Merged
BillyONeal merged 1 commit intomicrosoft:mainfrom
cqundefine:fix_ninja_version
Jan 12, 2026
Merged

Switch default Ninja minimal version to a reasonable value#1897
BillyONeal merged 1 commit intomicrosoft:mainfrom
cqundefine:fix_ninja_version

Conversation

@cqundefine
Copy link
Contributor

The previous value (3.5.1) doesn't make much sense and it being that broke systems like FreeBSD which didn't have a tool download link.

This also comes with a question, while this solves the problem for now, what would be a more reasonable solution to keep the minimum versions in sync for all those platforms (like RISC-V Linux, *BSD, Solaris and more) that will most probably never have all download links added, should there a be separate JSON file listing minimal versions, should all those platforms get spoofed to x64 Linux for version checks or maybe something entirely else.

The previous value (3.5.1) doesn't make much sense and it being that
broke systems like FreeBSD which didn't have a tool download link.
Copy link
Member

@BillyONeal BillyONeal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wow, 8 year old copy pasto (3.5.1 is the minimal git version) from e6442b0

@BillyONeal BillyONeal merged commit 9cf284d into microsoft:main Jan 12, 2026
7 checks passed
@Osyotr
Copy link
Contributor

Osyotr commented Jan 12, 2026

Wow, 8 year old copy pasto (3.5.1 is the minimal git version) from e6442b0

Which means that this code is probably unused and should be removed.

@BillyONeal
Copy link
Member

Which means that this code is probably unused and should be removed.

It was unused because most platforms have a different value filled in from vcpkg-tools.json. But there was no ninja entry for FreeBSD there.

bsdcode added a commit to bsdcode/Ymir that referenced this pull request Jan 29, 2026
Recent vcpkg switched to using "vcpkg fetch ninja" for providing Ninja
to the build. This exposed a long-standing bug in the underlying vcpkg-
tool, which tried to find Ninja with an unreasonable version number on
platforms without a tool download link for Ninja. This broke the Ymir
build on FreeBSD.

Although this bug is already fixed in the master branch of vcpkg-tool,
there isn't a tagged release with the fix yet and vcpkg itself still
references the vcpkg-tool without the fix.

To unbreak the Ymir build on FreeBSD, a patch is provided which points
vcpkg to the first vcpkg-tool commit containing the fix. This patch is
applied in the CI and istructions are given in COMPILING.md.

References:
microsoft/vcpkg#49242
microsoft/vcpkg-tool#1897
microsoft/vcpkg-tool@9cf284d
bsdcode added a commit to bsdcode/Ymir that referenced this pull request Jan 29, 2026
Recent vcpkg switched to using "vcpkg fetch ninja" for providing Ninja
to the build. This exposed a long-standing bug in the underlying vcpkg-
tool, which tried to find Ninja with an unreasonable version number on
platforms without a tool download link for Ninja. This broke the Ymir
build on FreeBSD.

Although this bug is already fixed in the master branch of vcpkg-tool,
there isn't a tagged release with the fix yet and vcpkg itself still
references the vcpkg-tool without the fix.

To unbreak the Ymir build on FreeBSD, a patch is provided which points
vcpkg to the first vcpkg-tool commit containing the fix. This patch is
applied in the CI and instructions are given in COMPILING.md.

References:
microsoft/vcpkg#49242
microsoft/vcpkg-tool#1897
microsoft/vcpkg-tool@9cf284d
BillyONeal added a commit to BillyONeal/vcpkg that referenced this pull request Feb 18, 2026
https://github.com/microsoft/vcpkg-tool/releases/tag/2026-02-17

Meaningful changes:

* Test/fix internal dependencies in top level manifest. by @dg0yt in microsoft/vcpkg-tool#1890
* dependencies.cpp optimizations by @dg0yt in microsoft/vcpkg-tool#1891
* Switch default Ninja minimal version to a reasonable value by @cqundefine in microsoft/vcpkg-tool#1897
* Install files in parallel, redux by @BillyONeal in microsoft/vcpkg-tool#1896
* [tools] Fix missing executable permission on downloaded tools for Unix by @zynfly in microsoft/vcpkg-tool#1911
* Use libcurl rather than curl command line by @BillyONeal in microsoft/vcpkg-tool#1906
* Deduplicate "additional_file" in abi info. by @BillyONeal in microsoft/vcpkg-tool#1914
* Clamp invalid elapsed time instead of crashing in track_elapsed_us by @clee704 in microsoft/vcpkg-tool#1918
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants