Applies an upstreamed patch which works around a double definition of
popcount64. This change is all needed to cross compile nix to NetBSD, so
we can extend the cross-trunk jobset as well.
Adding something to lib.systems.examples means that it'll be exposed via
pkgsCross to users quite prominently. As a result we should try to
provide binary cache for at least the toolchains on a best effort
basis.
This commit syncs release-cross.nix with (new?) cross targets added to
lib.systems.examples in the meantime. We for example didn't have a
prebuilt toolchain for riscv64.
Our support for ppc64le is pretty good now.
Let's add these so it's easier to spot and rectify breakage.
The toolchains are already built for their bootstrap tools,
so this shouldn't put much build strain on hydra.
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.
- `isGNU` to `isHurd`, my sedding did not catch
- Simplify cross compilation in general
- Be more careful about python
- no more `gdbCross` in all-packages
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.
This reverts commit 2282a5774c, reversing
changes made to 14adea9156.
The lib tests are bloking nixpkgs-unstable, and I don't like debugging
it soon enough.
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
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