[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