summaryrefslogtreecommitdiff
path: root/gnu/packages
diff options
context:
space:
mode:
authorAnderson Torres <anderson.torres.8519@gmail.com>2026-04-04 17:25:27 -0300
committerHilton Chain <hako@ultrarare.space>2026-04-17 03:07:05 +0800
commita06400ad5c51b390bac22fc327f0e415c02ecf9f (patch)
treef8a86484b2b91af6134bac6336f1c056daaa9934 /gnu/packages
parentca58363a7cb9b2347ed428043d62c42174635995 (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.scm63
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")