[PATCH 02/41] gnu: Add go-github-com-creack-pty.

(
(address . guix-patches@gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220803120439.5108-2-paren@disroot.org
From: "(unmatched-parenthesis" <paren@disroot.org>

* gnu/packages/golang.scm (go-github-com-creack-pty): New variable.
* guix/build-system/go.scm (go-target): Add to exported variables.
---
gnu/packages/golang.scm | 48 ++++++++++++++++++++++++++++++++++++++++
guix/build-system/go.scm | 1 +
2 files changed, 49 insertions(+)

Toggle diff (77 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 2842c7f481..ed6632a20d 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -58,6 +58,7 @@ (define-module (gnu packages golang)
#:use-module (guix memoization)
#:use-module ((guix build utils) #:select (alist-replace))
#:use-module (guix download)
+ #:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix packages)
#:use-module (guix build-system gnu)
@@ -9939,3 +9940,50 @@ (define-public go-github-com-zenhack-go-notmuch
"The notmuch package provides a Go language binding to the notmuch
email library.")
(license license:gpl3+)))
+
+(define-public go-github-com-creack-pty
+ (package
+ (name "go-github-com-creack-pty")
+ (version "1.1.18")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/creack/pty")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1qqhcgfym0napz8damj7dhfw28g2qn2f5h3lr93i0sxawq926yzc"))))
+ (build-system go-build-system)
+ (arguments
+ (list #:import-path "github.com/creack/pty"
+ #:modules '((ice-9 popen)
+ (ice-9 textual-ports)
+ (guix build go-build-system)
+ (guix build utils))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'regenerate-types
+ (lambda* (#:key import-path #:allow-other-keys)
+ ;; Generated files are included (ztypes_*). We need to remake
+ ;; them with Cgo.
+ (with-directory-excursion (string-append "src/" import-path)
+ (let* ((go-arch
+ #$(car (go-target
+ (or (%current-target-system)
+ (nix-system->gnu-triplet (%current-system))))))
+ (file (string-append "ztypes_" go-arch ".go"))
+ (pipe (open-input-pipe "go tool cgo -godefs types.go"))
+ (text (get-string-all pipe)))
+ (close-pipe pipe)
+ (for-each delete-file
+ (find-files (getcwd) (file-name-predicate
+ "ztypes_[a-zA-Z0-9_]+.go")))
+ (call-with-output-file file
+ (lambda (port)
+ (display text port))))))))))
+ (home-page "https://github.com/creack/pty")
+ (synopsis "Pseudoterminal handling in Go")
+ (description
+ "The pty package provides functions for working with Unix pseudoterminals.")
+ (license license:expat)))
diff --git a/guix/build-system/go.scm b/guix/build-system/go.scm
index 5e0e5bbad3..9e5f972c84 100644
--- a/guix/build-system/go.scm
+++ b/guix/build-system/go.scm
@@ -38,6 +38,7 @@ (define-module (guix build-system go)
go-build-system
go-pseudo-version?
+ go-target
go-version->git-ref))
;; Commentary:
--
2.37.1
(
(address . control@debbugs.gnu.org)
CLWDYGGQDWDZ.EQ4EERCSNS2U@guix-aspire
merge 55903 56909 56914 56910 56911 56912 56913 56915 56916 56917 56918 56919 56920 56921 56922 56923 56924 56925 56926 56927 56928 56934 56930 56929 56931 56933 56936 56935 56932 56941 56938 56939 56937 56942 56940 56943 56944 56945 56946 56947 56948 56949
thanks

-- (
(
(address . control@debbugs.gnu.org)
CLWE95B9PDVA.ZLM2DBCU1L9V@guix-aspire
close 56909 56914 56910 56911 56912 56913 56915 56916 56917 56918 56919 56920 56921 56922 56923 56924 56925 56926 56927 56928 56934 56930 56929 56931 56933 56936 56935 56932 56941 56938 56939 56937 56942 56940 56943 56944 56945 56946 56947 56948 56949
thanks

-- (
(
(address . control@debbugs.gnu.org)
CLWEDCUIBCHE.GM9WA0YNQXVR@guix-aspire
unmerge 55903
thanks

-- (
(
(address . control@debbugs.gnu.org)
CLWEDQR118FS.2LE0145ASDQR9@guix-aspire
close 56909 56914 56910 56911 56912 56913 56915 56916 56917 56918 56919 56920 56921 56922 56923 56924 56925 56926 56927 56928 56934 56930 56929 56931 56933 56936 56935 56932 56941 56938 56939 56937 56942 56940 56943 56944 56945 56946 56947 56948 56949
thanks

-- (
?