Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[vcpkg script] ninja 1.12 #41980

Merged
merged 12 commits into from
Jan 15, 2025
Merged

[vcpkg script] ninja 1.12 #41980

merged 12 commits into from
Jan 15, 2025

Conversation

dg0yt
Copy link
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
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
Member

windows: qt5-webengine

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

@dg0yt
Copy link
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
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
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
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
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
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
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
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
Contributor Author

dg0yt commented Dec 9, 2024

Waiting for #42588.

@xavier2k6
Copy link
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
Contributor Author

dg0yt commented Jan 11, 2025

All checks green 🎉

@dg0yt
Copy link
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:reviewed Pull Request changes follow basic guidelines label Jan 13, 2025
@BillyONeal
Copy link
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
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
9 of 17 checks passed
@BillyONeal
Copy link
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
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:reviewed Pull Request changes follow basic guidelines
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants