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

Remove clang11Stdenv #9692

Merged
merged 1 commit into from
Jan 5, 2024
Merged

Conversation

9999years
Copy link
Contributor

@9999years 9999years commented Jan 4, 2024

Motivation

Clang 11 doesn't have support for three-way-comparisons (<=>, "spaceship operator", "consistent comparisons") and is older than clangStdenv.

Let's remove clang11Stdenv, keeping the default clangStdenv.

Context

The clang11Stdenv was added in #4996

clangStdenv is currently 12 on FreeBSD and Android and 16 on other platforms:

https://github.com/NixOS/nixpkgs/blob/32e718f00c26c811be0062dd0777066f02406940/pkgs/top-level/all-packages.nix#L16629-L16644

Let's start by removing Clang 11 from our distribution. Next we can consider upgrading to Clang 17, which fully supports the spaceship operator:

https://releases.llvm.org/17.0.1/tools/clang/docs/ReleaseNotes.html#what-s-new-in-clang-release

Priorities and Process

Add 👍 to pull requests you find important.

The Nix maintainer team uses a GitHub project board to schedule and track reviews.

@9999years 9999years requested a review from edolstra as a code owner January 4, 2024 19:43
Clang 11 doesn't have support for three-way-comparisons (<=>, "spaceship
operator", "consistent comparisons") and is older than `clangStdenv`.

`clangStdenv` is currently 12 on FreeBSD and Android and 16 on other
platforms:

https://github.com/NixOS/nixpkgs/blob/32e718f00c26c811be0062dd0777066f02406940/pkgs/top-level/all-packages.nix#L16629-L16644

Let's start by removing Clang 11 from our distribution. Next we can
consider upgrading to Clang 17, which fully supports the spaceship
operator:

https://releases.llvm.org/17.0.1/tools/clang/docs/ReleaseNotes.html#what-s-new-in-clang-release
@9999years 9999years force-pushed the update-clang-stdenv branch from 5a4a496 to d8a2b06 Compare January 4, 2024 19:44
@abathur
Copy link
Member

abathur commented Jan 4, 2024

I'm not certain it implies anything about this specific change, but just in case: after the recent nixpkgs stdenv bump to llvm 16, the nixpkgs builds of Nix are segfaulting on intel macs running some macOS versions (I believe we know 10.14, 10.15, 11.x, and I think there was also a report for 12.x).

So far, none of the release Nix builds used by the installer are affected by this, but I would guess the problem will get noisier if that happens :)

We've made slow headway on figuring out why and how to fix it, but it hasn't quite turned into PRs. See:

@9999years
Copy link
Contributor Author

@abathur That's interesting, but I don't think it's related here — Nixpkgs doesn't use the Nix packages defined in this repo and instead defines their own build expressions which always use the default stdenv:

https://github.com/NixOS/nixpkgs/blob/32e718f00c26c811be0062dd0777066f02406940/pkgs/tools/package-management/nix/common.nix#L77

@edolstra edolstra merged commit cbf99c7 into NixOS:master Jan 5, 2024
9 checks passed
@9999years 9999years deleted the update-clang-stdenv branch January 5, 2024 17:03
tebowy pushed a commit to tebowy/nix that referenced this pull request Jul 11, 2024
Remove `clang11Stdenv`

(cherry picked from commit cbf99c7)
Change-Id: I716ce1a54f2006c4a9dc9716e8529fe7858ecebb
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

3 participants