summaryrefslogtreecommitdiff
path: root/lib/systems (follow)
Commit message (Collapse)AuthorAgeFilesLines
* lib.systems: force qemuArch to "aarch64" on aarch64Alyssa Ross2025-04-111-0/+2
| | | | | | | | | 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: 61582c704327 ("lib/systems: use Darwin architecture names for `config` and `uname`")
* Merge remote-tracking branch 'origin/master' into staging-nextK9002025-04-061-0/+4
|\
| * lib.systems: Add arm-embedded-nano (#392204)Maciej Krüger2025-04-061-0/+4
| |\
| | * lib.systems: Add arm-embedded-nanoRoss Smyth2025-03-201-0/+4
| | | | | | | | | | | | Newlib-nano variant of the arm-embedded stdenv.
* | | lib/systems: use Darwin architecture names for `config` and `uname`Emily2025-04-023-10/+16
| | | | | | | | | | | | `aarch64-apple-darwin` no longer works with LLVM 20.
* | | treewide: drop support for 32‐bit DarwinEmily2025-04-022-21/+0
| | | | | | | | | | | | It’s dead, Jim.
* | | Merge staging-next into stagingnixpkgs-ci[bot]2025-04-021-89/+148
|\| |
| * | lib/systems/architecures: Add generic inferiors for x86-64 AMDMikael Voss2025-04-021-7/+7
| | |
| * | lib/system/architectures: Correct Alder Lake inferiorsMikael Voss2025-04-021-2/+1
| | |
| * | lib/systems/architectures: Define inferiors for common ARM64 CPUsMikael Voss2025-04-021-121/+148
| | |
| * | lib/systems/architectures: Define generic ARM64 inferiorsMikael Voss2025-04-021-1/+34
| | |
* | | Merge remote-tracking branch 'upstream/staging-next' into stagingSilvan Mosberger2025-04-026-877/+2111
|\| |
| * | treewide: Format all Nix filesSilvan Mosberger2025-04-016-877/+2111
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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](https://github.com/NixOS/nixpkgs/tree/8616af08d915377bd930395f3b700a0e93d08728/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.
* / lib.systems: mark LLVM libc as staticTristan Ross2025-03-241-1/+1
|/
* lib.systems.architectures: add sierra forestMartin Fink2025-02-191-0/+2
|
* lib.systems: add znver5 architectureMathias Koehler2025-02-091-0/+2
|
* pkgs/top-level/stage.nix: add pkgsLLVMLibcTristan Ross2025-01-103-0/+5
|
* Merge remote-tracking branch 'origin/master' into staging-nextK9002024-12-121-3/+3
|\
| * lib/systems/parse.nix: mkSkeletonFromList: improve error message (#211213)Jean-François Roche2024-12-121-3/+3
| | | | | | | | | | | | 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>
| * treewide: format all inactive Nix filesSilvan Mosberger2024-12-101-20/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 https://github.com/infinisil/treewide-nixpkgs-reformat-script/archive/a08b3a4d199c6124ac5b36a889d9099b4383463f.tar.gz \ --argstr baseRev b32a0943687d2a5094a6d92f25a4b6e16a76b5b7 result/bin/apply-formatting $NIXPKGS_PATH
* | treewide: format all inactive Nix filesSilvan Mosberger2024-12-101-20/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 https://github.com/infinisil/treewide-nixpkgs-reformat-script/archive/a08b3a4d199c6124ac5b36a889d9099b4383463f.tar.gz \ --argstr baseRev 78e9caf153f5a339bf1d4c000ff6f0a503a369c8 result/bin/apply-formatting $NIXPKGS_PATH
* | Merge staging-next into staginggithub-actions[bot]2024-11-301-6/+17
|\|
| * lib/systems: elaborate properly with non-matching system / config / parsed ↵Philip Taron2024-11-291-6/+17
| |\ | | | | | | | | | args (#351608)
| | * lib/systems: elaborate properly with non-matching system / config / parsed argsWolfgang Walther2024-11-031-6/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | Merge staging-next into staginggithub-actions[bot]2024-11-272-1/+6
|\| |
| * | freebsd: Add support for aarch64 (#358053)John Ericson2024-11-262-1/+6
| |\ \
| | * | freebsd: Add support for aarch64Artemis Tosini2024-11-242-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | Merge remote-tracking branch 'origin/staging-next' into stagingK9002024-11-261-6/+7
|\| | |
| * | | stdenv: add Silvermont support, remove incorrect AES support (#355127)Philip Taron2024-11-251-6/+7
| |\ \ \
| | * | | stdenv: add Silvermont support, remove incorrect AES supportchn2024-11-111-6/+7
| | |/ /
* | | | lib/systems: ensure native `emulator` is a string (#358507)Philip Taron2024-11-241-1/+1
|\ \ \ \
| * | | | lib/systems: ensure native `emulator` is a stringEmily2024-11-231-1/+1
| | | | | | | | | | | | | | | | | | | | Fixes eval of `mesonEmulatorHook.crossFile`.
* | | | | Merge staging-next into staginggithub-actions[bot]2024-11-231-0/+1
|\ \ \ \ \ | |/ / / / |/| / / / | |/ / /
| * / / lib.systems.examples: set `rust.rustcTarget` for ucrtAarch64seth2024-11-211-0/+1
| |/ / | | | | | | | | | Closes https://github.com/NixOS/nixpkgs/issues/357751
* | | lib/systems: use a shell script for native `emulator` (#357309)Emily2024-11-201-1/+1
|\ \ \
| * | | lib/systems: use a shell script for native `emulator`Emily2024-11-191-1/+1
| |/ / | | | | | | | | | | | | | | | This avoids pulling in all of `execline`’s closure. Co-authored-by: sternenseemann <sternenseemann@systemli.org>
* / / darwin: set the minimum version to macOS 11.3Emily2024-11-181-1/+1
|/ /
* | lib.systems.examples: add aarch64-w64-mingw32seth2024-11-061-0/+7
| |
* | lib.systems.doubles: add aarch64-windows doubleseth2024-11-061-1/+1
|/
* lib/systems/architectures: add sapphirerapids/emeraldrapidsJörg Thalheim2024-10-081-0/+4
| | | | | | | 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
* nixos/binfmt: Add option to use static emulators when availableZhaofeng Li2024-10-011-0/+4
| | | | The fixBinary flag will be enabled if a static emulator is in use.
* lib/systems: use qemu-user package instead of custom definitionJulius Michaelis2024-10-011-20/+1
|
* lib.systems: fix rustTarget for WASIoxalica2024-09-301-2/+11
| | | | | The corresponding Rust target name is "wasm32-wasip?", not "wasm32-unknown-wasi".
* lib.systems.examples: Fix deprecated attrArtturin2024-09-301-4/+4
| | | | | | | | | | | `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`
* Merge master into staging-nextgithub-actions[bot]2024-09-021-0/+1
|\
| * lib.systems: add rustTarget for riscv32Alyssa Ross2024-09-021-0/+1
| | | | | | | | Fixes buildPackages.rustc when cross compiling to riscv32.
* | Merge staging-next into staginggithub-actions[bot]2024-08-311-0/+1
|\|
| * lib.platforms.aarch: initAlyssa Ross2024-08-311-0/+1
| |
* | Merge staging-next into staginggithub-actions[bot]2024-08-311-2/+0
|\|
| * lib.platforms.mesaPlatforms: removeAlyssa Ross2024-08-311-2/+0
| | | | | | | | | | | | | | Mesa is a package like any other. There's no reason for it to be a special case with its platforms listed in lib, because if other packages want to refer to mesa's platforms, they can access the platforms from the package meta like they would for any other package.