[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
11/75: gnu-maintenance: Add X.org updater.
From: |
Mark H. Weaver |
Subject: |
11/75: gnu-maintenance: Add X.org updater. |
Date: |
Wed, 24 Feb 2016 16:51:30 +0000 |
mhw pushed a commit to branch media-updates
in repository guix.
commit 62061d6be3614dd84a1d0034dd5946f7e54fbaea
Author: Andy Wingo <address@hidden>
Date: Thu Feb 18 20:50:02 2016 +0100
gnu-maintenance: Add X.org updater.
* guix/gnu-maintenance.scm (xorg-package?, latest-xorg-release): New
private functions.
(%xorg-updater): New public variable.
* guix/scripts/refresh.scm (%updaters): Add %xorg-updater.
* doc/guix.texi (Invoking guix refresh): Mention the new updater.
---
doc/guix.texi | 2 ++
guix/gnu-maintenance.scm | 37 ++++++++++++++++++++++++++++++++++++-
guix/scripts/refresh.scm | 3 ++-
3 files changed, 40 insertions(+), 2 deletions(-)
diff --git a/doc/guix.texi b/doc/guix.texi
index ec05461..15b36f9 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -4616,6 +4616,8 @@ list of updaters). Currently, @var{updater} may be one
of:
the updater for GNU packages;
@item gnome
the updater for GNOME packages;
address@hidden xorg
+the updater for X.org packages;
@item elpa
the updater for @uref{http://elpa.gnu.org/, ELPA} packages;
@item cran
diff --git a/guix/gnu-maintenance.scm b/guix/gnu-maintenance.scm
index 96fbfb7..9d720ca 100644
--- a/guix/gnu-maintenance.scm
+++ b/guix/gnu-maintenance.scm
@@ -33,6 +33,7 @@
#:use-module (guix records)
#:use-module (guix upstream)
#:use-module (guix packages)
+ #:use-module (gnu packages)
#:export (gnu-package-name
gnu-package-mundane-name
gnu-package-copyright-holder
@@ -57,7 +58,8 @@
gnu-package-name->name+version
%gnu-updater
- %gnome-updater))
+ %gnome-updater
+ %xorg-updater))
;;; Commentary:
;;;
@@ -508,6 +510,32 @@ elpa.gnu.org, and all the GNOME packages."
;; checksums.
#:file->signature (const #f))))
+(define (xorg-package? package)
+ "Return true if PACKAGE is an X.org package, developed by X.org."
+ (define xorg-uri?
+ (match-lambda
+ ((? string? uri)
+ (string-prefix? "mirror://xorg/" uri))
+ (_
+ #f)))
+
+ (match (package-source package)
+ ((? origin? origin)
+ (match (origin-uri origin)
+ ((? xorg-uri?) #t)
+ (_ #f)))
+ (_ #f)))
+
+(define (latest-xorg-release package)
+ "Return the latest release of PACKAGE, the name of an X.org package."
+ (let ((uri (string->uri (origin-uri (package-source (specification->package
package))))))
+ (false-if-ftp-error
+ (latest-ftp-release
+ package
+ #:server "ftp.freedesktop.org"
+ #:directory
+ (string-append "/pub/xorg/" (dirname (uri-path uri)))))))
+
(define %gnu-updater
(upstream-updater
(name 'gnu)
@@ -522,4 +550,11 @@ elpa.gnu.org, and all the GNOME packages."
(pred gnome-package?)
(latest latest-gnome-release)))
+(define %xorg-updater
+ (upstream-updater
+ (name 'xorg)
+ (description "Updater for X.org packages")
+ (pred xorg-package?)
+ (latest latest-xorg-release)))
+
;;; gnu-maintenance.scm ends here
diff --git a/guix/scripts/refresh.scm b/guix/scripts/refresh.scm
index 9ddde2d..bbc3521 100644
--- a/guix/scripts/refresh.scm
+++ b/guix/scripts/refresh.scm
@@ -32,7 +32,7 @@
#:use-module (guix scripts graph)
#:use-module (guix monads)
#:use-module ((guix gnu-maintenance)
- #:select (%gnu-updater %gnome-updater))
+ #:select (%gnu-updater %gnome-updater %xorg-updater))
#:use-module (guix import elpa)
#:use-module (guix import cran)
#:use-module (guix gnupg)
@@ -194,6 +194,7 @@ unavailable optional dependencies such as Guile-JSON."
;; List of "updaters" used by default. They are consulted in this order.
(list-updaters %gnu-updater
%gnome-updater
+ %xorg-updater
%elpa-updater
%cran-updater
%bioconductor-updater
- 24/75: gnu: mkfontscale: Update to 1.1.2., (continued)
- 24/75: gnu: mkfontscale: Update to 1.1.2., Mark H. Weaver, 2016/02/24
- 28/75: gnu: smproxy: Update to 1.0.6., Mark H. Weaver, 2016/02/24
- 09/75: gnu: libvpx: Update to 1.5.0., Mark H. Weaver, 2016/02/24
- 29/75: gnu: x11perf: Update to 1.6.0., Mark H. Weaver, 2016/02/24
- 32/75: gnu: xdriinfo: Update to 1.0.5., Mark H. Weaver, 2016/02/24
- 33/75: gnu: xev: Update to 1.2.2., Mark H. Weaver, 2016/02/24
- 36/75: gnu: xf86-input-keyboard: Update to 1.8.1., Mark H. Weaver, 2016/02/24
- 39/75: gnu: xf86-video-ati: Update to 7.6.1., Mark H. Weaver, 2016/02/24
- 35/75: gnu: xf86-input-libinput: Update to 0.16.0., Mark H. Weaver, 2016/02/24
- 16/75: gnu: font-util: Update to 1.3.1., Mark H. Weaver, 2016/02/24
- 11/75: gnu-maintenance: Add X.org updater.,
Mark H. Weaver <=
- 18/75: gnu: kbproto: Update to 1.0.7., Mark H. Weaver, 2016/02/24
- 64/75: gnu: libxp: Update to 1.0.3., Mark H. Weaver, 2016/02/24
- 70/75: gnu: libxxf86vm: Update to 1.1.4., Mark H. Weaver, 2016/02/24
- 69/75: gnu: libxvmc: Update to 1.0.9., Mark H. Weaver, 2016/02/24
- 60/75: gnu: xkeyboard-config: Update to 2.17., Mark H. Weaver, 2016/02/24
- 61/75: gnu: xlsatoms: Update to 1.1.2., Mark H. Weaver, 2016/02/24
- 42/75: gnu: xf86-video-intel: Update to git snapshot e41040f., Mark H. Weaver, 2016/02/24
- 53/75: gnu: xf86-video-vesa: Update to 2.3.4., Mark H. Weaver, 2016/02/24
- 54/75: gnu: xf86-video-vmware: Update to 13.1.0., Mark H. Weaver, 2016/02/24
- 38/75: gnu: xf86-input-void: Update to 1.4.1., Mark H. Weaver, 2016/02/24