the motivation for this is to simplify stdenv and ease the job of
reviewers due to them needing to tell contributors about the defacto
rule that cmakeFlags should be a list of strings
* colima: use updated Makefile in build and install phases
* colima: use lima-unwrapped
* colima: fix dynamic version
* colima: 0.4.2 -> 0.4.3
* colima: delete .git folder in postfetch when `leaveDotGit = true`
Otherwise it may lead to non-deterministic behaviour.
Co-authored-by: j-k <dev@j-k.io>
* colima: do not override default buildGoModule phases
The colima Makefile does more or less the same as the `buildGoModule`
implementation. Instead of overriding it and using the Makefile
directly, we reproduce the behaviour desired behaviour by customising
env variables, e.g. `ldflags` and `subPackages`.
Co-authored-by: j-k <dev@j-k.io>
* colima: use `buildGoModule = buildGo118Module;`
Co-authored-by: j-k <dev@j-k.io>
* colima: update meta.description
Co-authored-by: j-k <dev@j-k.io>
* colima: set `CGO_ENABLED = 1` to make VPN connections work
See https://github.com/abiosoft/colima/issues/358
* colima: 0.4.3 -> 0.4.4
* colima: define all ldflags in preConfigure
Co-authored-by: Atemu <Atemu@users.noreply.github.com>
* colima: add version test
* colima: add meta.mainProgram and meta.platforms
* colima: remove unused runCommand input
Co-authored-by: j-k <dev@j-k.io>
* colima: cleanup meta
Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
* colima: drop meta.platforms
because we use the default value of `platforms.darwin ++
platforms.linux`
Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
Co-authored-by: Atemu <Atemu@users.noreply.github.com>
* Update pkgs/applications/virtualization/colima/default.nix
Co-authored-by: j-k <dev@j-k.io>
Co-authored-by: Atemu <Atemu@users.noreply.github.com>
Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
To avoid duplicating the ruby compilation code, this change exposes two
functions `mkRubyVersion` and `mkRuby`, which can be used in an overlay
to build any past or current ruby version.
An example overlay:
```nix
self: super:
{
ruby_2_7_6 = super.mkRuby {
version = super.mkRubyVersion "2" "7" "6" "";
sha256 = "042xrdk7hsv4072bayz3f8ffqh61i8zlhvck10nfshllq063n877";
};
ruby_3_1_2 = super.mkRuby {
version = super.mkRubyVersion "3" "1" "2" "";
sha256 = "0gm84ipk6mrfw94852w5h7xxk2lqrxjbnlwb88svf0lz70933131";
};
}
```
Without the change archimedes fails to build with latest toolchains as:
ld: archimedes.c:(.text+0xdac7): undefined reference to `rnd'
ld: archimedes.c:(.text+0xdeab): undefined reference to `rnd'
ld: archimedes.c:(.text+0xdf13): undefined reference to `rnd'
ld: archimedes.c:(.text+0xe3ef): undefined reference to `rnd'
ld: archimedes.o:archimedes.c:(.text+0xe456): more undefined references to `rnd' follow
ld: archimedes.o: in function `EMC':
archimedes.c:(.text+0xf11b): undefined reference to `creation'
ld: archimedes.c:(.text+0xf5f5): undefined reference to `creation'
ld: archimedes.c:(.text+0xf826): undefined reference to `creation'
ld: archimedes.c:(.text+0xf9ce): undefined reference to `creation'
The change happens to fix build against clang as well.
In Nixpkgs, we assume that the "config" field is a canonicalized GNU
triple. I noticed that non-canonical values were being used here,
because the pkgsCross.mips64el-linux-gnu triples did not contain the
vendor field, but the pkgsCross.mips64el-linux-gnu.pkgsStatic did.
Here, I've run all the MIPS triples in lib.systems.examples through
config.sub to canonicalize them. I think this will avoid nasty
surprises in future.
Tested by building Nix and the bootstrap files for
pkgsCross.mips64el-linux-gnu.