unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
From: Greg Troxel <gdt@ir.bbn.com>
Cc: Mikael Djurfeldt <djurfeldt@nada.kth.se>
Subject: Re: Release now?
Date: 25 Feb 2003 11:08:44 -0500	[thread overview]
Message-ID: <rmibs10gx6b.fsf@fnord.ir.bbn.com> (raw)
In-Reply-To: <lju1es7abv.fsf@burns.dt.e-technik.uni-dortmund.de>

For NetBSD pkgsrc, a normal case is for people to build everything
from source.  So it is necessary to have multiple versions installed
such that someone could compile against either, since some programs
(e.g Gnucash 1.6.8) require the old version of guile.  NetBSD pkgsrc
has solved this by putting one in a special prefix.

  Would pkg-config address this issue?  I.e. could one say `guile-config
  --use-version 1.6 link` (or something similar) with the effect that
  the right '-L' and '-R' options are spit out?

pkg-config might well be nice, and arguably guile should provide a
pkg-config file, even if we continue to have guile-config.  I am not
clear whether pkg-config is a 'gnome thing', and whether it is ok to
require people who want to link against gruile to install pkg-config.
I find it to be a solution to a general problem and not huge (gzipped
binary package < 50 KB on NetBSD/i386).

But, running 'pkg-config --use-version 1.6' should be no different
than guile16-config, except that it's easier to write configure.in
fragments.  It does mean we get to sidestep the issue about which
guile-config is 'primary' and which has a version number.  But I'm not
sure that's a huge issue - the latest can be primary and the others
have the number.

  However, a more serious problem exists for external modules of Scheme
  code that want to use a specific version of Guile.  For this, I think
  we should add versions to our module system.

The NetBSD pkgsrc approach means that when one compiles guile-gtk, for
instance, one could put the 1.4-linked version in /usr/pkg/guile/1.4
and the 1.6 version in /usr/pkg.  Do you really mean pure Scheme code,
or stuff with dynlibs?  I would think that pure Scheme code could
feature-test and cope - is this really an issue?  (I have not heard of
gnucash having problems with this.)

But, this all points out the really serious extended consequences of
not maintaining _compile-time_ backwards compatibility.  I'm not
(personally) at all worried about running old binaries with newer
guile libraries.  The issue is whether programs that compile against
guile can just work when the system's base guile version is upgraded.
We've seen a lot of pain (and non-upgrading of guile in major
distributions) recently.

So, ensuring that 1.8 is a drop-in replacement for 1.6 would be good,
and there probably needs to be some schedule for removing deprecated
features.  Something like 1-2 years after 75% of some set of
distributions have 1.6 in their base pkg/ports/rpm/deb system, perhaps
with some survey of the guile-using packages.

        Greg Troxel <gdt@ir.bbn.com>


_______________________________________________
Guile-devel mailing list
Guile-devel@gnu.org
http://mail.gnu.org/mailman/listinfo/guile-devel


  reply	other threads:[~2003-02-25 16:08 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-02-24 12:37 Release now? Mikael Djurfeldt
2003-02-24 13:08 ` Dale P. Smith
2003-02-24 13:21   ` Mikael Djurfeldt
2003-02-24 13:32 ` Greg Troxel
2003-02-25 13:34   ` Marius Vollmer
2003-02-25 16:08     ` Greg Troxel [this message]
2003-02-25 18:38       ` Rob Browning
2003-02-26  1:51         ` Greg Troxel
2003-02-26  2:27           ` Rob Browning
2003-02-27 14:25             ` Greg Troxel
2003-02-27 15:21               ` pkg-config support for guile Greg Troxel
2003-03-22 23:31                 ` Marius Vollmer
2003-04-23 21:22                   ` Greg Troxel
2003-05-16 23:21                     ` Marius Vollmer
2003-02-27 16:54               ` Release now? Rob Browning
2003-02-27 18:07                 ` Greg Troxel
2003-02-27 18:45                   ` Rob Browning
2003-02-27 19:25                     ` Greg Troxel
2003-02-27 20:14                       ` Rob Browning
2003-02-27 19:06                 ` Rob Browning
2003-02-27 19:13                   ` Rob Browning
2003-02-27 19:36                     ` Greg Troxel
2003-02-27 20:02                       ` Rob Browning
2003-02-27 20:54                         ` Greg Troxel
2003-02-27 21:07                           ` Dale P. Smith
2003-02-27 21:30                             ` Dale P. Smith
2003-02-27 21:47                           ` Rob Browning
2003-04-25 19:26                           ` Neil Jerram
2003-02-25 16:28     ` Andreas Rottmann
2003-02-24 18:35 ` Rob Browning
2003-02-25 13:20 ` Marius Vollmer
2003-03-03 14:06   ` Mikael Djurfeldt
2003-04-25 19:28   ` Neil Jerram
2003-04-25 22:59     ` Marius Vollmer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/guile/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=rmibs10gx6b.fsf@fnord.ir.bbn.com \
    --to=gdt@ir.bbn.com \
    --cc=djurfeldt@nada.kth.se \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).