Merge pull request #26410 from kierdavis/hooks

Fix hooks not being called when overriding phases in various packages
This commit is contained in:
Jörg Thalheim 2017-06-05 22:23:01 +01:00 committed by GitHub
commit dffec16abd
4 changed files with 30 additions and 0 deletions

View file

@ -51,20 +51,30 @@ in
];
unpackPhase = ''
runHook preUnpack
cp $src extractor.run
chmod +x extractor.run
./extractor.run --target $sourceRoot
runHook postUnpack
'';
patchPhase = ''
runHook prePatch
# Patch ELF files.
elfs=$(find bin -type f | xargs file | grep ELF | cut -d ':' -f 1)
for elf in $elfs; do
patchelf --set-interpreter ${stdenv.cc.libc}/lib/ld-linux-x86-64.so.2 $elf || true
done
runHook postPatch
'';
installPhase = ''
runHook preInstall
instdir=$out/${instPath}
# Install executables and libraries
@ -86,6 +96,8 @@ in
wrapProgram $out/bin/valley \
--run "cd $instdir" \
--prefix LD_LIBRARY_PATH : /run/opengl-driver/lib:$instdir/bin:$libPath
runHook postInstall
'';
stripDebugList = ["${instPath}/bin"];

View file

@ -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;

View file

@ -29,8 +29,12 @@ stdenv.mkDerivation rec {
doCheck = false;
installPhase = ''
runHook preInstall
install -D --mode 0755 --target-directory $out/bin bin/ckb-daemon bin/ckb
install -D --mode 0755 --target-directory $out/libexec/ckb-animations bin/ckb-animations/*
runHook postInstall
'';
meta = with stdenv.lib; {

View file

@ -18,7 +18,9 @@ stdenv.mkDerivation rec {
# $out is not known until the build has started.
configurePhase = ''
runHook preConfigure
makeFlags="$makeFlags PREFIX=$out"
runHook postConfigure
'';
postFixup = ''