nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 file,
4 hare,
5 runCommandNoCC,
6 writeText,
7}:
8let
9 archs = lib.concatStringsSep " " (
10 builtins.map (lib.removeSuffix "-linux") (
11 builtins.filter (lib.hasSuffix "-linux") hare.meta.platforms
12 )
13 );
14 mainDotHare = writeText "main.ha" ''
15 export fn main() void = void;
16 '';
17in
18runCommandNoCC "${hare.pname}-cross-compilation-test"
19 {
20 nativeBuildInputs = [
21 hare
22 file
23 ];
24 }
25 ''
26 HARECACHE="$(mktemp -d)"
27 export HARECACHE
28 readonly binprefix="bin"
29 for a in ${archs}; do
30 outbin="$binprefix-$a"
31 set -x
32 hare build -o "$outbin" -q -R -a "$a" ${mainDotHare}
33 set +x
34 printf -- 'Built "%s" target\n' "$a"
35 done
36
37 file -- "$binprefix-"*
38
39 : 1>$out
40 ''