diff --git a/packaging/nix/default.nix b/packaging/nix/default.nix index 2c133dec..56fa5594 100644 --- a/packaging/nix/default.nix +++ b/packaging/nix/default.nix @@ -14,10 +14,6 @@ stdenv.mkDerivation { name = "clang-uml"; src = ../..; - # variables for substituteAll - unwrapped = llvmPackages.clang-unwrapped; - clang = if enableLibcxx then llvmPackages.libcxxClang else llvmPackages.clang; - nativeBuildInputs = [ cmake pkg-config @@ -31,8 +27,15 @@ stdenv.mkDerivation { yaml-cpp ]; + clang = if enableLibcxx then llvmPackages.libcxxClang else llvmPackages.clang; + postInstall = '' + export unwrapped_clang_uml="$out/bin/clang-uml" + + # inject clang and unwrapp_clang_uml variables into wrapper substituteAll ${./wrapper} $out/bin/clang-uml-wrapped + chmod +x $out/bin/clang-uml-wrapped + installShellCompletion --bash $src/packaging/autocomplete/clang-uml installShellCompletion --zsh $src/packaging/autocomplete/_clang-uml ''; diff --git a/packaging/nix/wrapper b/packaging/nix/wrapper index 96c8ccae..cc02db18 100644 --- a/packaging/nix/wrapper +++ b/packaging/nix/wrapper @@ -28,4 +28,4 @@ export CPLUS_INCLUDE_PATH=${CPLUS_INCLUDE_PATH}${CPLUS_INCLUDE_PATH:+':'}$(build $(<@clang@/nix-support/libcxx-cxxflags) \ $(<@clang@/nix-support/libc-cflags)):@clang@/resource-root/include -exec -a "$0" @unwrapped@/bin/$(basename $0) "$@" +exec @unwrapped_clang_uml@ "$@"