[MacPorts] #54289: libcxx{,-abi} : upgrade + "runtime" variant

MacPorts noreply at macports.org
Tue Jun 6 19:04:16 UTC 2017


#54289: libcxx{,-abi} : upgrade + "runtime" variant
----------------------+------------------------------
 Reporter:  RJVB      |      Owner:
     Type:  update    |     Status:  new
 Priority:  Normal    |  Milestone:
Component:  ports     |    Version:
 Keywords:  haspatch  |       Port:  libcxxabi libcxx
----------------------+------------------------------
 I'm submitting 2 patches for the libcxxabi and libcxx ports:

 - upgrade to 4.0.0 (with a small mod to let ${configure.optflags} be
 respected)
 - introduction of a +runtime variant

 The principle of the variant was discussed with Jeremy a while back
 already, and I've been testing it since. It provides an alternative
 install option for users who do not need to do a libc++ conversion (new
 enough OS), who wouldn't want to do that anyway, but who'd still be
 interested in using an up-to-date C++ runtime with software that could
 benefit.

 In its current implementation this installs runtime versions of the c++abi
 and c++ libraries into ${prefix}/lib (`libc++abi.1.dylib` and
 `libc++.1.dylib`) and provides a simple launch script that sets (and
 instructions how to set) `DYLD_INSERT_LIBRARIES`. This will of course not
 work with sandboxed applications, but should work with applications
 provided through MacPorts (at least that's the case on OS X 10.9). The
 linker interface symlink `libc++.dylib` isn't installed (and
 libc++abi.dylib installed under a different name) so that they are not
 picked up by the link editor by accident.

 I suppose one could take this approach a step further, doing a full
 install into ${prefix}, in such a way that opportunistic dependencies on
 the port can be avoided.

 There is one clear positive effect of using the newer C++ runtime & ABI
 layer on 10.9 : the frequent log dynamic_cast errors I saw about type_info
 visibility in Qt4 applications stopped appearing in the system.log . This
 OS version might also benefit from having a full install in ${prefix}
 against which applications can be linked.

 I'll be attaching the portfile patches only here, for the patchfiles
 please refer to

 https://github.com/RJVB/macstrop/tree/master/lang/libcxxabi/files
 https://github.com/RJVB/macstrop/tree/master/lang/libcxx/files

--
Ticket URL: <https://trac.macports.org/ticket/54289>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list