mirror of
https://codeberg.org/hako/Rosenthal.git
synced 2025-01-11 04:45:24 +00:00
4ef2eb9ad1
* guix/import/rosenthal-updaters.scm: New file.
42 lines
1.5 KiB
Scheme
42 lines
1.5 KiB
Scheme
(define-module (guix import rosenthal-updaters)
|
|
#:use-module (ice-9 regex)
|
|
#:use-module (rnrs bytevectors)
|
|
#:use-module (srfi srfi-71)
|
|
#:use-module (web client)
|
|
|
|
#:use-module (guix packages)
|
|
#:use-module (guix upstream)
|
|
#:export (%cloudflare-warp-updater))
|
|
|
|
(define* (cloudflare-warp-import pkg #:key (version #f))
|
|
(let* ((source-uri (assq-ref (package-properties pkg) 'release-monitoring-url))
|
|
(response content (http-get source-uri))
|
|
(content (utf8->string content))
|
|
(name (package-upstream-name pkg))
|
|
(newest-version
|
|
(or version
|
|
(match:substring
|
|
(string-match "\nVersion: (.*)\nLicense" content)
|
|
1)))
|
|
(url
|
|
(if version
|
|
(string-append "https://pkg.cloudflareclient.com/"
|
|
"pool/bookworm/main/c/cloudflare-warp/"
|
|
"cloudflare-warp_" version "_amd64.deb")
|
|
(string-append "https://pkg.cloudflareclient.com/"
|
|
(match:substring
|
|
(string-match "\nFilename: (.*)\nSize" content)
|
|
1)))))
|
|
(upstream-source
|
|
(package name)
|
|
(version newest-version)
|
|
(urls (list url)))))
|
|
|
|
(define %cloudflare-warp-updater
|
|
(upstream-updater
|
|
(name 'cloudflare-warp)
|
|
(description "Updater for Cloudflare WARP client")
|
|
(pred (lambda (package)
|
|
(string=? "cloudflare-warp" (package-upstream-name package))))
|
|
(import cloudflare-warp-import)))
|