postgresql_jit: fix darwin build
So, patchelf works on ELF files and these don't exist on Darwin. I'm not aware of any other way to eliminate all references of the executable's body while preserving library paths in the header. This still works, the only problem is that darwin has a dependency on llvm.dev, so it's runtime closure is larger.
This commit is contained in:
@@ -164,11 +164,13 @@ let
|
||||
--replace ${self.llvmPackages.llvm.dev}/bin/llvm-config llvm-config \
|
||||
--replace -I${self.llvmPackages.llvm.dev}/include ""
|
||||
|
||||
# Stop lib depending on the -dev output of llvm
|
||||
rpath=$(patchelf --print-rpath $out/lib/llvmjit.so)
|
||||
nuke-refs -e $out $out/lib/llvmjit.so
|
||||
# Restore the correct rpath
|
||||
patchelf $out/lib/llvmjit.so --set-rpath "$rpath"
|
||||
${lib.optionalString (!stdenv'.isDarwin) ''
|
||||
# Stop lib depending on the -dev output of llvm
|
||||
rpath=$(patchelf --print-rpath $out/lib/llvmjit.so)
|
||||
nuke-refs -e $out $out/lib/llvmjit.so
|
||||
# Restore the correct rpath
|
||||
patchelf $out/lib/llvmjit.so --set-rpath "$rpath"
|
||||
''}
|
||||
''}
|
||||
'';
|
||||
|
||||
|
||||
Reference in New Issue
Block a user