diff options
author | Kier Davis <kierdavis@gmail.com> | 2017-06-05 19:08:07 +0100 |
---|---|---|
committer | Kier Davis <kierdavis@gmail.com> | 2017-06-05 19:13:19 +0100 |
commit | b81124b4fb9084aa1f6cc6f7b134a27200c7c0ed (patch) | |
tree | d6846513e99966e39db48673f31353166ed7271a /pkgs/os-specific/linux/intel-ocl | |
parent | 602a492bb740f10f5abf99f5e42f189bddcef8b7 (diff) | |
download | nixpkgs-b81124b4fb9084aa1f6cc6f7b134a27200c7c0ed.tar nixpkgs-b81124b4fb9084aa1f6cc6f7b134a27200c7c0ed.tar.gz nixpkgs-b81124b4fb9084aa1f6cc6f7b134a27200c7c0ed.tar.bz2 nixpkgs-b81124b4fb9084aa1f6cc6f7b134a27200c7c0ed.tar.lz nixpkgs-b81124b4fb9084aa1f6cc6f7b134a27200c7c0ed.tar.xz nixpkgs-b81124b4fb9084aa1f6cc6f7b134a27200c7c0ed.tar.zst nixpkgs-b81124b4fb9084aa1f6cc6f7b134a27200c7c0ed.zip |
Fix hooks not being called when overriding phases in various packages
It's necessary to do this in order to fix ckb's compilation, now that fixupPhase rejects derivation results containing references to the temporary build directory. It seems like good practice so I've added it to the other packages that I maintain.
Diffstat (limited to 'pkgs/os-specific/linux/intel-ocl')
-rw-r--r-- | pkgs/os-specific/linux/intel-ocl/default.nix | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/pkgs/os-specific/linux/intel-ocl/default.nix b/pkgs/os-specific/linux/intel-ocl/default.nix index 688cfbb8df5..0d33954fd5d 100644 --- a/pkgs/os-specific/linux/intel-ocl/default.nix +++ b/pkgs/os-specific/linux/intel-ocl/default.nix @@ -28,6 +28,8 @@ stdenv.mkDerivation rec { ''; patchPhase = '' + runHook prePatch + # Remove libOpenCL.so, since we use ocl-icd's libOpenCL.so instead and this would cause a clash. rm opt/intel/opencl/libOpenCL.so* @@ -35,18 +37,28 @@ stdenv.mkDerivation rec { for lib in opt/intel/opencl/*.so; do patchelf --set-rpath "${libPath}:$out/lib/intel-ocl" $lib || true done + + runHook postPatch ''; buildPhase = '' + runHook preBuild + # Create ICD file, which just contains the path of the corresponding shared library. echo "$out/lib/intel-ocl/libintelocl.so" > intel.icd + + runHook postBuild ''; installPhase = '' + runHook preInstall + install -D -m 0755 opt/intel/opencl/*.so* -t $out/lib/intel-ocl install -D -m 0644 opt/intel/opencl/*.{o,rtl,bin} -t $out/lib/intel-ocl install -D -m 0644 opt/intel/opencl/{LICENSE,NOTICES} -t $out/share/doc/intel-ocl install -D -m 0644 intel.icd -t $out/etc/OpenCL/vendors + + runHook postInstall ''; dontStrip = true; |