diff options
Diffstat (limited to 'shell.nix')
-rw-r--r-- | shell.nix | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/shell.nix b/shell.nix new file mode 100644 index 0000000..5368dcd --- /dev/null +++ b/shell.nix | |||
@@ -0,0 +1,22 @@ | |||
1 | { pkgs ? import <unstable> {} }: | ||
2 | |||
3 | let | ||
4 | clang = pkgs.llvmPackages_latest.clang; | ||
5 | mkWrapper = name: mode: pkgs.writeShellScriptBin name '' | ||
6 | ./target/${mode}/poseidoc \ | ||
7 | '--extra-arg=-idirafter "${clang.libc_dev}/include"' \ | ||
8 | --extra-arg="$(echo -n "${clang.default_cxx_stdlib_compile}")" \ | ||
9 | '--extra-arg="-resource-dir=${clang}/resource-root"' \ | ||
10 | "$@" | ||
11 | ''; | ||
12 | |||
13 | debugWrapper = mkWrapper "poseidoc" "debug"; | ||
14 | releaseWrapper = mkWrapper "poseidoc-release" "release"; | ||
15 | |||
16 | in | ||
17 | with pkgs; | ||
18 | with llvmPackages_latest; | ||
19 | mkShell { | ||
20 | buildInputs = [ llvm libclang debugWrapper releaseWrapper ]; | ||
21 | LIBCLANG_PATH = "${libclang}/lib"; | ||
22 | } | ||