summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-admin/vault')
-rw-r--r--app-admin/vault/Manifest14
-rw-r--r--app-admin/vault/files/vault-1.15.6-stubmaker-outside-git-repo-24678.patch92
-rw-r--r--app-admin/vault/metadata.xml2
-rw-r--r--app-admin/vault/vault-1.14.5.ebuild (renamed from app-admin/vault/vault-1.6.1.ebuild)38
-rw-r--r--app-admin/vault/vault-1.14.9.ebuild (renamed from app-admin/vault/vault-1.5.6.ebuild)40
-rw-r--r--app-admin/vault/vault-1.15.6.ebuild86
-rw-r--r--app-admin/vault/vault-1.16.1.ebuild87
7 files changed, 323 insertions, 36 deletions
diff --git a/app-admin/vault/Manifest b/app-admin/vault/Manifest
index 00f8efdf73f8..8eb33f53ee11 100644
--- a/app-admin/vault/Manifest
+++ b/app-admin/vault/Manifest
@@ -1,4 +1,10 @@
-DIST vault-1.5.6-webui.tar.xz 1237168 BLAKE2B 997a3ef1e297e288d2abf14647667fd07ebd2e9c6389aad90e3c8fe4d66b5e77004ad07575c6a48d38eb1a4e4040af6cf341edc17bbe87a575a31e06f91449aa SHA512 afed06fe9866dd24ea925e49e2ebdb477ef40dd8ea0137fec1f8a86e17cbe5679ef23a9d9a248ce4de8a21392c96d50f47487c5a866f45ad7317c6cbfc1a5fda
-DIST vault-1.5.6.tar.gz 35110596 BLAKE2B 6e2581b82dfc98f0fd4c807dd24c9e17b4e4c3252ab5744388e17a076d8ed613ea2360f8bf5b975ee5b15d6c7f96100f2b814e290ab47e33c565525ffe1eeda3 SHA512 1da2a6f1307583f03298a4199d301536783787ae1d9b16a8b0a4cce55d29a1fd8a1631366a55aa4671d5b7f6fb9108ffe55d9ec9575e887e495a512b00cf9cb3
-DIST vault-1.6.1-webui.tar.xz 1277456 BLAKE2B 7a63f676e4138c9ac0a9e550f5c195a68169c9214c4f232368356ed31e6a873242f069291fa6f56770bd84598333b9d9933da8544651836b04cf91b9c0d6e818 SHA512 0ce4fc98c8134d9ce39ce0bf7634b76cad8508d3f19480f32052dd6040a299b80406586d5c7c6d9571a4cced303dbab010b0761599c0fc4fe0d0556365564dc4
-DIST vault-1.6.1.tar.gz 39080880 BLAKE2B a66f48c0e7a4edbe9765f7f3e9349ee318415d42ebac9763d48fed4060a3a81613246528339e5cce091dc3ba3ad70062dc5e3b13fce29611a37729a81cf31bc7 SHA512 3dd272b5ca6b2858ab9c65a1abcf25bfd01d554c8f8c380ab1384c216bf14f9719ae0947f764cd7a08688899b7e5805e3ce2a96086772035abe54012b5f4ea72
+DIST vault-1.14.5-vendor.tar.gz 71839384 BLAKE2B 845416db5d69c400d5e9603bd42b2d73112b1cea884a03ac1345afad627b0d8ed0ff983d97b3086ed69462713cc706aa67f46164df4c1e4e3226aafb66cf0e89 SHA512 ac55e4f9b76ac80eb0f82e5d63ed234c65a9b5c737fcb6f7ad8c9cb9dbe303b6d18a11b329f8223d9fbdcea1a7ee982c622184537fce45fe005df89b8392bbe5
+DIST vault-1.14.5-webui.tar.xz 1670796 BLAKE2B 8629de337f2c708553752409a1c8ddc94e421adb34c7b31116f4154e06eed6e7ffb0355cd7ff91d7ec42f1fb1a35737732d530a8587cf515a0636b0a5dbffb38 SHA512 32ff0d720282f0539288f3ee111b91d43b9098bd4ea309d11f638c9f0c4a0a9276fe2f940573d9d664dcea33945f08ac33488ad05d37b372042e859b6d2f7e97
+DIST vault-1.14.9-vendor.tar.gz 71845081 BLAKE2B ea25a6ba8ac293971170688b4ce3845ba19a5af746c3d96860420d74f8c0af33ea118a47d17117dbd520675739c44ed76118ef126c5b53e4c4adb0924cda58d5 SHA512 00ff45f986889d17ebe59c27aeaf8132270e5f06883bf84ce10721c9e2943a25ad8b86be3271991c824369ad5545258b3c01600f1dda06487751ff806b1d76b9
+DIST vault-1.14.9-webui.tar.xz 1677212 BLAKE2B db4da051a8c0a62e99c1f2070f3c022fc934350b255d21b360b3b3b53555942f1ac6c4ef15ed7d8a2519f05752406add63837317615afb387b0fc407f5ab8410 SHA512 2f54dd24fb9a4e2e774dd4212a605126a9d4e4975a97a01c88c94bce8e6f10174fe07235d402dd43ae31aacf4371f77272e4446d972d2e7304745186b0e6dbb7
+DIST vault-1.15.6-deps.tar.xz 20736608 BLAKE2B 53e21d0664f9bbd8c851a486334e04d3b3151aaee709c8fe88ab4969a81ebd4562cf3a350e383647140bd4826a0aa75b34ef136c81920b868dff7ae6f0522e37 SHA512 c1c24c2c646a441c551849af2d3165fc15db2b61f261608f44b7371214cdef0e76263b5b2f295c19606057e80316b4864fff64bc5603b99901fc8a5d900c6550
+DIST vault-1.15.6-webui.tar.xz 1721320 BLAKE2B 3f2d31767c6086e7b17f7445f0cff34ce4ebd7a6a1daeaede96443758096a6b8b94b971af5a74e8bcfb2c95c07b496b1babf3f8ce82f9b360fafe5a4d5138cac SHA512 6a532258a5c7734863967926d95699b2611959177b9dbf4e60cff115331237e65f3dbc41e842443ee5af9020c69280b27a511f887528dc914f9d9e642f9a3a63
+DIST vault-1.15.6.tar.gz 31923253 BLAKE2B 8a4e7b9d8d6753b6f717c6699b2d4822cecff299e3cebd8945d3c34232ff77611611d4e6259ab9c9c4ff91a2e52b7eef707df7da68960be36c314ceba18b124b SHA512 52be0e47f3028f9c1f3ce5d2a72356c955f20fcaf6e8396a6d5938226d72cd8353bed398ba66a6821fc609aaed465e82c3449aeaa0dfaabe80ff0412a73779b3
+DIST vault-1.16.1-deps.tar.xz 21476528 BLAKE2B 2ba0bd2165ce41bfae6fb56a0ff97fe4ed30ac5e16f30ceba14d618e30851b9bb31a964cf5035cd4089baf87c2cda5acd17558bb363acbbcc371ddf47b453c73 SHA512 a0262f421eacfc729a0bc98c137a580d3ca7b384b5b7a8e3bb81cc27b0791b81fdb9005ff9721159cccaf49f2ec6e86dafe7f4e2dde4b5c8d806a8bf1c68de2c
+DIST vault-1.16.1-webui.tar.xz 2213524 BLAKE2B 40c0811c84c849beba934f110afa21fe1ebe60f9a01750fcb4c6442f6a8ef28babd4c32157e6bb3eaf7545b683a81122f445a1a0d717cf7442a678e87206f67a SHA512 ca25ffaa85445070310fad9d5a05d6ff477729d64707a4da8bc433781d7f2283e18e680a9a06d6aa37496a21b148ac3bdc5eb3f475246ee3fe3cf4a8db096ffb
+DIST vault-1.16.1.tar.gz 32997180 BLAKE2B e8c6ccf19ce2c48eee1b4b7544c6d164bd98be3d06a08397b06049bbb6aed9304df592bcb5103e943a629aca4c2e83f661b16469e3353c022e3ca552fa1afedb SHA512 e970004343abb2792aeea4db55a002d1c18701d309caab4a49e3f387028083b70dfa67b7ff34b60c5d4d34ffa8ac3bef308b7218a0344dffde3b000b0e5d43a9
diff --git a/app-admin/vault/files/vault-1.15.6-stubmaker-outside-git-repo-24678.patch b/app-admin/vault/files/vault-1.15.6-stubmaker-outside-git-repo-24678.patch
new file mode 100644
index 000000000000..5b47f39cb81b
--- /dev/null
+++ b/app-admin/vault/files/vault-1.15.6-stubmaker-outside-git-repo-24678.patch
@@ -0,0 +1,92 @@
+From cd6d0e1c593e158b8641529410d95e4b1722d5b2 Mon Sep 17 00:00:00 2001
+From: Dave Dykstra <2129743+DrDaveD@users.noreply.github.com>
+Date: Thu, 4 Jan 2024 17:03:09 -0600
+Subject: [PATCH] Allow stubmaker to work outside of a git repository
+
+https://github.com/hashicorp/vault/pull/24678
+
+Fixes: https://github.com/hashicorp/vault/issues/24677
+---
+ tools/stubmaker/main.go | 58 +++++++++++++++++++++++------------------
+ 1 file changed, 33 insertions(+), 25 deletions(-)
+
+diff --git a/tools/stubmaker/main.go b/tools/stubmaker/main.go
+index 53676e08b8c84..15e95b6a45f60 100644
+--- a/tools/stubmaker/main.go
++++ b/tools/stubmaker/main.go
+@@ -43,15 +43,21 @@ func main() {
+ DetectDotGit: true,
+ })
+ if err != nil {
+- fatal(err)
++ if err.Error() != "repository does not exist" {
++ fatal(err)
++ }
++ repo = nil
+ }
+
+- wt, err := repo.Worktree()
+- if err != nil {
+- fatal(err)
+- }
+- if !isEnterprise(wt) {
+- return
++ var wt *git.Worktree
++ if repo != nil {
++ wt, err = repo.Worktree()
++ if err != nil {
++ fatal(err)
++ }
++ if !isEnterprise(wt) {
++ return
++ }
+ }
+
+ // Read the file and figure out if we need to do anything.
+@@ -80,26 +86,28 @@ func main() {
+
+ // We'd like to write the file, but first make sure that we're not going
+ // to blow away anyone's work or overwrite a file already in git.
+- head, err := repo.Head()
+- if err != nil {
+- fatal(err)
+- }
+- obj, err := repo.Object(plumbing.AnyObject, head.Hash())
+- if err != nil {
+- fatal(err)
+- }
++ if repo != nil {
++ head, err := repo.Head()
++ if err != nil {
++ fatal(err)
++ }
++ obj, err := repo.Object(plumbing.AnyObject, head.Hash())
++ if err != nil {
++ fatal(err)
++ }
+
+- st, err := wt.Status()
+- if err != nil {
+- fatal(err)
+- }
++ st, err := wt.Status()
++ if err != nil {
++ fatal(err)
++ }
+
+- tracked, err := inGit(wt, st, obj, outputFile)
+- if err != nil {
+- fatal(err)
+- }
+- if tracked {
+- fatal(fmt.Errorf("output file %s exists in git, not overwriting", outputFile))
++ tracked, err := inGit(wt, st, obj, outputFile)
++ if err != nil {
++ fatal(err)
++ }
++ if tracked {
++ fatal(fmt.Errorf("output file %s exists in git, not overwriting", outputFile))
++ }
+ }
+
+ // Now we can finally write the file
diff --git a/app-admin/vault/metadata.xml b/app-admin/vault/metadata.xml
index 5f19dd15eeea..3b0aacee4b26 100644
--- a/app-admin/vault/metadata.xml
+++ b/app-admin/vault/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>zmedico@gentoo.org</email>
diff --git a/app-admin/vault/vault-1.6.1.ebuild b/app-admin/vault/vault-1.14.5.ebuild
index d339b69b89e5..8158ce887ad1 100644
--- a/app-admin/vault/vault-1.6.1.ebuild
+++ b/app-admin/vault/vault-1.14.5.ebuild
@@ -1,24 +1,27 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit fcaps go-module systemd
DESCRIPTION="A tool for managing secrets"
HOMEPAGE="https://vaultproject.io/"
+
VAULT_WEBUI_ARCHIVE="${P}-webui.tar.xz"
-SRC_URI="https://github.com/hashicorp/vault/archive/v${PV}.tar.gz -> ${P}.tar.gz
+SRC_URI="https://github.com/zmedico/vault/archive/refs/tags/v${PV}-vendor.tar.gz -> ${P}-vendor.tar.gz
webui? (
https://dev.gentoo.org/~zmedico/dist/${VAULT_WEBUI_ARCHIVE}
)"
LICENSE="MPL-2.0 Apache-2.0 BSD BSD-2 CC-BY-SA-4.0 ISC MIT"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="amd64 ~arm64 ~riscv"
IUSE="+webui"
-BDEPEND="dev-go/gox
+BDEPEND="
+ app-arch/zip
+ dev-go/gox
>=dev-lang/go-1.15.3"
COMMON_DEPEND="acct-group/vault
acct-user/vault"
@@ -29,7 +32,12 @@ FILECAPS=(
-m 755 'cap_ipc_lock=+ep' usr/bin/${PN}
)
-RESTRICT+=" test"
+RESTRICT="test"
+S=${WORKDIR}/${P}-vendor
+
+src_unpack() {
+ default
+}
src_prepare() {
default
@@ -37,25 +45,30 @@ src_prepare() {
sed -e 's:^\(GIT_COMMIT=\).*:\1:' \
-e 's:^\(GIT_DIRTY=\).*:\1:' \
-e s:\'\${GIT_COMMIT}\${GIT_DIRTY}\':: \
+ -e "s|^BUILD_DATE=.*|BUILD_DATE=$(date +%Y-%m-%dT%H:%M:%SZ)|" \
-i scripts/build.sh || die
sed -e "/hooks/d" \
-e 's|^\([[:space:]]*\)goimports .*)|\1true|' \
+ -e "s/gofumpt/gofmt/g" \
-i Makefile || die
- if [[ -f "${WORKDIR}/http/bindata_assetfs.go" ]]; then
- mv "${WORKDIR}/http/bindata_assetfs.go" "${S}/http" ||
+ if [[ -d "${WORKDIR}/http/web_ui" ]]; then
+ rm -rf "${S}/http/web_ui" || die
+ mv "${WORKDIR}/http/web_ui" "${S}/http/web_ui" ||
die "mv failed"
+ else
+ mkdir -p "${S}/http/web_ui" || die
+ touch "${S}/http/web_ui/no_web_ui" || die
fi
}
src_compile() {
mkdir "${T}"/bin || die
BUILD_TAGS="$(usex webui ui '')" \
- GOFLAGS="-mod=vendor" \
GOPATH="${T}" \
XC_ARCH=$(go env GOARCH) \
XC_OS=$(go env GOOS) \
XC_OSARCH=$(go env GOOS)/$(go env GOARCH) \
- emake
+ emake bin
}
src_install() {
@@ -71,8 +84,3 @@ src_install() {
keepdir /var/log/${PN}
fowners ${PN}:${PN} /var/log/${PN}
}
-
-pkg_postinst() {
- fcaps_pkg_postinst
- go-module_pkg_postinst
-}
diff --git a/app-admin/vault/vault-1.5.6.ebuild b/app-admin/vault/vault-1.14.9.ebuild
index 0e1b75de2be5..1ca68af3ed4e 100644
--- a/app-admin/vault/vault-1.5.6.ebuild
+++ b/app-admin/vault/vault-1.14.9.ebuild
@@ -1,25 +1,28 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit fcaps go-module systemd
DESCRIPTION="A tool for managing secrets"
HOMEPAGE="https://vaultproject.io/"
+
VAULT_WEBUI_ARCHIVE="${P}-webui.tar.xz"
-SRC_URI="https://github.com/hashicorp/vault/archive/v${PV}.tar.gz -> ${P}.tar.gz
+SRC_URI="https://github.com/zmedico/vault/archive/refs/tags/v${PV}-vendor.tar.gz -> ${P}-vendor.tar.gz
webui? (
https://dev.gentoo.org/~zmedico/dist/${VAULT_WEBUI_ARCHIVE}
)"
LICENSE="MPL-2.0 Apache-2.0 BSD BSD-2 CC-BY-SA-4.0 ISC MIT"
SLOT="0"
-KEYWORDS="amd64"
+KEYWORDS="~amd64 ~arm64 ~riscv"
IUSE="+webui"
-BDEPEND="dev-go/gox
- >=dev-lang/go-1.14.7"
+BDEPEND="
+ app-arch/zip
+ dev-go/gox
+ >=dev-lang/go-1.21"
COMMON_DEPEND="acct-group/vault
acct-user/vault"
DEPEND="${COMMON_DEPEND}"
@@ -29,7 +32,12 @@ FILECAPS=(
-m 755 'cap_ipc_lock=+ep' usr/bin/${PN}
)
-RESTRICT+=" test"
+RESTRICT="test"
+S=${WORKDIR}/${P}-vendor
+
+src_unpack() {
+ default
+}
src_prepare() {
default
@@ -37,25 +45,30 @@ src_prepare() {
sed -e 's:^\(GIT_COMMIT=\).*:\1:' \
-e 's:^\(GIT_DIRTY=\).*:\1:' \
-e s:\'\${GIT_COMMIT}\${GIT_DIRTY}\':: \
+ -e "s|^BUILD_DATE=.*|BUILD_DATE=$(date +%Y-%m-%dT%H:%M:%SZ)|" \
-i scripts/build.sh || die
sed -e "/hooks/d" \
-e 's|^\([[:space:]]*\)goimports .*)|\1true|' \
+ -e "s/gofumpt/gofmt/g" \
-i Makefile || die
- if [[ -f "${WORKDIR}/http/bindata_assetfs.go" ]]; then
- mv "${WORKDIR}/http/bindata_assetfs.go" "${S}/http" ||
+ if [[ -d "${WORKDIR}/http/web_ui" ]]; then
+ rm -rf "${S}/http/web_ui" || die
+ mv "${WORKDIR}/http/web_ui" "${S}/http/web_ui" ||
die "mv failed"
+ else
+ mkdir -p "${S}/http/web_ui" || die
+ touch "${S}/http/web_ui/no_web_ui" || die
fi
}
src_compile() {
mkdir "${T}"/bin || die
BUILD_TAGS="$(usex webui ui '')" \
- GOFLAGS="-mod=vendor" \
GOPATH="${T}" \
XC_ARCH=$(go env GOARCH) \
XC_OS=$(go env GOOS) \
XC_OSARCH=$(go env GOOS)/$(go env GOARCH) \
- emake
+ emake bin
}
src_install() {
@@ -71,8 +84,3 @@ src_install() {
keepdir /var/log/${PN}
fowners ${PN}:${PN} /var/log/${PN}
}
-
-pkg_postinst() {
- fcaps_pkg_postinst
- go-module_pkg_postinst
-}
diff --git a/app-admin/vault/vault-1.15.6.ebuild b/app-admin/vault/vault-1.15.6.ebuild
new file mode 100644
index 000000000000..0d3c950161cf
--- /dev/null
+++ b/app-admin/vault/vault-1.15.6.ebuild
@@ -0,0 +1,86 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit fcaps go-module systemd
+
+DESCRIPTION="A tool for managing secrets"
+HOMEPAGE="https://vaultproject.io/"
+
+VAULT_WEBUI_ARCHIVE="${P}-webui.tar.xz"
+SRC_URI="https://github.com/hashicorp/vault/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+SRC_URI+=" webui? ( https://dev.gentoo.org/~zmedico/dist/${VAULT_WEBUI_ARCHIVE} )"
+SRC_URI+=" https://dev.gentoo.org/~zmedico/dist/${P}-deps.tar.xz"
+
+LICENSE="MPL-2.0 Apache-2.0 BSD BSD-2 CC-BY-SA-4.0 ISC MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ~riscv"
+IUSE="+webui"
+
+BDEPEND="
+ app-arch/zip
+ dev-go/gox
+ >=dev-lang/go-1.21"
+COMMON_DEPEND="acct-group/vault
+ acct-user/vault"
+ DEPEND="${COMMON_DEPEND}"
+ RDEPEND="${COMMON_DEPEND}"
+
+FILECAPS=(
+ -m 755 'cap_ipc_lock=+ep' usr/bin/${PN}
+)
+
+RESTRICT="test"
+S=${WORKDIR}/${P}
+PATCHES=("${FILESDIR}/${P}-stubmaker-outside-git-repo-24678.patch")
+
+src_unpack() {
+ default
+}
+
+src_prepare() {
+ default
+ # Avoid the need to have a git checkout
+ sed -e 's:^\(GIT_COMMIT=\).*:\1:' \
+ -e 's:^\(GIT_DIRTY=\).*:\1:' \
+ -e s:\'\${GIT_COMMIT}\${GIT_DIRTY}\':: \
+ -e "s|^BUILD_DATE=.*|BUILD_DATE=$(date +%Y-%m-%dT%H:%M:%SZ)|" \
+ -i scripts/build.sh || die
+ sed -e "/hooks/d" \
+ -e 's|^\([[:space:]]*\)goimports .*)|\1true|' \
+ -e "s/gofumpt/gofmt/g" \
+ -i Makefile || die
+ if [[ -d "${WORKDIR}/http/web_ui" ]]; then
+ rm -rf "${S}/http/web_ui" || die
+ mv "${WORKDIR}/http/web_ui" "${S}/http/web_ui" ||
+ die "mv failed"
+ else
+ mkdir -p "${S}/http/web_ui" || die
+ touch "${S}/http/web_ui/no_web_ui" || die
+ fi
+}
+
+src_compile() {
+ mkdir "${T}"/bin || die
+ BUILD_TAGS="$(usex webui ui '')" \
+ GOPATH="${T}" \
+ XC_ARCH=$(go env GOARCH) \
+ XC_OS=$(go env GOOS) \
+ XC_OSARCH=$(go env GOOS)/$(go env GOARCH) \
+ emake bin
+}
+
+src_install() {
+ dobin bin/${PN}
+ dodoc CHANGELOG.md CONTRIBUTING.md README.md
+ insinto /etc/${PN}.d
+ doins "${FILESDIR}/"*.json.example
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}/${PN}.logrotated" "${PN}"
+ newinitd "${FILESDIR}/${PN}.initd" "${PN}"
+ newconfd "${FILESDIR}/${PN}.confd" "${PN}"
+ systemd_dounit "${FILESDIR}/${PN}.service"
+ keepdir /var/log/${PN}
+ fowners ${PN}:${PN} /var/log/${PN}
+}
diff --git a/app-admin/vault/vault-1.16.1.ebuild b/app-admin/vault/vault-1.16.1.ebuild
new file mode 100644
index 000000000000..9956d1f746c1
--- /dev/null
+++ b/app-admin/vault/vault-1.16.1.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit fcaps go-module systemd
+
+DESCRIPTION="A tool for managing secrets"
+HOMEPAGE="https://vaultproject.io/"
+
+VAULT_WEBUI_ARCHIVE="${P}-webui.tar.xz"
+SRC_URI="https://github.com/hashicorp/vault/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+SRC_URI+=" webui? ( https://dev.gentoo.org/~zmedico/dist/${VAULT_WEBUI_ARCHIVE} )"
+SRC_URI+=" https://dev.gentoo.org/~zmedico/dist/${P}-deps.tar.xz"
+
+LICENSE="BUSL-1.1 MPL-2.0"
+LICENSE+=" Apache-2.0 BSD BSD-2 CC-BY-SA-4.0 ISC MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+IUSE="+webui"
+
+BDEPEND="
+ app-arch/zip
+ dev-go/gox
+ >=dev-lang/go-1.21"
+COMMON_DEPEND="acct-group/vault
+ acct-user/vault"
+ DEPEND="${COMMON_DEPEND}"
+ RDEPEND="${COMMON_DEPEND}"
+
+FILECAPS=(
+ -m 755 'cap_ipc_lock=+ep' usr/bin/${PN}
+)
+
+RESTRICT="test"
+S=${WORKDIR}/${P}
+PATCHES=("${FILESDIR}/${PN}-1.15.6-stubmaker-outside-git-repo-24678.patch")
+
+src_unpack() {
+ default
+}
+
+src_prepare() {
+ default
+ # Avoid the need to have a git checkout
+ sed -e 's:^\(GIT_COMMIT=\).*:\1:' \
+ -e 's:^\(GIT_DIRTY=\).*:\1:' \
+ -e s:\'\${GIT_COMMIT}\${GIT_DIRTY}\':: \
+ -e "s|^BUILD_DATE=.*|BUILD_DATE=$(date +%Y-%m-%dT%H:%M:%SZ)|" \
+ -i scripts/build.sh || die
+ sed -e "/hooks/d" \
+ -e 's|^\([[:space:]]*\)goimports .*)|\1true|' \
+ -e "s/gofumpt/gofmt/g" \
+ -i Makefile || die
+ if [[ -d "${WORKDIR}/http/web_ui" ]]; then
+ rm -rf "${S}/http/web_ui" || die
+ mv "${WORKDIR}/http/web_ui" "${S}/http/web_ui" ||
+ die "mv failed"
+ else
+ mkdir -p "${S}/http/web_ui" || die
+ touch "${S}/http/web_ui/no_web_ui" || die
+ fi
+}
+
+src_compile() {
+ mkdir "${T}"/bin || die
+ BUILD_TAGS="$(usex webui ui '')" \
+ GOPATH="${T}" \
+ XC_ARCH=$(go env GOARCH) \
+ XC_OS=$(go env GOOS) \
+ XC_OSARCH=$(go env GOOS)/$(go env GOARCH) \
+ emake bin
+}
+
+src_install() {
+ dobin bin/${PN}
+ dodoc CHANGELOG.md CONTRIBUTING.md README.md
+ insinto /etc/${PN}.d
+ doins "${FILESDIR}/"*.json.example
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}/${PN}.logrotated" "${PN}"
+ newinitd "${FILESDIR}/${PN}.initd" "${PN}"
+ newconfd "${FILESDIR}/${PN}.confd" "${PN}"
+ systemd_dounit "${FILESDIR}/${PN}.service"
+ keepdir /var/log/${PN}
+ fowners ${PN}:${PN} /var/log/${PN}
+}