SWIG 4.0.0 Released & Query

Michael Dickens michaelld at macports.org
Tue Apr 30 00:28:22 UTC 2019

Hi MacPorts folks - SWIG 4.0.0 has been released after much ado < https://sourceforge.net/p/swig/news/2019/04/swig-400-released/ >. I'm positive that this release fixes a bunch of bugs from the prior 3.0.12 release, as well as adds a bunch of new useful features! But also as with any release there are probably bugs we don't yet really know about.

For those who don't know: SWIG creates a compiled interface between languages, for example from C++ to Python; hence, testing and verification are 2 parts: the build (e.g., compiled C++ / Python interface), and the binary (e.g., importing the compiled interface into Python). Testing dependent ports for the former (the build) is pretty straight forward, something our CI can handle for PRs once the new SWIG4 is in place. That said, there are some 190 ports that depend on the SWIG subports, which makes testing the latter (loading the compiled SWIG into the target language) challenging to verify.

Given the unknowns of how well SWIG4 will work with current ports and the sheer number of ports that depend on the various SWIG subports, I'm inclined to create a "SWIG4" port (and subports) that somehow -do not- conflict with SWIG (3; and subports), so that projects can still use the current SWIG (3; and subports, bugs and all) but have a migration path forward to the new SWIG4. SWIG (3) would no longer be maintained except critical bug fixes (if that); all future maintenance would be for SWIG4, and we'd create a ticket encouraging port maintainers to move their ports to SWIG4 if that's reasonably possible. Each port maintainer could then test / verify / fix their ports, individually and separately and in whatever time they need; there would be no real pressure to update to SWIG4 so long as SWIG (3) still builds.

Thanks in advance for your thoughts and advice on how to proceed here! - MLD

More information about the macports-users mailing list