diff options
author | Anderson Torres <torres.anderson.85@protonmail.com> | 2023-10-17 00:10:31 -0300 |
---|---|---|
committer | Anderson Torres <torres.anderson.85@protonmail.com> | 2023-11-02 11:42:11 -0300 |
commit | 3666c314f8c3d9c9ced2d76a82e9c475faf14339 (patch) | |
tree | 2490ffd5b891bc9032d3da13b1fd2d44d37b84bc | |
parent | 037d5af01808211698e13ebf2b12de238b385012 (diff) | |
download | nixpkgs-3666c314f8c3d9c9ced2d76a82e9c475faf14339.tar nixpkgs-3666c314f8c3d9c9ced2d76a82e9c475faf14339.tar.gz nixpkgs-3666c314f8c3d9c9ced2d76a82e9c475faf14339.tar.bz2 nixpkgs-3666c314f8c3d9c9ced2d76a82e9c475faf14339.tar.lz nixpkgs-3666c314f8c3d9c9ced2d76a82e9c475faf14339.tar.xz nixpkgs-3666c314f8c3d9c9ced2d76a82e9c475faf14339.tar.zst nixpkgs-3666c314f8c3d9c9ced2d76a82e9c475faf14339.zip |
cosmocc: move to cosmopolitan
Also, a refactor.
-rw-r--r-- | pkgs/by-name/co/cosmopolitan/cosmocc.nix | 25 | ||||
-rw-r--r-- | pkgs/by-name/co/cosmopolitan/hello.c | 6 | ||||
-rw-r--r-- | pkgs/by-name/co/cosmopolitan/package.nix | 7 | ||||
-rw-r--r-- | pkgs/development/tools/cosmocc/default.nix | 34 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 2 |
5 files changed, 39 insertions, 35 deletions
diff --git a/pkgs/by-name/co/cosmopolitan/cosmocc.nix b/pkgs/by-name/co/cosmopolitan/cosmocc.nix new file mode 100644 index 00000000000..fb3ca66025a --- /dev/null +++ b/pkgs/by-name/co/cosmopolitan/cosmocc.nix @@ -0,0 +1,25 @@ +{ runCommand, cosmopolitan }: + +let + cosmocc = runCommand "cosmocc-${cosmopolitan.version}" + { + pname = "cosmocc"; + inherit (cosmopolitan) version; + + passthru.tests = { + cc = runCommand "c-test" { } '' + ${cosmocc}/bin/cosmocc ${./hello.c} + ./a.out > $out + ''; + }; + + meta = cosmopolitan.meta // { + description = "compilers for Cosmopolitan C/C++ programs"; + }; + } '' + 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 diff --git a/pkgs/by-name/co/cosmopolitan/hello.c b/pkgs/by-name/co/cosmopolitan/hello.c new file mode 100644 index 00000000000..f8edd23561e --- /dev/null +++ b/pkgs/by-name/co/cosmopolitan/hello.c @@ -0,0 +1,6 @@ +#include <stdio.h> + +int main() { + printf("Hello world!\n"); + return 0; +} diff --git a/pkgs/by-name/co/cosmopolitan/package.nix b/pkgs/by-name/co/cosmopolitan/package.nix index acc8386e78b..defc3efb8d1 100644 --- a/pkgs/by-name/co/cosmopolitan/package.nix +++ b/pkgs/by-name/co/cosmopolitan/package.nix @@ -2,6 +2,7 @@ , stdenv , fetchFromGitHub , bintools-unwrapped +, callPackage , coreutils , substituteAll , unzip @@ -74,6 +75,12 @@ stdenv.mkDerivation (finalAttrs: { runHook postInstall ''; + passthru = { + cosmocc = callPackage ./cosmocc.nix { + cosmopolitan = finalAttrs.finalPackage; + }; + }; + meta = { homepage = "https://justine.lol/cosmopolitan/"; description = "Your build-once run-anywhere c library"; diff --git a/pkgs/development/tools/cosmocc/default.nix b/pkgs/development/tools/cosmocc/default.nix deleted file mode 100644 index c3db97dfdc6..00000000000 --- a/pkgs/development/tools/cosmocc/default.nix +++ /dev/null @@ -1,34 +0,0 @@ -{ runCommand, cosmopolitan }: - -let - inherit (cosmopolitan) version; - - cosmocc = - runCommand "cosmocc-${version}" - { - pname = "cosmocc"; - inherit version; - - meta = cosmopolitan.meta // { - description = "compilers for Cosmopolitan C/C++ programs"; - }; - 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 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c01a15d26c6..2251a98c4e8 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -20921,7 +20921,7 @@ with pkgs; cog = callPackage ../development/web/cog { }; - cosmocc = callPackage ../development/tools/cosmocc { }; + inherit (cosmopolitan) cosmocc; python-cosmopolitan = callPackage ../development/interpreters/python-cosmopolitan { }; |