gnu: localed: Modernize.

* gnu/packages/freedesktop.scm (localed) [arguments]: Use gexps.
[native-inputs, inputs]: Use modify-inputs and drop labels.

Change-Id: I01f06685cd3b9d731dd36f27c32da8ecce0eb2c7
This commit is contained in:
Maxim Cournoyer 2025-03-23 22:58:08 +09:00 committed by Christopher Baines
parent d262248c55
commit 383f7f5c89
No known key found for this signature in database
GPG key ID: 5E28A33B0B84F577

View file

@ -1122,22 +1122,24 @@ This library provides just sd-bus (and the busctl utility).")
"idn" "idn"
"nss-myhostname" "nss-myhostname"
"nss-systemd"))) "nss-systemd")))
`(#:configure-flags ',(map (lambda (component) (list
#:configure-flags #~(list
#$@(map (lambda (component)
(string-append "-D" component "=false")) (string-append "-D" component "=false"))
(delete "localed" components)) (delete "localed" components)))
;; It doesn't make sense to test all of systemd. ;; It doesn't make sense to test all of systemd.
#:tests? #f #:tests? #f
#:phases #:phases
(modify-phases %standard-phases #~(modify-phases %standard-phases
(add-after 'unpack 'set-xkeyboard-config-file-name (add-after 'unpack 'set-xkeyboard-config-file-name
(lambda* (#:key inputs #:allow-other-keys) (lambda _
;; Set the file name to xkeyboard-config and kbd. ;; Set the file name to xkeyboard-config and kbd.
;; This is used by 'localectl list-x11-keymap-layouts' ;; This is used by 'localectl list-x11-keymap-layouts'
;; and similar functions. ;; and similar functions.
(let ((xkb (assoc-ref inputs "xkeyboard-config")) (let ((xkb #$(this-package-input "xkeyboard-config"))
(kbd (assoc-ref inputs "kbd"))) (kbd #$(this-package-input "kbd")))
(substitute* "src/locale/localectl.c" (substitute* "src/locale/localectl.c"
(("/usr/share/X11/xkb/rules") (("/usr/share/X11/xkb/rules")
(string-append xkb "/share/X11/xkb/rules"))) (string-append xkb "/share/X11/xkb/rules")))
@ -1145,10 +1147,10 @@ This library provides just sd-bus (and the busctl utility).")
(("/usr/share/keymaps") (("/usr/share/keymaps")
(string-append kbd "/share/keymaps")))))) (string-append kbd "/share/keymaps"))))))
(replace 'install (replace 'install
(lambda* (#:key outputs #:allow-other-keys) (lambda _
;; Install 'localed', the D-Bus and polkit files, and ;; Install 'localed', the D-Bus and polkit files, and
;; 'localectl'. ;; 'localectl'.
(let* ((out (assoc-ref outputs "out")) (let* ((out #$output)
(libexec (string-append out "/libexec/localed")) (libexec (string-append out "/libexec/localed"))
(bin (string-append out "/bin")) (bin (string-append out "/bin"))
(lib (string-append out "/lib")) (lib (string-append out "/lib"))
@ -1167,16 +1169,13 @@ This library provides just sd-bus (and the busctl utility).")
(string-append libexec "/localed")) (string-append libexec "/localed"))
(install-file "localectl" bin) (install-file "localectl" bin)
(let ((service-file (source-file (let ((service-file (source-file "\\.locale1\\.service$")))
"\\.locale1\\.service$")))
(substitute* service-file (substitute* service-file
(("^Exec=.*$") (("^Exec=.*$")
(string-append "Exec=" libexec "/localed\n"))) (string-append "Exec=" libexec "/localed\n")))
(install-file service-file dbus)) (install-file service-file dbus))
(install-file (source-file "\\.locale1\\.policy$") (install-file (source-file "\\.locale1\\.policy$") polkit)
polkit) (install-file (source-file "\\.locale1\\.conf$") conf)
(install-file (source-file "\\.locale1\\.conf$")
conf)
(for-each (lambda (file) (for-each (lambda (file)
(install-file file lib)) (install-file file lib))
(find-files "src/shared" (find-files "src/shared"
@ -1188,12 +1187,14 @@ This library provides just sd-bus (and the busctl utility).")
(find-files (find-files
".." ".."
"^(kbd-model-map|language-fallback-map)$"))))))))) "^(kbd-model-map|language-fallback-map)$")))))))))
(native-inputs `(,@(package-native-inputs elogind) (native-inputs
("rsync" ,rsync))) (modify-inputs (package-native-inputs elogind)
(inputs `(("libmount" ,util-linux "lib") (append rsync)))
("xkeyboard-config" ,xkeyboard-config) (inputs
("kbd" ,kbd) (modify-inputs (package-inputs elogind)
,@(package-inputs elogind))) (prepend `(,util-linux "lib")
kbd
xkeyboard-config)))
(home-page "https://www.freedesktop.org/wiki/Software/systemd/localed/") (home-page "https://www.freedesktop.org/wiki/Software/systemd/localed/")
(synopsis "Control the system locale and keyboard layout") (synopsis "Control the system locale and keyboard layout")
(description (description