From 29d2f451a663ecf48b9a0709edea2ae2a4124f4d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 20 Oct 2016 22:17:07 +0200 Subject: [PATCH] gnu-maintenance: GNOME updater honors 'upstream-name' package property. * guix/gnu-maintenance.scm (latest-gnome-release)[upstream-name]: New variable. Use it as the first argument to 'latest-ftp-release' and when constructing #:directory. * gnu/packages/gnome.scm (gconf)[properties]: New field. (network-manager)[properties]: New field. --- gnu/packages/gnome.scm | 6 ++++-- guix/gnu-maintenance.scm | 11 +++++++---- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 9e41f3a65e..dd8305144b 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -1130,7 +1130,8 @@ use in GNOME applications, built on top of CORBA.") (synopsis "Store application preferences") (description "Gconf is a system for storing application preferences. It is intended for user preferences; not arbitrary data storage.") - (license license:lgpl2.0+))) + (license license:lgpl2.0+) + (properties '((upstream-name . "GConf"))))) (define-public gnome-mime-data @@ -4481,7 +4482,8 @@ devices and connections, attempting to keep active network connectivity when available. It manages ethernet, WiFi, mobile broadband (WWAN), and PPPoE devices, and provides VPN integration with a variety of different VPN services.") - (license license:gpl2+))) + (license license:gpl2+) + (properties '((upstream-name . "NetworkManager"))))) (define-public mobile-broadband-provider-info (package diff --git a/guix/gnu-maintenance.scm b/guix/gnu-maintenance.scm index 20f08027da..78392c9a11 100644 --- a/guix/gnu-maintenance.scm +++ b/guix/gnu-maintenance.scm @@ -483,13 +483,16 @@ elpa.gnu.org, and all the GNOME packages." (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. + (or (assoc-ref (package-properties package) 'upstream-name) + (package-name package))) + (false-if-ftp-error - (latest-ftp-release (package-name package) + (latest-ftp-release upstream-name #:server "ftp.gnome.org" #:directory (string-append "/pub/gnome/sources/" - (match (package-name package) - ("gconf" "GConf") - (x x))) + upstream-name) ;; explains