diff options
author | (unmatched-parenthesis <paren@disroot.org> | 2022-10-21 22:10:57 +0100 |
---|---|---|
committer | Raghav Gururajan <rg@raghavgururajan.name> | 2022-11-10 23:17:18 -0500 |
commit | a6d2ae431a900b986eb87cfafb4465269504c211 (patch) | |
tree | 65471c3791fc538e44ae0e1c39e8607c0584a40c /gnu/packages/golang.scm | |
parent | 70df5c47a89f4f353a1df94467581a0f0da599a4 (diff) | |
download | guix-a6d2ae431a900b986eb87cfafb4465269504c211.tar guix-a6d2ae431a900b986eb87cfafb4465269504c211.tar.gz |
gnu: Add go-github-com-creack-pty.
* gnu/packages/golang.scm (go-github-com-creack-pty): New variable.
* guix/build-system/go.scm (go-target): Add to exported variables.
Signed-off-by: Raghav Gururajan <rg@raghavgururajan.name>
Diffstat (limited to 'gnu/packages/golang.scm')
-rw-r--r-- | gnu/packages/golang.scm | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index e52161228e..2d842cf7be 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -10382,6 +10382,53 @@ using shell-style rules for quoting and commenting.") 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))) + ;;; ;;; Avoid adding new packages to the end of this file. To reduce the chances ;;; of a merge conflict, place them above by existing packages with similar |