From: Guillaume Le Vaillant <glv@posteo.net>
To: "Ludovic Courtès" <ludo@gnu.org>
Cc: 48225@debbugs.gnu.org,
Leo Prikler <leo.prikler@student.tugraz.at>,
Sharlatan Hellseher <sharlatanus@gmail.com>
Subject: bug#48225: Wrong result of package-name->name+version
Date: Sat, 08 May 2021 12:41:09 +0000 [thread overview]
Message-ID: <87r1ihieje.fsf@kitej> (raw)
In-Reply-To: <87v97t8qrc.fsf@gnu.org>
[-- Attachment #1: Type: text/plain, Size: 2330 bytes --]
Ludovic Courtès <ludo@gnu.org> skribis:
> Hi Guillaume,
>
> Guillaume Le Vaillant <glv@posteo.net> skribis:
>
>> From 1e37a89b943a818b5274c1d5f31143ca48bad40a Mon Sep 17 00:00:00 2001
>> From: Guillaume Le Vaillant <glv@posteo.net>
>> Date: Thu, 6 May 2021 10:32:56 +0200
>> Subject: [PATCH] build-system: asdf: Work around package-name->name+version
>> bug.
>>
>> This patch modifies how the name of the main Common Lisp system is extracted
>> from the full Guix package name to work around bug#48225 concerning the
>> 'package-name->name+version' function.
>>
>> Fixes <https://issues.guix.gnu.org/41437>.
>>
>> * guix/build-system/asdf.scm (asdf-build): Fix 'systems' function.
>> * guix/build/asdf-build-system.scm (main-system-name): Fix it.
>
> If it works for you, sounds good to me. Please do rebuild as many CL
> packages, with different CL implementations, to make sure we do not
> overlook any corner case.
>
>> + (let* ((lisp-prefix (string-append lisp-type "-"))
>> + (package-name (hyphen-separated-name->name+version
>> + (if (string-prefix? lisp-prefix name)
>> + (string-drop name
>> + (string-length lisp-prefix))
>> + name))))
>> + `(quote ,(list package-name)))
>
> I’d like to see a FIXME in there: this is all guesswork and we should
> eventually replace guesses with known-good info.
>
> What would it take to pass the right package name and implementation
> name upfront from the package?
>
> Thanks,
> Ludo’.
I tried rebuilding all the sbcl-*, cl-* and ecl-* packages, as well as
stumpwm, uglify-js and nyxt, and I didn't see new failures.
I pushed the patch as 2fa8fd4af59af0de392352915fa50fc21a4cf98a.
When 'package-name->name+version' returns a bad result leading to an
incorrect default Lisp system name being computed, it can be overridden
using the '#:asd-systems' parameter of 'asdf-build-system', which should
work around the problem in almost all cases.
However I suppose other build systems could have issues if they make use
of 'package-name->name+version' on a package with a name like
"abc-123-def-1.2.3" (depending how they use the result).
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 247 bytes --]
prev parent reply other threads:[~2021-05-08 12:42 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-05-04 13:35 bug#48225: Wrong result of package-name->name+version Guillaume Le Vaillant
2021-05-04 19:39 ` Leo Prikler
2021-05-04 20:08 ` Ludovic Courtès
2021-05-05 21:27 ` bug#48225: Simple workaround Sharlatan Hellseher
2021-05-06 9:10 ` bug#48225: Wrong result of package-name->name+version Guillaume Le Vaillant
2021-05-08 10:27 ` Ludovic Courtès
2021-05-08 12:41 ` Guillaume Le Vaillant [this message]
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=87r1ihieje.fsf@kitej \
--to=glv@posteo.net \
--cc=48225@debbugs.gnu.org \
--cc=leo.prikler@student.tugraz.at \
--cc=ludo@gnu.org \
--cc=sharlatanus@gmail.com \
/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).