36 lines
953 B
Nix
36 lines
953 B
Nix
{ runCommand, lib, cosmopolitan }:
|
|
|
|
let
|
|
cosmocc =
|
|
runCommand "cosmocc"
|
|
{
|
|
pname = "cosmocc";
|
|
inherit (cosmopolitan) version;
|
|
|
|
meta = with lib; {
|
|
homepage = "https://justine.lol/cosmopolitan/";
|
|
description = "compilers for Cosmopolitan C/C++ programs";
|
|
license = licenses.mit;
|
|
maintainers = teams.cosmopolitan.members;
|
|
};
|
|
passthru.tests = {
|
|
cc = runCommand "c-test" { } ''
|
|
cat > hello.c << END
|
|
#include <stdio.h>
|
|
int main() {
|
|
printf("Hello world!\n");
|
|
return 0;
|
|
}
|
|
END
|
|
${cosmocc}/bin/cosmocc hello.c
|
|
./a.out > $out
|
|
'';
|
|
};
|
|
} ''
|
|
mkdir -p $out/bin
|
|
install ${cosmopolitan.dist}/tool/scripts/{cosmocc,cosmoc++} $out/bin
|
|
sed 's|/opt/cosmo\([ /]\)|${cosmopolitan.dist}\1|g' -i $out/bin/*
|
|
'';
|
|
in
|
|
cosmocc
|