diff options
author | Gabor Greif <ggreif@gmail.com> | 2020-01-25 00:17:00 +0100 |
---|---|---|
committer | Gabor Greif <ggreif@gmail.com> | 2020-02-25 13:24:27 +0100 |
commit | f111c6f9cebacc0201f59c25d6be0683014a3935 (patch) | |
tree | 4e75bed915f9b292898e97f022a5e4687a4ae723 /pkgs/development/compilers/llvm/10/lldb.nix | |
parent | 82cbc6af3cbb77a07e1725554119e0fb032d7cf6 (diff) | |
download | nixpkgs-f111c6f9cebacc0201f59c25d6be0683014a3935.tar nixpkgs-f111c6f9cebacc0201f59c25d6be0683014a3935.tar.gz nixpkgs-f111c6f9cebacc0201f59c25d6be0683014a3935.tar.bz2 nixpkgs-f111c6f9cebacc0201f59c25d6be0683014a3935.tar.lz nixpkgs-f111c6f9cebacc0201f59c25d6be0683014a3935.tar.xz nixpkgs-f111c6f9cebacc0201f59c25d6be0683014a3935.tar.zst nixpkgs-f111c6f9cebacc0201f59c25d6be0683014a3935.zip |
llvmPackages_10: copy llvmPackages_9
* starting with rc2 * make `lldb` compilable again on Darwin * separate out manpage creation for `lldb` into a new derivation * minor tweaks to the patching of sources, some of which are backportable to earlier versions
Diffstat (limited to 'pkgs/development/compilers/llvm/10/lldb.nix')
-rw-r--r-- | pkgs/development/compilers/llvm/10/lldb.nix | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/pkgs/development/compilers/llvm/10/lldb.nix b/pkgs/development/compilers/llvm/10/lldb.nix new file mode 100644 index 00000000000..63df2d08454 --- /dev/null +++ b/pkgs/development/compilers/llvm/10/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 "0nh26a4mxd54k5f9gpizr55vdalkzym2l82kvfh3lm8lvimypga1"; + + 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 = http://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}"; +}) |