Skip to content

Comments

staging-next 2023-07-06#241951

Merged
vcunat merged 313 commits intomasterfrom
staging-next
Jul 15, 2023
Merged

staging-next 2023-07-06#241951
vcunat merged 313 commits intomasterfrom
staging-next

Conversation

@vcunat
Copy link
Member

@vcunat vcunat commented Jul 6, 2023

github-actions bot and others added 30 commits June 27, 2023 18:01
python3Packages.zstd: 1.5.4.0 -> 1.5.5.1
util-linux: split mount, login and swap utils into their own outputs
@reckenrode
Copy link
Contributor

Darwin seems less clear, as there's more noise, and there's probably also more genuine regressions. For example, rebuilding stdenv bootstrap tools: https://hydra.nixos.org/build/227102296#tabs-buildsteps

That as is a script isn’t actually a change for aarch64-darwin, so that’s surprising. I’ll take a look at it, though I’m not sure being able to build the bootstrap tools is necessarily a blocker.

There are also a couple of PRs fixing things (build2 #243440, GHC 9.6.2 #243478) that were broken by the switch to llvm-ar.

@vcunat
Copy link
Member Author

vcunat commented Jul 14, 2023

If it's possible that RAM consumption during linking could increase a lot on x86_64-darwin, that might explain why nodejs is failing repeatedly on Hydra now.

reckenrode and others added 3 commits July 14, 2023 10:51
The switch to cctools-llvm made several LLVM tools the default on
Darwin, which includes llvm-ar. GHC will try to use `-L` with `ar` when
it is `llvm-ar`, but that doesn’t work currently on Darwin.

See https://gitlab.haskell.org/ghc/ghc/-/issues/23188.
reckenrode added a commit to reckenrode/nixpkgs that referenced this pull request Jul 14, 2023
This fixes the Hydra build failure on staging-next. NixOS#241951 (comment)
@kirillrdy kirillrdy mentioned this pull request Jul 15, 2023
12 tasks
wegank and others added 3 commits July 15, 2023 12:33
stdenvBootstrapTools: in darwin, only run install_name_tool on Mach-O files
..into staging-next.  This is a topologically earlier re-merge,
as it seems fairly important security fix and not that huge rebuild.
@reckenrode
Copy link
Contributor

I might have a fix for the nodejs timeout. It’s trying to create a static archive in postinstall. On Darwin, it adds a file at a time, which is apparently very slow with llvm-ar. The fix is to detect llvm-ar and use a response file like it does with GNU ar. I’m building nodejs-slim now to test and confirm that it works. If it does, I’ll open a PR.

reckenrode added a commit to reckenrode/nixpkgs that referenced this pull request Jul 15, 2023
nodejs produces a static archive in its `postInstall`. It detects if the
`ar` is GNU ar and uses a response file. Otherwise, it adds the files
individually. This is apparently very slow with `llvm-ar`, which Darwin
now uses by default. Fortunately, `llvm-ar` also supports response
files, so detect whether the `ar` is `llvm-ar` and use a response file.

I tested the build on aarch64-darwin. `postInstall` took less than a
minute to generate a 59 MiB static archive. Comparing to the build on
master, the only difference between the two archives is `llvm-ar` zeroes
out the dates, uids, and gids by default. Compared disassembly of the
archives appeared identical.

This fixes the timeouts on staging-next. NixOS#241951

https://hydra.nixos.org/build/227170390
...after stdenv rework merge; merge into staging-next
@github-actions github-actions bot added the 6.topic: haskell General-purpose, statically typed, purely functional programming language label Jul 15, 2023
@vcunat vcunat merged commit 3368e88 into master Jul 15, 2023
@vcunat
Copy link
Member Author

vcunat commented Jul 15, 2023

Anyway, I believe it's time to move on, so that we get better feedback loop for the PRs, the security fixes, etc.

@vcunat vcunat mentioned this pull request Jul 18, 2023
1 task
@cole-h cole-h removed the ofborg-internal-error Ofborg encountered an error label Sep 5, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

1.severity: security Issues which raise a security issue, or PRs that fix one 6.topic: haskell General-purpose, statically typed, purely functional programming language 6.topic: nixos Issues or PRs affecting NixOS modules, or package usability issues specific to NixOS 6.topic: printing Drivers, CUPS & Co. 6.topic: python Python is a high-level, general-purpose programming language. 6.topic: ruby A dynamic, open source programming language with a focus on simplicity and productivity. 6.topic: rust General-purpose programming language emphasizing performance, type safety, and concurrency. 6.topic: stdenv Standard environment 6.topic: systemd Software suite that provides an array of system components for Linux operating systems. 6.topic: vim Advanced text editor 8.has: clean-up This PR removes packages or removes other cruft 8.has: module (update) This PR changes an existing module in `nixos/` 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.