[MacPorts] #49903: libcxx on 10.6 and earlier: undo changes when deactivating
MacPorts
noreply at macports.org
Thu Dec 3 23:50:13 PST 2015
#49903: libcxx on 10.6 and earlier: undo changes when deactivating
--------------------------+--------------------------------
Reporter: ryandesign@… | Owner: macports-tickets@…
Type: enhancement | Status: new
Priority: Normal | Milestone:
Component: ports | Version: 2.3.4
Keywords: | Port: libcxx
--------------------------+--------------------------------
The original purpose of the cxx11 portgroup was so that ports that require
C++11 both themselves and in their dependencies can inform the user that
they must perform the steps in LibcxxOnOlderSystems and reinstall all
ports.
However there are other ports that only require C++11 for themselves, and
do not have any C++-using dependencies. mongodb and aria2 are examples. In
mongodb it was no problem to just include the cxx11 portgroup and write
"configure.cxx_stdlib libc++" into the Portfile since mongodb requires OS
X 10.7 and later which includes libc++. However aria2 might work on Snow
Leopard, if only libc++ were there.
I would like to modify the cxx11 portgroup to accommodate this use case,
by having it check if configure.cxx_stdlib is libc++, and if so, adding a
library dependency on port:libcxx on OS X 10.6 and earlier. I understand
that the libcxx port needs to install files into OS directories after
activation, but it makes me uncomfortable that those files are not removed
before deactivation. Could that be done? It seems like it should be
possible to list the contents of the tar archive that was expanded on
activation, and then delete every item of that list. This assumes that the
libcxx port doesn't overwrite any existing OS files; I don't know if
that's normally the case. I realize it's not the case if the
replacemnt_libcxx variant is used on OS X 10.7 or later. In that case, the
port could make a backup of the files it would overwrite, and restore
those files on deactivation.
--
Ticket URL: <https://trac.macports.org/ticket/49903>
MacPorts <https://www.macports.org/>
Ports system for OS X
More information about the macports-tickets
mailing list