~ruther/guix-local

6715e1ff2e09af3208f8f2a108ca100798ca1058 — Ludovic Courtès 9 years ago 38cb476
gnu-maintenance: 'gnu-package?' ignores invalid URLs.

* guix/gnu-maintenance.scm (gnu-package?)[gnu-home-page?]: Add '>>'
threading macro and use it.
1 files changed, 11 insertions(+), 5 deletions(-)

M guix/gnu-maintenance.scm
M guix/gnu-maintenance.scm => guix/gnu-maintenance.scm +11 -5
@@ 187,11 187,17 @@ network to check in GNU's database."
                  'non-gnu)))))

       (define (gnu-home-page? package)
         (and=> (package-home-page package)
                (lambda (url)
                  (and=> (uri-host (string->uri url))
                         (lambda (host)
                           (member host '("www.gnu.org" "gnu.org")))))))
         (letrec-syntax ((>> (syntax-rules ()
                               ((_ value proc)
                                (and=> value proc))
                               ((_ value proc rest ...)
                                (and=> value
                                       (lambda (next)
                                         (>> (proc next) rest ...)))))))
           (>> package package-home-page
               string->uri uri-host
               (lambda (host)
                 (member host '("www.gnu.org" "gnu.org"))))))

       (or (gnu-home-page? package)
           (let ((url  (and=> (package-source package) origin-uri))