Merge pull request #119905 from pmenke-de/clion-2021.1-patchelf
jetbrains.clion: add patchelf invocations for new binaries
This commit is contained in:
commit
991390994a
@ -1,6 +1,9 @@
|
|||||||
{ lib, stdenv, callPackage, fetchurl
|
{ lib, stdenv, callPackage, fetchurl
|
||||||
, jdk, cmake, libxml2, zlib, python3, ncurses5
|
, jdk, cmake, libxml2, zlib, python3, ncurses5
|
||||||
, dotnet-sdk_3
|
, dotnet-sdk_3
|
||||||
|
, autoPatchelfHook
|
||||||
|
, glib
|
||||||
|
, libdbusmenu
|
||||||
, vmopts ? null
|
, vmopts ? null
|
||||||
}:
|
}:
|
||||||
|
|
||||||
@ -25,6 +28,15 @@ let
|
|||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
};
|
};
|
||||||
}).overrideAttrs (attrs: {
|
}).overrideAttrs (attrs: {
|
||||||
|
nativeBuildInputs = (attrs.nativeBuildInputs or []) ++ optionals (stdenv.isLinux) [
|
||||||
|
autoPatchelfHook
|
||||||
|
];
|
||||||
|
buildInputs = (attrs.buildInputs or []) ++ optionals (stdenv.isLinux) [
|
||||||
|
python3
|
||||||
|
stdenv.cc.cc
|
||||||
|
libdbusmenu
|
||||||
|
];
|
||||||
|
dontAutoPatchelf = true;
|
||||||
postFixup = (attrs.postFixup or "") + optionalString (stdenv.isLinux) ''
|
postFixup = (attrs.postFixup or "") + optionalString (stdenv.isLinux) ''
|
||||||
(
|
(
|
||||||
cd $out/clion-${version}
|
cd $out/clion-${version}
|
||||||
@ -32,45 +44,7 @@ let
|
|||||||
rm -rf bin/cmake/linux
|
rm -rf bin/cmake/linux
|
||||||
ln -s ${cmake} bin/cmake/linux
|
ln -s ${cmake} bin/cmake/linux
|
||||||
|
|
||||||
lldbLibPath=$out/clion-${version}/bin/lldb/linux/lib
|
autoPatchelf $PWD/bin
|
||||||
interp="$(cat $NIX_CC/nix-support/dynamic-linker)"
|
|
||||||
ln -s ${ncurses5.out}/lib/libtinfo.so.5 $lldbLibPath/libtinfo.so.5
|
|
||||||
|
|
||||||
patchelf --set-interpreter $interp \
|
|
||||||
--set-rpath "${lib.makeLibraryPath [ libxml2 zlib stdenv.cc.cc.lib ]}:$lldbLibPath" \
|
|
||||||
bin/lldb/linux/bin/lldb-server
|
|
||||||
|
|
||||||
for i in LLDBFrontend lldb lldb-argdumper; do
|
|
||||||
patchelf --set-interpreter $interp \
|
|
||||||
--set-rpath "${lib.makeLibraryPath [ stdenv.cc.cc.lib ]}:$lldbLibPath" \
|
|
||||||
"bin/lldb/linux/bin/$i"
|
|
||||||
done
|
|
||||||
|
|
||||||
patchelf \
|
|
||||||
--set-rpath "${lib.makeLibraryPath [ stdenv.cc.cc.lib ]}:$lldbLibPath" \
|
|
||||||
bin/lldb/linux/lib/python3.*/lib-dynload/zlib.cpython-*-x86_64-linux-gnu.so
|
|
||||||
|
|
||||||
patchelf \
|
|
||||||
--set-rpath "${lib.makeLibraryPath [ libxml2 zlib stdenv.cc.cc.lib python3 ]}:$lldbLibPath" \
|
|
||||||
bin/lldb/linux/lib/liblldb.so
|
|
||||||
|
|
||||||
gdbLibPath=$out/clion-${version}/bin/gdb/linux/lib
|
|
||||||
patchelf \
|
|
||||||
--set-rpath "$gdbLibPath" \
|
|
||||||
bin/gdb/linux/lib/python3.*/lib-dynload/zlib.cpython-*-x86_64-linux-gnu.so
|
|
||||||
patchelf --set-interpreter $interp \
|
|
||||||
--set-rpath "${lib.makeLibraryPath [ stdenv.cc.cc.lib zlib ]}:$gdbLibPath" \
|
|
||||||
bin/gdb/linux/bin/gdb
|
|
||||||
patchelf --set-interpreter $interp \
|
|
||||||
--set-rpath "${lib.makeLibraryPath [ stdenv.cc.cc.lib ]}:$gdbLibPath" \
|
|
||||||
bin/gdb/linux/bin/gdbserver
|
|
||||||
|
|
||||||
patchelf --set-interpreter $interp \
|
|
||||||
--set-rpath "${lib.makeLibraryPath [ stdenv.cc.cc.lib zlib ]}" \
|
|
||||||
bin/clang/linux/clangd
|
|
||||||
patchelf --set-interpreter $interp \
|
|
||||||
--set-rpath "${lib.makeLibraryPath [ stdenv.cc.cc.lib zlib ]}" \
|
|
||||||
bin/clang/linux/clang-tidy
|
|
||||||
|
|
||||||
wrapProgram $out/bin/clion \
|
wrapProgram $out/bin/clion \
|
||||||
--set CL_JDK "${jdk}"
|
--set CL_JDK "${jdk}"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user