{ pkgs ? import {} }: 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"; }