rekahsoft-guix/rekahsoft-gnu/packages/golang.scm

280 lines
11 KiB
Scheme

;;; Copyright © 2020 Collin J. Doering <collin@rekahsoft.ca>
;;;
;;; This file is part of the GNU Guix channel rekahsoft-guix
;;;
;;; The rekahsoft-guix channel for GNU Guix is free software; you can
;;; redistribute it and/or modify it under the terms of the GNU General Public
;;; License as published by the Free Software Foundation; either version 3 of
;;; the License, or (at your option) any later version.
;;;
;;; The rekahsoft-guix channel for GNU Guix is distributed in the hope that it
;;; will be useful, but WITHOUT ANY WARRANTY; without even the implied
;;; warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License along
;;; with the rekahsoft-guix channel for GNU Guix. If not, see
;;; <http://www.gnu.org/licenses/>.
(define-module (rekahsoft-gnu packages golang)
#:use-module ((guix licenses)
#:prefix license:)
#:use-module (guix utils)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix packages)
#:use-module (guix build-system gnu)
#:use-module (guix build-system trivial)
#:use-module (guix build-system go)
#:use-module (gnu packages)
#:use-module (gnu packages admin)
#:use-module (gnu packages gcc)
#:use-module (gnu packages golang)
#:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-web)
#:use-module (gnu packages base)
#:use-module (gnu packages check)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pcre)
#:use-module (gnu packages glib)
#:use-module (gnu packages password-utils)
#:use-module (gnu packages lua)
#:use-module (gnu packages mp3)
#:use-module (gnu packages tmux)
#:use-module (gnu packages textutils)
#:use-module (gnu packages tls)
#:use-module (ice-9 match)
#:use-module (srfi srfi-1))
(define-public go-github-com-mitchellh-gox
(package
(name "go-gox")
(version "1.0.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mitchellh/gox")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0mkh81hd7kn45dz7b6yhzqsg2mvg1g6pwx89jjigxrnqhyg9vrl7"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/mitchellh/gox"
#:phases (modify-phases %standard-phases
(delete 'check))))
(synopsis "Dead simple, no frills Go cross compile tool")
(description
"Gox is a simple, no-frills tool for Go cross compilation that behaves a
lot like standard go build. Gox will parallelize builds for multiple
platforms. Gox will also build the cross-compilation toolchain for you.")
(home-page "https://github.com/mitchellh/gox")
(license license:mpl2.0)))
(define-public go-github-com-androiddnsfix
(package
(name "go-androiddnsfix")
(version "ff02804463540c36e3a148dcf4b009d003cf2a31")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mtibben/androiddnsfix")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1pcbjs793kd0yg3dcp79agfxm7xm3sldx2r7v66ipzpcq0j2npi2"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/mtibben/androiddnsfix"
#:phases %standard-phases))
(synopsis "Hack to get around the issues building on android")
(description
"Hack around the issues in https://github.com/golang/go/issues/8877.")
(home-page "https://github.com/mtibben/androiddnsfix")
(license license:expat)))
(define-public go-github-com-aws-aws-sdk-go
(package
(name "go-aws-sdk-go")
(version "1.36.18")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/aws/aws-sdk-go")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"169mkkw1cff1px6326krwvfpfj07sb4y5rbn003gi4bk176h6ry9"))))
(build-system go-build-system)
(native-inputs `(("go-github-com-jmespath-go-jmespath" ,go-github-com-jmespath-go-jmespath)))
(arguments
'(#:import-path "github.com/aws/aws-sdk-go"
#:phases %standard-phases))
(synopsis
"aws-sdk-go is the official AWS SDK for the Go programming language")
(description
"aws-sdk-go is the official AWS SDK for the Go programming language.")
(home-page "https://github.com/aws/aws-sdk-go")
(license license:asl2.0)))
(define-public go-github-com-darthsim-overmind-v2
(package
(name "overmind")
(version "2.4.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/DarthSim/overmind")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"00dk6pnq3b53xac7kakm5fmzbw0qg152mm5m8zfvnkbmsp5176vj"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/DarthSim/overmind"
#:install-source? #f))
(propagated-inputs `(("go-golang-org-x-sys" ,go-golang-org-x-sys)
("go-github-com-russross-blackfriday-v2" ,go-github-com-russross-blackfriday-v2)
("go-github-com-kardianos-osext" ,go-github-com-kardianos-osext)
("go-github-com-cpuguy83-go-md2man-v2" ,go-github-com-cpuguy83-go-md2man-v2)
("go-golang-org-x-term" ,go-golang-org-x-term)
("go-github-com-urfave-cli" ,go-github-com-urfave-cli)
("go-github-com-sevlyar-go-daemon" ,go-github-com-sevlyar-go-daemon)
("go-github-com-matoous-go-nanoid" ,go-github-com-matoous-go-nanoid)
("go-github-com-darthsim-godotenv" ,go-github-com-darthsim-godotenv)
("which" ,which) ; used to locate tmux
("tmux" ,tmux)))
(home-page "https://github.com/DarthSim/overmind")
(synopsis "Overmind, a process manager for Procfile-based applications")
(description
"Overmind is a process manager for Procfile-based applications and
@@url{https://tmux.github.io/,tmux}. With Overmind, you can easily run several
processes from your @@code{Procfile} in a single terminal.")
(license license:expat)))
(define-public go-github-com-darthsim-godotenv
(package
(name "go-github-com-darthsim-godotenv")
(version "1.3.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/DarthSim/godotenv")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0fb9nl5qrnv7f9w0pgg00ak34afw9kjgcql0l38z22faz2bhgl1q"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/DarthSim/godotenv"))
(home-page "https://github.com/DarthSim/godotenv")
(synopsis "GoDotEnv")
(description
"Package godotenv is a go port of the ruby dotenv library
(@@url{https://github.com/bkeepers/dotenv,https://github.com/bkeepers/dotenv})")
(license license:expat)))
(define-public go-github-com-matoous-go-nanoid
(package
(name "go-github-com-matoous-go-nanoid")
(version "1.5.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/matoous/go-nanoid")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0srq4qa9my72ry8d27khjr9326cmahxil0n25v9g4dcn3ib0jf45"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/matoous/go-nanoid"))
(home-page "https://github.com/matoous/go-nanoid")
(synopsis "Go Nanoid")
(description
"This package is Go implementation of @@url{https://github.com/ai,ai's}
@@url{https://github.com/ai/nanoid,nanoid}!")
(license license:expat)))
(define-public go-github-com-cpuguy83-go-md2man-v2
(package
(name "go-github-com-cpuguy83-go-md2man-v2")
(version "2.0.2")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/cpuguy83/go-md2man")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"19qri18cinpzxblkid6ngz2vcxslv73s1aid900q0gfzvc71mqqb"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/cpuguy83/go-md2man/v2"))
(propagated-inputs `(("go-github-com-russross-blackfriday-v2" ,go-github-com-russross-blackfriday-v2)))
(home-page "https://github.com/cpuguy83/go-md2man")
(synopsis "go-md2man")
(description "Converts markdown into roff (man pages).")
(license license:expat)))
(define-public go-github-com-russross-blackfriday-v2
(package
(name "go-github-com-russross-blackfriday-v2")
(version "2.1.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/russross/blackfriday")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0d1rg1drrfmabilqjjayklsz5d0n3hkf979sr3wsrw92bfbkivs7"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/russross/blackfriday/v2"))
(home-page "https://github.com/russross/blackfriday")
(synopsis "Blackfriday")
(description "Package blackfriday is a markdown processor.")
(license license:bsd-2)))
;; TODO: this package is not yet complete, but was accidentally
;; committed. Commenting it out until it is completed.
;;
;; (define-public yq
;; (package
;; (name "yq")
;; (version "4.16.1")
;; (source
;; (origin
;; (method git-fetch)
;; (uri (git-reference
;; (url "https://github.com/mikefarah/yq")
;; (commit (string-append "v" version))))
;; (file-name (git-file-name name version))
;; (sha256
;; (base32 "1in11959lxnab01hkbirrjiim4ww8rgzgnj9dfg7wk3dk5zzr3g2"))))
;; (build-system go-build-system)
;; (native-inputs
;; `(("go-github-com-imdario-mergo" ,go-github-com-imdario-mergo)
;; ("go-github-com-op-go-logging" ,go-github-com-op-go-logging)
;; ("go-github-com-spf13-cobra" ,go-github-com-spf13-cobra)
;; ("go-gopkg-in-yaml-v2" ,go-gopkg-in-yaml-v2)
;; ;; TODO: Missing dependencies
;; ))
;; (arguments '(#:import-path "github.com/mikefarah/yq"
;; #:install-source? #f))
;; (home-page "https://github.com/mikefarah/yq")
;; (synopsis "yq")
;; (description "a lightweight and portable command-line YAML processor")
;; (license license:expat)))