1 # Copyright 1999-2025 Gentoo Authors
2 # Distributed under the terms of the GNU General Public License v2
6 inherit fcaps go-module systemd
8 DESCRIPTION="A tool for managing secrets"
9 HOMEPAGE="https://vaultproject.io/"
11 VAULT_WEBUI_ARCHIVE="${P}-webui.tar.xz"
12 SRC_URI="https://github.com/hashicorp/vault/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
13 SRC_URI+=" webui? ( https://dev.gentoo.org/~zmedico/dist/${VAULT_WEBUI_ARCHIVE} )"
14 SRC_URI+=" https://dev.gentoo.org/~zmedico/dist/${P}-deps.tar.xz"
16 LICENSE="BUSL-1.1 MPL-2.0"
17 LICENSE+=" Apache-2.0 BSD BSD-2 CC-BY-SA-4.0 ISC MIT"
19 KEYWORDS="amd64 ~arm64 ~riscv"
27 COMMON_DEPEND="acct-group/vault
29 DEPEND="${COMMON_DEPEND}"
30 RDEPEND="${COMMON_DEPEND}"
33 -m 755 'cap_ipc_lock=+ep' usr/bin/${PN}
44 # Avoid the need to have a git checkout
45 sed -e 's:^\(GIT_COMMIT=\).*:\1:' \
46 -e 's:^\(GIT_DIRTY=\).*:\1:' \
47 -e s:\'\${GIT_COMMIT}\${GIT_DIRTY}\':: \
48 -e "s|^BUILD_DATE=.*|BUILD_DATE=$(date +%Y-%m-%dT%H:%M:%SZ)|" \
49 -i scripts/build.sh || die
51 -e 's|^\([[:space:]]*\)goimports .*)|\1true|' \
52 -e "s/gofumpt/gofmt/g" \
54 if [[ -d "${WORKDIR}/http/web_ui" ]]; then
55 rm -rf "${S}/http/web_ui" || die
56 mv "${WORKDIR}/http/web_ui" "${S}/http/web_ui" ||
59 mkdir -p "${S}/http/web_ui" || die
60 touch "${S}/http/web_ui/no_web_ui" || die
65 mkdir "${T}"/bin || die
66 BUILD_TAGS="$(usex webui ui '')" \
68 XC_ARCH=$(go env GOARCH) \
69 XC_OS=$(go env GOOS) \
70 XC_OSARCH=$(go env GOOS)/$(go env GOARCH) \
76 dodoc CHANGELOG.md CONTRIBUTING.md README.md
78 doins "${FILESDIR}/"*.json.example
79 insinto /etc/logrotate.d
80 newins "${FILESDIR}/${PN}.logrotated" "${PN}"
81 newinitd "${FILESDIR}/${PN}.initd" "${PN}"
82 newconfd "${FILESDIR}/${PN}.confd" "${PN}"
83 systemd_dounit "${FILESDIR}/${PN}.service"
84 keepdir /var/log/${PN}
85 fowners ${PN}:${PN} /var/log/${PN}