GNU bug report logs -
#55903
[PATCHSET] Adding aerc
Previous Next
Reported by: "(" <paren <at> disroot.org>
Date: Sat, 11 Jun 2022 09:07:01 UTC
Severity: normal
Tags: patch
Done: Raghav Gururajan <rg <at> raghavgururajan.name>
Bug is archived. No further changes may be made.
Full log
Message #290 received at 55903 <at> debbugs.gnu.org (full text, mbox):
From: "(unmatched-parenthesis" <paren <at> disroot.org>
* gnu/packages/golang.scm (go-github-com-creack-pty): New variable.
---
gnu/packages/golang.scm | 63 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 63 insertions(+)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 6f1ed9eda2..50b7ac2e23 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -86,6 +86,23 @@ (define-module (gnu packages golang)
#:use-module (ice-9 match)
#:use-module (srfi srfi-1))
+(define (gnu-triplet->go-architecture target)
+ (letrec-syntax
+ ((matches (syntax-rules (=>)
+ ((_ (target-prefix => architecture) rest ...)
+ (if (string-prefix? target-prefix target)
+ architecture
+ (matches rest ...)))
+ ((_) (error "unsupported target" target)))))
+ (matches ("x86_64" => "amd64")
+ ("i686" => "386")
+ ("aarch64" => "arm64")
+ ("arm" => "arm")
+ ("powerpc64le" => "ppc64le")
+ ("powerpc" => "ppc")
+ ("mips64el" => "mips64le")
+ ("riscv64" => "riscv64"))))
+
;; According to https://golang.org/doc/install/gccgo, gccgo-4.8.2 includes a
;; complete go-1.1.2 implementation, gccgo-4.9 includes a complete go-1.2
;; implementation, and gccgo-5 a complete implementation of go-1.4. Ultimately
@@ -9862,3 +9879,49 @@ (define-public go-github-com-zenhack-go-notmuch
(description "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
+ #$(gnu-triplet->go-architecture
+ (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")))
+ (with-output-to-file file
+ (lambda () (display text))))))))))
+ (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)))
--
2.36.1
This bug report was last modified 2 years and 175 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.