about summary refs log tree commit diff
path: root/pkgs/development/tools/build-managers
diff options
context:
space:
mode:
authorFranz Pletz <fpletz@fnordicwalking.de>2019-06-11 22:55:38 +0000
committerGitHub <noreply@github.com>2019-06-11 22:55:38 +0000
commitfdd75fc6f1d31aff21a4691e6cc8b5199f79934b (patch)
tree7a8c33527c2af1a000a03afe02e4e1b11399b69b /pkgs/development/tools/build-managers
parentda6a07817ec4ebf47fbeeb2761f709965becb04f (diff)
parent4cb889f1660e243de3fdadcd6697e5e9676722a7 (diff)
downloadnixlib-fdd75fc6f1d31aff21a4691e6cc8b5199f79934b.tar
nixlib-fdd75fc6f1d31aff21a4691e6cc8b5199f79934b.tar.gz
nixlib-fdd75fc6f1d31aff21a4691e6cc8b5199f79934b.tar.bz2
nixlib-fdd75fc6f1d31aff21a4691e6cc8b5199f79934b.tar.lz
nixlib-fdd75fc6f1d31aff21a4691e6cc8b5199f79934b.tar.xz
nixlib-fdd75fc6f1d31aff21a4691e6cc8b5199f79934b.tar.zst
nixlib-fdd75fc6f1d31aff21a4691e6cc8b5199f79934b.zip
Merge pull request #53712 from liff/bear/fix-wrapper-detection
bear: fix wrapper detection patch by checking result of find_executable
Diffstat (limited to 'pkgs/development/tools/build-managers')
-rw-r--r--pkgs/development/tools/build-managers/bear/ignore_wrapper.patch24
1 files changed, 14 insertions, 10 deletions
diff --git a/pkgs/development/tools/build-managers/bear/ignore_wrapper.patch b/pkgs/development/tools/build-managers/bear/ignore_wrapper.patch
index f70e3811f654..8effc723bbab 100644
--- a/pkgs/development/tools/build-managers/bear/ignore_wrapper.patch
+++ b/pkgs/development/tools/build-managers/bear/ignore_wrapper.patch
@@ -1,6 +1,6 @@
---- 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 @@
+--- a/bear/main.py.in
++++ b/bear/main.py.in
+@@ -49,6 +49,7 @@ import tempfile
  import shutil
  import contextlib
  import logging
@@ -8,16 +8,20 @@
  
  # 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)
+@@ -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
-+            absolute_executable = os.path.realpath(find_executable(command[0]))
-+            if 'wrapper' in absolute_executable:
-+                return None
-+
-+            executable = os.path.basename(absolute_executable) # 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.
\ No newline at end of file