blob: 19f49e622218db6943960ab3a054fe536cfd8784 (
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
# Git commit SHA is needed at runtime by earthly to pull and bootstrap images.
if [[ "${PV}" == "0.8.11" ]] ; then
COMMIT_SHA="5caed354538447b7de4d85b59827709da23b6e49"
else
die 'Could not detect "COMMIT_SHA", please update the ebuild.'
fi
inherit go-module unpacker
DESCRIPTION="Build automation tool that executes in containers"
HOMEPAGE="https://earthly.dev/
https://github.com/earthly/earthly/"
SRC_URI="
https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz
-> ${P}.tar.gz
https://dev.gentoo.org/~xgqt/distfiles/deps/${P}-deps.tar.zst
"
LICENSE="MPL-2.0"
SLOT="0"
KEYWORDS="~amd64 ~x86"
RDEPEND="
|| (
app-containers/docker
app-containers/podman
)
"
DOCS=( CHANGELOG.md CONTRIBUTING.md README.md )
src_unpack() {
unpacker "${P}-deps.tar.zst"
go-module_src_unpack
}
src_compile() {
local -r go_tags="dfrunmount,dfrunsecurity,dfsecrets,dfssh,dfrunnetwork,dfheredoc,forceposix"
local -r go_ldflags="
-X main.DefaultBuildkitdImage=docker.io/earthly/buildkitd:v${PV}
-X main.GitSha=${COMMIT_SHA}
-X main.Version=v${PV}
"
local -a -r go_buildargs=(
-tags "${go_tags}"
-ldflags "${go_ldflags}"
-o ./bin/
)
ego build "${go_buildargs[@]}" ./cmd/...
}
src_install() {
exeinto /usr/bin
doexe bin/earthly
newexe bin/debugger earthly-debugger
einstalldocs
}
pkg_postinst() {
if has_version "app-containers/podman" ; then
ewarn "Podman is supported but not recommended."
ewarn "If issues arise, then please try running earthly with docker."
fi
if has_version "app-containers/podman[rootless]" ; then
ewarn "Running podman in rootless mode is not supported because"
ewarn "earthly/dind and earthly/buildkit require privileged access."
ewarn "For more info see: https://docs.earthly.dev/docs/guides/podman/"
fi
}
|