github-actions[bot]
80f198ff3a
Merge staging-next into staging
2023-04-05 06:01:50 +00:00
zowoq
4a65e9f64e
go_1_19: 1.19.7 -> 1.19.8
...
Changelog: https://go.dev/doc/devel/release#go1.19
2023-04-05 14:27:30 +10:00
zowoq
416d51a21c
go_1_20: 1.20.2 -> 1.20.3
...
Changelog: https://go.dev/doc/devel/release#go1.20
2023-04-05 11:03:06 +10:00
github-actions[bot]
ad0239e550
Merge staging-next into staging
2023-04-05 00:03:07 +00:00
Guillaume Maudoux
c5e6843b33
Merge pull request #224639 from NixOS/mozart/bump-llvm8
...
mozart: use llvmPackages_8 instead of llvmPackages_5
2023-04-04 23:36:40 +02:00
Ilan Joselevich
244eeefe05
Merge pull request #224485 from PedroHLC/vulkan-sdk-1.3.243-master
...
vulkan-sdk: 1.3.239 -> 1.3.243
2023-04-04 22:19:43 +03:00
github-actions[bot]
7e508acf19
Merge staging-next into staging
2023-04-04 18:01:50 +00:00
François-René Rideau
a3cff1f052
solc: 0.8.13 -> 0.8.19 ( #219240 )
2023-04-04 19:17:56 +02:00
Guillaume Maudoux
00aab45102
mozart: Simplify build thanks to the new sources format
2023-04-04 15:02:20 +02:00
Raito Bezarius
acd90cdb07
mozart: use llvmPackages_8 instead of llvmPackages_5
...
Following issue #44372 logic, we want to get rid of older LLVMs.
2023-04-04 13:33:32 +02:00
github-actions[bot]
276892f80f
Merge staging-next into staging
2023-04-04 00:02:38 +00:00
Yureka
b730214152
pkgsCross.musl64.go: fix build
2023-04-04 08:18:39 +10:00
Benjamin Lee
6cf5d549fe
nimble-unwrapped: Add missing Security framework buildInput
2023-04-03 18:50:57 +00:00
Vladimír Čunát
4eaca2b138
Merge #188492 : glibc: 2.35-224 -> 2.37-8
...
...into staging
2023-04-03 20:29:07 +02:00
Bernardo Meurer
f1f6ca8bcd
Merge pull request #209870 from amjoseph-nixpkgs/pr/stdenv/external-gcc-bootstrap
2023-04-03 08:19:03 -07:00
PedroHLC ☭
fae495c37d
glslang: 1.3.239.0 -> 1.3.243.0
2023-04-03 11:44:40 -03:00
github-actions[bot]
89ab0e405c
Merge staging-next into staging
2023-04-03 12:02:00 +00:00
Jörg Thalheim
e997e33298
Merge pull request #224468 from Mic92/mods
...
remove retrry maintainer
2023-04-03 12:32:24 +01:00
github-actions[bot]
baa80fd5aa
Merge staging-next into staging
2023-04-03 06:02:15 +00:00
7c6f434c
8ce248a734
Merge pull request #218870 from Uthar/lisp2
...
lisp-modules: replace with an implementation based on github:uthar/nix-cl
2023-04-03 06:00:48 +00:00
Anderson Torres
f59ca237ef
cargo: remove retrry from meta.maintainers
2023-04-02 21:24:55 -03:00
Adam Joseph
5f57c2e0f9
pkgs/test/stdenv/default.nix: add gcc-stageCompare
...
This commit adds a derivation `gcc-stageCompare` to
`pkgs/test/stdenv/default.nix`.
It is important to always build this derivation whenever building
`stdenv`! Because we are using a Nix-driven bootstrap instead of
gcc's built-in `--enable-bootstrap`, the `gcc` derivation no longer
performs the post-self-compilation sanity check. You must build
this derivation in order to perform that sanity check.
The major benefit of this new approach is that the sanity check
(which involves a third compilation of gcc) can be performed
*concurrently* with all packages that depend on `stdenv`, rather
than serially. Since `stdenv` has very little derivation-level
parallelism it cannot take advantage of more than one or perhaps two
builders. If you have three or more builders this commit will
reduce the time-to-rebuild-stdenv by around 20% (one of three gcc
rebuilds is removed from the critical path, and stdenv's build time
is dominated by roughly 3*gcc + 1*binutils + 1*bison-test-suite).
Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
2023-04-02 13:49:53 -07:00
Adam Joseph
96588eb3de
gcc: add common/checksum.nix
...
This commit adds `gcc/common/checksum.nix`, which contains code
common to both gcc11 and gcc12, implementing the `enableChecksum`
feature.
When gcc's built-in bootstrap (`--enable-bootstrap`) is used, gcc
compiles itself three times and compares a hash of the unlinked `.o`
files from the second and third compilation. The
`enableChecksum=true` parameter performs the same comparison as part
of the `postInstall` phase.
Notably, `enableChecksum=true` can be used with `enableBootstrap=false`.
Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
2023-04-02 13:49:53 -07:00
Adam Joseph
7553d0fe29
stdenv: Nix-driven bootstrap of gcc
...
#### Summary
By default, when you type `make`, GCC will compile itself three
times. This PR inhibits that behavior by configuring GCC with
`--disable-bootstrap`, and reimplements the triple-rebuild using
Nix rather than `make`/`sh`.
#### Immediate Benefits
- Allow `gcc11` and `gcc12` on `aarch64` (without needing new
`bootstrapFiles`)
- Faster stdenv rebuilds: the third compilation of gcc
(i.e. stageCompare) is no longer a `drvInput` of the final stdenv.
This allows Nix to build stageCompare in parallel with the rest of
nixpkgs instead of in series.
- No more copying `libgcc_s` out of the bootstrap-files or other
derivations
- No more Frankenstein compiler: the final gcc and the libraries it
links against (mpfr, mpc, isl, glibc) are all built by the same
compiler (xgcc) instead of a mixture of the bootstrapFiles'
compiler and xgcc.
- No more [static lib{mpfr,mpc,gmp,isl}.a hack]
- Many other small `stdenv` hacks eliminated
- `gcc` and `clang` share the same codepath for more of `cc-wrapper`.
#### Future Benefits
- This should allow using a [foreign] `bootstrap-files` so long as
`hostPlatform.canExecute bootstrapFiles`.
- This should allow each of the libraries that ship with `gcc`
(lib{backtrace, atomic, cc1, decnumber, ffi, gomp, iberty,
offloadatomic, quadmath, sanitizer, ssp, stdc++-v3, vtv}) to be
built in separate (one-liner) derivations which `inherit src;`
from `gcc`, much like https://github.com/NixOS/nixpkgs/pull/132343
#### Incorporates
- https://github.com/NixOS/nixpkgs/pull/210004
- https://github.com/NixOS/nixpkgs/pull/36948 (unreverted)
- https://github.com/NixOS/nixpkgs/pull/210325
- https://github.com/NixOS/nixpkgs/pull/210118
- https://github.com/NixOS/nixpkgs/pull/210132
- https://github.com/NixOS/nixpkgs/pull/210109
- https://github.com/NixOS/nixpkgs/pull/213909
- https://github.com/NixOS/nixpkgs/pull/216136
- https://github.com/NixOS/nixpkgs/pull/216237
- https://github.com/NixOS/nixpkgs/pull/210019
- https://github.com/NixOS/nixpkgs/pull/216232
- https://github.com/NixOS/nixpkgs/pull/216016
- https://github.com/NixOS/nixpkgs/pull/217977
- https://github.com/NixOS/nixpkgs/pull/217995
#### Closes
- Closes #108305
- Closes #108111
- Closes #201254
- Closes #208412
#### Credits
This project was made possible by three important insights, none of
which were mine:
1. @ericson2314 was the first to advocate for this change, and
probably the first to appreciate its advantages. Nix-driven
(external) bootstrap is "cross by default".
2. @trofi has figured out a lot about how to get gcc to not mix up
the copy of `libstdc++` that it depends on with the copy that it
builds, by moving the `bootstrapFiles`' `libstdc++` into a
[versioned directory]. This allows a Nix-driven bootstrap of gcc
without the final gcc would still having references to the
`bootstrapFiles`.
3. Using the undocumented variable [`user-defined-trusted-dirs`]
when building glibc. When glibc `dlopen()`s `libgcc_s.so`, it
uses a completely different and totally special set of rules for
finding `libgcc_s.so`. This trick is the only way we can put
`libgcc_s.so` in its own separate outpath without creating
circular dependencies or dependencies on the bootstrapFiles. I
would never have guessed to use this (or that it existed!) if it
were not for a [comment in guix] which @Mic92 [mentioned].
My own role in this PR was basically: being available to go on a
coding binge at an opportune moment, so we wouldn't waste a
[crisis].
[aarch64-compare-ofborg]: https://github.com/NixOS/nixpkgs/pull/209870/checks?check_run_id=10662822938
[amd64-compare-ofborg]: https://github.com/NixOS/nixpkgs/pull/209870/checks?check_run_id=10662825857
[nonexistent sysroot]: https://github.com/NixOS/nixpkgs/pull/210004
[versioned directory]: https://github.com/NixOS/nixpkgs/pull/209054
[`user-defined-trusted-dirs`]: https://sourceware.org/legacy-ml/libc-help/2013-11/msg00026.html
[comment in guix]: 5e4ec82181/gnu/packages/gcc.scm (L253)
[mentioned]: https://github.com/NixOS/nixpkgs/pull/210112#issuecomment-1379608483
[crisis]: https://github.com/NixOS/nixpkgs/issues/108305
[foreign]: https://github.com/NixOS/nixpkgs/pull/170857#issuecomment-1170558348
[static lib{mpfr,mpc,gmp,isl}.a hack]: 2f1948af9c/pkgs/stdenv/linux/default.nix (L380)
2023-04-02 13:49:41 -07:00
Adam Joseph
fdd49f1bcd
gcc/{11,12}: use lib.pipe
...
This commit has no effect on eval. It simply reorganizes the
`gcc11` and `gcc12` expressions so they apply a list of
`overrideAttrs`. The list is currently empty.
2023-04-02 03:04:21 -07:00
github-actions[bot]
9d596c3b86
Merge staging-next into staging
2023-04-02 06:01:46 +00:00
Someone Serge
15848ffa42
cudaPackages.cudatoolkit: rm preFixup rpath code
...
...the same logic is handled by autoPatchelf
2023-04-02 01:09:34 +03:00
Someone Serge
6dc90880de
cudaPackages.cudatoolkit: use autoPatchelf
...
...to ensure correctness (in the sense that all DT_NEEDED libraries are
verified to be discoverable through the runpaths)
2023-04-02 01:08:41 +03:00
github-actions[bot]
47ddbcb1f0
Merge staging-next into staging
2023-03-31 00:03:05 +00:00
superherointj
60e727af11
Merge pull request #223914 from superherointj/scale-back
...
CODEOWNERS: remove superherointj
2023-03-30 18:54:19 -03:00
Weijia Wang
30a8405fd4
Merge pull request #223900 from wegank/rocm-aarch64
...
llvmPackages_rocm.llvm: mark as broken on aarch64-linux
2023-03-30 23:33:08 +03:00
Benjamin Staffin
ff296a777e
Merge pull request #207115 from s1341/init_freeipa
...
freeipa: init at 4.10.1
2023-03-30 13:15:18 -04:00
superherointj
1f087c364a
ponyc: remove superherointj as maintainer
2023-03-30 11:00:52 -03:00
superherointj
1dd6798097
pony-corral: remove superherointj as maintainer
2023-03-30 11:00:40 -03:00
github-actions[bot]
e2137dea96
Merge staging-next into staging
2023-03-30 12:01:58 +00:00
Weijia Wang
a94d9447ef
llvmPackages_rocm.llvm: mark as broken on aarch64-linux
2023-03-30 14:15:27 +03:00
github-actions[bot]
00a3584a5f
Merge staging-next into staging
2023-03-29 18:09:23 +00:00
ajs124
47e7025ad0
buildDotNet: don't pin openssl_1_1
2023-03-29 16:15:34 +02:00
ajs124
800426cf64
Merge pull request #222422 from mdarocha/remove-dotnet-3
...
dotnet-sdk_3: remove
2023-03-29 16:13:25 +02:00
Maximilian Bosch
89fda21fae
gccgo6: fix build w/glibc-2.36
...
Failing Hydra build: https://hydra.nixos.org/build/193810432
2023-03-29 09:50:29 +02:00
Maximilian Bosch
2a2cd02cb6
gcc49: fix build w/glibc-2.36
...
Failing Hydra build: https://hydra.nixos.org/build/193330218
2023-03-29 09:50:26 +02:00
Maximilian Bosch
9bb6dc1bc3
gcc6: fix build w/glibc-2.36
...
Failing Hydra build: https://hydra.nixos.org/build/193371579
2023-03-29 09:50:26 +02:00
Maximilian Bosch
0ed55ff3ca
gcc7: fix build w/glibc-2.36
...
Failing Hydra build: https://hydra.nixos.org/build/193340626
2023-03-29 09:50:26 +02:00
Maximilian Bosch
b0d673c794
gcc8: fix build w/glibc-2.36
...
Failing Hydra build: https://hydra.nixos.org/build/193370420
2023-03-29 09:50:25 +02:00
Maximilian Bosch
531a1965de
gcc9: fix build w/glibc-2.36
...
Failing Hydra build: https://hydra.nixos.org/build/193342322
Patch from gcc11 requires some minor adjustments to properly apply.
2023-03-29 09:50:25 +02:00
Maximilian Bosch
b0265aadac
gcc10: fix build w/glibc-2.36
...
Failing Hydra build: https://hydra.nixos.org/build/193327405
Same fix as for gcc11.
2023-03-29 09:50:25 +02:00
Maximilian Bosch
019f605cd7
gcc: exclude malformed sys/mount.h
from fixed headers directory
...
Previously, builds such as `cmake` would fail with errors like this:
In file included from /nix/store/injyphmxqgi028skp28fsmdvbdb57nvl-glibc-2.36-48-dev/include/linux/fs.h:19,
from /build/cmake-3.24.2/Utilities/cmlibarchive/libarchive/archive_read_disk_posix.c:56:
/nix/store/injyphmxqgi028skp28fsmdvbdb57nvl-glibc-2.36-48-dev/include/linux/mount.h:95:6: error: redeclaration of 'enum fsconfig_command'
95 | enum fsconfig_command {
| ^~~~~~~~~~~~~~~~
The reason behind that is that the kernel exports `linux/mount.h` via
kernel headers APIs that are also defined in `sys/mount.h` from glibc.
To avoid clashes, safeguards were implemented in glibc to prevent this
from happening[1][2].
However, these `#ifndef`-safeguards are removed by `fixincludes` during
gcc's build and the (broken) result is subsequently copied into
`include-fixed/sys/mount.h` which is added to each build via the
cc-wrapper. To work around this, I decided to simply drop the file: it
also exists in glibc's output and our gcc12 doesn't seem to expose this
anymore anyways.
[1] Commit bb1e8b0ca99b5cbedfae3e6245528a87d95ff3e2
[2] Commit 3bd3c612e98a53ce60ed972f5cd2b90628b3cba5
2023-03-29 09:50:25 +02:00
Maximilian Bosch
b2a1ac4e99
gcc11: fix build w/glibc-2.36
...
Failing Hydra build: https://hydra.nixos.org/build/189053872
2023-03-29 09:50:24 +02:00
figsoda
4cb59fe2e3
rustc: remove unused inputs
2023-03-29 08:00:08 +10:00
figsoda
45b1d4d292
rustc: 1.68.1 -> 1.68.2
...
Diff: https://github.com/rust-lang/rust/compare/1.68.1...1.68.2
Changelog: https://blog.rust-lang.org/2023/03/28/Rust-1.68.2.html
2023-03-29 08:00:08 +10:00