summaryrefslogtreecommitdiffstats
path: root/shell.nix
blob: 9a2888e12f891ccacb5ba3eece96a6e6e1c21579 (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 <nixpkgs> {} }:

let
  clang = pkgs.llvmPackages_latest.clang;
  mkWrapper = name: mode: pkgs.writeShellScriptBin name ''
    ./target/${mode}/poseidoc \
      '--clang-extra-args=-idirafter "${clang.libc_dev}/include"' \
      --clang-extra-args="$(echo -n "${clang.default_cxx_stdlib_compile}")" \
      '--clang-extra-args="-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";
  }