[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: ASDF Builder (Common Lisp) & "package-inferred-system" Packages
From: |
Katherine Cox-Buday |
Subject: |
Re: ASDF Builder (Common Lisp) & "package-inferred-system" Packages |
Date: |
Fri, 11 Jan 2019 09:34:44 -0600 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) |
Pierre Neidhardt <address@hidden> writes:
> I've packaged a lot of Lisp packages, none of which seem to suffer
> from a naming issue.
This is a newer style of ASDF system. I don't think any of the things we
have packaged use this style (yet).
> Do you have an example in mind?
I have 41 packages almost ready to go, but the only one I'm currently
packaging that uses the "package-inferred-system" style is Ningle[1].
> Which string replacement are you referring to? NORMALIZE-STRING?
Yes. I'm wondering why we even need to call `normalize-string' here
since this is generating the string ASDF will use to search for a
package, and ASDF is capable of handling `/` characters in its package
names. I think we may be conflating the need for the store to remove `/`
characters with ASDF's needs, but I'm not completely sure.
> I'm not completely sure, but I think that in practice packages can
> always specify the right ASD-FILE or SYSTEM. There could be something
> missing though.
This is not about specifying the ASD file; it is regarding how a system
is defined within an ASD file. Please read this[2] link for more
information. A single ASD file will define a package (note, not system)
per file. The packages will all have the `/` character embedded in the
name since it is correlating files in the system's path with packages.
I cannot find a way to tell the runtime that the renamed package (in
this case "ningle-main") is an alias for the real package
("ningle/main"), but it is very possible I'm missing something obvious.
[1] - https://github.com/fukamachi/ningle/blob/master/ningle.asd
[2] -
https://www.common-lisp.net/project/asdf/asdf.html#index-Package-inferred-systems
--
Katherine