summaryrefslogtreecommitdiffstats
path: root/pkgs/development/cuda-modules/setup-hooks/mark-for-cudatoolkit-root-hook.sh
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/cuda-modules/setup-hooks/mark-for-cudatoolkit-root-hook.sh')
-rw-r--r--pkgs/development/cuda-modules/setup-hooks/mark-for-cudatoolkit-root-hook.sh21
1 files changed, 16 insertions, 5 deletions
diff --git a/pkgs/development/cuda-modules/setup-hooks/mark-for-cudatoolkit-root-hook.sh b/pkgs/development/cuda-modules/setup-hooks/mark-for-cudatoolkit-root-hook.sh
index ba04c2e0806a..0abd651005c6 100644
--- a/pkgs/development/cuda-modules/setup-hooks/mark-for-cudatoolkit-root-hook.sh
+++ b/pkgs/development/cuda-modules/setup-hooks/mark-for-cudatoolkit-root-hook.sh
@@ -1,14 +1,25 @@
# shellcheck shell=bash
-# Should we mimick cc-wrapper's "hygiene"?
-[[ -z ${strictDeps-} ]] || (( "$hostOffset" < 0 )) || return 0
+(( ${hostOffset:?} == -1 && ${targetOffset:?} == 0)) || return 0
echo "Sourcing mark-for-cudatoolkit-root-hook" >&2
markForCUDAToolkit_ROOT() {
- mkdir -p "${prefix}/nix-support"
- [[ -f "${prefix}/nix-support/include-in-cudatoolkit-root" ]] && return
- echo "$pname-$output" > "${prefix}/nix-support/include-in-cudatoolkit-root"
+ mkdir -p "${prefix:?}/nix-support"
+ local markerPath="$prefix/nix-support/include-in-cudatoolkit-root"
+
+ # Return early if the file already exists.
+ [[ -f "$markerPath" ]] && return 0
+
+ # Always create the file, even if it's empty, since setup-cuda-hook relies on its existence.
+ # However, only populate it if strictDeps is not set.
+ touch "$markerPath"
+
+ # Return early if strictDeps is set.
+ [[ -n "${strictDeps-}" ]] && return 0
+
+ # Populate the file with the package name and output.
+ echo "${pname:?}-${output:?}" > "$markerPath"
}
fixupOutputHooks+=(markForCUDAToolkit_ROOT)