Commit Graph

563 Commits

Author SHA1 Message Date
K900
934d11cb78 Merge remote-tracking branch 'origin/staging-next' into staging 2025-11-02 00:50:30 +03:00
Wolfgang Walther
4949737a38 systems/examples: remove x86_64-unknown-redox
relibc itself has been removed in 2024 already.
2025-10-28 21:54:04 +01:00
nixpkgs-ci[bot]
584512ec5c Merge staging-next into staging 2025-10-25 12:06:42 +00:00
Alyssa Ross
d563aa57de lib.systems.parse: Default glibc ppc64 to ELFv1 ABI (#451088) 2025-10-25 09:57:43 +00:00
OPNA2608
37492033eb lib.systems.parse: Default glibc ppc64 to ELFv1 ABI 2025-10-11 21:00:33 +02:00
OPNA2608
8448c28919 lib.systems.examples.ppc64-elfv1: Drop manual fix of rust.rustcTarget
ABI is now simplified automatically.
2025-10-11 20:57:29 +02:00
OPNA2608
8b06bf875c lib.systems: Simplify ABI on POWER for rust.rustcTarget
Rust does not know how to parse "gnuabielfv{1,2}", so simplify those down to just "gnu".
This obsoletes the manual rustcTarget fix in the ppc64-elfv1 example.
2025-10-11 20:48:52 +02:00
Randy Eckenrode
2ab175889a lib.systems.darwinMinVersion: 11.3 -> 14.0 2025-10-09 18:23:26 -04:00
Randy Eckenrode
cf45eef8ec lib.systems.darwinSdkVersion: 11.3 -> 14.4 2025-10-09 18:23:26 -04:00
Philip Taron
44998896c6 lib: remove optional builtins prefixes from prelude functions (#447402) 2025-09-30 16:28:04 +00:00
NAHO
6177c4ad72 lib: 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 . lib --exec-batch sed --in-place --regexp-extended "
      s/\<builtins\.($(
        printf '%s\n' "${builtins[@]}" |
          paste --delimiter '|' --serial -
      ))\>/\1/g
    "

    nix fmt
2025-09-30 09:02:59 +02:00
David McFarland
39fd8e4adf cygwin: init as a target toolchain
The old cygwin support used -pc-windows-cygnus as the config.  This is
supported by LLVM, but not by GNU. This will change it to -pc-cygwin,
which is more generally supported.

Because the kernel is now 'cygwin' rather than 'windows', isWindows will
return false. There are lots of different reasons isWindows is used in
nixpkgs, but in my experience they often have to do with posix
compatibility and don't apply to cygwin.

Co-authored-by: Brian McKenna <brian@brianmckenna.org>
2025-09-27 13:29:44 -03:00
Marie Ramlow
b6d48619ed lib.systems: add ppc32 target 2025-09-10 08:15:07 +02:00
Fabián Heredia Montiel
0e9af74ced Merge remote-tracking branch 'origin/master' into staging-next 2025-08-18 22:43:58 -06:00
Emily
6e959288bb lib.systems.examples: bump Android SDK and NDK
Per <https://github.com/android/ndk/wiki>, NDK 26 is EOL.
2025-08-18 16:52:14 +01:00
nixpkgs-ci[bot]
c0dd2454fa Merge staging-next into staging 2025-08-01 00:21:45 +00:00
Ross Smyth
4af7c6bdee lib.systems: Add examples & helpers for MSVC 2025-07-31 11:41:15 -04:00
Wolfgang Walther
90604d95bc Merge branch 'staging-next' into staging 2025-07-24 14:33:09 +02:00
Wolfgang Walther
5a0711127c treewide: run nixfmt 1.0.0 2025-07-24 13:55:40 +02:00
Colin
b3daf8c3a5 nodejs: split destCPU into stdenv.$platform.node
this architecture mapping is used broadly in the node ecosystem.
an assortment of tools and hooks, like buildNpmPackage or
pnpm.configHook, will benefit from reusing these values. placing them in
stdenv makes sense because (1) several of these tools don't currently
depend on nodejs, and may even be available where nodejs is not and (2)
`stdenv.{build,host,target}Platform` seems to be less error-prone than
`pkgs*.nodejs.{os,arch}` -- especially for setup hooks where the offsets
are shifted.
2025-07-07 03:07:58 +00:00
OPNA2608
8c6307d19b lib.systems.examples: Add rust.rustcTarget for ppc64-elfv1 2025-07-05 22:16:59 +02:00
OPNA2608
3a51005a85 lib.systems.inspect.patterns: init isAbiElfv1 2025-06-26 09:28:04 +02:00
OPNA2608
f5d07900bf lib.systems.examples: Split glibc powerpc64 back into 2 ABI options
ELFv1 is the historically better supported one on glibc, ELFv2 seems to have some issues with our toolchain.

Restore the option to pick the ABI with pkgsCross.
2025-06-21 11:01:02 +02:00
Alyssa Ross
f4c841ae5e lib.systems: don't throw if go unsupported
Better to have a value that can actually be checked for, rather than
throwing, so optional Go support can be disabled when unsupported.
2025-05-30 14:57:33 +02:00
Gutyina Gergő
b3b0fd266b lib: prefer replaceString over replaceStrings 2025-05-28 00:20:57 +02:00
Weijia Wang
9988795010 lib.systems.loongarch64-multiplatform: init 2025-05-25 14:43:14 +02:00
Aleksana
48b56e8fb5 lib.systems: raise minimum loongarch64 feature support (#403201) 2025-05-23 10:00:37 +08:00
Aleksana
b2fc900a32 lib.systems.elaborate.canExecute: handle different gcc.arch (#403549) 2025-05-23 09:59:10 +08:00
aleksana
54e53047bf lib.systems.examples: separate loongarch64 for desktop and embedded variants 2025-05-22 19:59:54 +08:00
aleksana
b6b5125d03 lib.systems.architectures: add loongarch64 2025-05-22 19:00:07 +08:00
aleksana
1802f697e4 lib.systems.elaborate.canExecute: handle different gcc.arch 2025-05-22 18:57:28 +08:00
aleksana
330fdc9943 lib.systems.architectures: add hasInferior and canExecute function 2025-05-22 18:57:28 +08:00
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