Skip to content

{gcc9,gcc10,gcc11,gcc12}: drop#435019

Merged
reckenrode merged 12 commits intoNixOS:masterfrom
emilazy:push-uwmzmvxupmwp
Aug 23, 2025
Merged

{gcc9,gcc10,gcc11,gcc12}: drop#435019
reckenrode merged 12 commits intoNixOS:masterfrom
emilazy:push-uwmzmvxupmwp

Conversation

@emilazy
Copy link
Member

@emilazy emilazy commented Aug 19, 2025

These compilers have reached end‐of‐life upstream, require patching, derivation complexity, and maintenance burden (latest example: #432060) to keep working, and after #434139, #434553, and #434827, the handful of packages here are the only ones remaining that still require these unmaintained compilers and that I could not get to build with newer ones.

I expect current versions of ArangoDB can probably build with more recent compilers, if someone picks up maintenance for the package. The three games using GDC could be restored if someone works out a bootstrapping story for GDC or gets them to build with another D compiler, as detailed in the commit messages. Obliv‐C and COLLADA2GLTF would require patching work that wasn’t obvious to me within an hour or so’s timebox, or their upstreams to become active again. The hardened Linux 5.4 kernel was already broken. See the commit messages for more detail.

This needs #434827 to be merged first to pass eval, but opening this up for review now.

Pinging maintainers of dropped packages:

cc @trofi @wolfgangwalther

Things done

  • Built on platform:
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • Tested, as applicable:
  • Ran nixpkgs-review on this PR. See nixpkgs-review usage.
  • Tested basic functionality of all binary files, usually in ./result/bin/.
  • Nixpkgs Release Notes
    • Package update: when the change is major or breaking.
  • NixOS Release Notes
    • Module addition: when adding a new NixOS module.
    • Module update: when the change is significant.
  • Fits CONTRIBUTING.md, pkgs/README.md, maintainers/README.md and other READMEs.

Add a 👍 reaction to pull requests you find important.

Comment on lines -17932 to +17946
Copy link
Contributor

Choose a reason for hiding this comment

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

What's the intent of commenting this out here?

Copy link
Member Author

Choose a reason for hiding this comment

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

This is the TensorFlow source build, which is no longer used as the default TensorFlow package since #345658, and is marked broken in 3d249fe.

However, the package is a significant effort with extensive domain knowledge for building TensorFlow with Nix, and there are WIP pull requests updating it to newer versions of TensorFlow that don’t require all these EOL dependencies. I have opted to leave it in‐tree marked broken in the hopes that it can be revived, commenting out old dependency pins that get removed so the next person to come along to update it can see where they were required. Hopefully, at some point an update will land and we can make it the default again. Commenting out more of it preemptively would be an option, but I opted for the minimal solution. python3Packages.protobuf4 is the only non‐override pin it still has left after these changes, and it seems like pulumi and ola reference that one too.

@ShaddyDC
Copy link
Contributor

Thanks for making the attempt to get collada2gltf to work! I tried to devendor it as well back when I packaged it, but it was a pain. I don't use it anymore, and I don't think I'll be looking into that again, so dropping is fine, even if it's a shame. Thanks for the headsup too!

@7c6f434c
Copy link
Member

Obliv-C had goals that are cool but somewhat cursed, so now that its falling behind the gcc updates causes an actual problem, it's good time to drop. Thanks!

@emilazy emilazy force-pushed the push-uwmzmvxupmwp branch from 998bd3a to 3c0176c Compare August 19, 2025 15:21
@trofi
Copy link
Contributor

trofi commented Aug 19, 2025

eval is a bit sad aroubd bazel_5, otherwise the changes' intent is great \o/:

       >        … while calling anonymous lambda
       >          at /nix/store/waspkqpk8n52s1kff60a7myr89sgnrgb-source/pkgs/development/tools/build-managers/bazel/bazel_5/default.nix:1:1:
       >             1| {
       >              | ^
       >             2|   stdenv,
       >
       >        error: undefined variable 'gcc12Stdenv'

@emilazy
Copy link
Member Author

emilazy commented Aug 19, 2025

Yeah, the Bazel/CUDA stuff is handled in #434827.

@nixpkgs-ci nixpkgs-ci bot added the 12.approvals: 1 This PR was reviewed and approved by one person. label Aug 19, 2025
Copy link
Contributor

@K900 K900 left a comment

Choose a reason for hiding this comment

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

Yes please.

@nixpkgs-ci nixpkgs-ci bot added 12.approvals: 2 This PR was reviewed and approved by two persons. and removed 12.approvals: 1 This PR was reviewed and approved by one person. labels Aug 20, 2025
@wolfgangwalther
Copy link
Contributor

Also fails treefmt, which is unrelated to Eval / the other PR.

fgaz added a commit to fgaz/nixpkgs that referenced this pull request Aug 20, 2025
GDC is going to be dropped in NixOS#435019.

I used LDC instead of DMD because it claims better platform support and
faster binaries.
@emilazy emilazy force-pushed the push-uwmzmvxupmwp branch 2 times, most recently from 42da3ff to 2fef83d Compare August 22, 2025 21:55
This requires an EOL GCC to build. The version is over two years
old; the latest version is 3.12.5.2. The listed package maintainer
[no longer uses the package]. If another version is packaged that
builds with a supported compiler, this can be re‐added; per the
[request from 2023] to restore versioned suffixes, it should likely
not be upgraded in place anyway, to avoid unexpected data migrations.

[no longer uses the package]: <NixOS#255012 (comment)>
[request from 2023]: <NixOS#254866>
Already marked as broken, and due for removal anyway in
<NixOS#432561>.
emilazy added 10 commits August 22, 2025 23:01
Vendors outdated dependencies that don’t build with supported
compilers. I tried my best to devendor, but I was unable to get it
building, and upstream has not been active in half a decade.
Broken on supported compilers when parsing system headers, with
no obvious‐to-me fix from a quick search of the codebase; see
<samee/obliv-c#110>. No upstream activity
since 2021.
EOL since 2022; no longer used in the tree.
EOL since 2023; no longer used in the tree.
GDC 11 was the last version that could bootstrap without a D compiler,
and GDC don’t offer their own binaries any more. GCC 11 is now
end‐of‐life and being removed (as is GCC 12, even).

It’s possible that we could use another distribution’s binary
packages to bootstrap this, or go via our DMD package (it’s
apparently not possible to bootstrap GDC with LDC, but I’m not sure
about DMD), but as nobody has worked on it in the three years since
GCC 12 came out, it seems like interest is limited, and it’s more
of a yak shave than I’m up for right now.

A full from‐source bootstrap chain would of course be nice, but is
more the realm of the minimal bootstrap work than something we’d
want to keep GCC 11 around in the main package set indefinitely for.
EOL since 2024; no longer used in the tree.
According to the comment on the `gnat` definition, this should have happened already.
EOL as of July; no longer used in the tree.
@emilazy emilazy force-pushed the push-uwmzmvxupmwp branch from 2fef83d to f3186c5 Compare August 22, 2025 22:02
@nixpkgs-ci nixpkgs-ci bot added 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. 10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 6.topic: python Python is a high-level, general-purpose programming language. 8.has: changelog This PR adds or changes release notes 8.has: documentation This PR adds or changes documentation labels Aug 22, 2025
@nix-owners nix-owners bot requested a review from marler8997 August 22, 2025 22:09
@emilazy
Copy link
Member Author

emilazy commented Aug 22, 2025

This is now ready 🎉

@reckenrode reckenrode merged commit c84fc63 into NixOS:master Aug 23, 2025
28 checks passed
@emilazy emilazy deleted the push-uwmzmvxupmwp branch August 23, 2025 02:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

6.topic: python Python is a high-level, general-purpose programming language. 8.has: changelog This PR adds or changes release notes 8.has: documentation This PR adds or changes documentation 10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. 12.approvals: 2 This PR was reviewed and approved by two persons.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants