guix search reports bad location for bytestructures

  • Open
  • quality assurance status badge
Details
2 participants
  • Ludovic Courtès
  • Matt Wette
Owner
unassigned
Submitted by
Matt Wette
Severity
normal
M
M
Matt Wette wrote on 31 Jan 2020 23:07
(address . bug-guix@gnu.org)
52d09f27-9b5f-8f8d-1f11-04d1e05e2239@gmail.com
I'm using guix-1.0.1 on Fedora 30, x86_64.

I wanted to get module spec for bytestructures, but failed:
location points to (guix packages), but it's actually in (gnu packages
guile).

$ guix search bytestructures
name: guile3.0-bytestructures
version: 1.0.7
outputs: out
systems: x86_64-linux i686-linux
dependencies: autoconf@2.69 automake@1.16.1 guile-next@3.0.0
pkg-config@0.29.2
location: guix/packages.scm:880:11
license: GPL 3+
synopsis: Structured access to bytevector contents for Guile
description: Guile bytestructures offers a system imitating the type
system of
+ the C programming language, to be used on bytevectors.  C's type
system works
+ on raw memory, and Guile works on bytevectors which are an abstraction
over
+ raw memory.  It's also more powerful than the C type system, elevating
types
+ to first-class status.
relevance: 6

$ guix repl
scheme@(guix-user)> guile3.0-bytestructures
;;; <unknown-location>: warning: possibly unbound variable
`guile3.0-bytestructures'
ERROR: error: guile3.0-bytestructures: unbound variable

Entering a new prompt.  Type `,bt' for a backtrace or `,q' to continue.
scheme@(guix-user) [1]> ,use (gnu packages guile)
scheme@(guix-user) [1]> guile3.0-bytestructures
$1 = #<package guile3.0-bytestructures@1.0.7 guix/packages.scm:880
7f639f9532c0>
L
L
Ludovic Courtès wrote on 2 Feb 2020 23:52
(name . Matt Wette)(address . matt.wette@gmail.com)(address . 39377@debbugs.gnu.org)
87r1zc38li.fsf@gnu.org
Hi Matt,

Matt Wette <matt.wette@gmail.com> skribis:

Toggle quote (15 lines)
> I'm using guix-1.0.1 on Fedora 30, x86_64.
>
> I wanted to get module spec for bytestructures, but failed:
> location points to (guix packages), but it's actually in (gnu packages
> guile).
>
> $ guix search bytestructures
> name: guile3.0-bytestructures
> version: 1.0.7
> outputs: out
> systems: x86_64-linux i686-linux
> dependencies: autoconf@2.69 automake@1.16.1 guile-next@3.0.0
> pkg-config@0.29.2
> location: guix/packages.scm:880:11

The location here is that of the ‘package-input-rewriting’ procedure,
which is used to define this “guile3.0-” variant. But note that
‘guile-bytestructures’ has the right location info:

Toggle snippet (9 lines)
$ guix show guile-bytestructures
name: guile-bytestructures
version: 1.0.7
outputs: out
systems: x86_64-linux i686-linux
dependencies: autoconf@2.69 automake@1.16.1 guile@2.2.6 pkg-config@0.29.2
location: gnu/packages/guile.scm:594:2

We could arrange so that ‘package-input-rewriting’ preserves source
location info (that would still be somewhat inaccurate, but hopefully
less misleading.)

Ludo’.
?