blob: 5ca267108edf8641fb657e17f6a4eeeb2cce2663 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit go-module
KEYWORDS="~amd64"
EGO_PN=github.com/docker/swarm
EGIT_COMMIT="527a849cc6b8297690f478905083fc77951da2a7"
MY_PN=classicswarm
SRC_URI="https://github.com/docker/classicswarm/archive/v${PV}.tar.gz -> ${P}.tar.gz"
DESCRIPTION="Swarm Classic: a container clustering system"
HOMEPAGE="https://docs.docker.com/swarm"
LICENSE="Apache-2.0 CC-BY-SA-4.0 BSD BSD-2 ISC MIT MPL-2.0 WTFPL-2"
SLOT="0"
IUSE=""
RESTRICT="test"
S="${WORKDIR}/${MY_PN}-${PV}"
src_prepare() {
# It would require internet access to run `go mod vendor`, so
# generate approximate go.mod and vendor/modules.txt from the
# content of vendor.conf. Use a dummy vendor_version that is
# good enough for go to recognize as a valid version.
rm -f go.mod vendor/modules.txt || die
local x vendor_version=v1.0.0
printf -- 'module %s\n' "${EGO_PN}" >> go.mod || die
printf -- 'go 1.14\n' >> go.mod || die
printf -- 'require (\n' >> go.mod || die
while read -r x; do
printf -- '\t%s %s\n' "${x}" "${vendor_version}" >> go.mod || die
printf -- '# %s %s\n' "${x}" "${vendor_version}" >> vendor/modules.txt || die
printf -- '## explicit\n' >> vendor/modules.txt || die
printf -- '%s\n' "${x}" >> vendor/modules.txt || die
done < <(grep -Eo "^[^#[:space:]]+" vendor.conf)
printf -- ')\n' >> go.mod || die
default
}
src_compile() {
GOBIN="${S}/bin" \
go install -v -work -x -mod=vendor -x \
-ldflags "-w -X github.com/docker/swarm/version.GITCOMMIT=${EGIT_COMMIT} \
-X github.com/docker/swarm/version.BUILDTIME=$(date -u +%FT%T%z)" \
./... || die
}
src_install() {
dobin bin/swarm
dosym swarm /usr/bin/docker-swarm
dodoc CHANGELOG.md CONTRIBUTING.md logo.png README.md
}
|