unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Guillaume Le Vaillant <glv@posteo.net>
To: Efraim Flashner <efraim@flashner.co.il>
Cc: guix-devel@gnu.org
Subject: Re: Question about sbcl-package->ecl-package
Date: Wed, 16 Oct 2019 16:06:56 +0200	[thread overview]
Message-ID: <87zhi0u6m7.fsf@yamatai> (raw)
In-Reply-To: <20191016124745.GH1014@E5400>


Efraim Flashner skribis:

> On Wed, Oct 16, 2019 at 01:59:01PM +0200, Pierre Neidhardt wrote:
>> I've encountered the same problem a couple of times.
>> If you try to compile ecl-dexador, you'll see it fails because it does
>> not re-use the arguments of sbcl-dexador which patches out a failing
>> test.
>> 
>> Something is wrong in sbcl-package->ecl-package.
>> Andy?
>> 
>> That said, it's not a very big deal, since the cl- package works for all compilers.
>> 
>
> Sounds like the conversion isn't "recursive enough". On a per-package
> basis you can replace the created ecl package with the real one. The
> better option would be to look at how python defines python2- variants,
> which sounds a lot like the problem you're having here.

I suspect the problem comes from the 'rewrite' function used to change
the package inputs. In 'guix/build-system/asdf.scm':

--8<---------------cut here---------------start------------->8---
(define rewrite
  (match-lambda
    ((name content . rest)
     (let* ((is-package? (package? content))
            (new-content (if is-package? (transform content) content)))
       `(,name ,new-content ,@rest)))))
--8<---------------cut here---------------end--------------->8---

Won't '(transform content)' create a new ecl-package for each input
package instead of trying to find the already defined ecl-package?

Maybe it could be replaced by something like:

--8<---------------cut here---------------start------------->8---
(let* ((sbcl-input-name (package-name content))
       (ecl-input-name (transform-package-name sbcl-input-name))
       (ecl-input-package (find-package ecl-name)))
  (if (package? ecl-input-package)
      ecl-input-package
      (transform content)))
--8<---------------cut here---------------end--------------->8---

However, it's the first time I look at the internals of Guix, so I'm
not sure if this would work or not...
What do you think?

  reply	other threads:[~2019-10-16 14:07 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-16  9:26 Question about sbcl-package->ecl-package Guillaume Le Vaillant
2019-10-16 11:59 ` Pierre Neidhardt
2019-10-16 12:47   ` Efraim Flashner
2019-10-16 14:06     ` Guillaume Le Vaillant [this message]
2019-10-17 12:01       ` Guillaume Le Vaillant
2019-10-17 12:20         ` Pierre Neidhardt
2019-10-17 13:09           ` Guillaume Le Vaillant
2019-10-17 13:16             ` Pierre Neidhardt
2019-10-17 13:35               ` Guillaume Le Vaillant
2019-10-17 13:48                 ` Pierre Neidhardt
2019-10-17 14:47                   ` Guillaume Le Vaillant
2019-10-17 14:54                     ` Pierre Neidhardt
2019-10-18  9:22                       ` Pierre Neidhardt
2019-10-18 11:55                         ` Guillaume Le Vaillant
2019-10-17 13:16           ` Guillaume Le Vaillant

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://guix.gnu.org/

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

  git send-email \
    --in-reply-to=87zhi0u6m7.fsf@yamatai \
    --to=glv@posteo.net \
    --cc=efraim@flashner.co.il \
    --cc=guix-devel@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.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

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).