diff options
author | Dmitry Kalinkin <dmitry.kalinkin@gmail.com> | 2021-11-27 04:28:39 -0500 |
---|---|---|
committer | Dmitry Kalinkin <dmitry.kalinkin@gmail.com> | 2023-01-03 01:36:48 -0500 |
commit | de3d57875d85f7e2a912571fde70569e71a69d19 (patch) | |
tree | 89aaa37d498b2868aecb8adf20b0acf6dbf2bfef | |
parent | a8f6f12879130b94088f6ca50c994d0d0f54ad0a (diff) | |
download | nixpkgs-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>
-rw-r--r-- | pkgs/development/compilers/llvm/9/lldb/default.nix | 23 | ||||
-rw-r--r-- | pkgs/development/compilers/llvm/9/lldb/lldb-gdb-remote-no-libcompress.patch | 17 |
2 files changed, 39 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 = '' diff --git a/pkgs/development/compilers/llvm/9/lldb/lldb-gdb-remote-no-libcompress.patch b/pkgs/development/compilers/llvm/9/lldb/lldb-gdb-remote-no-libcompress.patch new file mode 100644 index 00000000000..ff2dcd301fa --- /dev/null +++ b/pkgs/development/compilers/llvm/9/lldb/lldb-gdb-remote-no-libcompress.patch @@ -0,0 +1,17 @@ +diff -ru a/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp b/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp +--- a/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp 2019-12-11 14:15:30.000000000 -0500 ++++ b/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp 2021-11-26 23:44:28.000000000 -0500 +@@ -36,13 +36,6 @@ + + #include "llvm/ADT/StringSwitch.h" + +-#if defined(__APPLE__) +-#ifndef HAVE_LIBCOMPRESSION +-#define HAVE_LIBCOMPRESSION +-#endif +-#include <compression.h> +-#endif +- + using namespace lldb; + using namespace lldb_private; + using namespace lldb_private::process_gdb_remote; |