llvm: replace @when with internal check in @run_before (#8092)

Fixes #8088

#7012 added a @when condition for a @run_before check to constrain
that check to only run on Darwin. @when is intended to be used to
choose one of several different implementations of a given function
and cannot be used to conditionally deactivate a check altogether.

This replaces the external decorator with a check that executes at
the beginning of the function.
This commit is contained in:
scheibelp 2018-05-11 12:32:26 -07:00 committed by GitHub
parent 5bc970f9b6
commit 79669ac647
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -415,9 +415,10 @@ class Llvm(CMakePackage):
# Github issue #4986
patch('llvm_gcc7.patch', when='@4.0.0:4.0.1+lldb %gcc@7.0:')
@when('+lldb platform=darwin')
@run_before('cmake')
def check_darwin_lldb_codesign_requirement(self):
if not self.spec.satisfies('+lldb platform=darwin'):
return
codesign = which('codesign')
cp = which('cp')
mkdir('tmp')