summary refs log tree commit diff
diff options
context:
space:
mode:
authorAnderson Torres <torres.anderson.85@protonmail.com>2023-10-17 00:10:31 -0300
committerAnderson Torres <torres.anderson.85@protonmail.com>2023-11-02 11:42:11 -0300
commit3666c314f8c3d9c9ced2d76a82e9c475faf14339 (patch)
tree2490ffd5b891bc9032d3da13b1fd2d44d37b84bc
parent037d5af01808211698e13ebf2b12de238b385012 (diff)
downloadnixpkgs-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.nix25
-rw-r--r--pkgs/by-name/co/cosmopolitan/hello.c6
-rw-r--r--pkgs/by-name/co/cosmopolitan/package.nix7
-rw-r--r--pkgs/development/tools/cosmocc/default.nix34
-rw-r--r--pkgs/top-level/all-packages.nix2
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 { };