aboutsummaryrefslogtreecommitdiff
path: root/pkgs/top-level/release-cross.nix (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'staging' into release-cross-fixesMatthew Bauer2019-05-181-1/+1
|\
| * release-cross: use latest stable ghcMatthew Bauer2019-05-121-1/+1
| | | | | | | | | | Previously on ghc 8.4.4, but we can now use 8.6.5 to address the issue.
* | release-cross: remove androidndkMatthew Bauer2019-05-081-1/+0
|/ | | | It is no longer provided
* release-cross.nix: add mesa to platformsMatthew Bauer2019-05-021-0/+1
| | | | | mesa is very portable and useful. we should make sure these work on all of the platforms we support
* release-cross: add wasi targetsMatthew Bauer2019-04-231-0/+9
| | | | Add a few working cross targets to make sure things keep working.
* release-cross: remove alpha-elf targetMatthew Bauer2019-04-201-1/+0
| | | | | | | | This doesn’t appear to ever have worked. binutils doesn’t seem to support the alpha-elf target at all. It doesn’t make sense to keep this around. https://hydra.nixos.org/build/92403855/nixlog/1/tail
* systems: support TI MSP430 microcontrollersAaron Lindsay2019-03-251-0/+1
|
* Merge pull request #50282 from vincrusher/masterJohn Ericson2018-11-121-0/+1
|\ | | | | Cross-Compiling: alpha-embedded Support Added
| * Cross-Compiling: alpha-embedded Support AddedVincent Weisner2018-11-121-0/+1
| | | | | | This commit adds support for Embedded systems with DEC Alpha CPUs.
* | release-cross: use ghc844 for testsMatthew Bauer2018-11-031-1/+1
| | | | | | | | | | This GHC version has much better support for cross compilation. It should hopefully fix our mingw breakages from #42407. /cc @ericson2314
* | release-corss.nix: fix ppc-embedded nameMatthew Bauer2018-11-021-1/+1
| | | | | | | | s/powerpc-embedded/ppc-embedded
* | Merge remote-tracking branch 'upstream/master' into release-lib-cleanupJohn Ericson2018-11-011-3/+16
|\|
| * systems/examples: add i686 & x86-64 embeddedMatthew Bauer2018-10-301-0/+2
| | | | | | | | Fixes #28160
| * release-cross: add new targetsMatthew Bauer2018-10-291-0/+11
| | | | | | | | | | | | | | | | | | adds: - arm-embedded - avr - aarch64-embedded - powerpc-embedded
| * release-cross: Cross compile from all 3 supported platformsJohn Ericson2018-10-231-2/+2
| |
* | release-lib: Cache cross nixpkgs evals tooJohn Ericson2018-11-011-3/+3
|/ | | | | This will help with release-cross.nix eval time. It also allowed me to share code between the cross and native helpers.
* release-lib: Filter supportedSystems with `meta.platforms`-style patternsJohn Ericson2018-03-191-1/+1
| | | | | | | | | | | | | Instead of intersecting system strings, we filter with the sort of patterns used in `meta.platforms`. Indicating this change `forTheseSystems` has been renamed to `forMatchingSystems`, since the given list is now patterns to match, and not the systems themselves. [Just as with `meta.platforms`, systems strings are also supported for backwards compatibility.] This is more flexible, and makes the `forMatchingSystems` and packagePlatforms` cases more analogous.
* prebuilt android tools: Init using SDKJohn Ericson2018-02-271-2/+5
| | | | Expose as an option for the cross stdenv.
* release-cross: add nix and nixUnstableWill Dietz2018-02-221-0/+2
| | | | | | | Essential software for every platform! :) 'nix' won't work for now, but add it anyway so later this tests "stable" nix 2.
* release-cross: minor cleanup, add aarch64-muslWill Dietz2018-02-221-20/+13
|
* bootstrap-tools-cross, release-cross: add various musl entriesWill Dietz2018-02-131-1/+10
|
* release-cross.nix: add entry for testing muslWill Dietz2018-02-131-0/+2
|
* release-cross: Try building on Windows tooJohn Ericson2018-01-221-4/+2
|
* release-cross: Add a test for Haskell on Raspberry Pi and "Android"John Ericson2018-01-211-0/+7
| | | | | | Hello World with ghcHEAD. ghc822 to come after some patches. Android will be turned into real Android...later.
* release-lib: forAllSupportedSystems -> forTheseSystemsTuomas Tynkkynen2018-01-161-1/+1
| | | | | I'm going to move forAllSystems from nixos/release.nix, and these functions sound too similar while doing different things.
* mingw-w64-pthreads: The C compiler is neededBojan Nikolic2018-01-021-0/+1
| | | | | It was a copy and paste error from the headers derivation. Also test in release-cross.
* linux bootstrap tools: Use same derivation whether cross compiling or notJohn Ericson2018-01-021-1/+3
|
* all-packages: Remove gccCrossStageFinal; any gcc will not workJohn Ericson2017-09-211-1/+1
|
* lib: Consolidate platform configurations (used for crossSystem)John Ericson2017-05-291-82/+7
| | | | This is good for maintenance and education.
* release-cross: Be less absurd in `ensureUnaffected` testsJohn Ericson2017-05-231-2/+2
| | | | | We need to at least used a valid 4-part LLVM target "triple" and libc.
* gdb: Modernize and simplify derivationJohn Ericson2017-05-221-1/+1
| | | | | | | - `isGNU` to `isHurd`, my sedding did not catch - Simplify cross compilation in general - Be more careful about python - no more `gdbCross` in all-packages
* glibc: Simplify derivation furtherJohn Ericson2017-05-201-0/+1
| | | | | No native hashes should be changed with this commit default.nix's cross hash should also not be changed
* release-cross: Do a recursive union to make sure we don't loose testsJohn Ericson2017-05-181-3/+3
|
* release-cross: Make tests more uniformJohn Ericson2017-05-171-36/+27
| | | | | | Fewer packages are only built on one platform. Eventually we should have each package encode its own requirements on build host and target (as we do for build already) and use that to test automatically.
* release-cross: Add arms test from Darwin for binutilsJohn Ericson2017-05-171-2/+24
| | | | This does a decent job of testing everything in this PR up to here.
* lib platform parsing: Fix windows support to conform to LLVM, take 2John Ericson2017-05-171-23/+20
| | | | | | | Second attempt at pull request #25275 This reverts commit b70924bd80918d153a5e2023afd7647ae7b24a12, reapplying 2282a5774cd80567644a44d31585bf965a55f9ec
* Revert "Merge pull request #25275 from Ericson2314/platform-normalize"Vladimír Čunát2017-05-061-20/+23
| | | | | | | | This reverts commit 2282a5774cd80567644a44d31585bf965a55f9ec, reversing changes made to 14adea91566019549f33392d4710d9babd0108d7. The lib tests are bloking nixpkgs-unstable, and I don't like debugging it soon enough.
* release-cross: Add final "-gnu" to fuloong tripleJohn Ericson2017-04-271-1/+1
|
* lib platform parsing: Fix windowsJohn Ericson2017-04-271-22/+19
| | | | | | | | There is no more `cygwin` OS, but instead a `cygnus` abi. "win32" and "mingw32" parse as `windows`. Add a 3-part hack because autotools breaks on explicit abi with windows-like (e.g. "i686-pc-windows-gnu"). Also change cross triples to conform
* release-cross: Fix more typos---this is embarrisingJohn Ericson2017-04-171-3/+3
|
* release-cross: Fix typo preventing evaluationJohn Ericson2017-04-171-1/+1
|
* lib: Fix system parsing, and use for doubles listsJohn Ericson2017-04-171-2/+2
| | | | | | | The old hard-coded lists are now used to test system parsing. In the process, make an `assertTrue` in release lib for eval tests; also use it in release-cross
* lib: Collect system/platform related filesJohn Ericson2017-04-171-2/+2
| | | | Previously, platforms was a random thing in top-level
* top-level: Less indirection for lib in release*.nixJohn Ericson2017-04-171-3/+0
|
* release-cross: For fuloong, just use the predefined platformJohn Ericson2017-04-171-10/+1
| | | | | This is a semantic change, but probably a safe one. In any event, this is very old hardware that probably no one uses anymore anyways.
* top-level: no more need to expose `splicedPackages`John Ericson2017-01-251-36/+36
| | | | | This was just done temporarily on the last cross-overhauling PR for testing purposes.
* top-level: Introduce `buildPackages` for resolving build-time depsJohn Ericson2017-01-241-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [N.B., this package also applies to the commits that follow it in the same PR.] In most cases, buildPackages = pkgs so things work just as before. For cross compiling, however, buildPackages is resolved as the previous bootstrapping stage. This allows us to avoid the mkDerivation hacks cross compiling currently uses today. To avoid a massive refactor, callPackage will splice together both package sets. Again to avoid churn, it uses the old `nativeDrv` vs `crossDrv` to do so. So now, whether cross compiling or not, packages with get a `nativeDrv` and `crossDrv`---in the non-cross-compiling case they are simply the same derivation. This is good because it reduces the divergence between the cross and non-cross dataflow. See `pkgs/top-level/splice.nix` for a comment along the lines of the preceding paragraph, and the code that does this splicing. Also, `forceNativeDrv` is replaced with `forceNativePackages`. The latter resolves `pkgs` unless the host platform is different from the build platform, in which case it resolves to `buildPackages`. Note that the target platform is not important here---it will not prevent `forcedNativePackages` from resolving to `pkgs`. -------- Temporarily, we make preserve some dubious decisions in the name of preserving hashes: Most importantly, we don't distinguish between "host" and "target" in the autoconf sense. This leads to the proliferation of *Cross derivations currently used. What we ought to is resolve native deps of the cross "build packages" (build = host != target) package set against the "vanilla packages" (build = host = target) package set. Instead, "build packages" uses itself, with (informally) target != build in all cases. This is wrong because it violates the "sliding window" principle of bootstrapping stages that shifting the platform triple of one stage to the left coincides with the next stage's platform triple. Only because we don't explicitly distinguish between "host" and "target" does it appear that the "sliding window" principle is preserved--indeed it is over the reductionary "platform double" of just "build" and "host/target". Additionally, we build libc, libgcc, etc in the same stage as the compilers themselves, which is wrong because they are used at runtime, not build time. Fixing this is somewhat subtle, and the solution and problem will be better explained in the commit that does fix it. Commits after this will solve both these issues, at the expense of breaking cross hashes. Native hashes won't be broken, thankfully. -------- Did the temporary ugliness pan out? Of the packages that currently build in `release-cross.nix`, the only ones that have their hash changed are `*.gcc.crossDrv` and `bootstrapTools.*.coreutilsMinimal`. In both cases I think it doesn't matter. 1. GCC when doing a `build = host = target = foreign` build (maximally cross), still defines environment variables like `CPATH`[1] with packages. This seems assuredly wrong because whether gcc dynamically links those, or the programs built by gcc dynamically link those---I have no idea which case is reality---they should be foreign. Therefore, in all likelihood, I just made the gcc less broken. 2. Coreutils (ab)used the old cross-compiling infrastructure to depend on a native version of itself. When coreutils was overwritten to be built with fewer features, the native version it used would also be overwritten because the binding was tight. Now it uses the much looser `BuildPackages.coreutils` which is just fine as a richer build dep doesn't cause any problems and avoids a rebuild. So, in conclusion I'd say the conservatism payed off. Onward to actually raking the muck in the next PR! [1]: https://gcc.gnu.org/onlinedocs/gcc/Environment-Variables.html
* release-cross: Expose sub-jobs of linux cross stdenvJohn Ericson2017-01-151-4/+4
|
* release-cross: Use `nativeDrv` rather than relying on defaultJohn Ericson2017-01-141-1/+1
| | | | The default will soon change
* top-level: Add more options to release-cross.nix, normalize param commentsJohn Ericson2017-01-141-1/+9
|