Commit graph

531 commits

Author SHA1 Message Date
Alyssa Ross 7eb2580981 lib.systems.examples.riscv64-musl: init 2025-05-15 14:44:58 +02:00
Morgan Jones 9d3c069cbd
lib/systems: remove android cruft
These used legacy names for Android SDK and NDK versions, so now we can
do away with them.
2025-05-12 23:43:16 -07:00
aleksana e1828f9668 lib.systems: add golang platform dialect 2025-04-30 22:05:32 +08:00
aleksana 06bb544356 lib.systems.inspect.patterns.isEfi: add loongarch 2025-04-29 22:50:31 +08:00
zowoq 0931f4e861 Revert "pkgs/top-level/stage.nix: add pkgsLLVMLibc"
This reverts commit 41b14024d2.
2025-04-24 14:04:25 +10:00
Alyssa Ross 904b79c696
lib.systems: force qemuArch to "aarch64" on aarch64
qemu architecture names are fixed — we're using uname here just
because it's more likely to be correct than CPU name (see e.g. POWER).
This means that aarch64 is always called aarch64, even on Darwin where
uname reports arm64.

Fixes: 61582c7043 ("lib/systems: use Darwin architecture names for `config` and `uname`")
2025-04-11 10:32:19 +02:00
K900 05bc93a58a Merge remote-tracking branch 'origin/master' into staging-next 2025-04-06 11:20:16 +03:00
Maciej Krüger 1000bcdd4d
lib.systems: Add arm-embedded-nano (#392204) 2025-04-06 00:10:57 +02:00
Emily 61582c7043 lib/systems: use Darwin architecture names for config and uname
`aarch64-apple-darwin` no longer works with LLVM 20.
2025-04-02 21:22:47 +01:00
Emily 1e6ab3434f treewide: drop support for 32‐bit Darwin
It’s dead, Jim.
2025-04-02 21:20:44 +01:00
nixpkgs-ci[bot] d05ee1c1cb
Merge staging-next into staging 2025-04-02 16:38:11 +00:00
Silvan Mosberger e52d633a63 Merge remote-tracking branch 'upstream/staging-next' into staging 2025-04-02 18:30:54 +02:00
Mikael Voss 77b4dedbfc lib/systems/architecures: Add generic inferiors for x86-64 AMD 2025-04-02 14:43:21 +02:00
Mikael Voss 998f1652fb lib/system/architectures: Correct Alder Lake inferiors 2025-04-02 14:43:21 +02:00
Mikael Voss e693be89e7 lib/systems/architectures: Define inferiors for common ARM64 CPUs 2025-04-02 14:06:27 +02:00
Mikael Voss 387a5561fb lib/systems/architectures: Define generic ARM64 inferiors 2025-04-02 14:06:27 +02:00
Silvan Mosberger 374e6bcc40 treewide: Format all Nix files
Format all Nix files using the officially approved formatter,
making the CI check introduced in the previous commit succeed:

  nix-build ci -A fmt.check

This is the next step of the of the [implementation](https://github.com/NixOS/nixfmt/issues/153)
of the accepted [RFC 166](https://github.com/NixOS/rfcs/pull/166).

This commit will lead to merge conflicts for a number of PRs,
up to an estimated ~1100 (~33%) among the PRs with activity in the past 2
months, but that should be lower than what it would be without the previous
[partial treewide format](https://github.com/NixOS/nixpkgs/pull/322537).

Merge conflicts caused by this commit can now automatically be resolved while rebasing using the
[auto-rebase script](8616af08d9/maintainers/scripts/auto-rebase).

If you run into any problems regarding any of this, please reach out to the
[formatting team](https://nixos.org/community/teams/formatting/) by
pinging @NixOS/nix-formatting.
2025-04-01 20:10:43 +02:00
Tristan Ross 05219927d0
lib.systems: mark LLVM libc as static 2025-03-24 06:55:06 -07:00
Ross Smyth 57ec4f3128 lib.systems: Add arm-embedded-nano
Newlib-nano variant of the arm-embedded stdenv.
2025-03-20 16:15:09 -04:00
Martin Fink 2607578cc4 lib.systems.architectures: add sierra forest 2025-02-19 19:25:03 +01:00
Mathias Koehler 8722c7acbd lib.systems: add znver5 architecture 2025-02-09 19:07:42 +01:00
Tristan Ross 41b14024d2
pkgs/top-level/stage.nix: add pkgsLLVMLibc 2025-01-10 20:54:19 -08:00
K900 81eb6d64ab Merge remote-tracking branch 'origin/master' into staging-next 2024-12-12 21:08:33 +03:00
Jean-François Roche fc31945f1e
lib/systems/parse.nix: mkSkeletonFromList: improve error message (#211213)
Include the system string in the error message to give a bit more context to
the user.

Co-authored-by: Wolfgang Walther <wolfgangwalther@users.noreply.github.com>
2024-12-12 18:30:47 +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
github-actions[bot] 1ae7d136e8
Merge staging-next into staging 2024-11-30 00:04:18 +00:00
Philip Taron 9396352fba
lib/systems: elaborate properly with non-matching system / config / parsed args (#351608) 2024-11-29 15:48:15 -08:00
github-actions[bot] e645ec8944
Merge staging-next into staging 2024-11-27 06:05:34 +00:00
John Ericson 07f8638828
freebsd: Add support for aarch64 (#358053) 2024-11-26 20:39:38 -05:00
K900 3b5cb28a23 Merge remote-tracking branch 'origin/staging-next' into staging 2024-11-26 09:46:04 +03:00
Philip Taron 01fdad87c4
stdenv: add Silvermont support, remove incorrect AES support (#355127) 2024-11-25 10:50:35 -08:00
Philip Taron db05bc5dbc
lib/systems: ensure native emulator is a string (#358507) 2024-11-24 12:36:51 -08:00
Artemis Tosini 2b02a18ef7
freebsd: Add support for aarch64
Add a new `aarch64-freebsd` double and example system,
then fix include and libc to work.
This is enough to build packages like `hello`,
either static or dynamic.

This is useful for testing nix FreeBSD on a Raspberry Pi.
2024-11-24 03:03:28 +00:00
Emily 2b1f3bb342 lib/systems: ensure native emulator is a string
Fixes eval of `mesonEmulatorHook.crossFile`.
2024-11-23 17:24:48 +00:00
github-actions[bot] 5d73f1b15f
Merge staging-next into staging 2024-11-23 00:15:02 +00:00
seth 4d874d59e2
lib.systems.examples: set rust.rustcTarget for ucrtAarch64
Closes https://github.com/NixOS/nixpkgs/issues/357751
2024-11-21 04:56:45 -05:00
Emily 561a54f356
lib/systems: use a shell script for native emulator (#357309) 2024-11-20 16:31:43 +00:00
Emily 4c81eb7651 lib/systems: use a shell script for native emulator
This avoids pulling in all of `execline`’s closure.

Co-authored-by: sternenseemann <sternenseemann@systemli.org>
2024-11-19 15:43:55 +00:00
Emily 0f9067f865 darwin: set the minimum version to macOS 11.3 2024-11-18 00:05:22 +00:00
chn d954930a4f stdenv: add Silvermont support, remove incorrect AES support 2024-11-11 12:29:55 +08:00
seth b5bf8e3fc7
lib.systems.examples: add aarch64-w64-mingw32 2024-11-06 17:22:52 -05:00
seth 205faabfeb
lib.systems.doubles: add aarch64-windows double 2024-11-06 17:22:52 -05:00
Wolfgang Walther 3c21a5c9d6
lib/systems: elaborate properly with non-matching system / config / parsed args
When elaborating a system with both "config" and "system" arguments
given, they might not match the parsed results.  Example:

elaborate {
  config = "i686-unknown-linux-gnu";
  system = "x86_64-linux";
}

This would result in a parsed system for i686, because the config
argument is preferred.  But since "// args //" comes after system has
been inferred from parsed, it is overwritten again.  This results in
config and parsed all pointing to i686, while system still tells the
story of x86_64.

Inconsistent arguments can also be given when passing "parsed" directly.
This happened in stage.nix for the various package sets.

The solution is simple: One of the three arguments needs to be treated
as the ultimate source of truth.  "system" can already be losslessly
extracted from "parsed".  However, "config" currently can not, for
example for various -mingw32 cases.  Thus everything must be derived
from "config".

To do so, "system" and "parsed" arguments are made non-overrideable for
systems.elaborate.  This means, that "system" will be used to parse when
"config" is not given - and "parsed" will be ignored entirely.

The systemToAttrs helper is exposed on lib.systems, because it's useful
to deal with top-level localSystem / crossSystem arguments elsewhere.
2024-11-03 17:38:19 +01:00
Jörg Thalheim 8885a1e21a lib/systems/architectures: add sapphirerapids/emeraldrapids
For reference: https://en.wikichip.org/wiki/intel/microarchitectures/sapphire_rapids

https://www.phoronix.com/news/GCC-13-Initial-Emerald-Rapids
https://www.phoronix.com/news/LLVM-Adds-Intel-Emerald-Rapids
2024-10-08 14:19:23 +02:00
Zhaofeng Li b8c1ef98e4 nixos/binfmt: Add option to use static emulators when available
The fixBinary flag will be enabled if a static emulator is in use.
2024-10-01 15:05:32 +09:00
Julius Michaelis 4658a06076 lib/systems: use qemu-user package instead of custom definition 2024-10-01 15:05:32 +09:00
oxalica a9fe4d6d8c lib.systems: fix rustTarget for WASI
The corresponding Rust target name is "wasm32-wasip?", not
"wasm32-unknown-wasi".
2024-09-30 23:34:40 +02:00
Artturin aed1142d79 lib.systems.examples: Fix deprecated attr
`For android 'sdkVer' has been renamed to 'androidSdkVersion'`

While doing the above rename I forgot to consider if there were still
darwin platforms in `lib.systems.examples` using `sdkVer`

These still fail eval, but that happened before the renaming too.

`error: Unsupported sdk: 14.3`
2024-09-30 18:14:21 +03:00
github-actions[bot] ce19166255
Merge master into staging-next 2024-09-02 18:04:19 +00:00