[PATCH] guix: packages: Support package/inherit by package-field-location.

  • Done
  • quality assurance status badge
Details
2 participants
  • Maxim Cournoyer
  • Simon Tournier
Owner
unassigned
Submitted by
Simon Tournier
Severity
normal
S
S
Simon Tournier wrote on 5 Sep 2023 16:37
(address . guix-patches@gnu.org)(name . Simon Tournier)(address . zimon.toutoune@gmail.com)
6cefcfecf409ffdd5fe856c23fbbc7b9cae7161d.1693924596.git.zimon.toutoune@gmail.com
Reported by Maxim Cournoyer <maxim.cournoyer@gmail.com>.

* guix/packages.scm (package-field-location): Add package/inherit case.
---
guix/packages.scm | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

Toggle diff (18 lines)
diff --git a/guix/packages.scm b/guix/packages.scm
index ba98bb0fb484..821eddb72d5d 100644
--- a/guix/packages.scm
+++ b/guix/packages.scm
@@ -761,7 +761,8 @@ (define (package-field-location package field)
(lambda (port)
(go-to-location port line column)
(match (read port)
- (('package inits ...)
+ ((or ('package inits ...)
+ ('package/inherit inits ...))
(let ((field (assoc field inits)))
(match field
((_ value)

base-commit: bedcdf0fb5ac035f696790827679406c7146396c
--
2.38.1
M
M
Maxim Cournoyer wrote on 6 Sep 2023 22:41
(name . Simon Tournier)(address . zimon.toutoune@gmail.com)(address . 65757-done@debbugs.gnu.org)
875y4nqbk4.fsf@gmail.com
Hi Simon,

Simon Tournier <zimon.toutoune@gmail.com> writes:

Toggle quote (3 lines)
> Reported by Maxim Cournoyer <maxim.cournoyer@gmail.com>.

nitpick: 'Reported-by:' is a Git trailing (message tag); it should
appear at the bottom of the commit message for Git tools to correctly
parse it.

Toggle quote (17 lines)
> * guix/packages.scm (package-field-location): Add package/inherit case.
> ---
> guix/packages.scm | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/guix/packages.scm b/guix/packages.scm
> index ba98bb0fb484..821eddb72d5d 100644
> --- a/guix/packages.scm
> +++ b/guix/packages.scm
> @@ -761,7 +761,8 @@ (define (package-field-location package field)
> (lambda (port)
> (go-to-location port line column)
> (match (read port)
> - (('package inits ...)
> + ((or ('package inits ...)
> + ('package/inherit inits ...))

I tested it in 'guix repl' for zxing-cpp-1.2, and something didn't go
well:

Toggle snippet (22 lines)
scheme@(guix-user)> ,use (guix packages)
scheme@(guix-user)> ,use (gnu packages aidc)
scheme@(guix-user)> zxing-cpp-1.2
$1 = #<package zxing-cpp@1.2.0 gnu/packages/aidc.scm:76 7f4b56450d10>
scheme@(guix-user)> (package-field-location $1 'version)
ice-9/boot-9.scm:1685:16: In procedure raise-exception:
In procedure assoc: Wrong type argument: zxing-cpp

Entering a new prompt. Type `,bt' for a backtrace or `,q' to continue.
scheme@(guix-user) [1]> ,bt
In ice-9/boot-9.scm:
1747:15 4 (with-exception-handler #<procedure 7f4b58de8480 at ice-9/boot-9.scm:1831:7 (exn)> _ # _ # …)
In ice-9/ports.scm:
433:17 3 (call-with-input-file _ _ #:binary _ #:encoding _ #:guess-encoding _)
In guix/packages.scm:
766:32 2 (_ _)
In srfi/srfi-1.scm:
241:2 1 (assoc _ _ _)
In ice-9/boot-9.scm:
1685:16 0 (raise-exception _ #:continuable? _)

I modified it like:

Toggle snippet (12 lines)
modified guix/packages.scm
@@ -762,7 +762,7 @@ (define (package-field-location package field)
(go-to-location port line column)
(match (read port)
((or ('package inits ...)
- ('package/inherit parent inits ...))
+ ('package/inherit _ inits ...))
(let ((field (assoc field inits)))
(match field
((_ value)

And it now works; yay! Will install shortly.

--
Thanks,
Maxim
Closed
S
S
Simon Tournier wrote on 7 Sep 2023 00:01
Re: bug#65757: [PATCH] guix: packages: Support package/inherit by package-field-location.
(name . Maxim Cournoyer)(address . maxim.cournoyer@gmail.com)(address . 65757-done@debbugs.gnu.org)
87fs3rm05c.fsf@gmail.com
Hi Maxim,

On Wed, 06 Sep 2023 at 16:41, Maxim Cournoyer <maxim.cournoyer@gmail.com> wrote:

Toggle quote (15 lines)
> --8<---------------cut here---------------start------------->8---
> modified guix/packages.scm
> @@ -762,7 +762,7 @@ (define (package-field-location package field)
> (go-to-location port line column)
> (match (read port)
> ((or ('package inits ...)
> - ('package/inherit parent inits ...))
> + ('package/inherit _ inits ...))
> (let ((field (assoc field inits)))
> (match field
> ((_ value)
> --8<---------------cut here---------------end--------------->8---
>
> And it now works; yay! Will install shortly.

Oops! Indeed, sorry for missing the obvious. Thanks for the fix.

Cheers,
simon

PS: For the record, the change you made is:

- ('package/inherit inits ...))
+ ('package/inherit _ inits ...))

because the one above would be equivalent :-) – if I understand enough
Guile patterning matching.
Closed
M
M
Maxim Cournoyer wrote on 7 Sep 2023 03:55
(name . Simon Tournier)(address . zimon.toutoune@gmail.com)(address . 65757-done@debbugs.gnu.org)
871qfapx00.fsf@gmail.com
Hi,

Simon Tournier <zimon.toutoune@gmail.com> writes:

Toggle quote (32 lines)
> Hi Maxim,
>
> On Wed, 06 Sep 2023 at 16:41, Maxim Cournoyer <maxim.cournoyer@gmail.com> wrote:
>
>> --8<---------------cut here---------------start------------->8---
>> modified guix/packages.scm
>> @@ -762,7 +762,7 @@ (define (package-field-location package field)
>> (go-to-location port line column)
>> (match (read port)
>> ((or ('package inits ...)
>> - ('package/inherit parent inits ...))
>> + ('package/inherit _ inits ...))
>> (let ((field (assoc field inits)))
>> (match field
>> ((_ value)
>> --8<---------------cut here---------------end--------------->8---
>>
>> And it now works; yay! Will install shortly.
>
> Oops! Indeed, sorry for missing the obvious. Thanks for the fix.
>
> Cheers,
> simon
>
> PS: For the record, the change you made is:
>
> - ('package/inherit inits ...))
> + ('package/inherit _ inits ...))
>
> because the one above would be equivalent :-) – if I understand enough
> Guile patterning matching.

The one with 'parent' was working as well, but because the binding was
never used, Guile was emitting a warning, silence by renaming 'parent'
to '_' :-).

--
Thanks,
Maxim
Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 65757@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 65757
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch