cosmocc: move to cosmopolitan

Also, a refactor.

+39 -35
+25
pkgs/by-name/co/cosmopolitan/cosmocc.nix
··· 1 + { runCommand, cosmopolitan }: 2 + 3 + let 4 + cosmocc = runCommand "cosmocc-${cosmopolitan.version}" 5 + { 6 + pname = "cosmocc"; 7 + inherit (cosmopolitan) version; 8 + 9 + passthru.tests = { 10 + cc = runCommand "c-test" { } '' 11 + ${cosmocc}/bin/cosmocc ${./hello.c} 12 + ./a.out > $out 13 + ''; 14 + }; 15 + 16 + meta = cosmopolitan.meta // { 17 + description = "compilers for Cosmopolitan C/C++ programs"; 18 + }; 19 + } '' 20 + mkdir -p $out/bin 21 + install ${cosmopolitan.dist}/tool/scripts/{cosmocc,cosmoc++} $out/bin 22 + sed 's|/opt/cosmo\([ /]\)|${cosmopolitan.dist}\1|g' -i $out/bin/* 23 + ''; 24 + in 25 + cosmocc
+6
pkgs/by-name/co/cosmopolitan/hello.c
··· 1 + #include <stdio.h> 2 + 3 + int main() { 4 + printf("Hello world!\n"); 5 + return 0; 6 + }
+7
pkgs/by-name/co/cosmopolitan/package.nix
··· 2 2 , stdenv 3 3 , fetchFromGitHub 4 4 , bintools-unwrapped 5 + , callPackage 5 6 , coreutils 6 7 , substituteAll 7 8 , unzip ··· 73 74 74 75 runHook postInstall 75 76 ''; 77 + 78 + passthru = { 79 + cosmocc = callPackage ./cosmocc.nix { 80 + cosmopolitan = finalAttrs.finalPackage; 81 + }; 82 + }; 76 83 77 84 meta = { 78 85 homepage = "https://justine.lol/cosmopolitan/";
-34
pkgs/development/tools/cosmocc/default.nix
··· 1 - { runCommand, cosmopolitan }: 2 - 3 - let 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 - ''; 33 - in 34 - cosmocc
+1 -1
pkgs/top-level/all-packages.nix
··· 20921 20921 20922 20922 cog = callPackage ../development/web/cog { }; 20923 20923 20924 - cosmocc = callPackage ../development/tools/cosmocc { }; 20924 + inherit (cosmopolitan) cosmocc; 20925 20925 20926 20926 python-cosmopolitan = callPackage ../development/interpreters/python-cosmopolitan { }; 20927 20927