does cmake really need to blacklist macports-clang >= 3.8?

René J. V. Bertin rjvbertin at
Sat Dec 9 11:07:43 UTC 2017

René J.V. Bertin wrote:

> This is not (directly) a dependency issue that affects the PortIndex so maybe
> it's possible (and acceptable) to wrap the compiler.blacklist statement in a
> test expression? I can figure out the former, the latter a bit less ;-)

This seems to do the trick:

if {!([catch {registry_active "cmake"}] == 0 \
      || [catch {registry_active "cmake-devel"}] == 0)} {
    foreach cv {3.8 3.9 4.0 5.0} {
        if {[catch {registry_active "clang-${cv}"}] != 0} {
            ui_debug "blacklisting macports-clang-${cv} because it might need us 
for installation"
            compiler.blacklist-append macports-clang-${cv}

I think the registry_active calls could also be replaced with simple `file exist` 
expressions in this case, and maybe the whole thing could go into a pre-

I do notice however that "base" will still propose to install one of the 
blacklisted compilers if you request it explicitly. If that's not because of 
some local glitch the whole blacklisting idea may need to be complemented by 
something stronger.


More information about the macports-dev mailing list