#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