unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
From: Andreas Rottmann <a.rottmann@gmx.at>
To: Ian Price <ianprice90@googlemail.com>
Cc: "Ludovic Courtès" <ludo@gnu.org>, guile-devel@gnu.org
Subject: Re: Release time!
Date: Wed, 07 Nov 2012 01:01:56 +0100	[thread overview]
Message-ID: <87bofa5lhn.fsf@delenn.home.rotty.xx.vu> (raw)
In-Reply-To: <87obja2z54.fsf@googlemail.com> (Ian Price's message of "Tue, 06 Nov 2012 21:35:19 +0000")

Ian Price <ianprice90@googlemail.com> writes:

> ludo@gnu.org (Ludovic Courtès) writes:
>
>>> * Figure out a way to make Guildhall modules that will be overridden by
>>>   a matching module in core guile (if it exists).  This is important for
>>>   SRFIs.  Ian Price's Guildhall repository contains portable
>>>   implementions of several SRFIs that might become part of core Guile in
>>>   the future, and the core versions should take priority.
>>
>> Could guildhall use SRFI-0 to check whether a given SRFI is already
>> provided by the host’s Guile, and determine based on that whether to
>> install its own version?
>
> Well, maybe I could hack something that uses srfi-0, but it sounds kinda
> ugly, and liable to break if a guile upgrade changed the features it exported.
>
> Right now, a package can declare multiple 'provides' so that you can
> e.g. require srfi-1 and it would pull in the appropriate package. But as
> it stands, the provides are somewhat orthogonal to how the code gets
> installed.
>
> Andreas,
> Guildhall is a friendly fork of Dorodango, so what do you think about
> adding this sort of thing?
>
I've thought about this issue some time ago, but have not yet come to a
definite conclusion on how to handle this.  A rough idea is to add a
"proxy package" for the Scheme implementation of the destination
(i.e. installation target) to the `dorodango-support' bundle, which is
created upon initialization of the destination.

If that proxy package would "provide" (e.g. based on a feature check)
all SRFIs that are present in the target Scheme (aka "Guile" from now
on), that would bring us closer to the goal. If all SRFIs required by
the set of packages installed are indeed provided by Guile, no
additional package would be pulled in.  However, if a single package
provides multiple SRFIs, of which only some are provided by Guile, that
package will get installed to satisfy any requirements not met by the
proxy package, and will thus *override* any core SRFI implementation in
Guile that it provides as well.

However, there's a reasonable (I think) workaround: no longer `provide'
the SRFIs, but instead really use individual packages for them, so they
can be installed on an individual basis.  This is not as tedious as it
might sound: the pkg-list.scm file would have to list each SRFI, but the
collection of portable SRFIs can still be maintained in a single source
repository and dorodango bundle (i.e. unit of distribution).

Regards, Rotty
-- 
Andreas Rottmann -- <http://rotty.yi.org/>



      reply	other threads:[~2012-11-07  0:01 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-05 18:11 Release time! Ludovic Courtès
2012-11-05 20:13 ` Hans Aberg
2012-11-05 21:02   ` Ludovic Courtès
2012-11-05 21:48     ` Hans Aberg
2012-11-06 18:28       ` Ludovic Courtès
2012-11-06 21:23         ` Hans Aberg
2012-11-05 20:53 ` Ludovic Courtès
2012-11-05 22:38 ` Bruce Korb
2012-11-06 18:29   ` Ludovic Courtès
2012-11-06  2:06 ` nalaginrut
2012-11-06  6:05   ` Mark H Weaver
2012-11-06 18:30   ` Ludovic Courtès
2012-11-06  5:59 ` Mark H Weaver
2012-11-06 18:41   ` Ludovic Courtès
2012-11-06 21:35     ` Ian Price
2012-11-07  0:01       ` Andreas Rottmann [this message]

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=87bofa5lhn.fsf@delenn.home.rotty.xx.vu \
    --to=a.rottmann@gmx.at \
    --cc=guile-devel@gnu.org \
    --cc=ianprice90@googlemail.com \
    --cc=ludo@gnu.org \
    /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).