aboutsummaryrefslogtreecommitdiff
path: root/nixpkgs/pkgs/development/compilers/llvm/11/lldb.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/compilers/llvm/11/lldb.nix')
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/11/lldb.nix101
1 files changed, 101 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/compilers/llvm/11/lldb.nix b/nixpkgs/pkgs/development/compilers/llvm/11/lldb.nix
new file mode 100644
index 00000000000..c0b7f267f75
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/llvm/11/lldb.nix
@@ -0,0 +1,101 @@
+{ stdenv
+, fetch
+, cmake
+, zlib
+, ncurses
+, swig
+, which
+, libedit
+, libxml2
+, llvm
+, clang-unwrapped
+, python3
+, version
+, darwin
+, lit
+, enableManpages ? false
+}:
+
+stdenv.mkDerivation (rec {
+ pname = "lldb";
+ inherit version;
+
+ src = fetch pname "0hb582kvhxp3kcckz7imrihs0kszdaz09z22xfymyi4vgmcy62q3";
+
+ patches = [ ./lldb-procfs.patch ];
+
+ nativeBuildInputs = [ cmake python3 which swig lit ]
+ ++ stdenv.lib.optionals enableManpages [ python3.pkgs.sphinx python3.pkgs.recommonmark ];
+
+ buildInputs = [
+ ncurses
+ zlib
+ libedit
+ libxml2
+ llvm
+ ]
+ ++ stdenv.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
+ ];
+
+ CXXFLAGS = "-fno-rtti";
+ hardeningDisable = [ "format" ];
+
+ cmakeFlags = [
+ "-DLLDB_CODESIGN_IDENTITY=" # codesigning makes nondeterministic
+ "-DClang_DIR=${clang-unwrapped}/lib/cmake"
+ "-DLLVM_EXTERNAL_LIT=${lit}/bin/lit"
+ ] ++ stdenv.lib.optionals stdenv.isDarwin [
+ "-DLLDB_USE_SYSTEM_DEBUGSERVER=ON"
+ ] ++ stdenv.lib.optionals enableManpages [
+ "-DLLVM_ENABLE_SPHINX=ON"
+ "-DSPHINX_OUTPUT_MAN=ON"
+ "-DSPHINX_OUTPUT_HTML=OFF"
+ ]
+;
+
+ enableParallelBuilding = true;
+
+ postInstall = ''
+ # Editor support
+ # vscode:
+ install -D ../tools/lldb-vscode/package.json $out/share/vscode/extensions/llvm-org.lldb-vscode-0.1.0/package.json
+ mkdir -p $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
+ '';
+
+ meta = with stdenv.lib; {
+ description = "A next-generation high-performance debugger";
+ homepage = "https://lldb.llvm.org";
+ license = licenses.ncsa;
+ platforms = platforms.all;
+ };
+} // stdenv.lib.optionalAttrs enableManpages {
+ pname = "lldb-manpages";
+
+ buildPhase = ''
+ make docs-lldb-man
+ '';
+
+ propagatedBuildInputs = [];
+
+ installPhase = ''
+ # manually install lldb man page
+ mkdir -p $out/share/man/man1
+ install docs/man/lldb.1 -t $out/share/man/man1/
+ '';
+
+ postPatch = null;
+ postInstall = null;
+
+ outputs = [ "out" ];
+
+ doCheck = false;
+
+ meta.description = "man pages for LLDB ${version}";
+})