guix_mirror_bot pushed a commit to branch master
in repository guix.
commit 673b8d6accbf0efc894ab8d2427317043c2c02cd
Author: Sharlatan Hellseher <[email protected]>
AuthorDate: Thu Feb 5 22:35:03 2026 +0000
gnu: Add go-github-com-charmbracelet-x-xpty.
* gnu/packages/golang-xyz.scm (go-github-com-charmbracelet-x-xpty): New
variable.
Change-Id: I85e99ff0d9ea24737835cb3b632d8cbab1559d01
---
gnu/packages/golang-xyz.scm | 48 +++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 48 insertions(+)
diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm
index ddd566dc9e..5cddfb5521 100644
--- a/gnu/packages/golang-xyz.scm
+++ b/gnu/packages/golang-xyz.scm
@@ -4202,6 +4202,54 @@ package provides an API for comparing Golden files.")
"This package provides the Windows API used at Charmbracelet.")
(license license:expat)))
+(define-public go-github-com-charmbracelet-x-xpty
+ (package
+ (name "go-github-com-charmbracelet-x-xpty")
+ (version "0.1.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/charmbracelet/x")
+ (commit (go-version->git-ref version
+ #:subdir "xpty"))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0blpb8vpl7sc6pb43h0730wdcwrkvnhly6qhik6wljrzn2nqz5g2"))
+ (modules '((guix build utils)
+ (ice-9 ftw)
+ (srfi srfi-26)))
+ (snippet
+ #~(begin
+ ;; XXX: 'delete-all-but' is copied from the turbovnc package.
+ ;; Consider to implement it as re-usable procedure in
+ ;; guix/build/utils or guix/build-system/go.
+ (define (delete-all-but directory . preserve)
+ (with-directory-excursion directory
+ (let* ((pred (negate (cut member <>
+ (cons* "." ".." preserve))))
+ (items (scandir "." pred)))
+ (for-each (cut delete-file-recursively <>) items))))
+ (delete-all-but "." "xpty")))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/charmbracelet/x/xpty"
+ #:unpack-path "github.com/charmbracelet/x"))
+ (propagated-inputs
+ (list go-github-com-charmbracelet-x-conpty
+ go-github-com-charmbracelet-x-term
+ go-github-com-charmbracelet-x-termios
+ go-github-com-creack-pty
+ go-golang-org-x-sys))
+ (home-page "https://github.com/charmbracelet/x")
+ (synopsis "Interfaces to interact with pseudo-terminals")
+ (description
+ "Package xpty provides platform-independent interfaces to interact with
+pseudo-terminals (PTYs) in Go. It abstracts the differences between Unix and
+Windows systems and supports both @code{ConPTY} and classic Unix PTYs.")
+ (license license:expat)))
+
(define-public go-github-com-checkpoint-restore-go-criu-v6
(package
(name "go-github-com-checkpoint-restore-go-criu-v6")