There is some code written to do something like this. The PortGroup is: https://github.com/macports/macports-ports/blob/master/_resources/port1.0/group/languages-1.0.tcl The associated ticket is: https://trac.macports.org/ticket/55139
PortGroup languages 1.0 compiler.cxx_standard 2014 I have been intending to make a more concerted effort to get the code tested and eventually merged into the base. Alas, however, other priorities keep getting in the way. -Marcus > On May 5, 2018, at 5:36 PM, Craig Treleaven <[email protected]> wrote: > > Hi: > > A couple of times recently, I’ve noticed boilerplate in ports that require > C++14. After including the compiler_blacklist_versions portgroup, they then > do some gymnastics like: > > compiler.blacklist *gcc-3.* *gcc-4.* {*gcc-5.[0-3]} \ > {clang < 800} macports-clang-3.4 > macports-clang-3.5 macports-clang-3.6 macports-clang-3.7 > > Would it not be easier to use and maintain if we had some shorthand > definitions. Maybe something like: > > compiler.blacklist ${min_cxx14} > > “min_cxx14” would be defined in the portgroup and then expand to the > above...assuming the above actually does a good job of blacklisting compilers > that don’t support C++14! > > A major advantage is that if our list of non-C++14 compilers ever changes, it > only needs to be updated in one spot. > > I suspect there would be a few other shorthand lists that could be > pre-defined. > > Thoughts? > > Craig
