diff options
author | Ludovic Courtès <ludo@gnu.org> | 2017-09-25 23:58:02 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2017-09-26 00:35:06 +0200 |
commit | c1d8b3b3b5af8282328b87dd7a8d09357cbb0af7 (patch) | |
tree | 08f03083be66a068e18c45e0936fa709228d606e /guix/gnu-maintenance.scm | |
parent | 97abc90733270c4be5ce1f51e5e757d43787950b (diff) | |
download | guix-patches-c1d8b3b3b5af8282328b87dd7a8d09357cbb0af7.tar guix-patches-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.scm | 54 |
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) |