summaryrefslogtreecommitdiffstats
path: root/shell.nix
blob: 5368dcd666925c264910f11e87e85ac8f3d72a14 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
{ pkgs ? import <unstable> {} }:

let
  clang = pkgs.llvmPackages_latest.clang;
  mkWrapper = name: mode: pkgs.writeShellScriptBin name ''
    ./target/${mode}/poseidoc \
      '--extra-arg=-idirafter "${clang.libc_dev}/include"' \
      --extra-arg="$(echo -n "${clang.default_cxx_stdlib_compile}")" \
      '--extra-arg="-resource-dir=${clang}/resource-root"' \
      "$@"
  '';

  debugWrapper = mkWrapper "poseidoc" "debug";
  releaseWrapper = mkWrapper "poseidoc-release" "release";

in
  with pkgs;
  with llvmPackages_latest;
  mkShell {
    buildInputs = [ llvm libclang debugWrapper releaseWrapper ];
    LIBCLANG_PATH = "${libclang}/lib";
  }