commit
4d79d20643
@ -1,13 +0,0 @@
|
|||||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
|
||||||
index 04c5c58..429ca47 100644
|
|
||||||
--- a/CMakeLists.txt
|
|
||||||
+++ b/CMakeLists.txt
|
|
||||||
@@ -24,7 +24,7 @@ set(CMAKE_OSX_ARCHITECTURES "i386;x86_64" CACHE STRING "Rogue")
|
|
||||||
|
|
||||||
set(EAR_LIB_FILE ${CMAKE_SHARED_LIBRARY_PREFIX}ear${CMAKE_SHARED_LIBRARY_SUFFIX})
|
|
||||||
set(EAR_LIB_PATH "${CMAKE_INSTALL_LIBDIR}/bear")
|
|
||||||
-set(DEFAULT_PRELOAD_FILE ${CMAKE_INSTALL_PREFIX}/${EAR_LIB_PATH}/${EAR_LIB_FILE} CACHE STRING "Default path to libear.")
|
|
||||||
+set(DEFAULT_PRELOAD_FILE ${EAR_LIB_PATH}/${EAR_LIB_FILE} CACHE STRING "Default path to libear.")
|
|
||||||
|
|
||||||
add_subdirectory(libear)
|
|
||||||
add_subdirectory(bear)
|
|
@ -1,22 +1,49 @@
|
|||||||
{ stdenv, fetchFromGitHub, cmake, python3 }:
|
{ stdenv
|
||||||
|
, fetchFromGitHub
|
||||||
|
, cmake
|
||||||
|
, pkg-config
|
||||||
|
, grpc
|
||||||
|
, protobuf
|
||||||
|
, openssl
|
||||||
|
, nlohmann_json
|
||||||
|
, gtest
|
||||||
|
, fmt
|
||||||
|
, spdlog
|
||||||
|
, c-ares
|
||||||
|
, abseil-cpp
|
||||||
|
, zlib
|
||||||
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "bear";
|
pname = "bear";
|
||||||
version = "2.4.2";
|
version = "3.0.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "rizsotto";
|
owner = "rizsotto";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "1w1kyjzvvy5lj16kn3yyf7iil2cqlfkszi8kvagql7f5h5l6w9b1";
|
sha256 = "02vzlm48ywf6s3fly19j94k11dqx94x8pgmkq1ylx3z3d1y3b5zb";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake ];
|
nativeBuildInputs = [ cmake pkg-config ];
|
||||||
buildInputs = [ python3 ]; # just for shebang of bin/bear
|
|
||||||
|
|
||||||
doCheck = false; # all fail
|
buildInputs = [
|
||||||
|
grpc
|
||||||
|
protobuf
|
||||||
|
openssl
|
||||||
|
nlohmann_json
|
||||||
|
gtest
|
||||||
|
fmt
|
||||||
|
spdlog
|
||||||
|
c-ares
|
||||||
|
abseil-cpp
|
||||||
|
zlib
|
||||||
|
];
|
||||||
|
|
||||||
patches = [ ./ignore_wrapper.patch ./cmakepaths.patch ];
|
patches = [
|
||||||
|
# Default libexec would be set to /nix/store/*-bear//nix/store/*-bear/libexec/...
|
||||||
|
./no-double-relative.patch
|
||||||
|
];
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
description = "Tool that generates a compilation database for clang tooling";
|
description = "Tool that generates a compilation database for clang tooling";
|
||||||
|
@ -1,27 +0,0 @@
|
|||||||
--- a/bear/main.py.in
|
|
||||||
+++ b/bear/main.py.in
|
|
||||||
@@ -49,6 +49,7 @@ import tempfile
|
|
||||||
import shutil
|
|
||||||
import contextlib
|
|
||||||
import logging
|
|
||||||
+from distutils.spawn import find_executable
|
|
||||||
|
|
||||||
# Map of ignored compiler option for the creation of a compilation database.
|
|
||||||
# This map is used in _split_command method, which classifies the parameters
|
|
||||||
@@ -569,7 +570,15 @@ class Compilation:
|
|
||||||
(compiler, language, rest of the command) otherwise """
|
|
||||||
|
|
||||||
if command: # not empty list will allow to index '0' and '1:'
|
|
||||||
- executable = os.path.basename(command[0]) # type: str
|
|
||||||
+ executable_file = find_executable(command[0])
|
|
||||||
+ if executable_file:
|
|
||||||
+ absolute_executable = os.path.realpath(executable_file)
|
|
||||||
+ # Ignore Nix wrappers.
|
|
||||||
+ if 'wrapper' in absolute_executable:
|
|
||||||
+ return None
|
|
||||||
+ executable = os.path.basename(absolute_executable)
|
|
||||||
+ else:
|
|
||||||
+ executable = os.path.basename(command[0])
|
|
||||||
parameters = command[1:] # type: List[str]
|
|
||||||
# 'wrapper' 'parameters' and
|
|
||||||
# 'wrapper' 'compiler' 'parameters' are valid.
|
|
@ -0,0 +1,14 @@
|
|||||||
|
diff --git a/source/config.h.in b/source/config.h.in
|
||||||
|
index 2ca8853..2564c63 100644
|
||||||
|
--- a/source/config.h.in
|
||||||
|
+++ b/source/config.h.in
|
||||||
|
@@ -65,6 +65,6 @@ constexpr char VERSION[] = "@CMAKE_PROJECT_VERSION@";
|
||||||
|
|
||||||
|
constexpr char CITNAMES_DEFAULT_PATH[] = "@ROOT_INSTALL_PREFIX@/@CMAKE_INSTALL_BINDIR@/citnames";
|
||||||
|
constexpr char INTERCEPT_DEFAULT_PATH[] = "@ROOT_INSTALL_PREFIX@/@CMAKE_INSTALL_BINDIR@/intercept";
|
||||||
|
-constexpr char LIBRARY_DEFAULT_PATH[] = "@ROOT_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBEXECDIR@/@CMAKE_SHARED_LIBRARY_PREFIX@exec@CMAKE_SHARED_LIBRARY_SUFFIX@";
|
||||||
|
-constexpr char EXECUTOR_DEFAULT_PATH[] = "@ROOT_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBEXECDIR@/er";
|
||||||
|
-constexpr char WRAPPER_DEFAULT_PATH[] = "@ROOT_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBEXECDIR@/wrapper.d";
|
||||||
|
+constexpr char LIBRARY_DEFAULT_PATH[] = "@CMAKE_INSTALL_LIBEXECDIR@/@CMAKE_SHARED_LIBRARY_PREFIX@exec@CMAKE_SHARED_LIBRARY_SUFFIX@";
|
||||||
|
+constexpr char EXECUTOR_DEFAULT_PATH[] = "@CMAKE_INSTALL_LIBEXECDIR@/er";
|
||||||
|
+constexpr char WRAPPER_DEFAULT_PATH[] = "@CMAKE_INSTALL_LIBEXECDIR@/wrapper.d";
|
Loading…
x
Reference in New Issue
Block a user