GNU bug report logs -
#55139
package-location is wrong for transformed packages
Previous Next
Full log
Message #17 received at 55139 <at> debbugs.gnu.org (full text, mbox):
Hi!
Maxim Cournoyer <maxim.cournoyer <at> gmail.com> skribis:
> Yeah, I ended up with this [0]:
>
> (define (locate-package-via-git name)
> "Return the location object corresponding to package NAME, searched via git."
> (let* ((input-pipe (open-pipe* OPEN_READ
> "git" "grep" "-n" "--column"
> (format #f "^(define-public ~a$" name)))
> (output (get-string-all input-pipe)) ;file:line:column:match
> (exit-val (status:exit-val (close-pipe input-pipe))))
> (case exit-val
> ((0)
> (let ((components (string-split output #\:)))
> (location
> (first components) ;file
> (string->number (second components)) ;1-indexed line
> ;; FIXME: Comment discrepancy in (guix diagnostics), which
> ;; says the column is 0-indexed.
> (and=> (string->number (third components)) 1-)))) ;0-indexed column
> ((1) #f) ;no match
> (else (error "git grep failed with status" exit-val)))))
>
> and it does feel silly to have to shell out to git, but it did the job.
>
> Thanks,
>
> Maxim
>
> [0] https://notabug.org/apteryx/guix-api-examples/src/master/purge-python2-packages.scm#L42
Nice, it’s good to have these examples—and hopefully we’ll soon be able
to remove a whole bunch of ‘python2-’ packages!
As for ‘package-definition-location’, I don’t think we can reasonably do
any better, so I’m tempted to close the bug.
WDYT?
Ludo’.
This bug report was last modified 3 years and 35 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.