summaryrefslogtreecommitdiff
path: root/guix/gnu-maintenance.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2017-09-25 23:58:02 +0200
committerLudovic Courtès <ludo@gnu.org>2017-09-26 00:35:06 +0200
commitc1d8b3b3b5af8282328b87dd7a8d09357cbb0af7 (patch)
tree08f03083be66a068e18c45e0936fa709228d606e /guix/gnu-maintenance.scm
parent97abc90733270c4be5ce1f51e5e757d43787950b (diff)
downloadgnu-guix-c1d8b3b3b5af8282328b87dd7a8d09357cbb0af7.tar
gnu-guix-c1d8b3b3b5af8282328b87dd7a8d09357cbb0af7.tar.gz
upstream: Add new GNOME updater.
Partly fixes <https://bugs.gnu.org/28159>. Reported by Hartmut Goebel <h.goebel@crazy-compilers.com>. * guix/import/gnome.scm: New file. * Makefile.am (MODULES): Add it. * guix/gnu-maintenance.scm (latest-gnome-release) (%gnome-updater): Remove.
Diffstat (limited to 'guix/gnu-maintenance.scm')
-rw-r--r--guix/gnu-maintenance.scm54
1 files changed, 3 insertions, 51 deletions
diff --git a/guix/gnu-maintenance.scm b/guix/gnu-maintenance.scm
index cd7ffeaefd..0de36f2f71 100644
--- a/guix/gnu-maintenance.scm
+++ b/guix/gnu-maintenance.scm
@@ -61,7 +61,6 @@
%gnu-updater
%gnu-ftp-updater
- %gnome-updater
%kde-updater
%xorg-updater
%kernel.org-updater))
@@ -512,6 +511,9 @@ list available from %GNU-FILE-LIST-URI over HTTP(S)."
(values name+version #f)
(values (match:substring match 1) (match:substring match 2)))))
+(define gnome-package?
+ (url-prefix-predicate "mirror://gnome/"))
+
(define (pure-gnu-package? package)
"Return true if PACKAGE is a non-Emacs and non-GNOME GNU package. This
excludes AucTeX, for instance, whose releases are now uploaded to
@@ -525,49 +527,6 @@ releases are on gnu.org."
(define gnu-hosted?
(url-prefix-predicate "mirror://gnu/"))
-(define gnome-package?
- (url-prefix-predicate "mirror://gnome/"))
-
-(define (latest-gnome-release package)
- "Return the latest release of PACKAGE, the name of a GNOME package."
- (define %not-dot
- (char-set-complement (char-set #\.)))
-
- (define (even-minor-version? version)
- (match (string-tokenize version %not-dot)
- (((= string->number major) (= string->number minor) . rest)
- (and minor (even? minor)))
- (_
- #t))) ;cross fingers
-
- (define (even-numbered? file)
- ;; Return true if FILE somehow denotes an even-numbered file name. The
- ;; trick here is that we want this to match both directories such as
- ;; "3.18.6" and actual file names such as "gtk+-3.18.6.tar.bz2".
- (let-values (((name version) (package-name->name+version file)))
- (even-minor-version? (or version name))))
-
- (define upstream-name
- ;; Some packages like "NetworkManager" have camel-case names.
- (package-upstream-name package))
-
- (false-if-ftp-error
- (latest-ftp-release upstream-name
- #:server "ftp.gnome.org"
- #:directory (string-append "/pub/gnome/sources/"
- upstream-name)
-
-
- ;; <https://www.gnome.org/gnome-3/source/> explains
- ;; that odd minor version numbers represent development
- ;; releases, which we are usually not interested in.
- #:keep-file? even-numbered?
-
- ;; ftp.gnome.org provides no signatures, only
- ;; checksums.
- #:file->signature (const #f))))
-
-
(define (latest-kde-release package)
"Return the latest release of PACKAGE, the name of an KDE.org package."
(let ((uri (string->uri (origin-uri (package-source package)))))
@@ -624,13 +583,6 @@ releases are on gnu.org."
(pure-gnu-package? package))))
(latest latest-release*)))
-(define %gnome-updater
- (upstream-updater
- (name 'gnome)
- (description "Updater for GNOME packages")
- (pred gnome-package?)
- (latest latest-gnome-release)))
-
(define %kde-updater
(upstream-updater
(name 'kde)