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 48
|
{ 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
libunwind
];
}
|