summaryrefslogtreecommitdiff
path: root/pkgs/development/compilers/llvm/8/lldb/default.nix
diff options
context:
space:
mode:
authorRobin Gloster <mail@glob.in>2021-05-24 09:55:24 -0500
committerRobin Gloster <mail@glob.in>2021-05-24 09:55:24 -0500
commit4bc5fbef9d159e143fb7e2c3231932e6e76f667c (patch)
treee2198f5c552e0667d838b8ec764ddb3a4d8f6dec /pkgs/development/compilers/llvm/8/lldb/default.nix
parentjq: fix build with structured-attrs on darwin (diff)
parentMerge pull request #123802 from superherointj/package-virtmanager-bugfix (diff)
downloadnixpkgs-origin/structured-attrs.tar.gz
Merge remote-tracking branch 'upstream/master' into structured-attrsorigin/structured-attrs
Diffstat (limited to 'pkgs/development/compilers/llvm/8/lldb/default.nix')
-rw-r--r--pkgs/development/compilers/llvm/8/lldb/default.nix42
1 files changed, 31 insertions, 11 deletions
diff --git a/pkgs/development/compilers/llvm/8/lldb/default.nix b/pkgs/development/compilers/llvm/8/lldb/default.nix
index d6df1edc0193..a27f65f6071e 100644
--- a/pkgs/development/compilers/llvm/8/lldb/default.nix
+++ b/pkgs/development/compilers/llvm/8/lldb/default.nix
@@ -7,47 +7,67 @@
, which
, libedit
, libxml2
-, llvm
-, clang-unwrapped
+, libllvm
+, libclang
, python3
, version
, darwin
}:
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
pname = "lldb";
inherit version;
src = fetch "lldb" "1mriw4adrwm6kzabrjr7yqmdiylxd6glf6samd80dp8idnm9p9z8";
+ patches = [
+ ./gnu-install-dirs.patch
+ ];
+
postPatch = ''
# Fix up various paths that assume llvm and clang are installed in the same place
- sed -i 's,".*ClangConfig.cmake","${clang-unwrapped}/lib/cmake/clang/ClangConfig.cmake",' \
+ sed -i 's,".*ClangConfig.cmake","${libclang.dev}/lib/cmake/clang/ClangConfig.cmake",' \
cmake/modules/LLDBStandalone.cmake
- sed -i 's,".*tools/clang/include","${clang-unwrapped}/include",' \
+ sed -i 's,".*tools/clang/include","${libclang.dev}/include",' \
cmake/modules/LLDBStandalone.cmake
- sed -i 's,"$.LLVM_LIBRARY_DIR.",${llvm}/lib ${clang-unwrapped}/lib,' \
+ sed -i 's,"$.LLVM_LIBRARY_DIR.",${libllvm.lib}/lib ${libclang.lib}/lib,' \
cmake/modules/LLDBStandalone.cmake
'';
- nativeBuildInputs = [ cmake python3 which swig ];
- buildInputs = [ ncurses zlib libedit libxml2 llvm ]
- ++ lib.optionals stdenv.isDarwin [ darwin.libobjc darwin.apple_sdk.libs.xpc darwin.apple_sdk.frameworks.Foundation darwin.bootstrap_cmds darwin.apple_sdk.frameworks.Carbon darwin.apple_sdk.frameworks.Cocoa ];
+ outputs = [ "out" "lib" "dev" ];
+
+ nativeBuildInputs = [
+ cmake python3 which swig
+ ];
+
+ buildInputs = [
+ ncurses zlib libedit libxml2 libllvm
+ ] ++ lib.optionals stdenv.isDarwin [
+ darwin.libobjc
+ darwin.apple_sdk.libs.xpc
+ darwin.apple_sdk.frameworks.Foundation darwin.bootstrap_cmds darwin.apple_sdk.frameworks.Carbon darwin.apple_sdk.frameworks.Cocoa
+ ];
env.CXXFLAGS = "-fno-rtti";
hardeningDisable = [ "format" ];
cmakeFlags = [
+ "-DLLDB_INCLUDE_TESTS=${if doCheck then "YES" else "NO"}"
"-DLLDB_CODESIGN_IDENTITY=" # codesigning makes nondeterministic
+ ] ++ lib.optionals doCheck [
+ "-DLLDB_TEST_C_COMPILER=${stdenv.cc}/bin/${stdenv.cc.targetPrefix}cc"
+ "-DLLDB_TEST_CXX_COMPILER=${stdenv.cc}/bin/${stdenv.cc.targetPrefix}c++"
];
+ doCheck = false;
+
postInstall = ''
mkdir -p $out/share/man/man1
cp ../docs/lldb.1 $out/share/man/man1/
install -D ../tools/lldb-vscode/package.json $out/share/vscode/extensions/llvm-org.lldb-vscode-0.1.0/package.json
- mkdir $out/share/vscode/extensions/llvm-org.lldb-vscode-0.1.0/bin
- ln -s $out/bin/lldb-vscode $out/share/vscode/extensions/llvm-org.lldb-vscode-0.1.0/bin
+ mkdir -p $out/share/vscode/extensions/llvm-org.lldb-vscode-0.1.0/bin
+ ln -s $out/bin/llvm-vscode $out/share/vscode/extensions/llvm-org.lldb-vscode-0.1.0/bin
'';
meta = with lib; {