gnu: Add xxkb.

* gnu/packages/xdisorg.scm (xxkb): New variable.

Change-Id: Ibf7ff3394438490045c1821b9f9e417adc8d5e0b
Signed-off-by: Andrew Tropin <andrew@trop.in>
This commit is contained in:
Igor Goryachev via Guix-patches via 2024-06-13 09:17:57 +03:00 committed by Andrew Tropin
parent 8690f678f3
commit 8980618b2d
No known key found for this signature in database
GPG key ID: 2208D20958C1DEB0

View file

@ -62,6 +62,7 @@
;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space> ;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space>
;;; Copyright © 2022 Mehmet Tekman <mtekman89@gmail.com> ;;; Copyright © 2022 Mehmet Tekman <mtekman89@gmail.com>
;;; Copyright © 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com> ;;; Copyright © 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2024 Igor Goryachev <igor@goryachev.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -3804,3 +3805,50 @@ (define-public show-me-the-key
and works under both Xorg and Wayland (via @code{libinput}), inspired by and works under both Xorg and Wayland (via @code{libinput}), inspired by
@code{python-screenkey}.") @code{python-screenkey}.")
(license license:asl2.0))) (license license:asl2.0)))
(define-public xxkb
(package
(name "xxkb")
(version "1.11.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/xxkb/"
name "-" version "-src.tar.gz"))
(sha256
(base32
"0hl1i38z9xnbgfjkaz04vv1n8xbgfg88g5z8fyzyb2hxv2z37anf"))))
(build-system gnu-build-system)
(inputs (list libx11
libxext
libxt
libxpm))
(native-inputs
(list imake))
(arguments
`(#:tests? #f
#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((imake (assoc-ref inputs "imake"))
(out (assoc-ref outputs "out")))
(invoke "xmkmf")
(substitute* "Makefile"
((imake) out)
(("(MANPATH = )[[:graph:]]*" _ front)
(string-append front out "/share/man"))
(("XAPPLOADDIR = /etc/X11/app-defaults")
(string-append "XAPPLOADDIR = " out "/lib/X11/app-defaults"))
(("ETCX11DIR = /etc/X11")
(string-append "ETCX11DIR = " out "/etc/X11")))
#t))))))
(home-page "https://xxkb.sourceforge.net/")
(synopsis "Keyboard layout indicator and switcher")
(description
"The xxkb program is a keyboard layout switcher and indicator. Unlike
the programs that reload keyboard maps and use their own hot-keys, xxkb is
a simple GUI for XKB (X KeyBoard extension) and just sends commands to and
accepts events from XKB. That means that it will work with the existing
setup of your X Server without any modifications.")
(license license:artistic2.0)))