[MacPorts] #55471: Use separate portindexes for libc++ on older systems

MacPorts noreply at macports.org
Mon Mar 12 13:17:16 UTC 2018

#55471: Use separate portindexes for libc++ on older systems
  Reporter:  ryandesign   |      Owner:  neverpanic
      Type:  enhancement  |     Status:  assigned
  Priority:  Normal       |  Milestone:  MacPorts 2.5.0
 Component:  base         |    Version:
Resolution:               |   Keywords:
      Port:               |

Comment (by ryandesign):

 I knew I had talked about this topic before but couldn't find a ticket.
 Turns out it wasn't a ticket but a mailing list thread:


 Replying to [comment:6 mojca]:
 > I'm sorry, I totally missed the patches. You could potentially open a
 Pull request against base to simplify some further testing, but it would
 be awesome if these patches were actually deployed, soon.

 It would be two PRs, one for base and one for infrastructure. For now I
 would probably rather keep everything together in this ticket. Applying a
 few patchfiles for testing should be too difficult.

 > Regarding the usage of variable in the port: in the past (before we had
 cxx11 1.1) I would switch to libc++ for some ports just because that would
 allow me to compile them and if they had no dependency on another C++11
 api, this was never a problem. I found it weird that I had to duplicate
 the code in the PortGroup just for the sake of compiler blacklisting, but
 if I only used the cxx 1.0 PortGroup, the port would not compile at all,
 so I had to duplicate the code anyway. At some point I found a workaround
 to first change `configure.cxx_stdlib` and then include the PortGroup as
 that would trick the PortGroup into believing everything was fine.

 The ability to tell the cxx11-1.* portgroup what cxx_stdlib you want to
 use shouldn't be considered a hack or a workaround; it's the way it's
 meant to be used. The fact that you have to set that variable before you
 include the portgroup is an undesirable API quirk, the same quirk present
 in the obsolete-1.0 portgroup where you have to set `replaced_by` before
 including it. It would be great if those quirks could be fixed.

 > But I could no longer distinguish whether it was the port that set that
 variable or if it was set globally.

 I'm not sure why you would need to distinguish that. But as I said
 `${cxx_stdlib}` should be the value from macports.conf and
 `${configure.cxx_stdlib}` should be the value that the port wants to use.

 > I forgot all the details and I'm not willing to go back to history (this
 was the case with root6 for sure), but just to give a rough idea.

Ticket URL: <https://trac.macports.org/ticket/55471#comment:9>
MacPorts <https://www.macports.org/>
Ports system for macOS

More information about the macports-tickets mailing list