Commit Graph

766 Commits

Author SHA1 Message Date
OPNA2608
cc3b6f2d91 make-bootstrap-tools-cross: add powerpc64-unknown-linux-gnuabielfv1 2025-06-25 17:25:44 +02:00
John Ericson
1c6586455c treewide: Leverage new top-level libc in bootstrap, and simplify
Picking up where #414321 left off, we can now simplify some things by
using `pkgs.libc` or `targetPackages.libc` consistently.

Individual packages should probably continue using `stdenv.cc.libc`, for
now at least, since it is possible they are given a `stdenv.cc` with an
alternative libc, but for the treewide code, the top-level `libc`
package is preferable and easier to work with.

Co-authored-by: Tristan Ross <rosscomputerguy@protonmail.com>
2025-06-06 16:01:19 -04:00
Johan Herland
abda866f17 fetchurl: Add hook for rewriting/filtering URLs
This allows on-the-fly rewriting of URLs before they are passed from
fetchurl (or fetchurlBoot) to curl.

The intended use is to allow inserting company-internal mirrors, or
working around company firewalls and similar network restrictions,
without having to extensively patch across all of nixpkgs. Instead,
users can pass a function in their nixpkgs that performs the necessary
URL rewrites.

Co-authored-by: Alexander Bantyev <balsoft@balsoft.ru>
2025-06-04 10:29:08 +00:00
Alyssa Ross
7d14281d91 make-bootstrap-tools-cross: add riscv64-unknown-linux-musl 2025-05-15 14:44:58 +02:00
K900
c8c30c91d5 Merge remote-tracking branch 'origin/master' into staging-next 2025-04-25 16:12:45 +03:00
aleksana
0ef29681a1 pkgs/stdenv/linux: add loongarch64-unknown-linux-gnu bootstrap-files
sha256sum of files to be uploaded:

$ sha256sum
/nix/store/gvjaqdhmvsqn821iypwj0cb8xq8yiii6-stdenv-bootstrap-tools-loongarch64-unknown-linux-gnu/on-server/*
631d1899b54496c6cdd152a03e229f9bbf9edde779257bb7bd9bf490a221111f
/nix/store/gvjaqdhmvsqn821iypwj0cb8xq8yiii6-stdenv-bootstrap-tools-loongarch64-unknown-linux-gnu/on-server/bootstrap-tools.tar.xz
1f467c19008c5e052156da4ca2209e97f552f8a161ce2b5dec8f7dfbaae362c2
/nix/store/gvjaqdhmvsqn821iypwj0cb8xq8yiii6-stdenv-bootstrap-tools-loongarch64-unknown-linux-gnu/on-server/busybox

Suggested commands to upload files to 'tarballs.nixos.org':

    $ nix-store --realize
/nix/store/gvjaqdhmvsqn821iypwj0cb8xq8yiii6-stdenv-bootstrap-tools-loongarch64-unknown-linux-gnu
    $ aws s3 cp --recursive --acl public-read
/nix/store/gvjaqdhmvsqn821iypwj0cb8xq8yiii6-stdenv-bootstrap-tools-loongarch64-unknown-linux-gnu/on-server/
s3://nixpkgs-tarballs/stdenv/loongarch64-unknown-linux-gnu/bdcacf48f3b064c93a9064d1d545f75c60ca6c77
    $ aws s3 cp --recursive
s3://nixpkgs-tarballs/stdenv/loongarch64-unknown-linux-gnu/bdcacf48f3b064c93a9064d1d545f75c60ca6c77
./
    $ sha256sum bootstrap-tools.tar.xz busybox
    $ sha256sum
/nix/store/gvjaqdhmvsqn821iypwj0cb8xq8yiii6-stdenv-bootstrap-tools-loongarch64-unknown-linux-gnu/on-server/*
2025-04-23 22:57:56 +08:00
Thiago Kenji Okada
759b1d00e0 stdenv: fix stage1 gettext build (with gcc14) (#399694) 2025-04-22 14:47:52 +01:00
aleksana
1da19c6010 stdenv: fix stage1 gettext build (with gcc14)
Add the same trick for gettext as for libunistring below, skipping
"checking for working iconv" which requires locales and gconv modules
(and other stuff we don't have in bootstrapTools?)

It tries to run the following check in `iconv.m4` which fails:

```c
#include <iconv.h>
#include <string.h>

int
main (void)
{
int result = 0;

  /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is
     provided.  */
  {
    /* Try standardized names.  */
    iconv_t cd1 = iconv_open ("UTF-8", "EUC-JP");
    /* Try IRIX, OSF/1 names.  */
    iconv_t cd2 = iconv_open ("UTF-8", "eucJP");
    /* Try AIX names.  */
    iconv_t cd3 = iconv_open ("UTF-8", "IBM-eucJP");
    /* Try HP-UX names.  */
    iconv_t cd4 = iconv_open ("utf8", "eucJP");
    if (cd1 == (iconv_t)(-1) && cd2 == (iconv_t)(-1)
        && cd3 == (iconv_t)(-1) && cd4 == (iconv_t)(-1))
      result |= 16;
    if (cd1 != (iconv_t)(-1))
      iconv_close (cd1);
    if (cd2 != (iconv_t)(-1))
      iconv_close (cd2);
    if (cd3 != (iconv_t)(-1))
      iconv_close (cd3);
    if (cd4 != (iconv_t)(-1))
      iconv_close (cd4);
  }
  return result;

  ;
  return 0;
}
```

Then it assumes iconv is not there and tries to use some built-in iconv
function? idk

Resulting in following error:

```
iconv-ostream.c:311:3: error: initialization of 'void (*)(struct
any_ostream_representation *, ostream_flush_scope_t)' from incompatible
pointer type 'void (*)(struct any_ostream_representation *)' []
```

This isn't causing a build failure in other architectures because we
haven't updated bootstrapTools to gcc14, so the error isn't noticeable,
but it's there. Check https://hydra.nixos.org/build/294707390/nixlog/10
2025-04-22 20:48:22 +08:00
aleksana
00a5791030 make-bootstrap-tools-cross: add loongarch64-unknown-linux-gnu 2025-04-22 13:59:51 +02:00
aleksana
b814e3d946 stdenv-bootstrap-tools: use bashNonInteractive
Currently bash is bashInteractive, and it depends on readline. We don't
copy readline so bash from bootstrap-tools is broken.
2025-04-22 13:59:51 +02:00
aleksana
81df2570ee stdenv-bootstrap-tools: don't copy obsolete libutil from glibc
Starting from glibc 2.34, all functionality previously implemented in
libpthread, libdl, libutil and libanl are now integrated into libc.

https://lists.gnu.org/archive/html/info-gnu/2021-08/msg00001.html

As loongarch64 support was merged into glibc after 2.34, libutil.so is
no longer in there, thus breaking bootstrap.

https://github.com/loongson-community/discussions/issues/29

libdl is not removed because bash still links against it, and libpthread
is not removed because xgcc depends on it to build libatomic.
2025-04-22 13:59:51 +02:00
Sigmanificient
91d5ab3ae4 treewide: remove unused rec expressions 2025-03-14 05:15:05 +01:00
Silvan Mosberger
e3491c9e40 bash: Make interactive the default
The status quo of `bash` not being interactive is frustrating for many users,
because trying to use it interactively is just messed up, and
`bashInteractive` is not intuitive and barely discoverable.

This was brought to my (and many others) attention by @stahnma in his
[talk at CfgMgmtCamp 2025](https://cfp.cfgmgmtcamp.org/ghent2025/talk/YUVUTN/),
where he highlighted this as one of the frustrations he ran into when
learning Nix.

Why this is fine:
- No reason for not making interactive the default was given in the original commit (6c6ff6f36f), but probably it was due to the increase in closure size
- The closure size only increases by 6.9MiB (19.5%) today, with the
  added dependency on the store paths for readline and ncurses, which
  are needed on systems in almost all cases anyways
- If somebody really needs to get a more minimal system, they can use
  the newly-introduced `bashNonInteractive` instead now
- Though to apply it consistently, they'll need to do that in an
  overlay like
  ```
  final: prev: {
    bash = self.bashNonInteractive;
  }
  ```

  Or alternatively using the `system.replaceDependencies.replacements`
  NixOS option approach.

While there's also other such `*Interactive` packages that could use the
same treatment, `bash` is a great start.

This was already attempted before in
https://github.com/NixOS/nixpkgs/pull/151227, but was not continued for
unknown reason.

To avoid stdenv becoming bigger, all uses of bash in the (working)
stdenv's are changed to the explicitly non-interactive version here.

This commit will however still cause a mass rebuild for all packages (and reverse deps)
making use of the default bash.
2025-02-05 00:31:46 +01:00
Jörg Thalheim
bf54c45249 Update armv5 and armv6 bootstrap tools (#364050) 2025-01-11 19:17:26 +01:00
Guillaume Girol
0970fc9675 Merge remote-tracking branch 'origin/nixos-unstable' into update-armv56_bootstrap_tools 2024-12-17 12:00:00 +00:00
Guillaume Girol
a2d3d00fb0 pkgs/stdenv/linux: update armv6l-unknown-linux-gnueabihf bootstrap-files
sha256sum of files to be uploaded:

$ sha256sum /nix/store/cwfvh58lcbyk26d34j1w26d3ladgcgn8-stdenv-bootstrap-tools-armv6l-unknown-linux-gnueabihf/on-server/*
20e6514c946fa0fd1b233e4623a1aa18061bfc574c13ec55572153be0b662eec  /nix/store/cwfvh58lcbyk26d34j1w26d3ladgcgn8-stdenv-bootstrap-tools-armv6l-unknown-linux-gnueabihf/on-server/bootstrap-tools.tar.xz
dc73ddacf019a38669921f1c58c3adeaac290c2988cd54fc39f968c805d521a8  /nix/store/cwfvh58lcbyk26d34j1w26d3ladgcgn8-stdenv-bootstrap-tools-armv6l-unknown-linux-gnueabihf/on-server/busybox

Suggested commands to upload files to 'tarballs.nixos.org':

    $ nix-store --realize /nix/store/cwfvh58lcbyk26d34j1w26d3ladgcgn8-stdenv-bootstrap-tools-armv6l-unknown-linux-gnueabihf
    $ aws s3 cp --recursive --acl public-read /nix/store/cwfvh58lcbyk26d34j1w26d3ladgcgn8-stdenv-bootstrap-tools-armv6l-unknown-linux-gnueabihf/on-server/ s3://nixpkgs-tarballs/stdenv/armv6l-unknown-linux-gnueabihf/029dea9aaacf920ce8f7d89e4cf09da31a38d8e1
    $ aws s3 cp --recursive s3://nixpkgs-tarballs/stdenv/armv6l-unknown-linux-gnueabihf/029dea9aaacf920ce8f7d89e4cf09da31a38d8e1 ./
    $ sha256sum bootstrap-tools.tar.xz busybox
    $ sha256sum /nix/store/cwfvh58lcbyk26d34j1w26d3ladgcgn8-stdenv-bootstrap-tools-armv6l-unknown-linux-gnueabihf/on-server/*
2024-12-10 23:22:18 +01:00
Guillaume Girol
ffe685b3e0 pkgs/stdenv/linux: update armv5tel-unknown-linux-gnueabi bootstrap-files
sha256sum of files to be uploaded:

$ sha256sum /nix/store/7xapg8fj3p2fpmnppsd28a66q62vzdg1-stdenv-bootstrap-tools-armv5tel-unknown-linux-gnueabi/on-server/*
fbb71d2944e184e6f8a551418cf585a416d37e7eb803f7b39199cfea11213113  /nix/store/7xapg8fj3p2fpmnppsd28a66q62vzdg1-stdenv-bootstrap-tools-armv5tel-unknown-linux-gnueabi/on-server/bootstrap-tools.tar.xz
90dff34c05771333bd1c95c9eb2017b15da428937aed3cbf91677f09469d11ad  /nix/store/7xapg8fj3p2fpmnppsd28a66q62vzdg1-stdenv-bootstrap-tools-armv5tel-unknown-linux-gnueabi/on-server/busybox

Suggested commands to upload files to 'tarballs.nixos.org':

    $ nix-store --realize /nix/store/7xapg8fj3p2fpmnppsd28a66q62vzdg1-stdenv-bootstrap-tools-armv5tel-unknown-linux-gnueabi
    $ aws s3 cp --recursive --acl public-read /nix/store/7xapg8fj3p2fpmnppsd28a66q62vzdg1-stdenv-bootstrap-tools-armv5tel-unknown-linux-gnueabi/on-server/ s3://nixpkgs-tarballs/stdenv/armv5tel-unknown-linux-gnueabi/029dea9aaacf920ce8f7d89e4cf09da31a38d8e1
    $ aws s3 cp --recursive s3://nixpkgs-tarballs/stdenv/armv5tel-unknown-linux-gnueabi/029dea9aaacf920ce8f7d89e4cf09da31a38d8e1 ./
    $ sha256sum bootstrap-tools.tar.xz busybox
    $ sha256sum /nix/store/7xapg8fj3p2fpmnppsd28a66q62vzdg1-stdenv-bootstrap-tools-armv5tel-unknown-linux-gnueabi/on-server/*
2024-12-10 23:22:07 +01:00
Silvan Mosberger
4f0dadbf38 treewide: format all inactive Nix files
After final improvements to the official formatter implementation,
this commit now performs the first treewide reformat of Nix files using it.
This is part of the implementation of RFC 166.

Only "inactive" files are reformatted, meaning only files that
aren't being touched by any PR with activity in the past 2 months.
This is to avoid conflicts for PRs that might soon be merged.
Later we can do a full treewide reformat to get the rest,
which should not cause as many conflicts.

A CI check has already been running for some time to ensure that new and
already-formatted files are formatted, so the files being reformatted here
should also stay formatted.

This commit was automatically created and can be verified using

    nix-build a08b3a4d19.tar.gz \
      --argstr baseRev b32a094368
    result/bin/apply-formatting $NIXPKGS_PATH
2024-12-10 20:26:33 +01:00
Silvan Mosberger
84d4f874c2 treewide: format all inactive Nix files
After final improvements to the official formatter implementation,
this commit now performs the first treewide reformat of Nix files using it.
This is part of the implementation of RFC 166.

Only "inactive" files are reformatted, meaning only files that
aren't being touched by any PR with activity in the past 2 months.
This is to avoid conflicts for PRs that might soon be merged.
Later we can do a full treewide reformat to get the rest,
which should not cause as many conflicts.

A CI check has already been running for some time to ensure that new and
already-formatted files are formatted, so the files being reformatted here
should also stay formatted.

This commit was automatically created and can be verified using

    nix-build a08b3a4d19.tar.gz \
      --argstr baseRev 78e9caf153
    result/bin/apply-formatting $NIXPKGS_PATH
2024-12-10 20:23:58 +01:00
Weijia Wang
28f966f9e0 stdenv: rebuild gettext with working iconv 2024-11-20 02:14:48 +00:00
Guillaume Girol
ad751c9e58 pkgs/stdenv/linux: update armv7l-unknown-linux-gnueabihf bootstrap-files
sha256sum of files to be uploaded:

$ sha256sum /nix/store/y2xac60x8qkli271qn4dz78lzm2sqiv8-stdenv-bootstrap-tools-armv7l-unknown-linux-gnueabihf/on-server/*
1690549cc236d25e0b55db663e968658fe7e579d99a6f007d4998790ea858422  /nix/store/y2xac60x8qkli271qn4dz78lzm2sqiv8-stdenv-bootstrap-tools-armv7l-unknown-linux-gnueabihf/on-server/bootstrap-tools.tar.xz
b2e5843ed6738c28d9cbbe02a82478ad1462ffad5aad0e02e38aa10983eac637  /nix/store/y2xac60x8qkli271qn4dz78lzm2sqiv8-stdenv-bootstrap-tools-armv7l-unknown-linux-gnueabihf/on-server/busybox

Suggested commands to upload files to 'tarballs.nixos.org':

    $ nix-store --realize /nix/store/y2xac60x8qkli271qn4dz78lzm2sqiv8-stdenv-bootstrap-tools-armv7l-unknown-linux-gnueabihf
    $ aws s3 cp --recursive --acl public-read /nix/store/y2xac60x8qkli271qn4dz78lzm2sqiv8-stdenv-bootstrap-tools-armv7l-unknown-linux-gnueabihf/on-server/ s3://nixpkgs-tarballs/stdenv/armv7l-unknown-linux-gnueabihf/b92edf1104c47016385e85c87c2d953cf5cd2f98
    $ aws s3 cp --recursive s3://nixpkgs-tarballs/stdenv/armv7l-unknown-linux-gnueabihf/b92edf1104c47016385e85c87c2d953cf5cd2f98 ./
    $ sha256sum bootstrap-tools.tar.xz busybox
    $ sha256sum /nix/store/y2xac60x8qkli271qn4dz78lzm2sqiv8-stdenv-bootstrap-tools-armv7l-unknown-linux-gnueabihf/on-server/*
2024-11-03 17:15:44 +01:00
Stig Palmquist
c49774ff46 perl540: fix build in stage1, add C locale patch
- Add patch from Perl upstream fixing build if only C locale is
  available

- Change back from `perl538` to `perl` (perl540) in bootstrap-stage-1
2024-09-25 18:38:27 +02:00
Simon Hauser
8cd3989e4d gawk: 5.2.2 -> 5.3.1
Changelog:
- https://lists.gnu.org/archive/html/info-gnu/2023-11/msg00000.html
- https://mail.gnu.org/archive/html/info-gnu/2024-09/msg00008.html
2024-09-23 19:04:39 +02:00
Marcus Ramberg
384f9f8336 perl: 5.38.2 -> 5.40.0
- perl: perl538 -> perl540
- perl: disable parallel building as it fails for 5.40
- perlPackages: perl538Packages -> perl540Packages
- perlCross:  84db4c7 -> 1.6
2024-09-07 19:09:39 +02:00
w
d7ec977f86 stdenv: Allow user to supply their bootstrapFiles set of tools 2024-08-30 02:31:18 +00:00
Philip Taron
4758cfe98f stdenv/linux: disable and drop isl from gcc's bootstrap tools (#336985) 2024-08-28 19:32:54 -07:00
Jörg Thalheim
2c9d00dbed pkgs/stdenv/linux: update s390x-unknown-linux-gnu bootstrap-files (#334334) 2024-08-28 09:27:19 +02:00
Sergei Trofimovich
a74147fe6a stdenv/linux: disable and drop isl from gcc's bootstrap tools
`isl` is only needed to support `gcc` transformations enabled by
`-fgraphite*` options. Packages do not usually use those flags. None of
the bootstrap packages use it.

`nixpkgs` does not use up-to-date `isl` for `gcc` either. Let's drop
`isl` dependency from the bootstrap binary seed.
2024-08-24 10:27:24 +01:00
Philip Taron
2cf5e918df stdenv: remove with statements 2024-08-18 06:32:22 -07:00
bl0v3
f32f54b860 pkgs/stdenv/linux: update s390x-unknown-linux-gnu bootstrap-files
sha256sum of files to be uploaded:

$ sha256sum /nix/store/ijkl5anf7mx1p3whdkxv4qs5crf6ic35-stdenv-bootstrap-tools-s390x-unknown-linux-gnu/on-server/*
1d8a28370912b69f50d6764ec3d71e9448903d6c14ee24873f589ac68741bf58  /nix/store/ijkl5anf7mx1p3whdkxv4qs5crf6ic35-stdenv-bootstrap-tools-s390x-unknown-linux-gnu/on-server/bootstrap-tools.tar.xz
03f16d698a45ec58bd5a0dc428d64ad5122a3ea1fd4d886cc93618951e4e74eb  /nix/store/ijkl5anf7mx1p3whdkxv4qs5crf6ic35-stdenv-bootstrap-tools-s390x-unknown-linux-gnu/on-server/busybox

Suggested commands to upload files to 'tarballs.nixos.org':

    $ nix-store --realize /nix/store/ijkl5anf7mx1p3whdkxv4qs5crf6ic35-stdenv-bootstrap-tools-s390x-unknown-linux-gnu
    $ aws s3 cp --recursive --acl public-read /nix/store/ijkl5anf7mx1p3whdkxv4qs5crf6ic35-stdenv-bootstrap-tools-s390x-unknown-linux-gnu/on-server/ s3://nixpkgs-tarballs/stdenv/s390x-unknown-linux-gnu/0a7eaa55ccaa5103f44a9a4e3e0b06e5314a6401
    $ aws s3 cp --recursive s3://nixpkgs-tarballs/stdenv/s390x-unknown-linux-gnu/0a7eaa55ccaa5103f44a9a4e3e0b06e5314a6401 ./
    $ sha256sum bootstrap-tools.tar.xz busybox
    $ sha256sum /nix/store/ijkl5anf7mx1p3whdkxv4qs5crf6ic35-stdenv-bootstrap-tools-s390x-unknown-linux-gnu/on-server/*
2024-08-13 10:18:32 +02:00
github-actions[bot]
cf88251824 Merge staging-next into staging 2024-08-05 18:01:40 +00:00
bl0v3
398058603f stdenv: add bootstrap files for s390x 2024-08-05 13:04:20 +02:00
Vladimír Čunát
d4720e9c1e Merge branch 'staging-next' into staging
There was a nontrivial conflict in pkgs/stdenv/linux/bootstrap-tools*
(reorganizing code vs. modifying it)  I hope I really got it right.
2024-08-05 11:05:55 +02:00
Philip Taron
e915f6b32e freshBootstrapTools: run nixfmt 2024-08-02 17:47:52 -07:00
Philip Taron
2587d88ee8 freshBootstrapTools.bootstrapTools: extract as a sort of package 2024-08-02 17:47:40 -07:00
Philip Taron
052ecdbfae freshBootstrapTools: unify glibc and musl into the same directory
CI required that I `nixfmt` them at the same time.
2024-08-02 17:47:19 -07:00
Philip Taron
0a8120ff7d freshBootstrapTools: avoid top-level with 2024-08-02 17:31:07 -07:00
Philip Taron
fd5887f5d0 freshBootstrapTools.build: put bootstrapFiles into stdenv-bootstrap-tools.nix 2024-08-02 17:31:04 -07:00
Philip Taron
67a5dcdc41 freshBootstrapTools.test: extract a package 2024-08-02 17:31:00 -07:00
Philip Taron
ed4cd6ab51 freshBootstrapTools.build: extract a package 2024-08-02 17:30:22 -07:00
Robert Scott
48bde3a189 cc-wrapper: add support for pacret hardening flag on aarch64 2024-07-28 19:27:14 +01:00
Emily
8a837af302 Merge pull request #326819 from risicle/ris-shadowstack
cc-wrapper: add support for `shadowstack` hardening flag
2024-07-28 19:07:52 +01:00
bolives-hax
59dabc0d10 add s390x to make-bootstrap-tools-cross.nix 2024-07-16 20:33:49 +02:00
Robert Scott
b207b6ef74 cc-wrapper: add support for shadowstack hardening flag 2024-07-14 21:25:47 +01:00
Robert Scott
c68739f4f0 bootstrap-tools-musl: match bootstrap-tools hardeningUnsupportedFlags
seems we missed adding stackclashprotection
2024-07-14 21:25:47 +01:00
Franz Pletz
3db93c351d cc-wrapper: add stack clash protection hardening flag
Most Linux distributions are enabling this these days and it does
protect against real world vulnerabilities as demonstrated by
CVE-2018-16864 and CVE-2018-16865.

Fix #53753.

Information on llvm version support gleaned from
6609892a2d
68e07da3e5
092507a730

Information on gcc version support a lot harder to gather,
but both 32bit and 64bit arm do appear to be supported
based on the test suite.
2024-06-07 20:23:46 +01:00
sternenseemann
7be562d046 wrapCC, wrapBintools: move expand-response-params bootstrapping out
The cc and bintools wrapper contained ad hoc bootstrapping logic for
expand-response-params (which was callPackage-ed in a let binding). This
lead to the strange situation that the bootstrapping logic related to
expand-response-params is split between the wrapper derivations (where
it is duplicated) and the actual stdenv bootstrapping.

To clean this up, the wrappers simply should take expand-response-params
as an ordinary input: They need an adjacent expand-response-params (i.e.
one that runs on their host platform), but don't care about the how.
Providing this is only problematic during stdenv bootstrapping where we
have to pull it from the previous stage at times.
2024-04-18 20:49:13 +02:00
sternenseemann
b2a568906a wrapCC, wrapBintools: use runtimeShell instead of stdenv shell
We don't need to artificially make sure that we can execute the wrapper
scripts on the build platform by using stdenv's shell (which comes from
buildPackages) since our cross infrastructure will get us the wrapper
from buildPackages. The upside of this change is that cross-compiled
wrappers (e.g. pkgsCross.aarch64-multiplatform.gcc) will actually work
when executed!

For bootstrapping this is also not a problem, since we have a long
build->build platform chain so runtimeShell is just as good as
stdenvNoCC.shell. We do fall back to old ways, though, by explicitly
using the bootstrap-tools shell in stage2, so the adjacent bash is only
used from stage4 onwards. This is unnecessary in principle (I'll try
removing this hack in the future), but ensures this change causes zero
rebuilds.
2024-04-18 20:49:13 +02:00
sternenseemann
0198f43efb stdenv: consistently use self: super: … for bootstrapping overlays
As of late, `final: prev: …` for overlays has become more prevalent in
newer code. This is also exhibited in some code (presumably added
recently) in stdenv. This change is not about any merits or demerits of
any naming convention, but rather aims to make the nomenclature in
stdenv bootstrapping consistent to lessen confusion.

I've chosen to stick to `self: super: …` convention because:

1. It is more common in the code as it stands.

2. Using `final: prev: …` makes the code more confusing, als it causes
   `prev` to be in scope alongside `prevStage`. `prevStage` actually
   bears no relation to `prev` even though their naming suggests it,
   making it easy to confuse them (the former is the (final) package set
   of the previous stage while the latter is just the `prev`/`super` of
   the overlay “chaining” on a completely fresh package set, i.e. `prev`
   doesn't even relate to the previous stage's `overrides` argument).

This change also corrects a naming error in stdenv/native which had no
effect, as the variables were unused.
2024-04-15 12:53:13 +02:00
Sergei Trofimovich
178f1e1f5d pkgs/top-level/release.nix: drop unused dist targets
The PR https://github.com/NixOS/nixpkgs/pull/284090 exposed `build`
target directly on hydra. We are using it now in
https://github.com/NixOS/nixpkgs/tree/master/maintainers/scripts/bootstrap-files
to generate bootstrap tarballs on `linux` and `darwin`.

`dist` was not very useful as it was a bit hard to link back to hydra
jobs that build it. Let's just drop it.
2024-04-04 21:40:08 +01:00