summary refs log tree commit diff
path: root/pkgs/development/compilers/llvm/9/lldb/default.nix
diff options
context:
space:
mode:
authorDmitry Kalinkin <dmitry.kalinkin@gmail.com>2021-11-27 04:28:39 -0500
committerDmitry Kalinkin <dmitry.kalinkin@gmail.com>2023-01-03 01:36:48 -0500
commitde3d57875d85f7e2a912571fde70569e71a69d19 (patch)
tree89aaa37d498b2868aecb8adf20b0acf6dbf2bfef /pkgs/development/compilers/llvm/9/lldb/default.nix
parenta8f6f12879130b94088f6ca50c994d0d0f54ad0a (diff)
downloadnixpkgs-de3d57875d85f7e2a912571fde70569e71a69d19.tar
nixpkgs-de3d57875d85f7e2a912571fde70569e71a69d19.tar.gz
nixpkgs-de3d57875d85f7e2a912571fde70569e71a69d19.tar.bz2
nixpkgs-de3d57875d85f7e2a912571fde70569e71a69d19.tar.lz
nixpkgs-de3d57875d85f7e2a912571fde70569e71a69d19.tar.xz
nixpkgs-de3d57875d85f7e2a912571fde70569e71a69d19.tar.zst
nixpkgs-de3d57875d85f7e2a912571fde70569e71a69d19.zip
llvmPackages_9.lldb: fix darwin build
Co-authored-by: Weijia Wang <9713184+wegank@users.noreply.github.com>
Diffstat (limited to 'pkgs/development/compilers/llvm/9/lldb/default.nix')
-rw-r--r--pkgs/development/compilers/llvm/9/lldb/default.nix23
1 files changed, 22 insertions, 1 deletions
diff --git a/pkgs/development/compilers/llvm/9/lldb/default.nix b/pkgs/development/compilers/llvm/9/lldb/default.nix
index 644911b905c..57560ccbfe5 100644
--- a/pkgs/development/compilers/llvm/9/lldb/default.nix
+++ b/pkgs/development/compilers/llvm/9/lldb/default.nix
@@ -1,5 +1,6 @@
 { lib, stdenv, llvm_meta
 , fetch
+, fetchpatch
 , cmake
 , zlib
 , ncurses
@@ -13,6 +14,7 @@
 , version
 , darwin
 , makeWrapper
+, perl
 , lit
 }:
 
@@ -25,12 +27,27 @@ stdenv.mkDerivation rec {
   patches = [
     ./procfs.patch
     ./gnu-install-dirs.patch
+
+    # Fix darwin build
+    (fetchpatch {
+      name = "lldb-use-system-debugserver-fix.patch";
+      url = "https://github.com/llvm-mirror/lldb/commit/be770754cc43da22eacdb70c6203f4582eeb011f.diff";
+      sha256 = "sha256-tKkk6sn//0Hu0nlzoKWs5fXMWc+O2JAWOEJ1ZnaLuVU=";
+      excludes = [ "packages/*" ];
+      postFetch = ''
+        substituteInPlace "$out" --replace add_lldb_tool_subdirectory add_subdirectory
+      '';
+    })
+    ./lldb-gdb-remote-no-libcompress.patch
   ];
 
   outputs = [ "out" "lib" "dev" ];
 
   nativeBuildInputs = [
     cmake python3 which swig lit makeWrapper
+  ] ++ lib.optionals stdenv.isDarwin [
+    # for scripts/generate-vers.pl
+    perl
   ];
 
   buildInputs = [
@@ -42,6 +59,7 @@ stdenv.mkDerivation rec {
     darwin.bootstrap_cmds
     darwin.apple_sdk.frameworks.Carbon
     darwin.apple_sdk.frameworks.Cocoa
+    darwin.apple_sdk.frameworks.DebugSymbols
   ];
 
   CXXFLAGS = "-fno-rtti";
@@ -52,6 +70,9 @@ stdenv.mkDerivation rec {
     "-DClang_DIR=${libclang.dev}/lib/cmake"
     "-DLLVM_EXTERNAL_LIT=${lit}/bin/lit"
     "-DLLDB_CODESIGN_IDENTITY=" # codesigning makes nondeterministic
+  ] ++ lib.optionals stdenv.isDarwin [
+    # Building debugserver requires the proprietary libcompression
+    "-DLLDB_USE_SYSTEM_DEBUGSERVER=ON"
   ] ++ 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++"
@@ -80,7 +101,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = llvm_meta // {
-    broken = stdenv.isDarwin;
+    broken = stdenv.isDarwin && stdenv.isAarch64;
     homepage = "https://lldb.llvm.org/";
     description = "A next-generation high-performance debugger";
     longDescription = ''