diff options
Diffstat (limited to 'dev-util/webhook/webhook-2.8.1.ebuild')
-rw-r--r-- | dev-util/webhook/webhook-2.8.1.ebuild | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/dev-util/webhook/webhook-2.8.1.ebuild b/dev-util/webhook/webhook-2.8.1.ebuild new file mode 100644 index 000000000000..18c19358ef77 --- /dev/null +++ b/dev-util/webhook/webhook-2.8.1.ebuild @@ -0,0 +1,84 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit go-module + +DESCRIPTION="lightweight incoming webhook server to run shell commands" +HOMEPAGE="https://github.com/adnanh/webhook/" + +if [[ ${PV} == *9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/adnanh/webhook/" +else + SRC_URI="https://github.com/adnanh/webhook/archive/${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64" + S="${WORKDIR}/webhook-${PV}" +fi + +# SPDX:BSD-3-Clause is 'BSD' in Gentoo +# SPDX:BSD-2-Clause is 'BSD-2' in Gentoo +LICENSE="Apache-2.0 BSD-2 BSD MIT" +SLOT="0" + +BDEPEND=">=dev-lang/go-1.13" +RESTRICT="test" # hardcoded paths, plus go extra dependencies not included in tarball + +DOCS=( + README.md + hooks.json.example + hooks.json.tmpl.example + hooks.yaml.example + hooks.yaml.tmpl.example + docs/Hook-Definition.md + docs/Hook-Examples.md + docs/Hook-Rules.md + docs/Referencing-Request-Values.md + docs/Templates.md + docs/Webhook-Parameters.md +) + +# Do not let these leak from outside into the package +unset GOBIN GOPATH GOCODE + +src_unpack() { + if [[ ${PV} == *9999 ]]; then + git-r3_src_unpack + go-module_live_vendor + else + go-module_src_unpack + fi +} + +src_compile() { + # Golang LDFLAGS are not the same as GCC/Binutils LDFLAGS + unset LDFLAGS + # -mod=vendor is needed because the go version specified in go.mod + # is too low. + ego build -mod=vendor +} + +src_install() { + dobin webhook + + newconfd "${FILESDIR}"/${PN}.confd ${PN} + newinitd "${FILESDIR}"/${PN}.initd ${PN} + + insinto /etc + newins "${FILESDIR}/${PN}.json.example" ${PN}.json + + insinto /etc/logrotate.d + newins "${FILESDIR}/${PN}.logrotated" ${PN} + + einstalldocs +} + +pkg_postinst() { + elog + elog "Note that due to technical restrictions the webhook server runs as root," + elog "which has obvious security implications." + elog "Please see the project home page for information about Hook rules and" + elog "restrict access to the server, for example by limiting the listening IP/port." + elog +} |