From: Katherine Cox-Buday <cox.katherine.e@gmail.com>
To: guix-devel@gnu.org
Subject: Re: ASDF Builder (Common Lisp) & "package-inferred-system" Packages
Date: Sat, 12 Jan 2019 14:24:38 -0600 [thread overview]
Message-ID: <87lg3p7hfd.fsf@gmail.com> (raw)
In-Reply-To: <87wonb6wdn.fsf@gmail.com> (Katherine Cox-Buday's message of "Fri, 11 Jan 2019 09:34:44 -0600")
I've done some more digging, and I have a better idea of why this is
failing.
Running `(asdf:operate 'asdf:compile-bundle-op :foo)` on a
`package-inferred-system` produces several `.fasl` files -- one for each
sub-package instead of the usual `foo--system.fasl` file. The
`cleanup-files` phase then deletes[1] any `.fasl` files which do not have a
`--system.fasl` suffix.
I tried working around this by manually concatenating all the `.fasl`
files together using `uiop:combine-fasls` which I believe works. I also
had to add a new build phase to take place after the `create-asd-file`
phase to do a string replace to change dependencies back to the
`foo/bar` style instead of `foo-bar`.
I still believe the build system should handle `package-inferred-system`
style CL packages properly so that maintainers don't have to do this
kind of tweaking for every package (the number of which I believe will
steadily increase).
I'm trying to confirm that this whole things works, but I believe I may
be hitting another bug with CL being able to find dependencies. It seems
as though even if the dependenices are listed in the generated `.asd`
file, and my Guix SBCL can find that `.asd` and attempt to load its
system, SBCL cannot find the dependencies.
I'm trying to determine why this might be, but it's currently blocking
me from proposing a patch which adds 44 CL packages.
My current theory is that we perform a `setf` on the
`*source-registry-parameter*` variable, but the ASDF manual
specifically, and strongly, says[2] that this is meant to be a read-only
variable. Maybe this is not working as intended?
I'm also going through some steps to establish a clean-room to make sure
it's nothing with my setup.
If anyone feels they can point me in helpful directions, that would be
very much appreciated :)
[1] - http://git.savannah.gnu.org/cgit/guix.git/tree/guix/build/asdf-build-system.scm#n193
[2] - https://www.common-lisp.net/project/asdf/asdf.html#g_t_002asource_002dregistry_002dparameter_002a-variable
--
Katherine
next prev parent reply other threads:[~2019-01-12 20:24 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-01-11 0:25 ASDF Builder (Common Lisp) & "package-inferred-system" Packages Katherine Cox-Buday
2019-01-11 9:01 ` Pierre Neidhardt
2019-01-11 15:34 ` Katherine Cox-Buday
2019-01-12 20:24 ` Katherine Cox-Buday [this message]
2019-01-13 19:14 ` Andy Patterson
2019-01-14 0:20 ` Katherine Cox-Buday
2019-08-02 16:28 ` Pierre Neidhardt
2019-08-02 16:43 ` Pierre Neidhardt
2019-08-02 17:37 ` Pierre Neidhardt
2019-08-02 20:27 ` Katherine Cox-Buday
2019-08-03 8:04 ` Pierre Neidhardt
2019-08-03 8:44 ` Pierre Neidhardt
2019-08-03 14:14 ` Katherine Cox-Buday
2019-08-06 10:41 ` Pierre Neidhardt
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87lg3p7hfd.fsf@gmail.com \
--to=cox.katherine.e@gmail.com \
--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 external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.