diff options
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.sh | 21 |
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) |