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

2014-03-07 Thread Eric Gallager
Bringing this discussion to macports-dev as suggested. Anyways,
r117621https://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? larryv at least has
already come out as deletionist, but what about the rest of you?


-- Forwarded message --
From: MacPorts nore...@macports.org
Date: Fri, Mar 7, 2014 at 2:50 PM
Subject: Re: [MacPorts] #42756: macports doesn't compile with bundled tcl
To: xeron.os...@gmail.com, macports-tick...@lists.macosforge.org
Cc: rai...@macports.org, eg...@gwmail.gwu.edu


#42756: macports doesn't compile with bundled tcl
+
  Reporter:  xeron.oskom@...  |  Owner:  macports-tickets@...
  Type:  defect | Status:  new
  Priority:  Normal |  Milestone:
 Component:  base   |Version:  2.2.99
Resolution: |   Keywords:
  Port: |
+

Comment (by larryv@...):

 Replying to [comment:8 egall@...]:
  Replying to [comment:6 cal@...]:
   That increases the possibility for misconfigurations (such as
   choosing Tcl 8.6),
  If a user is building from source themselves, they should be aware of
  that. Also I fail to see why choosing Tcl 8.6 is considered
  a misconfiguration.

 It's a misconfiguration because we don't support it.

  I just checked out trunk and the sqlite3 one still exists, too. Also
  while the `--with-included-tclthread` flag may be gone now, I would
  argue that should be brought back as well

 This isn't the place for this conversation (take it to macports-dev if you
 wish), but I strongly oppose adding more configuration flags than the ones
 we already have. I wouldn't be opposed to removing even more of them.

--
Ticket URL: https://trac.macports.org/ticket/42756#comment:10
MacPorts http://www.macports.org/
Ports system for OS X
___
macports-dev mailing list
macports-dev@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macports-dev


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

2014-03-07 Thread Joshua Root
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=.

 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
___
macports-dev mailing list
macports-dev@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macports-dev


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

2014-03-07 Thread Eric Gallager
On Fri, Mar 7, 2014 at 4:09 PM, Joshua Root j...@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...
___
macports-dev mailing list
macports-dev@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macports-dev


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

2014-03-07 Thread Jeremy Lavergne
From the article:
Being called an inclusionist or deletionist can sidetrack the issue from the 
actual debate,[21]”

On Mar 7, 2014, at 17:06, Eric Gallager eg...@gwmail.gwu.edu wrote:

 https://en.wikipedia.org/wiki/Deletionism_and_inclusionism_in_Wikipedia

___
macports-dev mailing list
macports-dev@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macports-dev


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

2014-03-07 Thread Lawrence Velázquez
On Mar 7, 2014, at 5:06 PM, Eric Gallager eg...@gwmail.gwu.edu wrote:

 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

This is a specious comparison. We are NOT packaging Tcl as a fallback; we're 
enforcing a specific configuration to ease MacPorts development. We don't 
particularly want to support users choosing their own preferred Tcl, and I 
don't see how doing so would benefit us (or them, frankly).

As Josh intimated, batteries included is MacPorts' general philosophy. Our 
loose goal is to provide only as much choice as makes sense. The desire to 
provide freedom to end-users must be balanced with the fact that the 
complexity of the system grows exponentially with each additional option, 
making maintenance and support that much more difficult.

If someone wants to customize their software in a way that we don't support, 
they're entirely free to build it by hand, or to maintain a local ports tree, 
or to do anything at all.

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

Having spent much of the last 9 years contributing to the English Wikipedia — 
first as a regular user, then as an administrator — I am *quite* familiar with 
those terms. They have rather negative connotations. Labeling someone 
inclusionist or deletionist is rather like labeling someone a peacenik or 
a warmonger: You might be correct in a denotational sense, but you're also 
(strongly) implying that their position should be dismissed out of hand because 
it is illogical and driven by zealotry.

vq
___
macports-dev mailing list
macports-dev@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macports-dev


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

2014-03-07 Thread Clemens Lang
Hi,

 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.

I wouldn't compare what libtasn1 is for gnutls with what Tcl is for MacPorts:
 - Tcl is a much more integral part of MacPorts than libtasn1 is for gnutls
 - The environments where GnuTLS is used often probably have either a usable 
version or none at all
 - Most package managers will make sure the version of libtasn1 matches GnuTLS' 
requirements
 - Most package managers control both the GnuTLS package and the libtasn1 
package

In MacPorts, we have a completely different setup:
 - Some of the platforms MacPorts runs on are getting harder and harder to 
support because of an outdated Tcl
 - We could specifically deploy a custom Tcl on only these platforms, but that 
would make it
   * extremely hard to test for most developers (including me)
   * introduce more possible configuration variables that have an effect on 
runtime complexity (such as the Tcl package path)
   * reduce the test coverage because of the explosion of possible variant 
combinations
   * add a whole new list of systems to test on once we move to Tcl 8.6
 - MacPorts doesn't control the Tcl it uses; we don't even know whether 10.9+1 
will ship Tcl 8.5, Tcl 8.6 or no Tcl at all.
 - MacPorts doesn't control the Tcl package setup; remember MacPorts base 
wouldn't configure on vanilla Mavericks because tclConfig.sh was moved to the 
command line tools package

The very same arguments hold for Tcllib and the Tcl Thread package (e.g. Tiger 
lacks Tcllib completely AFAIK, preventing its use in MacPorts, and even if it 
is present, we can't possibly test for all Tcllib versions, and we can't fix 
any bugs they might have).

 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

I'm not sure an article called Deletionism and Inclusionism in Wikipedia 
applies to community-based software(!) projects. Remember Wikipedia is not a 
software project. Also, Wikipedia has its very own set of (partly home-grown) 
problems that don't necessarily apply to us (have you seen a portmgr@ member 
make a controversial decision on this list?). In fact, I don't think this 
article applies outside Wikipedia at all.

-- 
Clemens Lang
___
macports-dev mailing list
macports-dev@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macports-dev