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

gn: 2020-03-09 -> 2024-05-13 #221306

Merged
merged 1 commit into from
Sep 4, 2024
Merged

gn: 2020-03-09 -> 2024-05-13 #221306

merged 1 commit into from
Sep 4, 2024

Conversation

skeuchel
Copy link
Contributor

Description of changes

This updates gn to a version which includes support for riscv64 builds. The revision used for gn is the one specified for the current chromium stable version (111.0.5563.64).

Things done
  • Built on platform(s)
    • x86_64-linux
      I've build the package and chromium which overrides this package on staging.
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 23.05 Release Notes (or backporting 22.11 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

@skeuchel
Copy link
Contributor Author

To reproduce the build failure on the current master branch you can run

nix build nixpkgs#pkgsCross.riscv64.gn

@skeuchel skeuchel mentioned this pull request Mar 31, 2023
@SeTSeR
Copy link
Contributor

SeTSeR commented Jul 12, 2023

There is already gn of 2021-08-08 in nixpkgs, and this version already includes risc-v support. /~https://github.com/NixOS/nixpkgs/blob/b4fc1d4a6f6cfdebf711fd00be7a5f13ace2af1b/pkgs/development/tools/build-managers/gn/rev1924.nix

Bump of default gn version may introduce breakage in dependent packages, as gn provides no guarantees for backwards compatibility. Maybe just explicitly use gn1924 for dependencies needed in RISC-V?

@nyabinary
Copy link
Contributor

Any news on this happening?

@SeTSeR
Copy link
Contributor

SeTSeR commented Aug 29, 2023

Any news on this happening?

There seem to be four packages, depending on gn, namely skia, v8, oni2 and chromium:
/~https://github.com/search?q=repo%3ANixOS%2Fnixpkgs+gn%2C&type=code

If this bump doesn’t break them, it should be safe to make it. However, I currently don’t know how to do it, I don’t have access to x86 machine with Nix.

@SeTSeR
Copy link
Contributor

SeTSeR commented Aug 31, 2023

@ofborg build envoy v8 oni chromium libsForQt5.qtwebengine libsForQt6.qtwebengine neovide python3Packages.skia-pathops aseprite

@nyabinary
Copy link
Contributor

@SeTSeR Did ofbrog ever attempt to build?

@SeTSeR
Copy link
Contributor

SeTSeR commented Oct 28, 2023

@SeTSeR Did ofbrog ever attempt to build?

I don't have much experience with ofborg myself, as I don't run it much, but it seems something was run as we can see from the checks:
https://logs.ofborg.org/?key=nixos/nixpkgs.221306&attempt_id=bff6c52c-bccf-4e1c-b620-ac54cd863f29
However, I can't access logs now, maybe the check is too old and I have to start it again.

@SeTSeR
Copy link
Contributor

SeTSeR commented Dec 17, 2023

@ofborg build envoy v8 oni chromium libsForQt5.qtwebengine libsForQt6.qtwebengine neovide python3Packages.skia-pathops aseprite

@skeuchel
Copy link
Contributor Author

I have rebased this PR and changed it to bump to the gn version (2024-01-22) used in the current chromium stable version. Only a handful of packages use gn, and some always override it. The exhaustive list is

non-override uses

override uses

I have successfully built all of them on x86_64-linux. The package oni2 was removed from nixpkgs since opening this PR.

@skeuchel skeuchel changed the title gn: 2020-03-09 -> 2022-12-12 gn: 2020-03-09 -> 2024-01-22 Feb 24, 2024
@skeuchel skeuchel requested a review from JamieMagee February 24, 2024 14:27
@skeuchel
Copy link
Contributor Author

skeuchel commented Mar 6, 2024

Pinging maintainers of the maintainers of the direct reverse deps: skia-pathops (@barinov274), qt5.qtwebengine (@matthewbauer) and of qt-6 modules (@milahu, @NickCao). Can you take a look at this as well?

@AndersonTorres AndersonTorres mentioned this pull request Aug 2, 2024
47 tasks
@skeuchel skeuchel changed the title gn: 2020-03-09 -> 2024-01-22 gn: 2020-03-09 -> 2024-05-13 Aug 20, 2024
@skeuchel
Copy link
Contributor Author

Bumped to gn used in chromium 126. I decided not to bump to gn 2024-06-06 (revnum 2174) from chromium 127 because it requires relaxing hardening flags.

I have again successfully built the following direct reverse dependencies on x86_64-linux:

  • skia-aseprite
  • neovide
  • libsForQt5.qt5.qtwebengine
  • qt6.qtwebengine
  • chromium
  • v8
  • python31XPackages.skia-pathops

@alyssais alyssais merged commit e6d3c8b into NixOS:staging Sep 4, 2024
29 checks passed
@skeuchel skeuchel deleted the bump-gn branch September 5, 2024 10:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants