summary refs log tree commit diff
path: root/lib/systems
Commit message (Collapse)AuthorAge
* Ericson2314's suggestion here: ↵Adam Joseph2022-03-10
| | | | https://github.com/NixOS/nixpkgs/pull/161158#discussion_r822295406
* This commit adds only comments to platforms.nix.Adam Joseph2022-03-10
|
* comment: explain why gnuabi64 has a rustc.config but gnuabin32 does not.Adam Joseph2022-03-10
|
* remove float = "hard" from mips entriesAdam Joseph2022-03-10
|
* https://github.com/NixOS/nixpkgs/pull/161158#pullrequestreview-903824553Adam Joseph2022-03-10
|
* lib/systems: add mips64el definitionsAdam Joseph2022-03-10
| | | | | | | | | | | | | | | | | | | | | | MIPS has a large space of {architecture,abi,endianness}; this commit adds all of them to lib/systems/platforms.nix so we can be done with it. Currently lib/systems/inspect.nix has a single "isMips" predicate, which is a bit ambiguous now that we will have both mips32 and mips64 support, with the latter having two ABIs. Let's add four new predicates (isMips32, isMips64, isMips64n32, and isMips64n64) and treat the now-ambiguous isMips as deprecated in favor of the more-specific predicates. These predicates are used mainly for enabling/disabling target-specific workarounds, and it is extremely rare that a platform-specific workaround is needed, and both mips32 and mips64 need exactly the same workaround. The separate predicates (isMips64n32 and isMips64n64) for ABI distinctions are, unfortunately, useful. Boost's user-scheduled threading (used by nix) does does not currently supports mips64n32, which is a very desirable ABI on routers since they rarely have more than 2**32 bytes of DRAM.
* lib/systems: Fix uclibc float-abi being flippedLevi Wright2022-03-07
| | | uclibceabihf and uclibceabi's float hardness was flipped, which causes many headaches
* lib.systems.supported: remove aarch64-darwin from Tier 3 liststernenseemann2021-12-16
| | | | | | | | While it is a fact of life that aarch64-darwin is built on Hydra, it has never formally been elevated from the Tier 7 state it was originally assigned in RFC 0046. Since platform Tier status is not only descriptive, but also normative, a consensus to commit to supporting aarch64-darwin would need to be reached.
* Merge pull request #149924 from Mic92/aarch64be-embeddedJörg Thalheim2021-12-09
|\ | | | | pkgsCross.aarch64be-embedded: fix eval
| * pkgsCross.ppcle-embedded: fix evalJörg Thalheim2021-12-09
| |
| * pkgsCross.aarch64be-embedded: fix evalJörg Thalheim2021-12-09
| |
* | pkgsCross.x86_64-netbsd-llvm: mark as brokenJörg Thalheim2021-12-09
|/
* lib/systems: add x86_64-darwin hostPlatformJonathan Ringer2021-11-10
|
* Merge pull request #139284 from r-burns/powernv-kernel-configRyan Burns2021-10-28
|\ | | | | lib/systems: update powernv kernel config
| * lib/systems: update powernv kernel configRyan Burns2021-09-28
| | | | | | | | | | | | | | | | PowerNV was looking for a nonexisting zImage file. Remove unnecessary .file / .installTarget. Also add config options needed for default minimal NixOS config and QEMU VirtIO/VirtFS devices.
* | lib.systems.supported.tier3: add aarch64-darwinzimbatm2021-10-06
| | | | | | | | aarch64-darwin is getting built by hydra
* | lib: add list of supported systems (#140428)Jonas Chevalier2021-10-05
|/ | | Adds the first 3 tiers of RFC0046 that are being used in flake.nix.
* lib/systems: add minimal s390x-linux cross-compile supportSergei Trofimovich2021-09-09
| | | | | | | | | | | Tested basic functionality as: $ nix-build --arg crossSystem '{ config = "s390x-unknown-linux-gnu"; }' -A re2c $ file ./result/bin/re2c $ ./result/bin/re2c: ELF 64-bit MSB executable, IBM S/390, version 1 (SYSV), dynamically linked, interpreter ...-gnu-2.33-50/lib/ld64.so.1, for GNU/Linux 2.6.32, not stripped $ qemu-s390x ./result/bin/re2c --version re2c 2.2
* Merge pull request #134763 from r-burns/fix-scalewayLuke Granger-Brown2021-08-21
|\ | | | | lib/systems: fix scaleway-c1 platform
| * lib/systems: fix scaleway-c1 platformRyan Burns2021-08-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This regressed in 9c213398b312e0f0bb9cdf05090fd20223a82ad0 The recursiveUpdate gave the platform both gcc.cpu and gcc.arch attrs instead of only gcc.cpu. This is invalid; gcc configuration fails with: ``` Switch "--with-arch" may not be used with switch "--with-cpu" ``` So we revert to using `//` to retain only gcc.cpu (which is more specific than the processor arch).
* | lib.systems.inspect.patterns.isGnu: initAlyssa Ross2021-08-19
|/ | | | | | | | | This allows checking e.g. stdenv.hostPlatform.isGnu, just like isMusl or isUClibc. It was already possible to check for glibc with stdenv.hostPlatform.libc == "glibc", but when that doesn't line up with how every other platform check works, this is apparently sufficiently non-obvious that we've ended up with stuff like adding glibc.static if !isMusl, which is obviously wrong.
* lib.systems: add m68k-netbsd supportAlyssa Ross2021-08-01
| | | | | | | m68k was recently added for Linux and none, but NetBSD also supports m68k. Nothing will build yet, but I want to make sure we at least encode the existence of NetBSD support for every applicable architecture we support for other operating systems.
* lib.systems.doubles: re-sortAlyssa Ross2021-08-01
| | | | These were alphabetically sorted until m68k and s390 were added.
* lib/systems/platforms: armv7l-hf-multiplatform: fix kernel buildBen Wolsieffer2021-07-30
| | | | | autoModules triggers a build system bug where ks8851_mll needs to be built-in if ks8851 is also built-in.
* Initial implementation of s390 cross-compileBen Siraphob2021-07-25
|
* Initial implementation of m68k cross-compileBen Siraphob2021-07-24
|
* mesaPlatforms: Welcome riscv64-linux to the familyZhaofeng Li2021-06-12
|
* lib.systems.parsed: add "elf" for some NetBSD archsAlyssa Ross2021-06-06
| | | | | | | In Autoconf, some old NetBSD targets like "i686-unknown-netbsd" are interpreted as a.out, not elf, and virtually nothing supports it. We need to specify e.g. "i686-unknown-netbsdelf" to get the right behaviour.
* lib.systems.parse.kernels: fix typo in commentAlyssa Ross2021-06-06
|
* platforms: Enable ftrace support for RISC-VZhaofeng Li2021-06-01
| | | | Support has landed in mainline for a while.
* platforms: Build flat kernel image for RISC-VZhaofeng Li2021-06-01
| | | | | | | | Newer bootloaders for RISC-V (i.e., OpenSBI + U-Boot) support flat and compressed kernel images but not vmlinux. Therefore, let's build "Image" like what we do with aarch64. Also copy DTBs while we are at it.
* darwin: use "11.0" as sdk and minimum version on aarch64-darwinAndrew Childs2021-05-17
|
* lib/systems/platforms: add Apple M1Andrew Childs2021-05-17
|
* Add crossPkgs.aarch64-darwinMoritz Angermann2021-05-17
|
* lib/systems: add aarch64-darwin to mesaPlatformsMatthew Bauer2021-05-17
|
* Merge staging-next into staginggithub-actions[bot]2021-05-15
|\
| * lib/systems/parse: make isCompatible description clearer and more usefulBen Siraphob2021-05-14
| | | | | | | | | | | | | | Stating that CPUs and the isCompatible relation forms a category (or preorder) is correct but overtly technical. We can state it more clearly for readers unfamiliar with mathematics while retaining some keywords to be useful to technical readers.
* | treewide: All the linker to be chosen independentlyJohn Ericson2021-05-14
| | | | | | | | | | | | | | | | This will begin the process of breaking up the `useLLVM` monolith. That is good in general, but I hope will be good for NetBSD and Darwin in particular. Co-authored-by: sterni <sternenseemann@systemli.org>
* | treewide: Support aarch64-android using minimal prebuilt componentss13412021-05-11
|/ | | | | | | | | | | | | | | | | | | | | | | This PR adds a new aarch64 android toolchain, which leverages the existing crossSystem infrastructure and LLVM builders to generate a working toolchain with minimal prebuilt components. The only thing that is prebuilt is the bionic libc. This is because it is practically impossible to compile bionic outside of an AOSP tree. I tried and failed, braver souls may prevail. For now I just grab the relevant binaries from https://android.googlesource.com/. I also grab the msm kernel sources from there to generate headers. I've included a minor patch to the existing kernel-headers derivation in order to expose an internal function. Everything else, from binutils up, is using stock code. Many thanks to @Ericson2314 for his help on this, and for building such a powerful system in the first place! One motivation for this is to be able to build a toolchain which will work on an aarch64 linux machine. To my knowledge, there is no existing toolchain for an aarch64-linux builder and an aarch64-android target.
* Merge branch 'master' into staging-nextJan Tojnar2021-04-25
|\ | | | | | | Choose binwalk 2.3.1, 27 is legacy version for Python 2.
| * lib.systems.doubles.netbsd: expandAlyssa Ross2021-04-23
| | | | | | | | | | | | | | These are all the architectures supported by Nixpkgs on other platforms, that are also supported by NetBSD. (So I haven't added any architectures that are new to Nixpkgs here, even though NetBSD supports some that we don't have.)
* | Merge master into staging-nextgithub-actions[bot]2021-04-24
|\|
| * lib.systems.doubles.all: reorganizeAlyssa Ross2021-04-23
| | | | | | | | | | | | | | | | | | | | | | The previous mess was partially grouped by OS, and partially grouped by architecture, which made it very difficult to know where to add new entries. I've chosen to group by OS entirely, because OSes are likely to maintain exhaustive lists of supported architectures, but it's far less likely we'd be able to find exhaustive lists of supported OSes for every architecture.
* | Merge master into staging-nextgithub-actions[bot]2021-04-15
|\|
| * lib.systems.examples.amd64-netbsd: add warningAlyssa Ross2021-04-15
| | | | | | | | Otherwise, nobody will know it's deprecated!
* | Merge master into staging-nextgithub-actions[bot]2021-04-15
|\|
| * lib: Adjust NetBSD example systemsJohn Ericson2021-04-15
| | | | | | | | Deprecate the odd one so no breaking change.
* | Merge remote-tracking branch 'upstream/staging-next' into down-integrate-stagingLuke Granger-Brown2021-04-12
|\|
| * Merge pull request #116495 from r-burns/ppc64Sandro2021-04-12
| |\ | | | | | | lib/systems: remove powerpc64 elfv1 support
| | * lib/systems: remove powerpc64 elfv1 supportRyan Burns2021-03-15
| | | | | | | | | | | | | | | I was specifying the ELF ABI using -elfv1 and -elfv2 target config suffixes, which are nonstandard and no longer work with gnu-config.