[MacPorts] #49903: libcxx: undo changes to system directories when deactivating

MacPorts noreply at macports.org
Sun Dec 6 11:29:57 PST 2015


#49903: libcxx: undo changes to system directories when deactivating
---------------------------+------------------------
  Reporter:  ryandesign@…  |      Owner:  jeremyhu@…
      Type:  enhancement   |     Status:  new
  Priority:  Normal        |  Milestone:
 Component:  ports         |    Version:  2.3.4
Resolution:                |   Keywords:
      Port:  libcxx        |
---------------------------+------------------------

Comment (by jeremyhu@…):

 Replying to [comment:6 ryandesign@…]:
 > Replying to [comment:5 jeremyhu@…]:
 > > Replying to [comment:4 ryandesign@…]:
 > > > I'm not concerned about the disk space; I'm concerned about
 unregistered components being left on the user's system which might have
 an effect on it. For example, software like aria2 that checks for libc++
 would find it and would build against it.
 > >
 > > Shouldn't aria2 be honoring configure.cxx_stdlib?
 >
 > aria2 requires C++11, so it requires libc++. Its configure script looks
 for libc++ and uses it if found; otherwise, it displays an error. My
 intention is to set "configure.cxx_stdlib libc++" to indicate this; to
 include the cxx11 1.0 portgroup; and to modify the cxx11 1.0 portgroup so
 that when configure.cxx_stdlib is set to libc++ on darwin 9 or 10, a
 dependency on port:libcxx is added.

 In the llvm ports, we're just doing that unconditionally.

 > > > I'm looking for a solution that also works on the buildbot
 buildslaves, where builds happen automatically and nobody is reading
 instructions. I don't want the installation of one port that declares a
 dependency on libcxx (as I propose to do for aria2 via a modification to
 the libcxx portgroup) to cause libc++ to be permanently available on the
 Snow Leopard build slave and potentially cause other ports built on that
 build slave to build differently in the future.
 > >
 > > Wouldn't that then be a bug in those other ports for not honoring
 configure.cxx_stdlib?
 >
 > Yes, in the same way that it is a bug when ports have undeclared
 dependencies on optional software, but we developed trace mode to
 counteract that, and until trace mode can be enabled, the buildbot
 buildslaves are configured so that all ports are deactivated before any
 port build is attempted, so that such bugs do not affect the automated
 builds; the behavior of the libcxx port seems like it would invite
 problems. For example it might be the case that a build on the Snow
 Leopard builder would succeed, because the software in question included
 code in its build system to check for and use libc++ if present; that same
 port would fail to run on user systems unless they had also installed
 port:libcxx. Or, for users not using binaries, the port would fail to
 build.

 Yes, I agree that is a problem, I'm just cautious about trying to address
 it.  I'll have to be extra diligent in testing this change.

-- 
Ticket URL: <https://trac.macports.org/ticket/49903#comment:7>
MacPorts <https://www.macports.org/>
Ports system for OS X


More information about the macports-tickets mailing list