diff options
author | Someone Serge <sergei.kozlukov@aalto.fi> | 2024-01-09 23:10:22 +0000 |
---|---|---|
committer | Someone Serge <sergei.kozlukov@aalto.fi> | 2024-01-09 23:10:22 +0000 |
commit | f837bf92f89be43fa408d74ca8f795ab5b9e7ed8 (patch) | |
tree | 0e02e95222b31adf1a2ea513b649786bc3ddadc0 /pkgs/development/cuda-modules/generic-builders | |
parent | 5d6136a53eea91bcc7f32c83eb203d1b96494f52 (diff) |
cudaPackages: move .pc to hook-defined location
Diffstat (limited to 'pkgs/development/cuda-modules/generic-builders')
-rw-r--r-- | pkgs/development/cuda-modules/generic-builders/manifest.nix | 27 |
1 files changed, 20 insertions, 7 deletions
diff --git a/pkgs/development/cuda-modules/generic-builders/manifest.nix b/pkgs/development/cuda-modules/generic-builders/manifest.nix index 67f6e93559c4f..47baf6badc488 100644 --- a/pkgs/development/cuda-modules/generic-builders/manifest.nix +++ b/pkgs/development/cuda-modules/generic-builders/manifest.nix @@ -26,6 +26,7 @@ redistribRelease, # See ./modules/generic/manifests/feature/release.nix featureRelease, + cudaMajorMinorVersion, }: let inherit (lib) @@ -96,7 +97,7 @@ backendStdenv.mkDerivation ( outputToPatterns = { bin = [ "bin" ]; dev = [ - "share/pkg-config" + "share/pkgconfig" "**/*.pc" "**/*.cmake" ]; @@ -121,22 +122,34 @@ backendStdenv.mkDerivation ( inherit (redistribRelease.${redistArch}) sha256; }; + # Handle the pkg-config files: + # 1. No FHS + # 2. Location expected by the pkg-config wrapper + # 3. Generate unversioned names too postPatch = '' - if [[ -d pkg-config ]] ; then - mkdir -p share/pkg-config - mv pkg-config/* share/pkg-config/ - rmdir pkg-config - fi + for path in pkg-config pkgconfig ; do + [[ -d "$path" ]] || continue + mkdir -p share/pkgconfig + mv "$path"/* share/pkgconfig/ + rmdir "$path" + done - for pc in share/pkg-config/*.pc ; do + for pc in share/pkgconfig/*.pc ; do sed -i \ -e "s|^cudaroot\s*=.*\$|cudaroot=''${!outputDev}|" \ -e "s|^libdir\s*=.*/lib\$|libdir=''${!outputLib}/lib|" \ -e "s|^includedir\s*=.*/include\$|includedir=''${!outputDev}/include|" \ "$pc" done + + # E.g. cuda-11.8.pc -> cuda.pc + for pc in share/pkgconfig/*-"$majorMinorVersion.pc" ; do + ln -s "$(basename "$pc")" "''${pc%-$majorMinorVersion.pc}".pc + done ''; + env.majorMinorVersion = cudaMajorMinorVersion; + # We do need some other phases, like configurePhase, so the multiple-output setup hook works. dontBuild = true; |