~ruther/guix-local

572bcdf0bcd483b168110cb7d25dd6ad28ab9172 — Ludovic Courtès 11 years ago 14e84b2
list-packages: Handle 'origin' patches.

* build-aux/list-packages.scm (package->sxml)[patches]: Handle the case
  where PATCH is an 'origin'.
1 files changed, 20 insertions(+), 5 deletions(-)

M build-aux/list-packages.scm
M build-aux/list-packages.scm => build-aux/list-packages.scm +20 -5
@@ 100,10 100,25 @@ decreasing, is 1."
    (->sxml (package-license package)))

  (define (patches package)
    (define (patch-url patch)
      (string-append
       "http://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/patches/"
       (basename patch)))
    (define patch-url
      (match-lambda
       ((? string? patch)
        (string-append
         "http://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/patches/"
         (basename patch)))
       ((? origin? patch)
        (match (origin-uri patch)
          ((? string? uri) uri)
          ((head . tail) head)))))

    (define patch-name
      (match-lambda
       ((? string? patch)
        (basename patch))
       ((? origin? patch)
        (match (origin-uri patch)
          ((? string? uri) (basename uri))
          ((head . tail) (basename head))))))

    (define (snippet-link snippet)
      (let ((loc (or (package-field-location package 'source)


@@ 134,7 149,7 @@ decreasing, is 1."
                                  (cons `(a (@ (href ,(patch-url patch))
                                               (title ,(string-append
                                                        "Link to "
                                                        (basename patch))))
                                                        (patch-name patch))))
                                            ,(number->string number))
                                        links))))))))))