From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Greg Troxel Newsgroups: gmane.lisp.guile.devel Subject: Re: Release now? Date: 25 Feb 2003 11:08:44 -0500 Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Message-ID: References: NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: main.gmane.org 1046190938 7993 80.91.224.249 (25 Feb 2003 16:35:38 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Tue, 25 Feb 2003 16:35:38 +0000 (UTC) Cc: Mikael Djurfeldt Return-path: Original-Received: from monty-python.gnu.org ([199.232.76.173]) by main.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 18ni3K-00024D-00 for ; Tue, 25 Feb 2003 17:35:34 +0100 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.10.13) id 18ni2E-0003WG-08 for guile-devel@m.gmane.org; Tue, 25 Feb 2003 11:34:26 -0500 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.10.13) id 18nhrZ-0006wu-00 for guile-devel@gnu.org; Tue, 25 Feb 2003 11:23:25 -0500 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.10.13) id 18nhr9-0006od-00 for guile-devel@gnu.org; Tue, 25 Feb 2003 11:22:59 -0500 Original-Received: from fnord.ir.bbn.com ([192.1.100.210]) by monty-python.gnu.org with esmtp (Exim 4.10.13) id 18nhdQ-0002Zf-00 for guile-devel@gnu.org; Tue, 25 Feb 2003 11:08:48 -0500 Original-Received: by fnord.ir.bbn.com (Postfix, from userid 10853) id 6EE077BD; Tue, 25 Feb 2003 11:08:44 -0500 (EST) Original-To: Marius Vollmer In-Reply-To: Original-Lines: 50 User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 Original-cc: guile-devel@gnu.org X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1b5 Precedence: list List-Id: Developers list for Guile, the GNU extensibility library List-Help: List-Post: List-Subscribe: , List-Archive: List-Unsubscribe: , Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: main.gmane.org gmane.lisp.guile.devel:1968 X-Report-Spam: http://spam.gmane.org/gmane.lisp.guile.devel:1968 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 _______________________________________________ Guile-devel mailing list Guile-devel@gnu.org http://mail.gnu.org/mailman/listinfo/guile-devel