diff --git a/app-admin/vaultwarden/Manifest b/app-admin/vaultwarden/Manifest index faed7ae695b3f..216c363624925 100644 --- a/app-admin/vaultwarden/Manifest +++ b/app-admin/vaultwarden/Manifest @@ -1,3 +1,6 @@ DIST vaultwarden-1.34.1-deps.tar.xz 52689252 BLAKE2B e2d6eea8e29908b08e887967c2a4320dc213073a7a7bbbba969f964475d0babff8b57ff093ac9cab3ed3a724d6f924b6b09aa2380eaf30d17a79765d18996391 SHA512 e21df43a3c09c3463d0b7c9a8ae23bebfba062cf4f2ce0deb2ad0cd27231c7269586911b4b69ab550467143fed1deba9ac29e01231e1701de941ce8a8bb5e02f DIST vaultwarden-1.34.1-docs.tar.xz 79056 BLAKE2B c863f0e3657a1165d1d6920c396a444a54662a20b0ee6e5a7053a184d9cde7e3c9a9429248448ef349d9d794226fee149e0bddb200a450a32957e2a68c3f8481 SHA512 8b4cd281261433559aca8d058d37e23b1cbb96f95f22c991bbbe125479bd424475f4982206e33bfcd4dac22a9167f6c2a7c4f4a9877e880de73000ad2e22c8c0 DIST vaultwarden-1.34.1.tar.gz 649230 BLAKE2B fc842974ab1b7ba6cd6cbec36d6b03f2ca9358214a0a993f9ae99a91ba2e655186e89de714d5ce0327b885e22d5c8cc374dd1ef6d2abbb588795bc5fb4f4ffe7 SHA512 9811a9d178b855ef66694d8b6e49906c5b68b02303f1653c644e925eaedbe0a98d974ac3d426dcb2567be1c7cc5efd4dc0418414acfda2e92d48aae1510b74d0 +DIST vaultwarden-1.34.2-deps.tar.xz 56223264 BLAKE2B 95010810db5e13ba07dbd06918a97e09c8125737b417263c1111f643e3d904985ba8e8e2347d3bc37d9337918d2cda70a074722d55dfe0573da762f1ae45397d SHA512 caaaf90d3e5555158d553d3183e889d65b68527aa412e778ea9d558541ea943a2a570f1195fd806e82504a822db682d86f669352d3a11b0cb9228d0c5bff6b8f +DIST vaultwarden-1.34.2-docs.tar.xz 80864 BLAKE2B 759b024561f696d192a481b6b6991ad750a1f24d9b7b0c7b066475cae9348923decefe93478203261c10c1a7a4d7437b393bef434bffab561ab0a9a633d82761 SHA512 f8cc99a086f70690402e7962e13590246d7e326c7cc1193d6b42b7a9cb7e73f94aa384fdf29f2f3de8fb9fd6d4a8d34ee720e9de69f057f97eaba085bb1079f9 +DIST vaultwarden-1.34.2.tar.gz 660601 BLAKE2B 702def10e8102c9afbae51d5caf52e7b414c86d8933668da2f61931f6db44fbcc85c6757eda71ed331d21eede2ad4a5e738575b15e6c628afe2a350f951ca44a SHA512 85e3849bb9db398b8691a68d675ee7e1c85c65818a86eade9685785f9456d9c6f91048b4fd304f50544f1842623a92fe2c2143cd23b193202cb8b8062f71c693 diff --git a/app-admin/vaultwarden/vaultwarden-1.34.2.ebuild b/app-admin/vaultwarden/vaultwarden-1.34.2.ebuild new file mode 100644 index 0000000000000..4e628978e51d7 --- /dev/null +++ b/app-admin/vaultwarden/vaultwarden-1.34.2.ebuild @@ -0,0 +1,156 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cargo check-reqs readme.gentoo-r1 systemd tmpfiles + +DESCRIPTION="Unofficial Bitwarden compatible password manager" +HOMEPAGE="https://github.com/dani-garcia/vaultwarden" + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/dani-garcia/vaultwarden.git" +else + SRC_URI=" + https://github.com/dani-garcia/vaultwarden/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz + https://github.com/rahilarious/gentoo-distfiles/releases/download/${P}/deps.tar.xz -> ${P}-deps.tar.xz + https://github.com/rahilarious/gentoo-distfiles/releases/download/${P}/wiki.tar.xz -> ${P}-docs.tar.xz +" + KEYWORDS="~amd64" +fi + +LICENSE="AGPL-3" +# Dependent crate licenses +LICENSE+=" 0BSD Apache-2.0 BSD ISC MIT MPL-2.0 Unicode-3.0" + +SLOT="0" +IUSE="cli mysql postgres +sqlite +web" +REQUIRED_USE="|| ( mysql postgres sqlite )" + +RDEPEND=" + acct-user/vaultwarden + acct-group/vaultwarden + dev-libs/openssl:= + cli? ( app-admin/bitwarden-cli-bin ) + mysql? ( dev-db/mysql-connector-c:= ) + postgres? ( dev-db/postgresql:* ) + sqlite? ( dev-db/sqlite:3 ) + web? ( www-apps/vaultwarden-web ) +" + +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig" + +QA_FLAGS_IGNORED="usr/bin/${PN}" +QA_PRESTRIPPED="usr/bin/${PN}" +ECARGO_VENDOR="${WORKDIR}/vendor" + +PATCHES=( + "${FILESDIR}"/vaultwarden-envfile-1.34.1.patch +) + +CHECKREQS_MEMORY=3G +CHECKREQS_DISK_BUILD=2G + +DOC_CONTENTS="\n + Configuration file: /etc/${PN}/${PN}.conf\n + Data directory: /var/lib/${PN}\n + Log file: /var/log/${PN}.log\n + Default endpoint: http://127.0.0.1:8000\n + Admin endpoint: http://127.0.0.1:8000/admin\n + \n + MySQL & PostgreSQL users must set DATABASE_URL in config\n +" + +pkg_setup() { + check-reqs_pkg_setup + rust_pkg_setup +} + +src_unpack() { + if [[ ${PV} == 9999* ]]; then + # clone vaultwarden + git-r3_src_unpack + + # clone vaultwarden.wiki + EGIT_REPO_URI="https://github.com/dani-garcia/vaultwarden.wiki.git" + EGIT_CHECKOUT_DIR="${WORKDIR}/${PN}.wiki" + git-r3_src_unpack + + cargo_live_src_unpack + else + cargo_src_unpack + fi +} + +src_prepare() { + default + if use !web; then + sed -i \ + -e 's|^# WEB_VAULT_ENABLED=true|WEB_VAULT_ENABLED=false|g;' \ + .env.template || die + fi + + if use mysql || use postgres; then + declare -a DB_UNIT + use mysql && DB_UNIT+=( + mariadb.service + mysqld.service + ) + use postgres && DB_UNIT+=( + postgresql-{13..17}.service + ) + cat <<-EOF > "${T}/${PN}-db.conf" + [Unit] + After=${DB_UNIT[@]} + Wants=${DB_UNIT[@]} + EOF + fi + +} + +src_configure() { + local myfeatures=( + $(usev sqlite) + $(usev mysql) + $(usev postgres postgresql ) + ) + cargo_src_configure +} + +src_compile() { + # https://github.com/dani-garcia/vaultwarden/blob/main/build.rs + [[ ${PV} != 9999* ]] && export VW_VERSION="${PV}" + cargo_src_compile +} + +src_install() { + dobin "$(cargo_target_dir)/${PN}" + systemd_newunit "${FILESDIR}"/vaultwarden-1.33.2.service \ + "${PN}".service + if [[ -f "${T}/${PN}-db.conf" ]]; then + local UNIT_DIR="$(systemd_get_systemunitdir)" + insinto "${UNIT_DIR#${EPREFIX}}/${PN}".service.d + doins "${T}/${PN}-db.conf" + fi + newinitd "${FILESDIR}"/vaultwarden-1.33.2.initd "${PN}" + newconfd "${FILESDIR}"/vaultwarden-1.33.2.confd "${PN}" + newtmpfiles "${FILESDIR}"/vaultwarden-tmpfiles-1.33.2.conf "${PN}".conf + insinto /etc/logrotate.d + newins "${FILESDIR}/"vaultwarden-1.33.2.logrotated "${PN}" + insinto /etc/"${PN}" + newins .env.template "${PN}".conf + keepdir /var/lib/"${PN}" + fowners "${PN}":"${PN}" /var/lib/"${PN}" + fperms 750 /var/lib/"${PN}" + + readme.gentoo_create_doc + einstalldocs + dodoc -r ../"${PN}".wiki/* +} + +pkg_postinst() { + tmpfiles_process "${PN}".conf + readme.gentoo_print_elog +} diff --git a/app-admin/vaultwarden/vaultwarden-9999.ebuild b/app-admin/vaultwarden/vaultwarden-9999.ebuild index 12a9e09a7dc74..4e628978e51d7 100644 --- a/app-admin/vaultwarden/vaultwarden-9999.ebuild +++ b/app-admin/vaultwarden/vaultwarden-9999.ebuild @@ -153,11 +153,4 @@ src_install() { pkg_postinst() { tmpfiles_process "${PN}".conf readme.gentoo_print_elog - - # delete following after 3 months - elog "Vaultwarden stack has been moved from ::guru to ::gentoo" - elog "### Migration guide: " - elog "* Backup /etc/vaultwarden.env" - elog "* Configuration file has been moved from /etc/${PN}.env to /etc/${PN}/${PN}.conf" - elog " So make sure to migrate that & remove old config" }