guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ASDF Builder (Common Lisp) & "package-inferred-system" Packages


From: Pierre Neidhardt
Subject: Re: ASDF Builder (Common Lisp) & "package-inferred-system" Packages
Date: Fri, 02 Aug 2019 18:28:34 +0200

Hi!

It's been a while, and now that I'm on the verge of releasing Next 1.3
and a dependency is a package-inferred-system, I thought it would be the
perfect time to dig out this issue! :)

So I'm trying to package cl-dbus (https://github.com/death/dbus).
You'll find the recipes here: 
https://gitlab.com/atlas-engineer/next-guix-channel

I can package it in several ways, but the result does not work for the
reasons mentioned in this topic.

I thought of the following trick: what about just dumping the full source
into "/lib/sbcl"?  Wouldn't that work?
Do we really need the .fasl files?

When I try to build Next with dbus packaged using this last trick, it
actually gets quite far, until it complains about circular dependencies:

--8<---------------cut here---------------start------------->8---
Unhandled ASDF/ACTION:CIRCULAR-DEPENDENCY in thread #<SB-THREAD:THREAD "main 
thread" RUNNING
                                                       {10005385B3}>:
  Circular dependency:
     ((#<ASDF/LISP-ACTION:LOAD-OP >
       . #<ASDF/PACKAGE-INFERRED-SYSTEM:PACKAGE-INFERRED-SYSTEM "dbus">)
      (#<ASDF/LISP-ACTION:PREPARE-OP >
       . #<ASDF/PACKAGE-INFERRED-SYSTEM:PACKAGE-INFERRED-SYSTEM "dbus">)
      (#<ASDF/LISP-ACTION:LOAD-OP >
       . #<ASDF/PACKAGE-INFERRED-SYSTEM:PACKAGE-INFERRED-SYSTEM "dbus/all">)
      (#<ASDF/LISP-ACTION:LOAD-OP >
       . #<ASDF/LISP-ACTION:CL-SOURCE-FILE "dbus/all" "lisp">)
      (#<ASDF/LISP-ACTION:PREPARE-OP >
       . #<ASDF/LISP-ACTION:CL-SOURCE-FILE "dbus/all" "lisp">)
      (#<ASDF/LISP-ACTION:PREPARE-OP >
       . #<ASDF/PACKAGE-INFERRED-SYSTEM:PACKAGE-INFERRED-SYSTEM "dbus/all">)
      (#<ASDF/LISP-ACTION:LOAD-OP >
       . #<ASDF/PACKAGE-INFERRED-SYSTEM:PACKAGE-INFERRED-SYSTEM 
"dbus/convenience">)
      (#<ASDF/LISP-ACTION:LOAD-OP >
       . #<ASDF/LISP-ACTION:CL-SOURCE-FILE "dbus/convenience" "lisp">)
      (#<ASDF/LISP-ACTION:PREPARE-OP >
       . #<ASDF/LISP-ACTION:CL-SOURCE-FILE "dbus/convenience" "lisp">)
      (#<ASDF/LISP-ACTION:PREPARE-OP >
       . #<ASDF/PACKAGE-INFERRED-SYSTEM:PACKAGE-INFERRED-SYSTEM 
"dbus/convenience">)
      (#<ASDF/LISP-ACTION:LOAD-OP >
       . #<ASDF/PACKAGE-INFERRED-SYSTEM:PACKAGE-INFERRED-SYSTEM "dbus/publish">)
      (#<ASDF/LISP-ACTION:LOAD-OP >
       . #<ASDF/LISP-ACTION:CL-SOURCE-FILE "dbus/publish" "lisp">)
      (#<ASDF/LISP-ACTION:PREPARE-OP >
       . #<ASDF/LISP-ACTION:CL-SOURCE-FILE "dbus/publish" "lisp">)
      (#<ASDF/LISP-ACTION:PREPARE-OP >
       . #<ASDF/PACKAGE-INFERRED-SYSTEM:PACKAGE-INFERRED-SYSTEM 
"dbus/publish">))
--8<---------------cut here---------------end--------------->8---

I've asked for help on ASDF issue tracker:

https://gitlab.common-lisp.net/asdf/asdf/issues/10


By the way, there they confirmed that using `*source-registry*` is the
right way to go.  Note that this is _not_ the same variable as
`*source-registry-parameter*` that Katherine mentioned.

So we are good on that front.

Thoughts?

-- 
Pierre Neidhardt
https://ambrevar.xyz/

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]