summary refs log tree commit diff
path: root/lib/systems/examples.nix
Commit message (Collapse)AuthorAge
* lib.systems.amd64-netbsd: removeAlyssa Ross2022-06-08
| | | | | | This has been deprecated for a long time, and it's doubtful it had any users to start with. And having an undisablable warning when enumarating platforms is not good.
* lib.systems: drop scaleway-c1Alyssa Ross2022-05-27
| | | | | | | | These servers apparently no longer exist, since September 2, 2021[1]. If somebody needs this for non-Scaleway machines, they should suggest its reintroduction with a different name. [1]: https://news.ycombinator.com/item?id=27192757
* systems: support cross-compiling for Renesas RX microcontrollers (#173858)yvt2022-05-22
|
* Ericson2314's suggestion here: ↵Adam Joseph2022-03-10
| | | | https://github.com/NixOS/nixpkgs/pull/161158#discussion_r822295406
* comment: explain why gnuabi64 has a rustc.config but gnuabin32 does not.Adam 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.
* pkgsCross.x86_64-netbsd-llvm: mark as brokenJörg Thalheim2021-12-09
|
* lib/systems: add x86_64-darwin hostPlatformJonathan Ringer2021-11-10
|
* 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
* Initial implementation of s390 cross-compileBen Siraphob2021-07-25
|
* Initial implementation of m68k cross-compileBen Siraphob2021-07-24
|
* Add crossPkgs.aarch64-darwinMoritz Angermann2021-05-17
|
* 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 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.
| * | systems: add appropriate rustc.config for androidMilan Pässler2021-04-09
| |/ | | | | | | Rust doesn't like the `-unknown` vendor component in the target triple.
* / lib.systems: add darwinPlatform where necessaryAndrew Childs2021-04-11
|/
* Merge pull request #111345 from r-burns/ppc64-big-endianJohn Ericson2021-01-30
|\ | | | | Enable PPC64 (big-endian)
| * lib.systems: add powerpc64-linuxRyan Burns2021-01-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PPC64 supports two ABIs: ELF v1 and v2. ELFv1 is historically what GCC and most packages expect, but this is changing because musl outright does not work with ELFv1. So any distro which uses musl must use ELFv2. Many other platforms are moving to ELFv2 too, such as FreeBSD (as of v13) and Gentoo (as of late 2020). Since we use musl extensively, let's default to ELFv2. Nix gives us the power to specify this declaratively for the entire system, so ELFv1 is not dropped entirely. It can be specified explicitly in the target config, e.g. "powerpc64-unknown-linux-elfv1". Otherwise the default is "powerpc64-unknown-linux-elfv2". For musl, "powerpc64-unknown-linux-musl" must use elfv2 internally to function.
* | gcc: fix armhf targetAlexander Foremny2021-01-29
|/ | | | Fixes #96921
* Merge pull request #100687 from spease/add-newer-xcode-hashesMatthew Bauer2021-01-23
|\ | | | | darwin: update xcode versions
| * Merge branch 'master' into add-newer-xcode-hashesSteven Pease2021-01-19
| |\
| * | Update to XCode 12.3Steven Pease2021-01-19
| | |
| * | Add newer xcode versionsSteven Pease2020-10-15
| | |
* | | lib: Clean up how linux and gcc config is specifiedJohn Ericson2021-01-23
| | | | | | | | | | | | | | | | | | | | | Second attempt of 8929989614589ee3acd070a6409b2b9700c92d65; see that commit for details. This reverts commit 0bc275e63423456d6deb650e146120c39c1e0723.
* | | Revert "lib: Clean up how linux and gcc config is specified"Jonathan Ringer2021-01-22
| | | | | | | | | | | | | | | | | | | | | This is a stdenv-rebuild, and should not be merged into master This reverts commit 8929989614589ee3acd070a6409b2b9700c92d65.
* | | lib: Clean up how linux and gcc config is specifiedJohn Ericson2021-01-21
| |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `platform` field is pointless nesting: it's just stuff that happens to be defined together, and that should be an implementation detail. This instead makes `linux-kernel` and `gcc` top level fields in platform configs. They join `rustc` there [all are optional], which was put there and not in `platform` in anticipation of a change like this. `linux-kernel.arch` in particular also becomes `linuxArch`, to match the other `*Arch`es. The next step after is this to combine the *specific* machines from `lib.systems.platforms` with `lib.systems.examples`, keeping just the "multiplatform" ones for defaulting.
* | Merge pull request #105294 from Ericson2314/platform-config-improvementsJohn Ericson2020-12-02
|\ \ | | | | | | Platform config improvements
| * | lib/systems/exmaple: `riscv-multiplatform` no longer needs parameterJohn Ericson2020-11-29
| | |
* | | Cross-compiling configuration for reMarkable 2 tabletTad Fisher2020-11-29
|/ /
* | Initial implementation of remarkable1 cross-compileBen Siraphob2020-11-23
| |
* | Merge master into staging-nextFrederik Rietdijk2020-11-16
|\ \
| * | Initial implementation of mmix cross-compileBen Siraphob2020-11-09
| |/
* / Initial support for OpenRISC 1000 (or1k)Samuel Dionne-Riel2020-11-09
|/
* Merge staging-next into stagingFrederik Rietdijk2020-09-12
|\
| * lib.systems.examples: Bump android SDK to 21John Ericson2020-09-08
| | | | | | | | | | 074bc78cc8749faa31729096b65f2ef51b10abeb evidently meant to do this, but forgot.
* | Merge branch 'staging' into ios-13Matthew Bauer2020-09-10
|\|
| * android: update sdk, ndk to 29, 21Matthew Bauer2020-08-17
| |
| * redox: add as targetAaron Janse2020-07-21
| |
* | systems/examples.nix: update to iOS 13Matthew Bauer2020-07-21
|/ | | | new apps need iOS 13, so we should try to use that here
* Merge remote-tracking branch 'origin/master' into ios-with-xcode-11Matthew Bauer2020-01-03
|\
| * initial implementation of vc4 cross-compileMichael Bishop2019-11-19
| |
* | lib/systems: use newer ios sdkMatthew Bauer2020-01-03
|/
* lib: Switch to w64 vendor for MinGWJohn Ericson2019-11-11
| | | | It is needed for the `-municode` flag, supposedly.
* Merge branch 'master' into stagingVladimír Čunát2019-09-02
|\