GNU bug report logs - #59592
Keep asd-systems for cl-* packages

Previous Next

Package: guix-patches;

Reported by: Charles <Charles.b.jackson <at> proton.me>

Date: Sat, 26 Nov 2022 04:10:02 UTC

Severity: normal

To reply to this bug, email your comments to 59592 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#59592; Package guix-patches. (Sat, 26 Nov 2022 04:10:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Charles <Charles.b.jackson <at> proton.me>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Sat, 26 Nov 2022 04:10:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Charles <Charles.b.jackson <at> proton.me>
To: "guix-patches <at> gnu.org" <guix-patches <at> gnu.org>
Subject: Keep asd-systems for cl-* packages
Date: Sat, 26 Nov 2022 04:09:29 +0000
[Message part 1 (text/plain, inline)]
Greetings Guix patches!

Relevant thread: https://mail.gnu.org/archive/html/guix-devel/2022-11/msg00153.html
[0001-guix-asdf-build-system-Keep-some-package-arguments-f.patch (text/x-patch, attachment)]

Information forwarded to guix-patches <at> gnu.org:
bug#59592; Package guix-patches. (Thu, 08 Dec 2022 04:15:02 GMT) Full text and rfc822 format available.

Message #8 received at 59592 <at> debbugs.gnu.org (full text, mbox):

From: Charles <Charles.b.jackson <at> proton.me>
To: "59592 <at> debbugs.gnu.org" <59592 <at> debbugs.gnu.org>,
 Guillaume Le Vaillant <glv <at> posteo.net>
Subject: Keep asd-systems for cl-* packages
Date: Thu, 08 Dec 2022 04:14:11 +0000
Hey Guillaume. Do you have an opinion on this. I'm asking since you were the only one who responded to the initial thread. Thanks for taking a look by the way.




Information forwarded to guix-patches <at> gnu.org:
bug#59592; Package guix-patches. (Tue, 10 Jan 2023 14:09:01 GMT) Full text and rfc822 format available.

Message #11 received at 59592 <at> debbugs.gnu.org (full text, mbox):

From: Guillaume Le Vaillant <glv <at> posteo.net>
To: Charles <Charles.b.jackson <at> proton.me>
Cc: "59592 <at> debbugs.gnu.org" <59592 <at> debbugs.gnu.org>
Subject: Re: Keep asd-systems for cl-* packages
Date: Tue, 10 Jan 2023 13:05:02 +0000
[Message part 1 (text/plain, inline)]
Hi,

The 'asd-systems' field contains the minimal subset of the ASDF systems
defined by a library that, when compiled, compiles all the systems of
the library.

For example, the ironclad package has many subsystems:
  "ironclad/ciphers"
  "ironclad/digests"
  "ironclad/cipher/aes"
  "ironclad/cipher/threefish"
  "ironclad/digest/sha256"
  "ironclad/public-key/ed25519"
  ...
but the 'asd-systems' field only contains "ironclad".

The mcclim package also has many subsystems:
  "automaton"
  "clim"
  "clim-core"
  "clim-core/frames"
  "clim-core/system"
  "drei-mcclim"
  "esa-mcclim"
  "mcclim-backend-common"
  "mcclim-fonts"
  "slim"
  ...
but the 'asd-systems' field only contains the top level ones, "mcclim",
"clim-examples" and "clim-debugger".

So you can't rely on the contents of 'asd-systems' to have a complete
list of the systems defined by a library.

You could get the full list by searching the for 'defsystem' forms in
the sources directly, with something like:

--8<---------------cut here---------------start------------->8---
find sources -name "*.asd" -exec grep "(defsystem" {} \; | cut -d ' ' -f 2
--8<---------------cut here---------------end--------------->8---

But it would only work for systems not using the package-inferred-system
feature of ASDF.


In my files, I found a function (I don't remember where I got it from)
that can get all the dependencies of a loaded system, even the ones
using package-inferred-system. Maybe it could be modified to limit the
results to a specific library's source tree...

[get-dependencies.lisp (application/octet-stream, inline)]
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#59592; Package guix-patches. (Fri, 20 Jan 2023 20:25:01 GMT) Full text and rfc822 format available.

Message #14 received at 59592 <at> debbugs.gnu.org (full text, mbox):

From: Charles <Charles.b.jackson <at> proton.me>
To: "59592 <at> debbugs.gnu.org" <59592 <at> debbugs.gnu.org>
Cc: Guillaume Le Vaillant <glv <at> posteo.net>
Subject: (No Subject)
Date: Fri, 20 Jan 2023 20:24:21 +0000
I didn't know that package-inferred-systems also coupled asdf systems in addition to packages and files. I'm not a fan of package-inferred-system if you couldn't tell.

What are your thoughts on a patch that would add all systems to #:asd-systems? I could use your program along with some manual filtering to filter it out. It is ideal to have the knowledge of all asd-systems of a project before loading it.




Information forwarded to guix-patches <at> gnu.org:
bug#59592; Package guix-patches. (Sat, 28 Jan 2023 10:19:01 GMT) Full text and rfc822 format available.

Message #17 received at 59592 <at> debbugs.gnu.org (full text, mbox):

From: Guillaume Le Vaillant <glv <at> posteo.net>
To: Charles <Charles.b.jackson <at> proton.me>
Cc: "59592 <at> debbugs.gnu.org" <59592 <at> debbugs.gnu.org>
Subject: Re: (No Subject)
Date: Sat, 28 Jan 2023 09:46:51 +0000
[Message part 1 (text/plain, inline)]
Charles <Charles.b.jackson <at> proton.me> skribis:

> I didn't know that package-inferred-systems also coupled asdf systems in addition to packages and files. I'm not a fan of package-inferred-system if you couldn't tell.
>
> What are your thoughts on a patch that would add all systems to #:asd-systems?
> I could use your program along with some manual filtering to filter it out. It
> is ideal to have the knowledge of all asd-systems of a project before loading
> it.

Adding everything to 'asd-systems' would be tedious. I think Guix
package definitions are not the right place to keep the complete list of
available ASDF systems (just like we don't keep the list of ".so"
C libraries in package definitions).

There's a file search functionality that is being developped (there's
some info about it in the guix-devel mailing list I think). Maybe it
could be used as a base for a script searching for ASDF systems.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#59592; Package guix-patches. (Sat, 28 Jan 2023 16:24:01 GMT) Full text and rfc822 format available.

Message #20 received at 59592 <at> debbugs.gnu.org (full text, mbox):

From: Charles <Charles.b.jackson <at> proton.me>
To: Guillaume Le Vaillant <glv <at> posteo.net>
Cc: "59592 <at> debbugs.gnu.org" <59592 <at> debbugs.gnu.org>
Subject: Re: (No Subject)
Date: Sat, 28 Jan 2023 16:23:24 +0000
> Adding everything to 'asd-systems' would be tedious. 

We can agree on that point.

> I think Guix package definitions are not the right place to keep the 
> complete list of available ASDF systems (just like we don't keep the 
> list of ".so" C libraries in package definitions).

But where is a better place? I was planning to open up the conversation 
about doing just that for C libraries 😁 (and executable binaries, and
python packages, and rust crates, and so on).
 
> There's a file search functionality that is being developped (there's
> some info about it in the guix-devel mailing list I think). Maybe it
> could be used as a base for a script searching for ASDF systems.

This one: https://lists.gnu.org/archive/html/guix-devel/2022-12/msg00234.html
Subject: "File Search".

I have a couple gripes with that approach:

1. It only searches for files (using a file database). This makes it hard to 
differentiate searching between different types of files. This also makes it 
hard to search for something like an asdf system which might not be associated 
with a file on a 1 to 1 basis.

2. It only index the searchable stuff after building the packages. This raises
a whole lot of issues mentioned in that thread already (networking, privacy, etc.).
My approach would make the information available at the time of guix pull in the
package definition.




This bug report was last modified 2 years and 201 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.