tangled
alpha
login
or
join now
pyrox.dev
/
nixpkgs
0
fork
atom
lol
0
fork
atom
overview
issues
pulls
pipelines
ante: init at unstable-2022-08-22
Elizabeth Paź
3 years ago
71249330
cf06fa47
+55
2 changed files
expand all
collapse all
unified
split
pkgs
development
compilers
ante
default.nix
top-level
all-packages.nix
+53
pkgs/development/compilers/ante/default.nix
···
1
1
+
{ fetchFromGitHub
2
2
+
, lib
3
3
+
, libffi
4
4
+
, libxml2
5
5
+
, llvmPackages_13
6
6
+
, ncurses
7
7
+
, rustPlatform
8
8
+
}:
9
9
+
10
10
+
rustPlatform.buildRustPackage {
11
11
+
pname = "ante";
12
12
+
version = "unstable-2022-08-22";
13
13
+
src = fetchFromGitHub {
14
14
+
owner = "jfecher";
15
15
+
repo = "ante";
16
16
+
rev = "8b708d549c213c34e4ca62d31cf0dd25bfa7b548";
17
17
+
sha256 = "sha256-s8nDuG32lI4pBLsOzgfyUGpc7/r0j4EhzH54ErBK7A0=";
18
18
+
};
19
19
+
cargoSha256 = "sha256-29D7kPG7vop9lIxWQnaHkCTRY8YsCjERRCOvbU7oemQ=";
20
20
+
21
21
+
/*
22
22
+
https://crates.io/crates/llvm-sys#llvm-compatibility
23
23
+
llvm-sys requires a specific version of llvmPackages,
24
24
+
that is not the same as the one included by default with rustPlatform.
25
25
+
*/
26
26
+
nativeBuildInputs = [ llvmPackages_13.llvm ];
27
27
+
buildInputs = [ libffi libxml2 ncurses ];
28
28
+
29
29
+
postPatch = ''
30
30
+
substituteInPlace tests/golden_tests.rs --replace \
31
31
+
'target/debug' "target/$(rustc -vV | sed -n 's|host: ||p')/release"
32
32
+
'';
33
33
+
preBuild =
34
34
+
let
35
35
+
major = lib.versions.major llvmPackages_13.llvm.version;
36
36
+
minor = lib.versions.minor llvmPackages_13.llvm.version;
37
37
+
llvm-sys-ver = "${major}${builtins.substring 0 1 minor}";
38
38
+
in
39
39
+
''
40
40
+
# On some architectures llvm-sys is not using the package listed inside nativeBuildInputs
41
41
+
export LLVM_SYS_${llvm-sys-ver}_PREFIX=${llvmPackages_13.llvm.dev}
42
42
+
export ANTE_STDLIB_DIR=$out/lib
43
43
+
mkdir -p $ANTE_STDLIB_DIR
44
44
+
cp -r $src/stdlib/* $ANTE_STDLIB_DIR
45
45
+
'';
46
46
+
47
47
+
meta = with lib; {
48
48
+
homepage = "https://antelang.org/";
49
49
+
description = "A low-level functional language for exploring refinement types, lifetime inference, and algebraic effects";
50
50
+
license = with licenses; [ mit ];
51
51
+
maintainers = with maintainers; [ ehllie ];
52
52
+
};
53
53
+
}
+2
pkgs/top-level/all-packages.nix
···
12803
12803
12804
12804
algol68g = callPackage ../development/compilers/algol68g { };
12805
12805
12806
12806
+
ante = callPackage ../development/compilers/ante { };
12807
12807
+
12806
12808
armips = callPackage ../development/compilers/armips {
12807
12809
stdenv = gcc10Stdenv;
12808
12810
};