diff options
| author | Anderson Torres <anderson.torres.8519@gmail.com> | 2026-04-04 17:25:27 -0300 |
|---|---|---|
| committer | Hilton Chain <hako@ultrarare.space> | 2026-04-17 03:07:05 +0800 |
| commit | a06400ad5c51b390bac22fc327f0e415c02ecf9f (patch) | |
| tree | f8a86484b2b91af6134bac6336f1c056daaa9934 /gnu/packages | |
| parent | ca58363a7cb9b2347ed428043d62c42174635995 (diff) | |
gnu: Add kmscon-8.
An API breakage occurred some place between 8.x and 9.x series of kmscon.
Because of it, our custom patch kmscon-8-runtime-keymap-switch.patch (needed
by Guix System installer) no longer applies cleanly. Until a new patch is
developed, let's recover the older package and keep it side-by-side in Guix.
* gnu/packages/terminals.scm (kmscon-8): New variable.
Document its dependency with Guix System installer.
* gnu/packages/patches/kmscon-runtime-keymap-switch.patch: Rename to...
* gnu/packages/patches/kmscon-8-runtime-keymap-switch.patch: ...this file.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
Change-Id: I88cb9ea39b3801ea96dd663e2995597c060f41db
Signed-off-by: Hilton Chain <hako@ultrarare.space>
Diffstat (limited to 'gnu/packages')
| -rw-r--r-- | gnu/packages/patches/kmscon-8-runtime-keymap-switch.patch (renamed from gnu/packages/patches/kmscon-runtime-keymap-switch.patch) | 0 | ||||
| -rw-r--r-- | gnu/packages/terminals.scm | 63 |
2 files changed, 63 insertions, 0 deletions
diff --git a/gnu/packages/patches/kmscon-runtime-keymap-switch.patch b/gnu/packages/patches/kmscon-8-runtime-keymap-switch.patch index 6692e761bc9..6692e761bc9 100644 --- a/gnu/packages/patches/kmscon-runtime-keymap-switch.patch +++ b/gnu/packages/patches/kmscon-8-runtime-keymap-switch.patch | |||
diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm index 29b4141346a..cf98fb54c0b 100644 --- a/gnu/packages/terminals.scm +++ b/gnu/packages/terminals.scm | |||
| @@ -405,6 +405,69 @@ multi-seat support, a replacement for @command{mingetty}, and more.") | |||
| 405 | (supported-systems (filter (cut string-suffix? "-linux" <>) | 405 | (supported-systems (filter (cut string-suffix? "-linux" <>) |
| 406 | %supported-systems)))) | 406 | %supported-systems)))) |
| 407 | 407 | ||
| 408 | ;;; INFO: kmscon-8 is a dependency of Guix System installer. When upgrading, | ||
| 409 | ;;; remeber to test it; you can fire a VM by following the procedure below: | ||
| 410 | ;;; | ||
| 411 | ;;; 1. Manually change `(gnu system install)' module so that in procedure | ||
| 412 | ;;; `%installation-services' the key `guix-for-system' refers to `guix' | ||
| 413 | ;;; instead of `(current-guix)'. | ||
| 414 | ;;; With this temporary change, you will need neither to rebuild guix | ||
| 415 | ;;; nor to have commit rights. | ||
| 416 | ;;; | ||
| 417 | ;;; 2. Execute `./pre-inst-env guix system vm gnu/system/install.scm' in the | ||
| 418 | ;;; development environment. | ||
| 419 | ;;; | ||
| 420 | (define-public kmscon-8 | ||
| 421 | (let ((commit "db868619fbb785f184f38c729cd4842012ef4478") | ||
| 422 | (revision "2")) | ||
| 423 | (package | ||
| 424 | (inherit kmscon) | ||
| 425 | (name "kmscon") | ||
| 426 | (version (git-version "8" revision commit)) | ||
| 427 | (source | ||
| 428 | (origin | ||
| 429 | (method git-fetch) | ||
| 430 | (uri (git-reference | ||
| 431 | (url "https://github.com/kmscon/kmscon") | ||
| 432 | (commit commit))) | ||
| 433 | (sha256 | ||
| 434 | (base32 | ||
| 435 | "0rj3icrfm584pq3916div0chd9h3gxwd1qgw7inf5x508yvgrgxl")) | ||
| 436 | (file-name (git-file-name name version)) | ||
| 437 | (patches | ||
| 438 | ;; INFO: This Guix-specific patch is useful for making keyboard | ||
| 439 | ;; selection in Guix System installer work as intended. | ||
| 440 | ;; TODO: port it to 9.x series. | ||
| 441 | (search-patches "kmscon-8-runtime-keymap-switch.patch")))) | ||
| 442 | (build-system gnu-build-system) | ||
| 443 | (arguments | ||
| 444 | (list | ||
| 445 | #:phases | ||
| 446 | #~(modify-phases %standard-phases | ||
| 447 | (add-before 'configure 'remove-systemd | ||
| 448 | ;; Use elogind instead of systemd. | ||
| 449 | (lambda _ | ||
| 450 | (substitute* "configure" | ||
| 451 | (("libsystemd-daemon libsystemd-login") | ||
| 452 | "libelogind")) | ||
| 453 | (substitute* "src/uterm_systemd.c" | ||
| 454 | (("#include <systemd/sd-login.h>") | ||
| 455 | "#include <elogind/sd-login.h>") | ||
| 456 | ;; We don't have this header. | ||
| 457 | (("#include <systemd/sd-daemon\\.h>") | ||
| 458 | "") | ||
| 459 | ;; Replace the call to 'sd_booted' by the truth value. | ||
| 460 | (("sd_booted\\(\\)") | ||
| 461 | "1"))))))) | ||
| 462 | (native-inputs | ||
| 463 | (list autoconf | ||
| 464 | automake | ||
| 465 | libtool | ||
| 466 | pkg-config | ||
| 467 | ;; to generate the man page | ||
| 468 | docbook-xsl | ||
| 469 | libxslt))))) | ||
| 470 | |||
| 408 | (define-public libtermkey | 471 | (define-public libtermkey |
| 409 | (package | 472 | (package |
| 410 | (name "libtermkey") | 473 | (name "libtermkey") |
