summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-containers/earthly/earthly-0.8.6.ebuild')
-rw-r--r--app-containers/earthly/earthly-0.8.6.ebuild71
1 files changed, 71 insertions, 0 deletions
diff --git a/app-containers/earthly/earthly-0.8.6.ebuild b/app-containers/earthly/earthly-0.8.6.ebuild
new file mode 100644
index 000000000000..4396b9231a9e
--- /dev/null
+++ b/app-containers/earthly/earthly-0.8.6.ebuild
@@ -0,0 +1,71 @@
+# 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.6 ]] ; then
+ COMMIT_SHA=b20c1db1cfe5816a5d2f7d416d598d5777d8f4bb
+else
+ die 'Could not detect "COMMIT_SHA", please update the ebuild.'
+fi
+
+inherit go-module
+
+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.xz
+"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ || (
+ app-containers/docker
+ app-containers/podman
+ )
+"
+
+DOCS=( CHANGELOG.md CONTRIBUTING.md README.md )
+
+src_compile() {
+ local go_tags="dfrunmount,dfrunsecurity,dfsecrets,dfssh,dfrunnetwork,dfheredoc,forceposix"
+ local go_ldflags="
+ -X main.DefaultBuildkitdImage=docker.io/earthly/buildkitd:v${PV}
+ -X main.GitSha=${COMMIT_SHA}
+ -X main.Version=v${PV}
+ "
+ local -a 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
+}