[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:
https://lists.macports.org/pipermail/macports-dev/2016-August/033324.html
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