bear: 2.2.1 -> 2.3.11

This commit is contained in:
Ryan Mulligan 2018-02-05 21:13:54 -08:00
parent da82aff2b0
commit 295934adda
2 changed files with 18 additions and 27 deletions

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
name = "bear-${version}";
version = "2.2.1";
version = "2.3.11";
src = fetchFromGitHub {
owner = "rizsotto";
repo = "Bear";
rev = version;
sha256 = "1rwar5nvvhfqws4nwyifaysqs3nxpphp48lx9mdg5n6l4z7drz0n";
sha256 = "0r6ykvclq9ws055ssd8w33dicmk5l9pisv0fpzkks700n8d3z9f3";
};
nativeBuildInputs = [ cmake ];
@ -31,4 +31,3 @@ stdenv.mkDerivation rec {
maintainers = [ maintainers.vcunat ];
};
}

View File

@ -1,31 +1,23 @@
--- Bear-2.2.1-src/bear/main.py.in 1970-01-01 01:00:01.000000000 +0100
+++ Bear-2.2.1-src-patch/bear/main.py.in 2016-11-02 20:23:38.050134984 +0100
@@ -48,6 +48,7 @@
--- Bear-2.3.11-src/bear/main.py.in 1970-01-01 01:00:01.000000000 +0100
+++ Bear-2.3.11-src-patch/bear/main.py.in 1970-01-01 01:00:01.000000000 +0100
@@ -49,6 +49,7 @@
import shutil
import contextlib
import logging
+from distutils.spawn import find_executable
# Ignored compiler options map for compilation database creation.
# The map is used in `split_command` method. (Which does ignore and classify
@@ -447,7 +448,6 @@
# do extra check on number of source files
return result if result.files else None
# Map of ignored compiler option for the creation of a compilation database.
# This map is used in _split_command method, which classifies the parameters
@@ -540,7 +541,11 @@
any(pattern.match(cmd) for pattern in COMPILER_PATTERNS_CXX)
-
def split_compiler(command):
""" A predicate to decide the command is a compiler call or not.
@@ -467,7 +467,11 @@
for pattern in COMPILER_CPP_PATTERNS)
if command: # not empty list will allow to index '0' and '1:'
- executable = os.path.basename(command[0])
+ absolute_executable = os.path.realpath(find_executable(command[0]))
+ if 'wrapper' in absolute_executable:
+ return None
if command: # not empty list will allow to index '0' and '1:'
- executable = os.path.basename(command[0]) # type: str
+ absolute_executable = os.path.realpath(find_executable(command[0]))
+ if 'wrapper' in absolute_executable:
+ return None
+
+ executable = os.path.basename(absolute_executable)
parameters = command[1:]
# 'wrapper' 'parameters' and
# 'wrapper' 'compiler' 'parameters' are valid.
+ executable = os.path.basename(absolute_executable) # type: str
parameters = command[1:] # type: List[str]
# 'wrapper' 'parameters' and
# 'wrapper' 'compiler' 'parameters' are valid.