Commit Graph

2832 Commits

Author SHA1 Message Date
Johannes Kirschbauer
e2dd770370
Doc: clarify mkDerivation argument handling (#343247) 2024-09-20 16:01:49 +02:00
Johannes Kirschbauer
f14a171413
Doc: init stdenv.mkDerivation doc-comment 2024-09-20 12:13:43 +02:00
Yueh-Shun Li
30809ccecd stdenv.mkDerivation: simplify overrideAttrs with extends and toOverlay 2024-09-14 20:56:49 +08:00
Aleksana
cda49c202f
stdenv/freebsd: don't inherit curl from previous stage (#340913) 2024-09-11 09:12:33 +08:00
Audrey Dutcher
5da4fa1dd6 stdenv/freebsd: don't inherit curl from previous stage
This was adding dependencies on the bootstrap files for longer than
necessary.
2024-09-09 19:40:56 -07:00
github-actions[bot]
90a93f92bb
Merge master into staging-next 2024-09-09 12:05:58 +00:00
Audrey Dutcher
423dc16f1a Include libclang-rt in the FreeBSD bootstrap tools 2024-09-08 11:08:07 -07:00
github-actions[bot]
5a5ebe5a1c
Merge master into staging-next 2024-09-07 18:04:01 +00:00
Jörg Thalheim
54216ceb22 pkgs/stdenv/freebsd: update x86_64-unknown-freebsd bootstrap-files
sha256sum of files to be uploaded:

$ sha256sum /nix/store/ikzxl9ws9yxrl8g8z2kcjwqlq5gfjbhx-build/on-server/*
7fb16ac6da63effd126ecfa452032cee82742663ee8776ea0f66333814f0d9f7  /nix/store/ikzxl9ws9yxrl8g8z2kcjwqlq5gfjbhx-build/on-server/bootstrap-tools.tar.xz
aff88c12a32eab790f8bbaea08ef4917b0a52ea71ca2fcefe8093f1f40c1ff27  /nix/store/ikzxl9ws9yxrl8g8z2kcjwqlq5gfjbhx-build/on-server/unpack.nar.xz

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

    $ nix-store --realize /nix/store/ikzxl9ws9yxrl8g8z2kcjwqlq5gfjbhx-build
    $ aws s3 cp --recursive --acl public-read /nix/store/ikzxl9ws9yxrl8g8z2kcjwqlq5gfjbhx-build/on-server/ s3://nixpkgs-tarballs/stdenv/x86_64-unknown-freebsd/6414ef7ca3bf18ec4f9628d09ccc1eb030276ee2
    $ aws s3 cp --recursive s3://nixpkgs-tarballs/stdenv/x86_64-unknown-freebsd/6414ef7ca3bf18ec4f9628d09ccc1eb030276ee2 ./
    $ sha256sum bootstrap-tools.tar.xz unpack.nar.xz
    $ sha256sum /nix/store/ikzxl9ws9yxrl8g8z2kcjwqlq5gfjbhx-build/on-server/*
2024-09-07 09:19:18 +02:00
github-actions[bot]
b6b2ac4f61
Merge master into staging-next 2024-09-07 00:12:59 +00:00
Philip Taron
d89b0969ac
overrideSDK: fix on aarch64-darwin (#340131) 2024-09-06 14:01:44 -07:00
John Ericson
f43cc75868
Clean up cross bootstrapping, take 2 (#321525) 2024-09-06 14:56:54 -04:00
Emily
f69ba1fed5 overrideSDK: fix on aarch64-darwin
I don’t want to talk about it.

Fixes QEMU.
2024-09-06 16:59:17 +01:00
John Ericson
5f134ec6cf Clean up cross bootstrapping
For a long time, we've had `crossLibcStdenv`, `*Cross` libc attributes,
and `*bsdCross` pre-libc package sets. This was always bad because
having "cross" things is "not declarative": the naming doesn't reflect
what packages *need* but rather how we *provide* something. This is
ugly, and creates needless friction between cross and native building.

Now, almost all of these `*Cross` attributes are gone: just these are
kept:

- Glibc's and Musl's are kept, because those packages are widely used
  and I didn't want to risk changing the native builds of those at this
  time.

- generic `libcCross`, `theadsCross`, and friends, because these relate
  to the convolulted GCC bootstrap which still needs to be redone.

The BSD and obscure Linux or freestnanding libcs have conversely all
been made to use a new `stdenvNoLibc`, which is like the old
`crossLibcStdenv` except:

1. It usable for native and cross alike

2. It named according to what it *is* ("a standard environment without
   libc but with a C compiler"), rather than some non-compositional
   jargon ("the stdenv used for building libc when cross compiling",
   yuck).

I should have done this change long ago, but I was stymied because of
"infinite recursions". The problem was that in too many cases we are
overriding `stdenv` to *remove* things we don't need, and this risks
cyles since those more minimal stdenvs are used to build things in the
more maximal stdenvs.

The solution is to pass `stage.nix` `stdenvNoCC`, so we can override to
*build up* rather than *tear down*. For now, the full `stdenv` is also
passed, so I don't need to change the native bootstraps, but I can see
this changing as we make things more uniform and clean those up.

(adapted from commit 51f1ecaa59)
(adapted from commit 1743662e55)
2024-09-06 10:26:56 -04:00
github-actions[bot]
74cdd9c9b1
Merge master into staging-next 2024-09-05 00:13:11 +00:00
Philip Taron
8ed9f95120
stdenv: Allow user to supply their bootstrapFiles set of tools (#317119) 2024-09-04 11:34:37 -07:00
github-actions[bot]
a07f612219
Merge master into staging-next 2024-09-03 00:13:11 +00:00
Azat Bahawi
e8f0b7b782
stdenv: throw when using mold for targeting darwin
Mold does not support linking Mach-O, but still can be used on MacOS to
emit ELF.

Fixes: #338970
2024-09-02 13:59:59 +03:00
w
d7ec977f86 stdenv: Allow user to supply their bootstrapFiles set of tools 2024-08-30 02:31:18 +00:00
github-actions[bot]
4a1df24885
Merge staging-next into staging 2024-08-29 06:05:29 +00:00
github-actions[bot]
b430e34392
Merge master into staging-next 2024-08-29 06:05:05 +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
Philip Taron
0d1b26857b
treewide: support structuredAttrs in setup hooks (part 2) (#335666) 2024-08-28 14:07:58 -07:00
github-actions[bot]
4420fe8b58
Merge staging-next into staging 2024-08-28 12:05:53 +00:00
github-actions[bot]
42531ffc56
Merge master into staging-next 2024-08-28 12:05:25 +00:00
Jörg Thalheim
2c9d00dbed
pkgs/stdenv/linux: update s390x-unknown-linux-gnu bootstrap-files (#334334) 2024-08-28 09:27:19 +02:00
Emily
e1c31678e8
xar: 1.6.1 -> 498 (#329721) 2024-08-27 03:00:43 +01:00
Ivan Trubach
5eee6cf40a xar: 1.6.1 -> 498
This change switches the xar package from unmaintained fork of the
original project to the Apple Open Source tarball. See also
https://repology.org/project/xar/versions

Since the package is essentially rewritten from scratch, we take an
opportunity and move it to pkgs/by-name/xa/xar (formatted with nixfmt).

We also remove Windows from the supported platforms because even before
this change pkgsCross.mingwW64.xar failed with
xar> configure: error: can not detect the size of your system's uid_t type
2024-08-25 18:10:08 +03:00
Wolfgang Walther
1efcffa700
stdenv: support default values in concatTo
The previously used pattern was introduced in #318614, but technically
leaked the default flags into the global scope. While this would
probably not make much of a practical difference, making concatTo
support default values is a much cleaner approach.
2024-08-24 12:23:35 +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
github-actions[bot]
eb0aa91a48
Merge staging-next into staging 2024-08-23 00:13:10 +00:00
K900
5c68540f8b Merge remote-tracking branch 'origin/staging-next' into staging 2024-08-22 13:20:38 +03:00
Audrey Dutcher
f3a104c11a stdenv/freebsd: do not require recursive-nix 2024-08-22 00:09:55 -07:00
Audrey Dutcher
90bf0c5119 stdenv/freebsd: rsync with --safe-links
This discarss links with absolute paths, which are useless for the
bootstrap tools.
2024-08-22 00:06:44 -07:00
Thomas Gerbet
d00775c1d9 stdenv: create env-vars file before writing data to it
This fixes the regression introduced by c47a1e701d
on Darwin. The creation of the file using `install` and process
substitution does not work on Darwin, you get the following complain:
```
install: skipping file '/dev/fd/63', as it was replaced while being copied
```

Fixes #335016
2024-08-20 19:02:41 +02:00
Philip Taron
2cf5e918df
stdenv: remove with statements 2024-08-18 06:32:22 -07:00
Philip Taron
4ef32bd71b
Merge pull request #334973 from SomeoneSerge/fix/structuredAttrs/xxxArray
stdenv: concatTo: fallback for non-__structuredAttrs derivations
2024-08-17 17:33:53 -07:00
github-actions[bot]
150d965bfb
Merge staging-next into staging 2024-08-17 18:01:41 +00:00
Artturin
c9270f6274
Merge pull request #329964 from Artturin/androidrenamesdk
treewide: Rename android `sdkVer` and `ndkVer`
2024-08-17 19:22:42 +03:00
Someone Serge
ebf6790c39 stdenv: concatTo: fall back to old behaviour for "*Array" variables
Fixes e.g. the `sudo` build failure
2024-08-16 12:51:51 +00:00
Someone
ccaaa9ca53
Merge pull request #318614 from wolfgangwalther/structured-attrs-setup-hooks
treewide: support structuredAttrs in setup hooks
2024-08-13 19:29:36 +00: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
Randy Eckenrode
2c5001b1db
darwin.stdenv: format with nixfmt-rfc-style 2024-08-11 23:11:04 -04:00
Someone Serge
64eaa63181 stdenv: concatStringsSep: quote ${sep} 2024-08-10 23:38:10 +00:00
github-actions[bot]
addc823ceb
Merge master into staging-next 2024-08-07 12:01:21 +00:00
adisbladis
f4579bdf8d stdenv: Fix args.env.NIX_CFLAGS_LINK/args.NIX_CFLAGS_LINK typo 2024-08-07 18:49:56 +12:00
K900
a74e503640 make-derivation.nix: *unfancies your quotes* 2024-08-07 09:28:39 +03:00
K900
7cd4d5d7a3 make-derivation.nix: better error reporting for conflicting env attributes 2024-08-06 18:57:51 +03:00
Philip Taron
d8fbb16219
stdenv: change the logging in _allFlags to talkative 2024-08-05 18:35:57 -07:00
Philip Taron
e844424e4f
stdenv: replace other $NIX_DEBUG log statements 2024-08-05 18:35:57 -07:00