summaryrefslogtreecommitdiff
path: root/dev-util/forgejo-runner/forgejo-runner-12.10.1.ebuild
diff options
context:
space:
mode:
Diffstat (limited to 'dev-util/forgejo-runner/forgejo-runner-12.10.1.ebuild')
-rw-r--r--dev-util/forgejo-runner/forgejo-runner-12.10.1.ebuild95
1 files changed, 95 insertions, 0 deletions
diff --git a/dev-util/forgejo-runner/forgejo-runner-12.10.1.ebuild b/dev-util/forgejo-runner/forgejo-runner-12.10.1.ebuild
new file mode 100644
index 000000000000..5d402e622174
--- /dev/null
+++ b/dev-util/forgejo-runner/forgejo-runner-12.10.1.ebuild
@@ -0,0 +1,95 @@
+# Copyright 2024-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit go-module systemd
+
+DESCRIPTION="A daemon that connects to a Forgejo instance and runs jobs for CI"
+HOMEPAGE="https://code.forgejo.org/forgejo/runner https://forgejo.org/docs/next/admin/actions/"
+
+if [[ "${PV}" == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://code.forgejo.org/forgejo/runner.git"
+else
+ SRC_URI="
+ https://code.forgejo.org/forgejo/runner/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ https://github.com/gentoo-golang-dist/${PN}/releases/download/v${PV}/${P}-deps.tar.xz
+ "
+ S="${WORKDIR}/runner"
+
+ KEYWORDS="~amd64 ~arm64"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="examples +docker podman lxc"
+RESTRICT="mirror test"
+REQUIRED_USE="|| ( docker podman lxc )"
+
+DEPEND="
+ >=dev-lang/go-1.25.9
+"
+
+RDEPEND="
+ acct-user/${PN}[docker=,podman=,lxc=]
+"
+
+src_unpack() {
+ if [[ "${PV}" == *9999* ]]; then
+ git-r3_src_unpack
+ go-module_live_vendor
+ else
+ go-module_src_unpack
+ fi
+}
+
+src_prepare() {
+ default
+
+ sed \
+ -e "/ExecStart=/s#=.*#=${EPREFIX}/usr/bin/forgejo-runner daemon -c %h/runner-config.yml#g" \
+ -e "/ExecReload=/s#=#=${EPREFIX}#g" \
+ -e "/User=/s#=.*#=${PN}#g" \
+ -e '/WorkingDirectory=/s#=.*#=~#g' \
+ -i contrib/forgejo-runner.service || die
+}
+
+src_compile() {
+ # export version information
+ # https://github.com/gentoo/guru/pull/205
+ # https://forums.gentoo.org/viewtopic-p-8831646.html
+ local VERSION
+ if [[ "${PV}" == *9999* ]]; then
+ VERSION="$(
+ git describe --tags --first-parent --abbrev=7 --long --dirty --always \
+ | sed -e "s/^v//g"
+ )"
+ else
+ VERSION="${PVR}"
+ fi
+
+ local EXTRA_GOFLAGS_LD=(
+ # "-w" # disable DWARF generation
+ # "-s" # disable symbol table
+ "-X=code.forgejo.org/forgejo/runner/v11/internal/pkg/ver.version=v${VERSION}"
+ )
+
+ GOFLAGS+=" '-ldflags=${EXTRA_GOFLAGS_LD[*]}'"
+
+ ego build -tags 'netgo osusergo' -o forgejo-runner
+
+ # Makefile does this
+ # emake forgejo-runner
+}
+
+src_install() {
+ dobin forgejo-runner
+
+ systemd_dounit "contrib/forgejo-runner.service"
+
+ dodoc "README.md"
+ if use examples; then
+ dodoc -r "examples"
+ docompress -x "/usr/share/doc/${PF}/examples"
+ fi
+}