754 Commits

Author SHA1 Message Date
nixpkgs-ci[bot] c2062a4892 Merge staging-next into staging 2026-06-19 00:56:24 +00:00
Cosima Neidahl a6896b9ecb pkgs/stdenv/linux: update powerpc64le-unknown-linux-gnu bootstrap-files (#502868) 2026-06-18 20:33:36 +00:00
SandaruKasa 811bd13927 diffutils: move to by-name
Also drop diffutils from the `inherit (prevStage)` overrides in
pkgs/stdenv/linux/default.nix. Once the package lives in pkgs/by-name,
that pin gives the top-level `diffutils` attribute a source location
even though it is defined via `_internalCallByNamePackageFile`, which
nixpkgs-vet rejects (NPV-102). Dropping the pin lets the by-name
auto-definition stand on its own, at the cost of no longer reusing the
bootstrap-stage build (a stdenv-class rebuild, hence staging).

Co-authored-by: Philip Taron <philip.taron@gmail.com>
Assisted-by: Claude Code (claude-opus-4-8)
2026-06-10 13:55:14 -07:00
Philip Taron a0fc5f42c2 stdenv: linux: simplify bootstrap by inheriting per-stage packages (#519965) 2026-06-07 12:53:02 +00:00
Aliaksandr 125de9a4c3 stdenv: do not pass crossOverlays redundantly
crossOverlays only needed for stageCross, so lets pass them only there
2026-06-06 06:04:25 +03:00
Aliaksandr 1d37095ba0 stdenv: linux: inherit libxcrypt at xgcc/stage2
libxcrypt was built twice (xgcc and stage2). Adding it to the inherit list
at xgcc and stage2 chains it through: stage1 produces the single build,
xgcc/stage2/stage3 inherit. Total bootstrap-stage builds: 2 -> 1.

libxcrypt is build-time-only — it is needed at build time by tools that
support libcrypt-style password hashing, but its `out` is not in the final
stdenv runtime closure (glibc no longer depends on libxcrypt at runtime;
applications that need it link directly).

Safe with respect to the `disallowedRequisites` check on the final
stdenv-linux.
2026-06-06 03:56:13 +03:00
Aliaksandr dcda21b155 stdenv: linux: inherit python3Minimal at stage3/stage4
python3Minimal was being rebuilt at stages 3 and 4. It is used only as a
native build input (e.g. meson, glib build helpers); its outputs do not
appear in the final stdenv's runtime closure.

Inheriting from prevStage at stage3 and stage4 collapses 2 -> 1 build.

Build-only dependency, safe with respect to the `disallowedRequisites`
check on the final stdenv-linux.
2026-06-06 03:56:12 +03:00
Aliaksandr f40b936a86 stdenv: linux: inherit autoconf269 at stage2/stage3
autoconf269 was being rebuilt at stages 2 and 3. It is used only as a
native build input (to regenerate `configure` scripts in autotools-using
packages); its outputs never appear in the final stdenv's runtime closure.

Inheriting it from prevStage at stage2 and stage3 collapses 2 -> 1 build.

Build-only dependency, safe with respect to the `disallowedRequisites`
check on the final stdenv-linux.
2026-06-06 03:56:12 +03:00
Aliaksandr 4df3376569 stdenv: linux: inherit nukeReferences through xgcc/stage2/stage3
nukeReferences was rebuilt at every stage where it appeared (xgcc, stage2,
stage3 — 3 redundant builds beyond stage1's initial build). It is used only
at build time (to scrub references from libidn2/libunistring at stage2),
never appears in the final stdenv's runtime closure, and its outputs are
not propagated into other final-closure derivations.

Adding it to the inherit list at xgcc, stage2, and stage3 collapses the
chain to a single stage1 build. Stage4 still produces its own nukeReferences
through the regular package set; that one is unused by the final stdenv.

Build-only dependency, so this is safe with respect to the
`disallowedRequisites` check on the final stdenv-linux.
2026-06-06 03:56:11 +03:00
Aliaksandr 053f02f232 stdenv: linux: drop dead dejagnu.doCheck=false override from stage2
dejagnu is never demand-built in the bootstrap closure (verified via
`nix-store --query --requisites | grep dejagnu` returning empty on
master). The override existed but the resulting derivation was never
referenced by anything stage2+ actually builds.

Verified by drv-hash equality: stdenv.drvPath is unchanged
(q2xn5647kadsgpz40xcmjssa0pmdmiwi-stdenv-linux.drv).
2026-06-06 03:56:11 +03:00
Aliaksandr 0a27772068 stdenv: linux: drop dead enableGold=false override from stage1
The override at `super.binutils-unwrapped.override { enableGold = false; }`
defined a stage1 `binutils-unwrapped` derivation that was never used:
xgcc-stage and stage2 both build their own fresh `super.binutils-unwrapped`
without inheriting from stage1, so the gold-disabled rebuild never appeared
in the build graph (verified via `nix-store --query --requisites`).

Verified by drv-hash equality: stdenv.drvPath is unchanged
(q2xn5647kadsgpz40xcmjssa0pmdmiwi-stdenv-linux.drv).
2026-06-06 03:56:11 +03:00
Aliaksandr 5c20ed83dd stdenv: linux: centralise updateAutotoolsGnuConfigScriptsHook in stageFun
The hook was added six times — once in each of stages 1, xgcc, 2, 3, 4
(and again at the final stdenv) — to teach configure scripts about
non-x86_64 architectures. Wire it once inside stageFun instead, guarded
by `prevStage ? updateAutotoolsGnuConfigScriptsHook` so the dummy stage
(whose prevStage is the raw stub) is unaffected.

The final stdenv (built outside stageFun) keeps its explicit entry.

Eval-verified: stdenv.drvPath is unchanged from master
(q2xn5647kadsgpz40xcmjssa0pmdmiwi-stdenv-linux.drv).
2026-06-06 03:56:06 +03:00
nixpkgs-ci[bot] 09c3691947 Merge master into staging-nixos 2026-06-01 19:40:02 +00:00
Emily 0c19eb3e55 lib/systems: unify ARMv5 platforms with stock kernel configuration
The `sheevaplug` kernel configuration was added a very long time
ago and has not been adjusted for years. `pogoplug4` was identical
to `sheevaplug` except for an even more stripped‐down kernel
configuration, no device tree support, and a different load address
for the uImage.

These days, the stock kernel configuration builds and there has been
an upstream device tree for the Pogoplug Series 4 for years; unify
`sheevaplug` and `pogoplug4` into an `armv5tel-multiplatform` that
uses the standard configuration.

ARMv5 was also the only platform that defaulted to uImage, the [legacy
U‐Boot image format] that is deprecated upstream. Our bootloader
machinery in NixOS does not handle these images in any special way
and even the original ARMv6 Raspberry Pi platform defaults to the
standard zImage. We switch `armv5tel-multiplatform` to zImage to match.

[legacy U‐Boot image format]: https://docs.u-boot.org/en/latest/usage/cmd/bootm.html#legacy-boot

It is of course natural to worry about backwards compatibility
here: this switches to a different kernel image format and drops
support for root on NFS along with random oddities like KGDB and
LatencyTOP. Renaming the platform is intended to help mitigate
this risk.

The reality, however, is that it is currently very
difficult to build a configuration for ARMv5. I found
<https://github.com/thefloweringash/sheevaplug-nix> online as
an example configuration from many years ago; it already set
`autoModules`, and builds U‐Boot using `CONFIG_DISTRO_DEFAULTS`,
which should work out of the box without requiring the legacy U‐Boot
image format.

Even then, however, I confirmed with the author that it hasn’t
been used in years, and I could barely get it to build with
a modern Nixpkgs: OpenSSH is broken, Nix is broken, multiple
default `environment.systemPackages` in the SD image profile
are broken, `boot.initrd.includeDefaultModules` is broken, and
`hardware.enableAllHardware` is broken.

I conclude that if anyone is actively building systems on ARMv5, they
have a forked Nixpkgs or a very custom setup. Given our general move
to standard boot chains and no platform‐specific hacks, and the
decaying state of our unofficial support for 32‐bit ARM, I think
it is not worth maintaining support for the legacy image format for
this one ancient platform.

If anyone is running a heavily stripped‐down NixOS configuration on
mission‐critical SheevaPlugs using a custom Nix‐free deployment
setup relying on the legacy U‐Boot image format and somehow none
of these kernel changes manage to loudly break their build, hopefully
they’ll at least notice the release notes entry! Otherwise there’s
always JTAG…
2026-06-01 11:12:17 +10:00
Eman Resu c546655fb0 check-meta: only take hostPlatform for functions requiring it
By doing this, we can cache the rest of the file, including the import
of problems.nix. This allows genCheckProblems to be cached on every
bootstrapping stage, and not re-called each time.
2026-05-29 16:51:26 -04:00
Eman Resu 159a6daf6b stdenv/generic: memoise passing config to mkDerivation unless overriden 2026-05-29 16:51:25 -04:00
Yiyu Zhou ccbc105ed0 gnumake: fix nixpkgs-vet 2026-04-11 16:15:23 -07:00
Yiyu Zhou 0fbb9827f2 gnutar: migrate to by-name 2026-03-25 01:16:48 -07:00
nwf 3ef9f4a7bd pkgs/stdenv/linux: update powerpc64le-unknown-linux-gnu bootstrap-files
sha256sum of files to be uploaded:

$ sha256sum /nix/store/likmilsb0w9mrjd73x62vz88sahx2gbc-stdenv-bootstrap-tools-powerpc64le-unknown-linux-gnu/on-server/*
ecc0894582cf85c4199fa4116a832fb6e80296ac5b9725b8fff6496f7f5f97b7  /nix/store/likmilsb0w9mrjd73x62vz88sahx2gbc-stdenv-bootstrap-tools-powerpc64le-unknown-linux-gnu/on-server/bootstrap-tools.tar.xz
e7516649dbe702e88c143b1f0ce0b9cb9910ef15a8ed3ae0c3cbc4f57ec36650  /nix/store/likmilsb0w9mrjd73x62vz88sahx2gbc-stdenv-bootstrap-tools-powerpc64le-unknown-linux-gnu/on-server/busybox

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

    $ nix-store --realize /nix/store/likmilsb0w9mrjd73x62vz88sahx2gbc-stdenv-bootstrap-tools-powerpc64le-unknown-linux-gnu
    $ aws s3 cp --recursive --acl public-read /nix/store/likmilsb0w9mrjd73x62vz88sahx2gbc-stdenv-bootstrap-tools-powerpc64le-unknown-linux-gnu/on-server/ s3://nixpkgs-tarballs/stdenv/powerpc64le-unknown-linux-gnu/4def26f6e59f6059e1ff4367f743f530739046bf
    $ aws s3 cp --recursive s3://nixpkgs-tarballs/stdenv/powerpc64le-unknown-linux-gnu/4def26f6e59f6059e1ff4367f743f530739046bf ./
    $ sha256sum bootstrap-tools.tar.xz busybox
    $ sha256sum /nix/store/likmilsb0w9mrjd73x62vz88sahx2gbc-stdenv-bootstrap-tools-powerpc64le-unknown-linux-gnu/on-server/*
2026-03-23 17:26:06 +00:00
nixpkgs-ci[bot] 1b36b9370c Merge master into staging-next 2026-03-15 06:22:06 +00:00
Jamie Magee 2b5f2c2446 pkgs/stdenv/linux: update riscv64-unknown-linux-gnu bootstrap-files
sha256sum of files to be uploaded:

$ sha256sum /nix/store/j36xf3c6bpsrafkv08nk2213knz5jd0b-stdenv-bootstrap-tools-riscv64-unknown-linux-gnu/on-server/*
eaff03cc1818b3a1ed469d047599186275b16d6c01677327f2fed3fb9acaf45b  /nix/store/j36xf3c6bpsrafkv08nk2213knz5jd0b-stdenv-bootstrap-tools-riscv64-unknown-linux-gnu/on-server/bootstrap-tools.tar.xz
f2298575eae54935bd11d28f003faeb132dbcbd630e693a6e39fd54e4756da5e  /nix/store/j36xf3c6bpsrafkv08nk2213knz5jd0b-stdenv-bootstrap-tools-riscv64-unknown-linux-gnu/on-server/busybox

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

    $ nix-store --realize /nix/store/j36xf3c6bpsrafkv08nk2213knz5jd0b-stdenv-bootstrap-tools-riscv64-unknown-linux-gnu
    $ aws s3 cp --recursive --acl public-read /nix/store/j36xf3c6bpsrafkv08nk2213knz5jd0b-stdenv-bootstrap-tools-riscv64-unknown-linux-gnu/on-server/ s3://nixpkgs-tarballs/stdenv/riscv64-unknown-linux-gnu/ea7f1f06811ce7fcc81d6c6fd4213150c23edcf2
    $ aws s3 cp --recursive s3://nixpkgs-tarballs/stdenv/riscv64-unknown-linux-gnu/ea7f1f06811ce7fcc81d6c6fd4213150c23edcf2 ./
    $ sha256sum bootstrap-tools.tar.xz busybox
    $ sha256sum /nix/store/j36xf3c6bpsrafkv08nk2213knz5jd0b-stdenv-bootstrap-tools-riscv64-unknown-linux-gnu/on-server/*
2026-03-10 19:09:15 -07:00
Tristan Ross 28c4f8d527 pkgs/stdenv/linux: update aarch64-unknown-linux-gnu bootstrap-files
sha256sum of files to be uploaded:

$ sha256sum /nix/store/fxgpnqqwmjazblv2b2r1qfn9r2py1z9i-stdenv-bootstrap-tools/on-server/*
50cc72e39274e598fac4fe60e348a53955280228cce20a793c5c6a53020ad236  /nix/store/fxgpnqqwmjazblv2b2r1qfn9r2py1z9i-stdenv-bootstrap-tools/on-server/bootstrap-tools.tar.xz
bb14807aab974965cbd6f766b26edd86a41f5a60b0bff6ca290ae797d4f6fb41  /nix/store/fxgpnqqwmjazblv2b2r1qfn9r2py1z9i-stdenv-bootstrap-tools/on-server/busybox

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

    $ nix-store --realize /nix/store/fxgpnqqwmjazblv2b2r1qfn9r2py1z9i-stdenv-bootstrap-tools
    $ aws s3 cp --recursive --acl public-read /nix/store/fxgpnqqwmjazblv2b2r1qfn9r2py1z9i-stdenv-bootstrap-tools/on-server/ s3://nixpkgs-tarballs/stdenv/aarch64-unknown-linux-gnu/a1bab9e494f5f4939442a57a58d0449a109593fe
    $ aws s3 cp --recursive s3://nixpkgs-tarballs/stdenv/aarch64-unknown-linux-gnu/a1bab9e494f5f4939442a57a58d0449a109593fe ./
    $ sha256sum bootstrap-tools.tar.xz busybox
    $ sha256sum /nix/store/fxgpnqqwmjazblv2b2r1qfn9r2py1z9i-stdenv-bootstrap-tools/on-server/*
2026-02-11 20:47:16 -08:00
Aleksi Hannula 5500570e9f stdenv: refactor to hook up minimal-bootstrap 2026-01-26 21:45:18 +02:00
Colin 44b893a9f0 gnu-config: enable strictDeps
it would be as simple as setting `strictDeps = true` and
`buildInputs = [ bashNonInteractive ]` except this package is used
during the bootstrap of `stdenv`: this method of manually patching
seems to be the least complex way to get correct behavior while
avoiding cyclic when deriving `stdenv` itself.

successfully built the following, from x86_64-linux:
- `gnu-config`
- `pkgsCross.aarch64-multiplatform.buildPackages.gnu-config` (equivalent)
- `pkgsCross.aarch64-multiplatform.gnu-config`
- `pkgsCross.musl32.gnu-config`
- `pkgsMusl.gnu-config`
- `pkgsStatic.gnu-config`
- `pkgsi686Linux.gnu-config`

successfully eval'd `gnu-config` for the following systems:
- `aarch64-darwin`
- `aarch64-freebsd`
- `aarch64-linux-musl`
- `aarch64-linux`
- `x86_64-cygwin`
- `x86_64-darwin`
- `x86_64-freebsd`
- `x86_64-linux-musl`
- `x86_64-linux`
2026-01-25 21:42:05 +00:00
Vladimír Čunát 31e093d3b0 stdenv-bootstrap-tools: coreutils might miss bin/runcon
This fixes the build, tested
nix build -f pkgs/top-level/release.nix stdenvBootstrapTools.x86_64-unknown-linux-gnu.test

https://hydra.nixos.org/build/319154291/nixlog/8/tail
https://github.com/NixOS/nixpkgs/pull/460517#issuecomment-3779280430
2026-01-21 17:36:31 +01:00
Yureka 795dd44a9f pkgs/stdenv/linux: update aarch64-unknown-linux-musl bootstrap-files
sha256sum of files to be uploaded:

$ sha256sum /nix/store/c3qpy1mlcrqklpak5lkgdy0l0kbsndl1-stdenv-bootstrap-tools/on-server/*
9f0fcf155c18646f683ee4127fbeb4552c0acc728a640debf97a83afc1cbcad8  /nix/store/c3qpy1mlcrqklpak5lkgdy0l0kbsndl1-stdenv-bootstrap-tools/on-server/bootstrap-tools.tar.xz
9924c4f1d2605d79716073d0a86a0ed8c1b31388724ffdf289f8198a476ca101  /nix/store/c3qpy1mlcrqklpak5lkgdy0l0kbsndl1-stdenv-bootstrap-tools/on-server/busybox

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

    $ nix-store --realize /nix/store/c3qpy1mlcrqklpak5lkgdy0l0kbsndl1-stdenv-bootstrap-tools
    $ aws s3 cp --recursive --acl public-read /nix/store/c3qpy1mlcrqklpak5lkgdy0l0kbsndl1-stdenv-bootstrap-tools/on-server/ s3://nixpkgs-tarballs/stdenv/aarch64-unknown-linux-musl/8c29968b3a942f2903f90797f9623737c215737c
    $ aws s3 cp --recursive s3://nixpkgs-tarballs/stdenv/aarch64-unknown-linux-musl/8c29968b3a942f2903f90797f9623737c215737c ./
    $ sha256sum bootstrap-tools.tar.xz busybox
    $ sha256sum /nix/store/c3qpy1mlcrqklpak5lkgdy0l0kbsndl1-stdenv-bootstrap-tools/on-server/*
2025-12-29 15:56:49 +01:00
Yureka f1166c6629 pkgs/stdenv/linux: update x86_64-unknown-linux-musl bootstrap-files
sha256sum of files to be uploaded:

$ sha256sum /nix/store/f881dxkvjal4vflnznfbz7g6pn4q0c56-stdenv-bootstrap-tools/on-server/*
5b0038ab424d11d9d20214f070f188af0b8e85adf74f46911bbb51fd8800ecbe  /nix/store/f881dxkvjal4vflnznfbz7g6pn4q0c56-stdenv-bootstrap-tools/on-server/bootstrap-tools.tar.xz
ec6a468f2f6716b851612ed36e6db877cbef4c555321344ff229f4cca68483b4  /nix/store/f881dxkvjal4vflnznfbz7g6pn4q0c56-stdenv-bootstrap-tools/on-server/busybox

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

    $ nix-store --realize /nix/store/f881dxkvjal4vflnznfbz7g6pn4q0c56-stdenv-bootstrap-tools
    $ aws s3 cp --recursive --acl public-read /nix/store/f881dxkvjal4vflnznfbz7g6pn4q0c56-stdenv-bootstrap-tools/on-server/ s3://nixpkgs-tarballs/stdenv/x86_64-unknown-linux-musl/8c29968b3a942f2903f90797f9623737c215737c
    $ aws s3 cp --recursive s3://nixpkgs-tarballs/stdenv/x86_64-unknown-linux-musl/8c29968b3a942f2903f90797f9623737c215737c ./
    $ sha256sum bootstrap-tools.tar.xz busybox
    $ sha256sum /nix/store/f881dxkvjal4vflnznfbz7g6pn4q0c56-stdenv-bootstrap-tools/on-server/*
2025-12-29 15:56:49 +01:00
dramforever 690e72201e Revert "stdenvBootstrapTools: fix build by fetching pie fix commit"
Preparing to move this patch into regular gcc.

This reverts commit 200b5eb08a.
2025-12-13 11:51:50 +08:00
K900 f8d669f413 Merge remote-tracking branch 'origin/master' into staging-next 2025-10-04 21:10:21 +03:00
NAHO c8d4dabc43 pkgs: remove optional builtins prefixes from prelude functions
Remove optional builtins prefixes from prelude functions by running:

    builtins=(
      abort
      baseNameOf
      break
      derivation
      derivationStrict
      dirOf
      false
      fetchGit
      fetchMercurial
      fetchTarball
      fetchTree
      fromTOML
      import
      isNull
      map
      null
      placeholder
      removeAttrs
      scopedImport
      throw
      toString
      true
    )

    fd \
      --type file \
      . \
      pkgs \
      --exec-batch sed --in-place --regexp-extended "
        s/\<builtins\.($(
          printf '%s\n' "${builtins[@]}" |
            paste --delimiter '|' --serial -
        ))\>/\1/g
      "

    nix fmt
2025-10-04 19:02:37 +02:00
Grimmauld 200b5eb08a stdenvBootstrapTools: fix build by fetching pie fix commit
partially fixes https://github.com/NixOS/nixpkgs/pull/439314#issuecomment-3365441611

Co-authored-by: dramforever <dramforever@live.com>
2025-10-03 14:59:07 +02:00
Emily 411faf46e2 gcc: build with --enable-default-pie configure option (#439314) 2025-09-13 18:21:26 +01:00
Luna Nova ccc56d1a79 gcc: build with --enable-default-pie configure option
Rather than implementing this at the wrapper level (which has been
attempted but not merged in # 252310 and # 205031), configuring GCC
directly with --enable-default-pie is simple and matches mainstream
distribution practices. Packages that cannot build with PIE can
explicitly pass -no-pie when needed, and mostly already do
due to the prevalence of GCCs built with this flag.

Requires followup to decide what to do with "pie" flag.
2025-09-13 10:15:36 -07:00
Wolfgang Walther b9ec8bed14 treewide: fix typos in md files (#439306) 2025-09-09 08:03:31 +00:00
Ben Siraphob ed23526c32 pkgs/stdenv: fix typos 2025-09-09 13:14:36 +07:00
Jörg Thalheim 186b12b31e pkgs/stdenv/linux: add powerpc64-unknown-linux-gnuabielfv1 bootstrap-files (#423133) 2025-09-08 14:13:03 +02:00
Wolfgang Walther 5a0711127c treewide: run nixfmt 1.0.0 2025-07-24 13:55:40 +02:00
OPNA2608 7a98a46940 pkgs/stdenv/linux: add powerpc64-unknown-linux-gnuabielfv1 bootstrap-files
sha256sum of files to be uploaded:

$ sha256sum /nix/store/b8zndw2p8f82hn23a3ilkmfc6v26yian-stdenv-bootstrap-tools-powerpc64-unknown-linux-gnuabielfv1/on-server/*
3a78c550c44d1661aed0415233df65a19d37071ea1b42c9389fb4204ed5e9d03  /nix/store/b8zndw2p8f82hn23a3ilkmfc6v26yian-stdenv-bootstrap-tools-powerpc64-unknown-linux-gnuabielfv1/on-server/bootstrap-tools.tar.xz
bb59673eca4833389d52ced4e9357900f19e3a574988b290c9a1f151b243a8fb  /nix/store/b8zndw2p8f82hn23a3ilkmfc6v26yian-stdenv-bootstrap-tools-powerpc64-unknown-linux-gnuabielfv1/on-server/busybox

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

    $ nix-store --realize /nix/store/b8zndw2p8f82hn23a3ilkmfc6v26yian-stdenv-bootstrap-tools-powerpc64-unknown-linux-gnuabielfv1
    $ aws s3 cp --recursive --acl public-read /nix/store/b8zndw2p8f82hn23a3ilkmfc6v26yian-stdenv-bootstrap-tools-powerpc64-unknown-linux-gnuabielfv1/on-server/ s3://nixpkgs-tarballs/stdenv/powerpc64-unknown-linux-gnuabielfv1/2ba17da62f2813a5b779ec2b13abe96baec8ea08
    $ aws s3 cp --recursive s3://nixpkgs-tarballs/stdenv/powerpc64-unknown-linux-gnuabielfv1/2ba17da62f2813a5b779ec2b13abe96baec8ea08 ./
    $ sha256sum bootstrap-tools.tar.xz busybox
    $ sha256sum /nix/store/b8zndw2p8f82hn23a3ilkmfc6v26yian-stdenv-bootstrap-tools-powerpc64-unknown-linux-gnuabielfv1/on-server/*
2025-07-07 09:48:12 +02:00
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