tangled
alpha
login
or
join now
pyrox.dev
/
nixpkgs
lol
0
fork
atom
overview
issues
pulls
pipelines
cosmocc: move to cosmopolitan
Also, a refactor.
Anderson Torres
2 years ago
3666c314
037d5af0
+39
-35
5 changed files
expand all
collapse all
unified
split
pkgs
by-name
co
cosmopolitan
cosmocc.nix
hello.c
package.nix
development
tools
cosmocc
default.nix
top-level
all-packages.nix
+25
pkgs/by-name/co/cosmopolitan/cosmocc.nix
···
1
1
+
{ runCommand, cosmopolitan }:
2
2
+
3
3
+
let
4
4
+
cosmocc = runCommand "cosmocc-${cosmopolitan.version}"
5
5
+
{
6
6
+
pname = "cosmocc";
7
7
+
inherit (cosmopolitan) version;
8
8
+
9
9
+
passthru.tests = {
10
10
+
cc = runCommand "c-test" { } ''
11
11
+
${cosmocc}/bin/cosmocc ${./hello.c}
12
12
+
./a.out > $out
13
13
+
'';
14
14
+
};
15
15
+
16
16
+
meta = cosmopolitan.meta // {
17
17
+
description = "compilers for Cosmopolitan C/C++ programs";
18
18
+
};
19
19
+
} ''
20
20
+
mkdir -p $out/bin
21
21
+
install ${cosmopolitan.dist}/tool/scripts/{cosmocc,cosmoc++} $out/bin
22
22
+
sed 's|/opt/cosmo\([ /]\)|${cosmopolitan.dist}\1|g' -i $out/bin/*
23
23
+
'';
24
24
+
in
25
25
+
cosmocc
+6
pkgs/by-name/co/cosmopolitan/hello.c
···
1
1
+
#include <stdio.h>
2
2
+
3
3
+
int main() {
4
4
+
printf("Hello world!\n");
5
5
+
return 0;
6
6
+
}
+7
pkgs/by-name/co/cosmopolitan/package.nix
···
2
2
, stdenv
3
3
, fetchFromGitHub
4
4
, bintools-unwrapped
5
5
+
, callPackage
5
6
, coreutils
6
7
, substituteAll
7
8
, unzip
···
73
74
74
75
runHook postInstall
75
76
'';
77
77
+
78
78
+
passthru = {
79
79
+
cosmocc = callPackage ./cosmocc.nix {
80
80
+
cosmopolitan = finalAttrs.finalPackage;
81
81
+
};
82
82
+
};
76
83
77
84
meta = {
78
85
homepage = "https://justine.lol/cosmopolitan/";
-34
pkgs/development/tools/cosmocc/default.nix
···
1
1
-
{ runCommand, cosmopolitan }:
2
2
-
3
3
-
let
4
4
-
inherit (cosmopolitan) version;
5
5
-
6
6
-
cosmocc =
7
7
-
runCommand "cosmocc-${version}"
8
8
-
{
9
9
-
pname = "cosmocc";
10
10
-
inherit version;
11
11
-
12
12
-
meta = cosmopolitan.meta // {
13
13
-
description = "compilers for Cosmopolitan C/C++ programs";
14
14
-
};
15
15
-
passthru.tests = {
16
16
-
cc = runCommand "c-test" { } ''
17
17
-
cat > hello.c << END
18
18
-
#include <stdio.h>
19
19
-
int main() {
20
20
-
printf("Hello world!\n");
21
21
-
return 0;
22
22
-
}
23
23
-
END
24
24
-
${cosmocc}/bin/cosmocc hello.c
25
25
-
./a.out > $out
26
26
-
'';
27
27
-
};
28
28
-
} ''
29
29
-
mkdir -p $out/bin
30
30
-
install ${cosmopolitan.dist}/tool/scripts/{cosmocc,cosmoc++} $out/bin
31
31
-
sed 's|/opt/cosmo\([ /]\)|${cosmopolitan.dist}\1|g' -i $out/bin/*
32
32
-
'';
33
33
-
in
34
34
-
cosmocc
+1
-1
pkgs/top-level/all-packages.nix
···
20921
20921
20922
20922
cog = callPackage ../development/web/cog { };
20923
20923
20924
20924
-
cosmocc = callPackage ../development/tools/cosmocc { };
20924
20924
+
inherit (cosmopolitan) cosmocc;
20925
20925
20926
20926
python-cosmopolitan = callPackage ../development/interpreters/python-cosmopolitan { };
20927
20927