nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{ runCommand, cosmopolitan }:
2
3let
4 inherit (cosmopolitan) version;
5
6 cosmocc =
7 runCommand "cosmocc-${version}"
8 {
9 pname = "cosmocc";
10 inherit version;
11
12 meta = cosmopolitan.meta // {
13 description = "compilers for Cosmopolitan C/C++ programs";
14 };
15 passthru.tests = {
16 cc = runCommand "c-test" { } ''
17 cat > hello.c << END
18 #include <stdio.h>
19 int main() {
20 printf("Hello world!\n");
21 return 0;
22 }
23 END
24 ${cosmocc}/bin/cosmocc hello.c
25 ./a.out > $out
26 '';
27 };
28 } ''
29 mkdir -p $out/bin
30 install ${cosmopolitan.dist}/tool/scripts/{cosmocc,cosmoc++} $out/bin
31 sed 's|/opt/cosmo\([ /]\)|${cosmopolitan.dist}\1|g' -i $out/bin/*
32 '';
33in
34cosmocc