Skip to content

staging-next-24.11 iteration 1 - 2024-11-17#356895

Merged
vcunat merged 248 commits intorelease-24.11from
staging-next-24.11
Nov 28, 2024
Merged

staging-next-24.11 iteration 1 - 2024-11-17#356895
vcunat merged 248 commits intorelease-24.11from
staging-next-24.11

Conversation

bobby285271 and others added 30 commits November 14, 2024 23:52
(cherry picked from commit b8d86f5)
(cherry picked from commit e9ef95e)
(cherry picked from commit 01fe6fb)
Fixes boot for me.

Closes: #355284
(cherry picked from commit 63ce466)
This replaces `writeShellApplication` with `writeShellScriptBin` that
doesn't perform a shellcheck. This makes it way easier to build
postgresql on staging since GHC is super slow to build, even with pretty
powerful machines.

Also Haskell updates are currently merged straight into master which
means that postgresql and all reverse dependencies require a rebuild on
master then[1].

[1] #354270 (comment)

(cherry picked from commit 4cd083a)
(cherry picked from commit 6fc6e7b)
This reverts commit 10c87ee.

(cherry picked from commit 1810b52)
We just need to make sure the attribute evaluates so we can cleanly
access `meta.broken` for those versions.

(cherry picked from commit ce6c31c)
As mentioned in #305146, keeping LLVM 12 is a source of pain because it
is the only version to be built from individual release tarball instead
of the LLVM monorepo. This commit makes LLVM 12 start from the monorepo
as well, simplifying all common LLVM expressions in the process.

With #347887, some quirks in the expressions for LLVM <14 were ironed
out, so building LLVM through from the monorepo is quite simple now.

- Most expressions only required minor changes, mostly removing the
  special casing for `sourceRoot`.

- The patch lists from llvm/12/default.nix were ported to
  common/default.nix. This only required a few extra conditionals which
  could be reduced via a rebuild also involving other LLVM versions.
  Outstanding tasks of little urgency have been noted in TODO comments.
  I have verified that the patch lists stay the same for all packages
  except LLVM where merely the order changes. An extra set of eyes
  is appreciated, of course.

- clang: The expression was reworked to use the same symlink location
  for clang-tools-extra for all versions including LLVM 12. This
  required adjusting the ad hoc patching of the clangd cmake files
  slightly.

- libunwind: We no longer need to make the libcxx sources available
  manually. We can rely on the monorepo source instead.

- lld: We no longer need to make the libunwind sources available manually.

- llvm: We no longer need to make the polly sources available manually

- On Darwin, we need to bypass CMake's C++ compiler for libcxx and
  libunwind now. It isn't a 100% clear why, probably because we've
  started to use Darwin's bootstrapStdenv for libcxx in the common
  expression compared to LLVM 12 on master [1].
  The reordering of flags for wasm causes a rebuild for some packages
  like firefox, but this should be tolerable on staging.

[1]: https://github.com/NixOS/nixpkgs/blob/665ebfb253caba7b85c2affefe2a92b305def4e6/pkgs/development/compilers/llvm/12/default.nix#L392-L430

(cherry picked from commit ee9eacf)
All LLVM versions < 12 have been removed, so this patch can live in the
versioned directory, simplifying the patch list in the process.

(cherry picked from commit 8408b91)
Seems like the patch we've written for LLVM 13 and above also works for
LLVM 12 which seems a little more robust.

(cherry picked from commit 3743784)
@github-actions github-actions bot added the 6.topic: nodejs Node.js is a free, open-source, cross-platform JavaScript runtime environment label Nov 22, 2024
@nix-owners nix-owners bot requested a review from Profpatsch November 22, 2024 17:20
wolfgangwalther and others added 4 commits November 22, 2024 17:25
23.05 is not supported anymore.

(cherry picked from commit 894fb07)
Scheduled for removal in 24.11, so let's follow through.

Added in #291544.

(cherry picked from commit 71306e6)
@github-actions github-actions bot added 6.topic: nixos Issues or PRs affecting NixOS modules, or package usability issues specific to NixOS 6.topic: testing Tooling for automated testing of packages and modules labels Nov 22, 2024
@nix-owners nix-owners bot requested review from ajs124, lukegb and mweinelt November 22, 2024 18:19
github-actions bot and others added 9 commits November 23, 2024 00:17
Update to unstable version to relieve some compat issues and reenable
a number of tests.

The upstream unfortunately does not push out release very often anymore.

(cherry picked from commit c3f73ea)
https://hydra.nixos.org/build/279791996
The previous commit removed the handling of `dict` arguments, but
didn’t adjust the type, leading to the following type-checking error:

    test_driver/driver.py:216: error: Argument 1 to "NixStartScript" has incompatible type "str | dict[Any, Any]"; expected "str"  [arg-type]

It also left an unused import that Ruff is unhappy about:

    build/lib/test_driver/driver.py:11:22: F401 [*] `colorama.Fore` imported but unused
    …
    build/lib/test_driver/driver.py:11:28: F401 [*] `colorama.Style` imported but unused

Fixes: 71306e6
(cherry picked from commit d490680)
@vcunat vcunat merged commit 8460d66 into release-24.11 Nov 28, 2024
@erictapen
Copy link
Member

Is there a timeline on the next iteration? I'd particularly need #358568 so that my email MUA (alot) works on 24.11.

@mweinelt
Copy link
Member

I'd say maybe around or after christmas? 🤔

@vcunat
Copy link
Member Author

vcunat commented Dec 11, 2024

There's a queue of people wanting Hydra to build different stuff.

@wolfgangwalther wolfgangwalther added the 4.workflow: staging A staging-next or staging-next-XX.YY branch label May 4, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

4.workflow: staging A staging-next or staging-next-XX.YY branch 6.topic: llvm/clang Issues related to llvmPackages, clangStdenv and related 6.topic: nixos Issues or PRs affecting NixOS modules, or package usability issues specific to NixOS 6.topic: nodejs Node.js is a free, open-source, cross-platform JavaScript runtime environment 6.topic: python Python is a high-level, general-purpose programming language. 6.topic: stdenv Standard environment 6.topic: systemd Software suite that provides an array of system components for Linux operating systems. 6.topic: tcl Dynamic, multi-paradigm programming language 6.topic: testing Tooling for automated testing of packages and modules 8.has: package (new) This PR adds a new package 10.rebuild-darwin: 501+ This PR causes many rebuilds on Darwin and should normally target the staging branches. 10.rebuild-darwin: 5001+ This PR causes many rebuilds on Darwin and must target the staging branches. 10.rebuild-darwin-stdenv This PR causes stdenv to rebuild on Darwin and must target a staging branch. 10.rebuild-linux: 501+ This PR causes many rebuilds on Linux and should normally target the staging branches. 10.rebuild-linux: 5001+ This PR causes many rebuilds on Linux and must target the staging branches. 10.rebuild-linux-stdenv This PR causes stdenv to rebuild on Linux and must target a staging branch.

Projects

None yet

Development

Successfully merging this pull request may close these issues.