A Plea to Reduce Dependences (e.g., for swig)

Joshua Root jmr at macports.org
Tue Aug 16 13:20:24 PDT 2011


On 2011-8-17 05:23 , M.E. O'Neill wrote:
> By default, swig has build dependences on bison and gsed.  Yet swig builds fine on stock OS X, so special versions of bison and gsed are *NOT* required.  If I remove these build dependences by hand (and remove the line that edits the configure script to use gsed rather than sed), everything still builds just fine.

Bison was changed from a bin: dependency to a port: one in
<https://trac.macports.org/changeset/31431>. The fact that there was a
bin: dependency in the first place suggests that some platform back then
didn't have bison. Maybe any version of bison would work. Someone would
have to check all the way back to 10.4 to be sure.

The gsed dependency was necessary for swig 1.3.31 according to
<https://trac.macports.org/ticket/13303>. Maybe it's no longer needed by
swig 2.0.4. Again, someone would have to check if /usr/bin/sed works on
all the platforms we run on.

> Swig also has a library dependency on pcre, but pcre wants to pull in readline, zlib, bzip2. Readline pulls in ncurses.

<https://trac.macports.org/ticket/26880>

> (I get a similar feeling frustration and mild accomplishment from forcing MacPorts against its will not to build things as root.)

Not sure what you mean by this. If building as non-root doesn't work,
that's a bug. (Some ports really do need to though, and should have an
option set to indicate this.)

> So, please consider this a plea to give users like me a way to just install the software we actually want and rely as much as possible on what is already there and working quite-well-enough-thank-you on the system.

Nobody adds dependencies to ports just for the heck of it. It's likely
that Lion has new enough versions of a lot of things at the moment, and
so some ports would work with less dependencies than on prior OS
versions. The fact that this will change in the future as ports are
updated, and that older OS versions will each be different, means it's
far more likely to consistently work if we just use our own versions of
stuff as much as possible.

- Josh


More information about the macports-dev mailing list