gnu: Add a 'update-mozilla-locales' helper for maintenance.
* gnu/packages/gnuzilla.scm (update-mozilla-locales): New procedure.
This commit is contained in:
parent
636b771536
commit
f4a932cbd7
1 changed files with 19 additions and 1 deletions
|
@ -37,6 +37,7 @@
|
|||
|
||||
(define-module (gnu packages gnuzilla)
|
||||
#:use-module ((srfi srfi-1) #:hide (zip))
|
||||
#:use-module (ice-9 format)
|
||||
#:use-module (ice-9 match)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
|
@ -91,7 +92,8 @@
|
|||
#:use-module (gnu packages xiph)
|
||||
#:use-module (gnu packages xdisorg)
|
||||
#:use-module (gnu packages readline)
|
||||
#:use-module (gnu packages sqlite))
|
||||
#:use-module (gnu packages sqlite)
|
||||
#:autoload (json parser) (json->scm))
|
||||
|
||||
(define-public mozjs
|
||||
(package
|
||||
|
@ -348,6 +350,10 @@ in C/C++.")
|
|||
(inputs
|
||||
(list icu4c readline zlib))))
|
||||
|
||||
|
||||
;;;
|
||||
;;; Localization helper procedures.
|
||||
;;;
|
||||
(define mozilla-compare-locales
|
||||
(origin
|
||||
(method hg-fetch)
|
||||
|
@ -371,6 +377,18 @@ in C/C++.")
|
|||
(list (mozilla-locale locale changeset hash-string)
|
||||
...))
|
||||
|
||||
(define (update-mozilla-locales changesets.json)
|
||||
"Output a new list of Mozilla locales, to update the ALL-MOZILLA-LOCALES
|
||||
variable defined below. It requires guile-json to be installed."
|
||||
(match (call-with-input-file changesets.json json->scm)
|
||||
(((lang ("revision" . revision) platforms pin) ...)
|
||||
(let ((data (reverse (map (lambda (rev lang)
|
||||
`(,(list->string (make-list 40 #\0))
|
||||
,(string-take rev 12) ,lang))
|
||||
revision lang))))
|
||||
(format #t "~{~s~%~}" data)
|
||||
data))))
|
||||
|
||||
(define all-mozilla-locales
|
||||
(mozilla-locales
|
||||
;; sha256 changeset locale
|
||||
|
|
Reference in a new issue