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

mono: fix build on gcc 14 #370711

Merged
merged 3 commits into from
Jan 7, 2025
Merged

mono: fix build on gcc 14 #370711

merged 3 commits into from
Jan 7, 2025

Conversation

corngood
Copy link
Contributor

@corngood corngood commented Jan 3, 2025

This was broken in the last staging update via gcc 13 -> 14.

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • 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/)
  • 25.05 Release Notes (or backporting 24.11 and 25.05 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.

Add a 👍 reaction to pull requests you find important.

@emilazy
Copy link
Member

emilazy commented Jan 3, 2025

Looks like we are about eight years behind? https://github.com/mono/gtk-sharp/releases

@corngood
Copy link
Contributor Author

corngood commented Jan 3, 2025

nixpkgs-review result

Generated using nixpkgs-review.

Command: nixpkgs-review pr 370711


x86_64-linux

✅ 8 packages built:
  • appindicator-sharp
  • gtk-sharp-3_0
  • notify-sharp
  • picoscope
  • renode
  • renode-unstable
  • sparkleshare
  • webkit2-sharp

@emilazy
Copy link
Member

emilazy commented Jan 3, 2025

Or, hmm, I guess 2.12 is for GTK 2? But still it seems like we’re on a release from 2014 when there are upstream commits from 2020? We should probably bump; maybe it’ll even fix the issue.

Edit: Actually it seems like https://github.com/GLibSharp/GtkSharp is the repo for GTK 3, and there’s a release from 2021 and commits from a year ago.

@github-actions github-actions bot added 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin 10.rebuild-linux: 1-10 labels Jan 3, 2025
@lucasew
Copy link
Contributor

lucasew commented Jan 3, 2025

nixpkgs-review result

Generated using nixpkgs-review.

Command: nixpkgs-review pr 370711


x86_64-linux

✅ 8 packages built:
  • appindicator-sharp
  • gtk-sharp-3_0
  • notify-sharp
  • picoscope
  • renode
  • renode-unstable
  • sparkleshare
  • webkit2-sharp

@corngood
Copy link
Contributor Author

corngood commented Jan 3, 2025

I think I'd rather just fix the GCC breakage for now. Perhaps someone who maintains a dependent package would be interested in maintaining it.

@corngood corngood changed the title gtk-sharp-3_0: fix build gtk-sharp: fix build Jan 6, 2025
@corngood corngood changed the title gtk-sharp: fix build gtk-sharp: fix build on gcc 14 Jan 6, 2025
@corngood
Copy link
Contributor Author

corngood commented Jan 6, 2025

nixpkgs-review result

Generated using nixpkgs-review.

Command: nixpkgs-review pr 370711


x86_64-linux

❌ 2 packages failed to build:
  • mono-addins
  • snapdragon-profiler
✅ 14 packages built:
  • appindicator-sharp
  • dotnetPackages.MonoAddins
  • gio-sharp
  • gtk-sharp-2_0
  • gtk-sharp-3_0
  • gtk-sharp-beans
  • hyena
  • notify-sharp
  • picoscope
  • renode
  • renode-unstable
  • smuxi
  • sparkleshare
  • webkit2-sharp

@corngood corngood changed the title gtk-sharp: fix build on gcc 14 mono: fix build on gcc 14 Jan 6, 2025
@corngood
Copy link
Contributor Author

corngood commented Jan 6, 2025

I realised gtk-sharp-2_0 is broken too. It already had a similar fix, which was limited to clang, so I've opened it to GCC.

I'm going to try to fix mono4 (#371172) and mono5 (#371175) here as well.

@emilazy
Copy link
Member

emilazy commented Jan 6, 2025

We’re still shipping complex JIT runtimes and application frameworks that were already EOL five to seven years ago? We should probably remove the old Mono versions, not fix them…

@corngood corngood force-pushed the gtk-sharp-fix branch 2 times, most recently from 8787f83 to 5f73322 Compare January 6, 2025 14:00
@github-actions github-actions bot added 10.rebuild-darwin: 1-10 and removed 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin labels Jan 6, 2025
@nix-owners nix-owners bot requested review from thoughtpolice and obadz January 6, 2025 14:05
@corngood
Copy link
Contributor Author

corngood commented Jan 6, 2025

nixpkgs-review result

Generated using nixpkgs-review.

Command: nixpkgs-review pr 370711


x86_64-linux

❌ 5 packages failed to build:
  • dbus-sharp-2_0
  • dbus-sharp-glib-2_0
  • mono-addins
  • mono4
  • snapdragon-profiler
✅ 15 packages built:
  • appindicator-sharp
  • dotnetPackages.MonoAddins
  • gio-sharp
  • gtk-sharp-2_0
  • gtk-sharp-3_0
  • gtk-sharp-beans
  • hyena
  • mono5
  • notify-sharp
  • picoscope
  • renode
  • renode-unstable
  • smuxi
  • sparkleshare
  • webkit2-sharp

@corngood
Copy link
Contributor Author

corngood commented Jan 6, 2025

We’re still shipping complex JIT runtimes and application frameworks that were already EOL five to seven years ago? We should probably remove the old Mono versions, not fix them…

I wouldn't object to that, but there are a bunch of leaf packages here. We'd want to at least consult the maintainers.

So far it looks like this PR will fix builds of 15 packages. The remaining are either existing failures unrelated to GCC 14 (snapdragon-profiler), or due to mono4 still being broken (something crashes during the build).

@emilazy
Copy link
Member

emilazy commented Jan 6, 2025

There’s no in‐tree users of mono5 and all users of mono4 are downstream of dbus-sharp. I’d be surprised if dbus-sharp doesn’t build with a newer Mono, since apparently we have an older version that’s using the current one, but even if it doesn’t the only leaf casualty would be sparkleshare, which is dead. I think those old Mono versions can be dropped without penalty.

@corngood
Copy link
Contributor Author

corngood commented Jan 6, 2025

nixpkgs-review result

Generated using nixpkgs-review.

Command: nixpkgs-review pr 370711


x86_64-linux

❌ 1 package failed to build:
  • snapdragon-profiler
✅ 19 packages built:
  • appindicator-sharp
  • dbus-sharp-2_0
  • dbus-sharp-glib-2_0
  • dotnetPackages.MonoAddins
  • gio-sharp
  • gtk-sharp-2_0
  • gtk-sharp-3_0
  • gtk-sharp-beans
  • hyena
  • mono-addins
  • mono4
  • mono5
  • notify-sharp
  • picoscope
  • renode
  • renode-unstable
  • smuxi
  • sparkleshare
  • webkit2-sharp

nixpkgs-review result

Generated using nixpkgs-review.

Command: nixpkgs-review pr 370711


aarch64-darwin

⏩ 3 packages marked as broken and skipped:
  • homepage-dashboard
  • mono4
  • mono5

@corngood
Copy link
Contributor Author

corngood commented Jan 6, 2025

This should now fix everything broken by GCC 14. I'm not against trying to remove these old mono versions, but I'd like to get fixes in first, in case we want to bisect future changes.

@kevincox kevincox merged commit 0abbc2f into NixOS:master Jan 7, 2025
39 of 43 checks passed
@devurandom
Copy link
Contributor

Closes: #371175
Closes: #371172

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.

5 participants