flags for base's configure script: should there be more or fewer? (was "Fwd: [MacPorts] #42756: macports doesn't compile with bundled tcl")

Eric Gallager egall at gwmail.gwu.edu
Fri Mar 7 14:06:29 PST 2014


On Fri, Mar 7, 2014 at 4:09 PM, Joshua Root <jmr at macports.org> wrote:

> On 2014-3-8 07:13 , Eric Gallager wrote:
> > Bringing this discussion to macports-dev as suggested. Anyways, r117621
> > <https://trac.macports.org/changeset/117621> removed a bunch of flags
> > from the configure script in base, many of which I found useful.
> > Personally, I generally prefer giving users more configure options
> > rather than fewer, as I respect users' freedom to build their software
> > the way that they want to, and would prefer that exercising that freedom
> > remains as easy as possible (here, in the form of providing configure
> > flags, but the concept can also be extended to things like adding more
> > variants to Portfiles). Anyways, that is my personal preference at
> > least, which way are other people on this list leaning?
>
> "Batteries included" is generally preferable to more variants. I would
> tend to agree that the problem in the ticket is user error, but OTOH
> it's easy to have CFLAGS lying around in your environment and forget to
> unset them. Maybe we should at least delete flags containing $PREFIX
> from CFLAGS and LDFLAGS like we do PATH.
>
> Looks like the flags removed by r117621 were:
>
> --with-tcl
> --with-tclinclude
> --with-tclpackage
> --with-tcl-sqlite3=
> --with-included-tclthread
>
> As Tcl is now part of base, my view would be that providing flags to use
> a different one would make about as much sense as providing
> --with-pextlib= or --with-cregistry=.
>
> Many other software packages include other software packages as part of
their "base", and the general trend is to only use the included one as a
fallback in case one is not already installed. For example I was working
with the sources of gnutls earlier today and they only fall back to using
their included libtasn1 when the configure script fails to find one
installed, and using the included one produces a warning. This is because
libtasn1 is not actually something that gnutls maintains themselves, they
only vendor it in as a convenience. Bringing it back to MacPorts, the copy
of Tcl that is vendored in is more like libtasn1 in gnutls, in that
MacPorts only vendors it in as a convenience and does not actually maintain
it itself, which is why the tarball remains untarred until it is needed.
Meanwhile the pextlib and cregistry libraries are not found anywhere else
externally, because they are only used in MacPorts internally so far. It
makes no sense to include flags for them because there is nowhere else that
they could point, whereas on the other hand with Tcl, there are many other
places that the flag for them could point. So I would argue that because of
this, it actually makes *much* more sense to include a --with-tcl= flag
than either a --with-pextlib= flag or a --with-cregistry= flag.

> larryv at least
> > has already come out as deletionist, but what about the rest of you?
>
> Name calling really doesn't help your case.
>
> - Josh
>

The label "deletionist" isn't name-calling, it's an accurate term for a
philosophical position that people can have towards content in
community-based software projects:
https://en.wikipedia.org/wiki/Deletionism_and_inclusionism_in_Wikipedia
Many people apply the label to themselves voluntarily. Sorry for any
offense caused by my using it, I just assumed that people were familiar
with the term...
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-dev/attachments/20140307/dc1c367d/attachment-0001.html>


More information about the macports-dev mailing list