forked from lcompilers/lpython
-
Notifications
You must be signed in to change notification settings - Fork 0
/
shell.nix
47 lines (47 loc) · 1014 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
44
45
46
47
{ clangOnly ? "no" }:
let
sources = import ./nix/sources.nix;
pkgs = import sources.nixpkgs { };
mach-nix = import (
pkgs.fetchFromGitHub {
owner = "DavHau";
repo = "mach-nix";
rev = "refs/tags/3.3.0";
sha256 = "sha256-RvbFjxnnY/+/zEkvQpl85MICmyp9p2EoncjuN80yrYA=";
}
) {
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
];
}