maint: Add update manifest for CI.

* etc/manifests/rosenthal-auto-update.scm: New file.
This commit is contained in:
Hilton Chain 2025-06-11 12:57:19 +08:00
parent c6228682d6
commit 5739b4de2c
No known key found for this signature in database
GPG Key ID: ACC66D09CA528292
5 changed files with 71 additions and 9 deletions

View File

@ -0,0 +1,52 @@
;;; SPDX-FileCopyrightText: 2024-2025 Ludovic Courtès <ludo@gnu.org>
;;; SPDX-FileCopyrightText: 2025 Hilton Chain <hako@ultrarare.space>
;;;
;;; SPDX-License-Identifier: GPL-3.0-or-later
(use-modules (guix memoization)
(guix packages)
(guix profiles)
(guix store)
(guix transformations)
(rosenthal utils packages)
((guix import github) #:select (%github-api))
((guix scripts build) #:select (dependents)))
;; Bypass the GitHub updater: we'd need an API token or we would hit the rate
;; limit.
(%github-api "http://example.org")
(define latest-version
(mlambdaq (package)
(package-with-upstream-version package
;; Preserve patches and snippets to get
;; exactly the same as what we'd have with
;; 'guix refresh -u PACKAGE'.
#:preserve-patches? #t
;; XXX: Disable source code authentication:
;; this requires a local keyring, populated
;; from key servers, but key servers may be
;; unreliable or may lack the upstream
;; keys. Leave it up to packagers to
;; actually authenticate code and make sure
;; it matches what this manifest computed.
#:authenticate? #f)))
(define updatable-packages
(filter (negate rosenthal-disable-updater?)
(all-rosenthal-packages)))
(manifest
(with-store store
(let ((update-all (package-input-rewriting
(map (lambda (package)
`(,package . ,(latest-version package)))
updatable-packages)
#:recursive? #t)))
(map (lambda (package)
(manifest-entry
(inherit (package->manifest-entry
(update-all package)))
(name (string-append (package-name package) "-full-upgrade"))))
(dependents store updatable-packages 2)))))

View File

@ -62,7 +62,8 @@ the user to manage services with dependencies and parallel startup.")
((#:configure-flags configure-flags) ((#:configure-flags configure-flags)
#~(append #$configure-flags #~(append #$configure-flags
(list "-Dlibseat-logind=disabled"))))) (list "-Dlibseat-logind=disabled")))))
(propagated-inputs '())))) (propagated-inputs '())
(properties '((disable-updater? . #t))))))
(define-public pam-dumb-runtime-dir (define-public pam-dumb-runtime-dir
(package (package
@ -111,4 +112,5 @@ exists and is only writable by root.")
((#:configure-flags configure-flags) ((#:configure-flags configure-flags)
#~(append #$configure-flags #~(append #$configure-flags
(list "-Dlibseat-logind=disabled"))))) (list "-Dlibseat-logind=disabled")))))
(propagated-inputs '())))) (propagated-inputs '())
(properties '((disable-updater? . #t))))))

View File

@ -153,7 +153,8 @@ exec ~a -jar ~a $@~%"
"Komga is a media server for your comics, mangas, BDs, magazines and "Komga is a media server for your comics, mangas, BDs, magazines and
eBooks.") eBooks.")
(license license:expat) (license license:expat)
(properties '((upstream-name . "komga"))))) (properties '((upstream-name . "komga")
(disable-updater? . #t)))))
(define-public navidrome-bin (define-public navidrome-bin
(package (package
@ -179,7 +180,8 @@ eBooks.")
manage their music collections. It provides a web interface and is compatible manage their music collections. It provides a web interface and is compatible
with the Subsonic API.") with the Subsonic API.")
(license license:expat) (license license:expat)
(properties '((upstream-name . "navidrome"))))) (properties '((upstream-name . "navidrome")
(disable-updater? . #t)))))
(define-public shadow-tls-bin (define-public shadow-tls-bin
(package (package
@ -209,7 +211,8 @@ with the Subsonic API.")
"Shadow TLS is a proxy to expose real tls handshake to the @acronym{MITM, "Shadow TLS is a proxy to expose real tls handshake to the @acronym{MITM,
monster-in-the-middle}.") monster-in-the-middle}.")
(license license:expat) (license license:expat)
(properties '((upstream-name . "shadow-tls"))))) (properties '((upstream-name . "shadow-tls")
(disable-updater? . #t)))))
(define-public sing-box-bin (define-public sing-box-bin
(deprecated-package "sing-box-bin" sing-box)) (deprecated-package "sing-box-bin" sing-box))
@ -239,7 +242,8 @@ monster-in-the-middle}.")
"This package provides @code{wakapi}, a WakaTime-compatible backend for "This package provides @code{wakapi}, a WakaTime-compatible backend for
coding statistics.") coding statistics.")
(license license:expat) (license license:expat)
(properties '((upstream-name . "wakapi"))))) (properties '((upstream-name . "wakapi")
(disable-updater? . #t)))))
(define-public wakatime-cli-bin (define-public wakatime-cli-bin
(package (package
@ -265,4 +269,5 @@ coding statistics.")
"This package provides @command{wakatime-cli}, the command line interface "This package provides @command{wakatime-cli}, the command line interface
to WakaTime, which is used by all WakaTime text editor plugins.") to WakaTime, which is used by all WakaTime text editor plugins.")
(license license:bsd-3) (license license:bsd-3)
(properties '((upstream-name . "wakatime-cli"))))) (properties '((upstream-name . "wakatime-cli")
(disable-updater? . #t)))))

View File

@ -97,7 +97,8 @@ website owners block unwanted AI crawlers from accessing their sites.")
"Anubis checks incoming HTTP requests using one or more challenges in "Anubis checks incoming HTTP requests using one or more challenges in
order to protect upstream resources from web crawlers.") order to protect upstream resources from web crawlers.")
(license license:expat) (license license:expat)
(properties '((upstream-name . "anubis"))))) (properties '((upstream-name . "anubis")
(disable-updater? . #t)))))
(define-public caddy (define-public caddy
(package (package

View File

@ -51,4 +51,6 @@
Wayland compositor implementing @code{xdg_wm_base} interface. This is Wayland compositor implementing @code{xdg_wm_base} interface. This is
particularly useful for compositors that (understandably) do not want to go particularly useful for compositors that (understandably) do not want to go
through implementing support for rootless Xwayland themselves.") through implementing support for rootless Xwayland themselves.")
(license license:mpl2.0))) (license license:mpl2.0)
(properties
'((disable-updater? . #t)))))