summaryrefslogtreecommitdiff
path: root/guix
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2015-05-05 13:46:20 +0200
committerLudovic Courtès <ludo@gnu.org>2015-05-05 15:13:57 +0200
commitc4e8d513f2048bd7ca3b57c73c2b217a349e7b46 (patch)
tree6255e9e109d0398517f9908b4526bba1e4f555c1 /guix
parent099a2c70558b1372a64cb53a646986469cf9ba47 (diff)
gnu-maintenance: 'gnu-package?' returns #t for R and for GNOME packages.
Reported by John Darrington. * guix/gnu-maintenance.scm (gnu-package?)[mirror-type]: Add "gnome" to the list of GNU mirrors. Return #f for "cran".
Diffstat (limited to 'guix')
-rw-r--r--guix/gnu-maintenance.scm17
1 files changed, 13 insertions, 4 deletions
diff --git a/guix/gnu-maintenance.scm b/guix/gnu-maintenance.scm
index 0528e9f253..5cdda28bc7 100644
--- a/guix/gnu-maintenance.scm
+++ b/guix/gnu-maintenance.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2010, 2011, 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2010, 2011, 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2012, 2013 Nikita Karetnikov <nikita@karetnikov.org>
;;;
;;; This file is part of GNU Guix.
@@ -179,9 +179,18 @@ network to check in GNU's database."
(define (mirror-type url)
(let ((uri (string->uri url)))
(and (eq? (uri-scheme uri) 'mirror)
- (if (member (uri-host uri) '("gnu" "gnupg" "gcc"))
- 'gnu
- 'non-gnu))))
+ (cond
+ ((member (uri-host uri)
+ '("gnu" "gnupg" "gcc" "gnome"))
+ ;; Definitely GNU.
+ 'gnu)
+ ((equal? (uri-host uri) "cran")
+ ;; Possibly GNU: mirror://cran could be either GNU R itself
+ ;; or a non-GNU package.
+ #f)
+ (else
+ ;; Definitely non-GNU.
+ 'non-gnu)))))
(let ((url (and=> (package-source package) origin-uri))
(name (package-name package)))