mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-25 05:48:07 -05:00
gnu-maintenance: Use 'home-page' as an additional hint of "GNUness".
Reported by Rastus_Vernon on IRC. Fixes 'gnu-package?' for GNUcash. * guix/gnu-maintenance.scm (gnu-package?)[gnu-home-page?]: New procedure. Use it to determine whether PACKAGE is GNU.
This commit is contained in:
parent
acec3beb05
commit
55d1f529e1
1 changed files with 16 additions and 9 deletions
|
@ -192,15 +192,22 @@ (define (mirror-type url)
|
|||
;; Definitely non-GNU.
|
||||
'non-gnu)))))
|
||||
|
||||
(let ((url (and=> (package-source package) origin-uri))
|
||||
(name (package-name package)))
|
||||
(case (and (string? url) (mirror-type url))
|
||||
((gnu) #t)
|
||||
((non-gnu) #f)
|
||||
(else
|
||||
;; Last resort: resort to the network.
|
||||
(and (member name (map gnu-package-name (official-gnu-packages)))
|
||||
#t))))))))
|
||||
(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")))))))
|
||||
|
||||
(or (gnu-home-page? package)
|
||||
(let ((url (and=> (package-source package) origin-uri))
|
||||
(name (package-name package)))
|
||||
(case (and (string? url) (mirror-type url))
|
||||
((gnu) #t)
|
||||
((non-gnu) #f)
|
||||
(else
|
||||
(and (member name (map gnu-package-name (official-gnu-packages)))
|
||||
#t)))))))))
|
||||
|
||||
|
||||
;;;
|
||||
|
|
Loading…
Reference in a new issue