bug-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#55139: package-location is wrong for transformed packages


From: Ludovic Courtès
Subject: bug#55139: package-location is wrong for transformed packages
Date: Mon, 23 May 2022 15:28:10 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux)

Hi!

Maxim Cournoyer <maxim.cournoyer@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’.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]