Skip to content

[vcpkg script] ninja 1.12#41980

Merged
BillyONeal merged 12 commits intomicrosoft:masterfrom
dg0yt:ninja
Jan 15, 2025
Merged

[vcpkg script] ninja 1.12#41980
BillyONeal merged 12 commits intomicrosoft:masterfrom
dg0yt:ninja

Conversation

@dg0yt
Copy link
Copy Markdown
Contributor

@dg0yt dg0yt commented Nov 6, 2024

Reprise from #39260.

BillyONeal and others added 3 commits June 12, 2024 17:17
Fixes microsoft#38494

Resurrects microsoft#38538

Co-authored-by: xb284524239 <40262910+xb284524239@users.noreply.github.com>
Also fix vcpkgTools.xml
@jimwang118 jimwang118 changed the title WIP: ninja 1.12 (Reprise from #39260) [vcpkg script]WIP: ninja 1.12 (Reprise from #39260) Nov 6, 2024
@jimwang118 jimwang118 added the category:tool-update The issue is with build tool or build script, which requires update or should be executed correctly label Nov 6, 2024
@dg0yt
Copy link
Copy Markdown
Contributor Author

dg0yt commented Nov 8, 2024

android: Unrelated baseline regressions.

windows: qt5-webengine

  • legacy, needs python2
  • always was best-effort
  • vendored dependencies (chromium, skia) requiring gn requiring ninja.
  • ninja reaches 29348/33281.
  • Reason for error is unclear
jom: D:\b\qt5-webengine\x64-windows-dbg\src\core\Makefile.gn_run.Debug [run_ninja] Error 1
jom: D:\b\qt5-webengine\x64-windows-dbg\src\core\Makefile.gn_run [debug] Error 2
jom: D:\b\qt5-webengine\x64-windows-dbg\src\core\Makefile [sub-gn_run-pro-make_first] Error 2
jom: D:\b\qt5-webengine\x64-windows-dbg\src\Makefile [sub-core-make_first] Error 2
jom: D:\b\qt5-webengine\x64-windows-dbg\Makefile [sub-src-make_first] Error 2

... proposal: add legacy ninja as a per-port download.

@BillyONeal
Copy link
Copy Markdown
Member

windows: qt5-webengine

Maybe we should skip it given qt5's status at this point.

@dg0yt
Copy link
Copy Markdown
Contributor Author

dg0yt commented Nov 19, 2024

windows: qt5-webengine

Maybe we should skip it given qt5's status at this point.

qt 5.15.16 was just released. qt5 will stay for a while, also for targeting older devices which cannot run the latest macOS or android (if only vcpkg would support cross builds for qt5).

@dg0yt
Copy link
Copy Markdown
Contributor Author

dg0yt commented Nov 19, 2024

And marking qt5-webengine as skip would be a lie, because everybody would get the incompatible NINJA from vcpkg, unless forcefully overriding in the triplet.

Yeah, breaking one of the long-path victims by use of the new version of ninja which improves long-path issues is a nice dilemma.

@BillyONeal
Copy link
Copy Markdown
Member

BillyONeal commented Nov 19, 2024

qt 5.15.16 was just released. qt5 will stay for a while, also for targeting older devices which cannot run the latest macOS or android (if only vcpkg would support cross builds for qt5).

To be clear, I only mean qt5-webengine, not all of qt5. We are already considering skipping it because the x86-windows run is now exceeding the 48 hour absolute time limit and several other triplets are very close.

@dg0yt dg0yt marked this pull request as ready for review November 22, 2024 13:33
@@ -1,17 +1,29 @@
set(program_name ninja)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I feel like this should use vcpkg fetch ninja somehow so that the ninja in the executable and the ninja provided by the script are defined to be the same.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

They are different before this PR and the same with this PR ;-)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I am still for using $ENV{VCPKG_COMMAND} fetch ninja somehow instead of duplicating the download info.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Me too, but I am not able to implement this change soon, and there is no example.
This PR should be merged in the next windows of no-baseline-regressions, instead of being delayed.

Copy link
Copy Markdown
Contributor

@Neumann-A Neumann-A Jan 13, 2025

Choose a reason for hiding this comment

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

set(program_name ninja) # Required by vcpkg_find_acquire_program logic
vcpkg_execute_in_download_mode(
    COMMAND "$ENV{VCPKG_COMMAND}" fetch ninja
    RESULT_VARIABLE error_code
    OUTPUT_VARIABLE NINJA
    WORKING_DIRECTORY "${DOWNLOADS}"
)
string(STRIP "${NINJA}" NINJA) # vcpkg output has a strange line endings and whitespaces in there?
#set(NINJA "${NINJA}" CACHE STRING "") # does not seem required. 

you can replace the complete code with this.

@dg0yt
Copy link
Copy Markdown
Contributor Author

dg0yt commented Dec 9, 2024

Waiting for #42588.

@xavier2k6
Copy link
Copy Markdown
Contributor

Waiting for #42588.

Since that PR was merged, is there anything else holding this back?

@dg0yt dg0yt changed the title [vcpkg script]WIP: ninja 1.12 (Reprise from #39260) [vcpkg script] ninja 1.12 (Reprise from #39260) Jan 6, 2025
@dg0yt dg0yt changed the title [vcpkg script] ninja 1.12 (Reprise from #39260) [vcpkg script] ninja 1.12 Jan 9, 2025
@dg0yt
Copy link
Copy Markdown
Contributor Author

dg0yt commented Jan 11, 2025

All checks green 🎉

@dg0yt
Copy link
Copy Markdown
Contributor Author

dg0yt commented Jan 11, 2025

Now it probabaly has to wait for #43209 to land, for the tools xml->json transition.

@jimwang118 jimwang118 added the info:needs-maintainer-attention Lets the current 'on rotation' vcpkg maintainer know they need to look at this. label Jan 13, 2025
@BillyONeal
Copy link
Copy Markdown
Member

Now it probabaly has to wait for #43209 to land, for the tools xml->json transition.

I don't think we need to wait for another world rebuild though.

@BillyONeal
Copy link
Copy Markdown
Member

BillyONeal commented Jan 13, 2025

image

I just tried to merge this but github is angry at the moment... will try again in a bit

Edit: You don't say?
image

# Conflicts:
#	scripts/vcpkgTools.xml
@BillyONeal BillyONeal merged commit f576077 into microsoft:master Jan 15, 2025
@BillyONeal
Copy link
Copy Markdown
Member

The 2 build failures appear to be baseline issues, so I merged through them.

@dg0yt dg0yt deleted the ninja branch January 16, 2025 05:56
SchaichAlonso added a commit to SchaichAlonso/vcpkg that referenced this pull request Jul 9, 2025
VCPKG upgraded it's ninja version to 1.12.1 in microsoft/vcpkg@f576077 / microsoft#41980 .
FreeBSD had ninja-1.12.1 in it's third party package repository, but reverted it to 1.11.0 (freebsd/freebsd-ports@1e1a1e9), as issues with ccache were discovered when using ninja-1.12.1.

vcpkg does not deploy ninja on FreeBSD, and does not accept the version found on the system, either.

Remove the version check on FreeBSD's branch, to allow vcpkg to use the pkg/ports version even if it is "outdated".
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

category:tool-update The issue is with build tool or build script, which requires update or should be executed correctly info:needs-maintainer-attention Lets the current 'on rotation' vcpkg maintainer know they need to look at this.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants