# Copyright 2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

inherit go-module

EGO_SUM=(
	"github.com/Azure/go-ntlmssp v0.0.0-20221128193559-754e69321358"
	"github.com/Azure/go-ntlmssp v0.0.0-20221128193559-754e69321358/go.mod"
	"github.com/alecthomas/assert v1.0.0"
	"github.com/alecthomas/assert v1.0.0/go.mod"
	"github.com/alecthomas/assert/v2 v2.7.0"
	"github.com/alecthomas/assert/v2 v2.7.0/go.mod"
	"github.com/alecthomas/chroma/v2 v2.14.0"
	"github.com/alecthomas/chroma/v2 v2.14.0/go.mod"
	"github.com/alecthomas/colour v0.1.0"
	"github.com/alecthomas/colour v0.1.0/go.mod"
	"github.com/alecthomas/repr v0.4.0"
	"github.com/alecthomas/repr v0.4.0/go.mod"
	"github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod"
	"github.com/creack/pty v1.1.9/go.mod"
	"github.com/danwakefield/fnmatch v0.0.0-20160403171240-cbb64ac3d964"
	"github.com/danwakefield/fnmatch v0.0.0-20160403171240-cbb64ac3d964/go.mod"
	"github.com/davecgh/go-spew v1.1.0/go.mod"
	"github.com/davecgh/go-spew v1.1.1/go.mod"
	"github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc"
	"github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod"
	"github.com/dlclark/regexp2 v1.11.4"
	"github.com/dlclark/regexp2 v1.11.4/go.mod"
	"github.com/frankban/quicktest v1.14.6"
	"github.com/frankban/quicktest v1.14.6/go.mod"
	"github.com/fsnotify/fsnotify v1.8.0"
	"github.com/fsnotify/fsnotify v1.8.0/go.mod"
	"github.com/gandarez/go-olson-timezone v0.1.0"
	"github.com/gandarez/go-olson-timezone v0.1.0/go.mod"
	"github.com/gandarez/go-realpath v1.0.0"
	"github.com/gandarez/go-realpath v1.0.0/go.mod"
	"github.com/golang/mock v1.6.0"
	"github.com/golang/mock v1.6.0/go.mod"
	"github.com/google/go-cmp v0.6.0"
	"github.com/google/go-cmp v0.6.0/go.mod"
	"github.com/hashicorp/hcl v1.0.0"
	"github.com/hashicorp/hcl v1.0.0/go.mod"
	"github.com/hexops/gotextdiff v1.0.3"
	"github.com/hexops/gotextdiff v1.0.3/go.mod"
	"github.com/inconshreveable/mousetrap v1.1.0"
	"github.com/inconshreveable/mousetrap v1.1.0/go.mod"
	"github.com/juju/ansiterm v0.0.0-20160907234532-b99631de12cf/go.mod"
	"github.com/juju/clock v0.0.0-20180524022203-d293bb356ca4/go.mod"
	"github.com/juju/clock v0.0.0-20190205081909-9c5c9712527c"
	"github.com/juju/clock v0.0.0-20190205081909-9c5c9712527c/go.mod"
	"github.com/juju/cmd v0.0.0-20171107070456-e74f39857ca0/go.mod"
	"github.com/juju/collections v0.0.0-20200605021417-0d0ec82b7271"
	"github.com/juju/collections v0.0.0-20200605021417-0d0ec82b7271/go.mod"
	"github.com/juju/errors v0.0.0-20150916125642-1b5e39b83d18/go.mod"
	"github.com/juju/errors v0.0.0-20200330140219-3fe23663418f/go.mod"
	"github.com/juju/errors v1.0.0"
	"github.com/juju/errors v1.0.0/go.mod"
	"github.com/juju/gnuflag v0.0.0-20171113085948-2ce1bb71843d/go.mod"
	"github.com/juju/httpprof v0.0.0-20141217160036-14bf14c30767/go.mod"
	"github.com/juju/loggo v0.0.0-20170605014607-8232ab8918d9/go.mod"
	"github.com/juju/loggo v0.0.0-20200526014432-9ce3a2e09b5e"
	"github.com/juju/loggo v0.0.0-20200526014432-9ce3a2e09b5e/go.mod"
	"github.com/juju/mgo/v2 v2.0.0-20210302023703-70d5d206e208"
	"github.com/juju/mgo/v2 v2.0.0-20210302023703-70d5d206e208/go.mod"
	"github.com/juju/mutex v0.0.0-20171110020013-1fe2a4bf0a3a/go.mod"
	"github.com/juju/mutex v0.0.0-20180619145857-d21b13acf4bf"
	"github.com/juju/mutex v0.0.0-20180619145857-d21b13acf4bf/go.mod"
	"github.com/juju/retry v0.0.0-20151029024821-62c620325291/go.mod"
	"github.com/juju/retry v0.0.0-20180821225755-9058e192b216/go.mod"
	"github.com/juju/retry v0.0.0-20210818141810-5526f6f6ff07"
	"github.com/juju/retry v0.0.0-20210818141810-5526f6f6ff07/go.mod"
	"github.com/juju/testing v0.0.0-20180402130637-44801989f0f7/go.mod"
	"github.com/juju/testing v0.0.0-20180807044555-c84dd6ba038a/go.mod"
	"github.com/juju/testing v0.0.0-20190723135506-ce30eb24acd2/go.mod"
	"github.com/juju/testing v0.0.0-20210302031854-2c7ee8570c07/go.mod"
	"github.com/juju/testing v0.0.0-20211215003918-77eb13d6cad2"
	"github.com/juju/testing v0.0.0-20211215003918-77eb13d6cad2/go.mod"
	"github.com/juju/utils v0.0.0-20180424094159-2000ea4ff043/go.mod"
	"github.com/juju/utils v0.0.0-20200116185830-d40c2fe10647"
	"github.com/juju/utils v0.0.0-20200116185830-d40c2fe10647/go.mod"
	"github.com/juju/utils/v2 v2.0.0-20200923005554-4646bfea2ef1"
	"github.com/juju/utils/v2 v2.0.0-20200923005554-4646bfea2ef1/go.mod"
	"github.com/juju/version v0.0.0-20161031051906-1f41e27e54f2/go.mod"
	"github.com/juju/version v0.0.0-20180108022336-b64dbd566305/go.mod"
	"github.com/juju/version v0.0.0-20191219164919-81c1be00b9a6/go.mod"
	"github.com/juju/version v0.0.0-20210303051006-2015802527a8"
	"github.com/juju/version v0.0.0-20210303051006-2015802527a8/go.mod"
	"github.com/julienschmidt/httprouter v1.1.1-0.20151013225520-77a895ad01eb/go.mod"
	"github.com/kevinburke/ssh_config v1.2.1-0.20220605204831-a56e914e7283"
	"github.com/kevinburke/ssh_config v1.2.1-0.20220605204831-a56e914e7283/go.mod"
	"github.com/kr/fs v0.1.0"
	"github.com/kr/fs v0.1.0/go.mod"
	"github.com/kr/pretty v0.1.0/go.mod"
	"github.com/kr/pretty v0.2.1/go.mod"
	"github.com/kr/pretty v0.3.1"
	"github.com/kr/pretty v0.3.1/go.mod"
	"github.com/kr/pty v1.1.1/go.mod"
	"github.com/kr/text v0.1.0/go.mod"
	"github.com/kr/text v0.2.0"
	"github.com/kr/text v0.2.0/go.mod"
	"github.com/lunixbochs/vtclean v0.0.0-20160125035106-4fbf7632a2c6/go.mod"
	"github.com/magiconair/properties v1.8.7"
	"github.com/magiconair/properties v1.8.7/go.mod"
	"github.com/masterzen/azure-sdk-for-go v3.2.0-beta.0.20161014135628-ee4f0065d00c+incompatible/go.mod"
	"github.com/masterzen/simplexml v0.0.0-20160608183007-4572e39b1ab9/go.mod"
	"github.com/masterzen/winrm v0.0.0-20161014151040-7a535cd943fc/go.mod"
	"github.com/masterzen/xmlpath v0.0.0-20140218185901-13f4951698ad/go.mod"
	"github.com/mattn/go-colorable v0.0.6/go.mod"
	"github.com/mattn/go-isatty v0.0.0-20160806122752-66b8e73f3f5c/go.mod"
	"github.com/mattn/go-isatty v0.0.20"
	"github.com/mattn/go-isatty v0.0.20/go.mod"
	"github.com/mitchellh/go-homedir v1.1.0"
	"github.com/mitchellh/go-homedir v1.1.0/go.mod"
	"github.com/mitchellh/mapstructure v1.5.0"
	"github.com/mitchellh/mapstructure v1.5.0/go.mod"
	"github.com/nu7hatch/gouuid v0.0.0-20131221200532-179d4d0c4d8d/go.mod"
	"github.com/pelletier/go-toml/v2 v2.2.3"
	"github.com/pelletier/go-toml/v2 v2.2.3/go.mod"
	"github.com/pkg/sftp v1.13.7"
	"github.com/pkg/sftp v1.13.7/go.mod"
	"github.com/pmezard/go-difflib v1.0.0/go.mod"
	"github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2"
	"github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod"
	"github.com/rogpeppe/go-internal v1.9.0"
	"github.com/rogpeppe/go-internal v1.9.0/go.mod"
	"github.com/russross/blackfriday/v2 v2.1.0/go.mod"
	"github.com/sagikazarmark/locafero v0.6.0"
	"github.com/sagikazarmark/locafero v0.6.0/go.mod"
	"github.com/sagikazarmark/slog-shim v0.1.0"
	"github.com/sagikazarmark/slog-shim v0.1.0/go.mod"
	"github.com/sergi/go-diff v1.3.1"
	"github.com/sergi/go-diff v1.3.1/go.mod"
	"github.com/slongfield/pyfmt v0.0.0-20220222012616-ea85ff4c361f"
	"github.com/slongfield/pyfmt v0.0.0-20220222012616-ea85ff4c361f/go.mod"
	"github.com/sourcegraph/conc v0.3.0"
	"github.com/sourcegraph/conc v0.3.0/go.mod"
	"github.com/spf13/afero v1.11.0"
	"github.com/spf13/afero v1.11.0/go.mod"
	"github.com/spf13/cast v1.7.0"
	"github.com/spf13/cast v1.7.0/go.mod"
	"github.com/spf13/cobra v1.8.1"
	"github.com/spf13/cobra v1.8.1/go.mod"
	"github.com/spf13/jwalterweatherman v1.1.0"
	"github.com/spf13/jwalterweatherman v1.1.0/go.mod"
	"github.com/spf13/pflag v1.0.5"
	"github.com/spf13/pflag v1.0.5/go.mod"
	"github.com/spf13/viper v1.19.0"
	"github.com/spf13/viper v1.19.0/go.mod"
	"github.com/stretchr/objx v0.1.0/go.mod"
	"github.com/stretchr/objx v0.4.0/go.mod"
	"github.com/stretchr/testify v1.2.2/go.mod"
	"github.com/stretchr/testify v1.4.0/go.mod"
	"github.com/stretchr/testify v1.7.1/go.mod"
	"github.com/stretchr/testify v1.8.0/go.mod"
	"github.com/stretchr/testify v1.9.0"
	"github.com/stretchr/testify v1.9.0/go.mod"
	"github.com/subosito/gotenv v1.6.0"
	"github.com/subosito/gotenv v1.6.0/go.mod"
	"github.com/wakatime/goInfo v0.1.0-wakatime.11"
	"github.com/wakatime/goInfo v0.1.0-wakatime.11/go.mod"
	"github.com/yookoala/realpath v1.0.0"
	"github.com/yookoala/realpath v1.0.0/go.mod"
	"github.com/yuin/goldmark v1.3.5/go.mod"
	"github.com/yuin/goldmark v1.4.13/go.mod"
	"go.etcd.io/bbolt v1.3.11"
	"go.etcd.io/bbolt v1.3.11/go.mod"
	"go.uber.org/goleak v1.3.0"
	"go.uber.org/goleak v1.3.0/go.mod"
	"go.uber.org/multierr v1.11.0"
	"go.uber.org/multierr v1.11.0/go.mod"
	"go.uber.org/zap v1.27.0"
	"go.uber.org/zap v1.27.0/go.mod"
	"golang.org/x/crypto v0.0.0-20180214000028-650f4a345ab4/go.mod"
	"golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod"
	"golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod"
	"golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod"
	"golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod"
	"golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod"
	"golang.org/x/crypto v0.17.0/go.mod"
	"golang.org/x/crypto v0.29.0"
	"golang.org/x/crypto v0.29.0/go.mod"
	"golang.org/x/exp v0.0.0-20241108190413-2d47ceb2692f"
	"golang.org/x/exp v0.0.0-20241108190413-2d47ceb2692f/go.mod"
	"golang.org/x/mod v0.4.2/go.mod"
	"golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod"
	"golang.org/x/mod v0.8.0/go.mod"
	"golang.org/x/net v0.0.0-20180406214816-61147c48b25b/go.mod"
	"golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod"
	"golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod"
	"golang.org/x/net v0.0.0-20200904194848-62affa334b73/go.mod"
	"golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod"
	"golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod"
	"golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod"
	"golang.org/x/net v0.6.0/go.mod"
	"golang.org/x/net v0.10.0/go.mod"
	"golang.org/x/net v0.31.0"
	"golang.org/x/net v0.31.0/go.mod"
	"golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod"
	"golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod"
	"golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod"
	"golang.org/x/sync v0.1.0/go.mod"
	"golang.org/x/sync v0.9.0"
	"golang.org/x/sync v0.9.0/go.mod"
	"golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod"
	"golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod"
	"golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod"
	"golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod"
	"golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod"
	"golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod"
	"golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod"
	"golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod"
	"golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod"
	"golang.org/x/sys v0.5.0/go.mod"
	"golang.org/x/sys v0.6.0/go.mod"
	"golang.org/x/sys v0.8.0/go.mod"
	"golang.org/x/sys v0.15.0/go.mod"
	"golang.org/x/sys v0.27.0"
	"golang.org/x/sys v0.27.0/go.mod"
	"golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod"
	"golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod"
	"golang.org/x/term v0.5.0/go.mod"
	"golang.org/x/term v0.8.0/go.mod"
	"golang.org/x/term v0.15.0/go.mod"
	"golang.org/x/term v0.26.0"
	"golang.org/x/term v0.26.0/go.mod"
	"golang.org/x/text v0.3.0/go.mod"
	"golang.org/x/text v0.3.3/go.mod"
	"golang.org/x/text v0.3.7/go.mod"
	"golang.org/x/text v0.7.0/go.mod"
	"golang.org/x/text v0.9.0/go.mod"
	"golang.org/x/text v0.14.0/go.mod"
	"golang.org/x/text v0.20.0"
	"golang.org/x/text v0.20.0/go.mod"
	"golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod"
	"golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod"
	"golang.org/x/tools v0.1.1/go.mod"
	"golang.org/x/tools v0.1.12/go.mod"
	"golang.org/x/tools v0.6.0/go.mod"
	"golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod"
	"golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod"
	"golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod"
	"gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod"
	"gopkg.in/check.v1 v1.0.0-20160105164936-4f90aeace3a2/go.mod"
	"gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod"
	"gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c"
	"gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod"
	"gopkg.in/errgo.v1 v1.0.0-20161222125816-442357a80af5/go.mod"
	"gopkg.in/httprequest.v1 v1.1.1/go.mod"
	"gopkg.in/ini.v1 v1.67.0"
	"gopkg.in/ini.v1 v1.67.0/go.mod"
	"gopkg.in/mgo.v2 v2.0.0-20160818015218-f2b6f6c918c4/go.mod"
	"gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22/go.mod"
	"gopkg.in/natefinch/lumberjack.v2 v2.2.1"
	"gopkg.in/natefinch/lumberjack.v2 v2.2.1/go.mod"
	"gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod"
	"gopkg.in/tomb.v2 v2.0.0-20161208151619-d5d1b5820637/go.mod"
	"gopkg.in/yaml.v2 v2.0.0-20170712054546-1be3d31502d6/go.mod"
	"gopkg.in/yaml.v2 v2.2.2/go.mod"
	"gopkg.in/yaml.v2 v2.3.0/go.mod"
	"gopkg.in/yaml.v2 v2.4.0"
	"gopkg.in/yaml.v2 v2.4.0/go.mod"
	"gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod"
	"gopkg.in/yaml.v3 v3.0.1"
	"gopkg.in/yaml.v3 v3.0.1/go.mod"
	"launchpad.net/gocheck v0.0.0-20140225173054-000000000087/go.mod"
	"launchpad.net/xmlpath v0.0.0-20130614043138-000000000004/go.mod"
)
go-module_set_globals

MY_PN=$(ver_cut 1 "${PN}")

DESCRIPTION="Command line interface to WakaTime used by all WakaTime plugins"
HOMEPAGE="https://wakatime.com"
SRC_URI="https://github.com/${MY_PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
		${EGO_SUM_SRC_URI}"

LICENSE="BSD MIT MPL-2.0 BSD-2 Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~x86"

src_prepare() {
	sed -re 's/go 1\.22/go 1.21/' -i go.mod || die
	default
}

src_compile() {
	local mygoargs=(
		-v
		-work
		-x
		-tags release
		-ldflags "-X main.version=${PV}"
		-asmflags "-trimpath=${S}"
		-gcflags "-trimpath=${S}"
	)
	go build "${mygoargs[@]}" -o "${MY_PN}" || die
}

src_test() {
	go test -v -work -x || die
}

src_install() {
	dobin "${MY_PN}"
}