-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdefault.nix
52 lines (51 loc) · 1.5 KB
/
default.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
48
49
50
51
52
let
pkgs_stable = import <nixos> {};
pkgs = import <nixos-unstable> {};
crlibm = import ./crlibm.nix {
pkgs = pkgs;
stdenv = pkgs.gcc10Stdenv;
};
pycrlibm = import ./pycrlibm.nix {
pkgs = pkgs;
stdenv = pkgs.gcc10Stdenv;
lib = pkgs.lib;
buildPythonPackage = pkgs.python38Packages.buildPythonPackage;
fetchPypi = pkgs.python38Packages.fetchPypi;
};
pyinterval = import ./pyinterval.nix {
pkgs = pkgs;
stdenv = pkgs.gcc10Stdenv;
lib = pkgs.lib;
buildPythonPackage = pkgs.python38Packages.buildPythonPackage;
fetchPypi = pkgs.python38Packages.fetchPypi;
};
in
pkgs.gcc10Stdenv.mkDerivation {
name = "pappus-env";
hardeningDisable = [ "all" ];
buildInputs = with pkgs; [
# python environment for bindings and scripting
(pkgs.python38.withPackages (ps: with ps; [ pip numpy pandas pybind11 pyperf colorama coloredlogs seaborn sphinx recommonmark sphinx_rtd_theme jupyterlab ]))
#(pkgs_stable.python38.withPackages (ps: with ps; [ sphinx recommonmark sphinx_rtd_theme jupyterlab ]))
# Project dependencies
ccls # completion vim
bear # generate compilation database
# profiling and debugging
gdb
valgrind
linuxPackages.perf
cmake
eigen
doctest
clang_10
openlibm
crlibm
mpfi
pkgconfig
pkgs_stable.julia_11
pycrlibm
pyinterval
# visualize profile results
# qcachegrind
];
}