gnu-maintenance: Add kernel.org updater.
* guix/gnu-maintenance.scm (latest-kernel.org-release): New procedure. (%kernel.org-updater): New variable. * guix/scripts/refresh.scm (%updaters): Add it.master
parent
8d5d06282e
commit
2fd370e816
|
@ -5342,6 +5342,8 @@ the updater for GNOME packages;
|
|||
the updater for KDE packages;
|
||||
@item xorg
|
||||
the updater for X.org packages;
|
||||
@item kernel.org
|
||||
the updater for packages hosted on kernel.org;
|
||||
@item elpa
|
||||
the updater for @uref{http://elpa.gnu.org/, ELPA} packages;
|
||||
@item cran
|
||||
|
|
|
@ -60,7 +60,8 @@
|
|||
%gnu-updater
|
||||
%gnome-updater
|
||||
%kde-updater
|
||||
%xorg-updater))
|
||||
%xorg-updater
|
||||
%kernel.org-updater))
|
||||
|
||||
;;; Commentary:
|
||||
;;;
|
||||
|
@ -532,6 +533,22 @@ source URLs starts with PREFIX."
|
|||
#:directory
|
||||
(string-append "/pub/xorg/" (dirname (uri-path uri)))))))
|
||||
|
||||
(define (latest-kernel.org-release package)
|
||||
"Return the latest release of PACKAGE, the name of a kernel.org package."
|
||||
(let ((uri (string->uri (origin-uri (package-source package)))))
|
||||
(false-if-ftp-error
|
||||
(latest-ftp-release
|
||||
(package-name package)
|
||||
#:server "ftp.free.fr" ;a mirror reachable over FTP
|
||||
#:directory (string-append "/mirrors/ftp.kernel.org"
|
||||
(dirname (uri-path uri)))
|
||||
|
||||
;; kernel.org provides "foo-x.y.tar.sign" files, which are signatures of
|
||||
;; the uncompressed tarball.
|
||||
#:file->signature (lambda (tarball)
|
||||
(string-append (file-sans-extension tarball)
|
||||
".sign"))))))
|
||||
|
||||
(define %gnu-updater
|
||||
(upstream-updater
|
||||
(name 'gnu)
|
||||
|
@ -560,4 +577,11 @@ source URLs starts with PREFIX."
|
|||
(pred (url-prefix-predicate "mirror://xorg/"))
|
||||
(latest latest-xorg-release)))
|
||||
|
||||
(define %kernel.org-updater
|
||||
(upstream-updater
|
||||
(name 'kernel.org)
|
||||
(description "Updater for packages hosted on kernel.org")
|
||||
(pred (url-prefix-predicate "mirror://kernel.org/"))
|
||||
(latest latest-kernel.org-release)))
|
||||
|
||||
;;; gnu-maintenance.scm ends here
|
||||
|
|
|
@ -35,7 +35,8 @@
|
|||
#:select (%gnu-updater
|
||||
%gnome-updater
|
||||
%kde-updater
|
||||
%xorg-updater))
|
||||
%xorg-updater
|
||||
%kernel.org-updater))
|
||||
#:use-module (guix import elpa)
|
||||
#:use-module (guix import cran)
|
||||
#:use-module (guix import hackage)
|
||||
|
@ -200,6 +201,7 @@ unavailable optional dependencies such as Guile-JSON."
|
|||
%gnome-updater
|
||||
%kde-updater
|
||||
%xorg-updater
|
||||
%kernel.org-updater
|
||||
%elpa-updater
|
||||
%cran-updater
|
||||
%bioconductor-updater
|
||||
|
|
Reference in New Issue