From 5e659e94a6061c9acd983ad0b5c26206b83f5735 Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Thu, 25 May 2017 15:07:00 -0500 Subject: [PATCH] lldb-4: Patch to fix libedit usage on Linux Idea from: https://bugs.llvm.org//show_bug.cgi?id=28898#c7 Fixes ability to use arrow keys. --- .../compilers/llvm/4/lldb-libedit.patch | 30 +++++++++++++++++++ pkgs/development/compilers/llvm/4/lldb.nix | 7 ++--- 2 files changed, 32 insertions(+), 5 deletions(-) create mode 100644 pkgs/development/compilers/llvm/4/lldb-libedit.patch diff --git a/pkgs/development/compilers/llvm/4/lldb-libedit.patch b/pkgs/development/compilers/llvm/4/lldb-libedit.patch new file mode 100644 index 000000000000..73459ce6c864 --- /dev/null +++ b/pkgs/development/compilers/llvm/4/lldb-libedit.patch @@ -0,0 +1,30 @@ +From 94764369222a8e6c65420a6981d7f179a18a5417 Mon Sep 17 00:00:00 2001 +From: Will Dietz +Date: Thu, 25 May 2017 15:03:42 -0500 +Subject: [PATCH] EditLine.h: libedit supports wide chars on NixOS + +--- + include/lldb/Host/Editline.h | 5 +---- + 1 file changed, 1 insertion(+), 4 deletions(-) + +diff --git a/include/lldb/Host/Editline.h b/include/lldb/Host/Editline.h +index faed373bc..b248cdee1 100644 +--- a/include/lldb/Host/Editline.h ++++ b/include/lldb/Host/Editline.h +@@ -43,12 +43,9 @@ + // will only be + // used in cases where this is true. This is a compile time dependecy, for now + // selected per target Platform +-#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__NetBSD__) ++// (libedit on NixOS is always wide-char capable) + #define LLDB_EDITLINE_USE_WCHAR 1 + #include +-#else +-#define LLDB_EDITLINE_USE_WCHAR 0 +-#endif + + #include "lldb/Host/ConnectionFileDescriptor.h" + #include "lldb/lldb-private.h" +-- +2.13.0 + diff --git a/pkgs/development/compilers/llvm/4/lldb.nix b/pkgs/development/compilers/llvm/4/lldb.nix index 6e6fdf012dd6..953755ab6eed 100644 --- a/pkgs/development/compilers/llvm/4/lldb.nix +++ b/pkgs/development/compilers/llvm/4/lldb.nix @@ -19,7 +19,8 @@ stdenv.mkDerivation { src = fetch "lldb" "0g83hbw1r4gd0z8hlph9i34xs6dlcc69vz3h2bqwkhb2qq2qzg9d"; - patchPhase = '' + patches = [ ./lldb-libedit.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",' \ cmake/modules/LLDBStandalone.cmake @@ -35,10 +36,6 @@ stdenv.mkDerivation { CXXFLAGS = "-fno-rtti"; hardeningDisable = [ "format" ]; - cmakeFlags = [ - "-DLLDB_DISABLE_LIBEDIT=ON" - ]; - enableParallelBuilding = true; meta = with stdenv.lib; {