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

Staging next #123279

Merged
merged 317 commits into from
May 23, 2021
Merged

Staging next #123279

merged 317 commits into from
May 23, 2021

Conversation

jonringer
Copy link
Contributor

@jonringer jonringer commented May 16, 2021

https://hydra.nixos.org/job/nixpkgs/staging-next/unstable#tabs-constituents (soon)


Should be the final staging-next for ZHF

Major areas of focus: llvm packages, aarch64-darwin support.

Previous Staging-next: #122068

ttuegel and others added 30 commits May 11, 2021 12:14
If things build fine with `stdenvNoCC`, let them use that. If tools
might be prefixed, prepare for that, either by directly splicing or just
using the env vars provided by the wrapper setup-hooks.

Co-authored-by: Dmitry Kalinkin <dmitry.kalinkin@gmail.com>
* Use LLVM_PATH instead of llvm-config
* Pass less unnecessary options to cmake
This keeps the "main bootstrap" together.
This decision was made in a902d99 but
just for LLVM 12. Now we apply it consitently.
- Introduce `preLibcCrossHeaders` to bootstrap libgcc and compiler-rt
  the same way.

- Organize LLVM bintools as `bintools{-unwrapped,,NoLibc}` for
  consistency with GNU Binutils and Apple's cctools.

- Do Android changes for all `llvmPackages` for consistency.

- Improve the way the default GCC and LLVM versions are selected.
The main thing was using `llvm_meta` in all versions.

Secondarily:

 - libunwindx7: Forgot to split outputs

 - libcxx{,abi} 12: Forgot to apply output-splitting patches.

 - simplify `useLLVM` stdenv-switching logic.

 - openmp always gets its own directory
treewide: Some LLVM / bootstrapping / cross cleanups especially for consistency
@sternenseemann
Copy link
Member

firefox: its attempts to override llvm's bintools don't work anymore (can't find llvm-ar)

Should be fixed by #123886.

Note that there could be similar regression for virtually everything that uses clang and LTO in nixpkgs, but I guess it is not that many derivations?

@jtojnar
Copy link
Member

jtojnar commented May 21, 2021

For libxml2, maybe #123890

@stephank
Copy link
Contributor

stephank commented May 21, 2021

For libxml2, maybe #123890

Having some difficulty verifying if that fixes phpExtensions.dom. When merging it into staging-next:

  • On Darwin, it is a stdenv rebuild.
  • On Linux, I have to go through gnutls which fails for some reason.

😕

@vcunat
Copy link
Member

vcunat commented May 21, 2021

On Linux, I have to go through gnutls which fails for some reason.

I'm not getting that failure. (x86_64 NixOS, sandboxed)

@vcunat
Copy link
Member

vcunat commented May 21, 2021

Nevertheless, the php issue doesn't seem affected by the change.

@stephank
Copy link
Contributor

Okay, good to know. I was trying to opposite direction next, cherry-pick libxml2 2.9.12 into master. That's these two commits:

Unfortunately, I'm again blocked by gnutls. 😕 I think it's actually an issue with my local qemu VM, that mysteriously hangs at various idle points, because the failures are random timeouts in tests.

Jonathan Ringer and others added 2 commits May 21, 2021 10:39
@jonringer
Copy link
Contributor Author

I think the immediate course of action will be:

Release is scheduled to be done by next week.

@grahamc for next release, we should really increase the x86_64-darwin compute going into ZHF, if they are going to be included in jobsets which will determine merge-ability :)

@stephank
Copy link
Contributor

stephank commented May 21, 2021

I managed to resolve my VM issue and do some further testing. (Apparently, I have to run qemu with -display none on macOS to get consistent scheduling or something. Probably the difference between a GUI application and background task.)

Curiously, I got two different results on Linux:

  • On master, cherry-picking d01a4e3 and 76c5849 makes a build of phpExtensions.dom fail with the same error we're seeing on Hydra.
  • On master, just overriding the libxml2 input of phpExtensions.dom with the changes from d01a4e3 does not fail.

@stephank
Copy link
Contributor

Hmm, the subtlety for the second case, of just overriding the libxml2 build input, is whether it is also overridden for PHP itself. Overriding libxml2 for both PHP and the dom extension results in the same failure as on Hydra.

So looks to me like it's definitely the libxml2 upgrade.

sternenseemann and others added 5 commits May 21, 2021 23:09
Since 37194a3 llvmPackages*.bintools is a bintools-wrapper. Thus it
only contains a wrapper for `as` and `ld`. This change makes sense, but
causes regressions like this one. Since the buildStdenv uses the llvm
bintool set including lld as a linker we can use the
cc.bintools.bintools derivation to get all the tools we need.
Technically we wouldn't need to set absolute paths as all tools are also
added to PATH, but it doesn't hurt either.
[staging-next] firefox: take LLVM tools from buildStdenv
Conflicts:
 pkgs/development/tools/rust/cargo-expand/default.nix
 pkgs/tools/misc/blflash/default.nix
@stephank
Copy link
Contributor

I made an attempt to fix the PHP issue upstream in php/php-src#7030. With that patch, the full php with extensions builds again. But not sure if my patch is correct, so hoping for an upstream response.

@mweinelt
Copy link
Member

@jonringer
Copy link
Contributor Author

https://shells.darmstadt.ccc.de/~hexa/1672060.html

I did the review report myself, and was able to build many of the "failed builds". I think this is fine to merge

Conflicts:
 pkgs/tools/networking/xh/default.nix
@jonringer jonringer requested a review from ryantm as a code owner May 23, 2021 01:19
@jonringer
Copy link
Contributor Author

waiting on eval to finish

@jonringer
Copy link
Contributor Author

eval finished

@jonringer jonringer merged commit d9de791 into master May 23, 2021
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.