forked from lcompilers/lpython
-
Notifications
You must be signed in to change notification settings - Fork 0
/
shell.nix
43 lines (43 loc) · 940 Bytes
/
shell.nix
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
{ clangOnly ? "no" }:
let
sources = import ./nix/sources.nix;
pkgs = import sources.nixpkgs { };
mach-nix = import (builtins.fetchGit {
url = "https://github.com/DavHau/mach-nix.git";
ref = "refs/tags/3.1.1";
}) {
pkgs = pkgs;
python = "python37";
};
customPython = mach-nix.mkPython rec {
requirements = ''
pytest
toml
'';
};
llvmPkgs = pkgs.buildPackages.llvmPackages_11;
myStdenv = if clangOnly=="yes" then llvmPkgs.stdenv else pkgs.gcc10Stdenv;
myBinutils = if clangOnly=="yes" then llvmPkgs.bintools else pkgs.binutils;
mkShellNewEnv = pkgs.mkShell.override { stdenv = myStdenv; };
in mkShellNewEnv {
nativeBuildInputs = [ pkgs.cmake ];
buildInputs = with pkgs; [
customPython
bashInteractive
which
gfortran
valgrind
gdb
fmt
llvm_11
lld_11
myBinutils
bison_3_5
zlib
libbfd
re2c
git
xonsh
rapidjson
];
}