diff --git a/acct-group/vaultwarden/metadata.xml b/acct-group/vaultwarden/metadata.xml new file mode 100644 index 0000000000..3e6b5d8ad4 --- /dev/null +++ b/acct-group/vaultwarden/metadata.xml @@ -0,0 +1,8 @@ + + + + + me@rahil.rocks + Rahil Bhimjiani + + diff --git a/acct-group/vaultwarden/vaultwarden-0.ebuild b/acct-group/vaultwarden/vaultwarden-0.ebuild new file mode 100644 index 0000000000..fe6d9637e9 --- /dev/null +++ b/acct-group/vaultwarden/vaultwarden-0.ebuild @@ -0,0 +1,10 @@ +# Copyright 2019-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit acct-group + +DESCRIPTION="A group for app-admin/vaultwarden" + +ACCT_GROUP_ID=-1 diff --git a/acct-user/vaultwarden/metadata.xml b/acct-user/vaultwarden/metadata.xml new file mode 100644 index 0000000000..3e6b5d8ad4 --- /dev/null +++ b/acct-user/vaultwarden/metadata.xml @@ -0,0 +1,8 @@ + + + + + me@rahil.rocks + Rahil Bhimjiani + + diff --git a/acct-user/vaultwarden/vaultwarden-0.ebuild b/acct-user/vaultwarden/vaultwarden-0.ebuild new file mode 100644 index 0000000000..1758c1ee47 --- /dev/null +++ b/acct-user/vaultwarden/vaultwarden-0.ebuild @@ -0,0 +1,13 @@ +# Copyright 2019-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit acct-user + +DESCRIPTION="A user for app-admin/vaultwarden" + +ACCT_USER_ID=-1 +ACCT_USER_GROUPS=( ${PN} ) + +acct-user_add_deps diff --git a/app-admin/bitwarden-cli-bin/Manifest b/app-admin/bitwarden-cli-bin/Manifest new file mode 100644 index 0000000000..19b13d6396 --- /dev/null +++ b/app-admin/bitwarden-cli-bin/Manifest @@ -0,0 +1 @@ +DIST bw-linux-2024.2.0.zip 32968695 BLAKE2B 808dbd4965cc26b3880bd541bc4c3627ed6b07233bb3eb62c76c5034ba734c6211c1fc907309f71d8dcfd993a61ba0bcdd049dc052c477cb43e7d4452929fe31 SHA512 80fa0ab96bf291ed5008d5c01d00eebf950e72b8c21184be3df1018ba33d33bac038b4410e17123096113642372b8013bdde0605473449cec5c69c418fa2e3c5 diff --git a/app-admin/bitwarden-cli-bin/bitwarden-cli-bin-2024.2.0.ebuild b/app-admin/bitwarden-cli-bin/bitwarden-cli-bin-2024.2.0.ebuild new file mode 100644 index 0000000000..fd41561b7b --- /dev/null +++ b/app-admin/bitwarden-cli-bin/bitwarden-cli-bin-2024.2.0.ebuild @@ -0,0 +1,35 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit shell-completion + +DESCRIPTION="Precompiled CLI frontend which connects to Bitwarden comapatible servers" +HOMEPAGE="https://github.com/bitwarden/clients/tree/main/apps/cli" + +SRC_URI=" + https://github.com/bitwarden/clients/releases/download/cli-v${PV}/bw-linux-${PV}.zip +" + +S="${WORKDIR}" +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64" + +# non-stripped binary is of 99M but works +# stripped bianry is of 44M but doesnt work +RESTRICT='strip' + +RDEPEND="!app-admin/bitwarden-cli" +BDEPEND="app-arch/unzip" +QA_PRESTRIPPED="usr/bin/bw" + +src_compile() { + ./bw completion --shell zsh > bw.zsh +} + +src_install() { + dobin bw + newzshcomp bw.zsh _bw +} diff --git a/app-admin/bitwarden-cli-bin/metadata.xml b/app-admin/bitwarden-cli-bin/metadata.xml new file mode 100644 index 0000000000..32c863c574 --- /dev/null +++ b/app-admin/bitwarden-cli-bin/metadata.xml @@ -0,0 +1,13 @@ + + + + + me@rahil.rocks + Rahil Bhimjiani + + + bitwarden/clients + https://github.com/bitwarden/clients/issues + https://github.com/bitwarden/clients/tree/main/apps/cli + + diff --git a/app-admin/bitwarden-cli/Manifest b/app-admin/bitwarden-cli/Manifest new file mode 100644 index 0000000000..c7b8232019 --- /dev/null +++ b/app-admin/bitwarden-cli/Manifest @@ -0,0 +1,3 @@ +DIST bitwarden-cli-2024.2.0-pkg-cache.tar.xz 13081348 BLAKE2B c0f56169752a8659f4a42b36a1fb48604d968a82853f8a860fb03455b499be03ba6cdacc643188b86c3673ffa26ab8ed2a825bdf6a37996189f851ad5e638b5b SHA512 f1de3477537b9f95dc38353ce1bf1d22e7cf8b92b0012befe2c0db4c62dd1f7fc419ba06518318fed90deb9a8627e35422daee8ba70f07e02f3c8eb43678a7c1 +DIST bitwarden-cli-2024.2.0.tar.gz 20328706 BLAKE2B 0f8120b7ddbf74a6e5c3d7a63ad72dd3ecea3f32c46b488b21bfa2ca877724841a5dd9318854a0204dc7015ea104ffed0783a8301bf57a53f9a5d4b9d1ff18e1 SHA512 8a9f69242a945b17c944c699649b9f2524d5ae3b07f97d296ae01bde44b9081b9262fa80028c28a1f876ce789d4daac103d2c15c01a9af07e5c7159f43d427b6 +DIST bitwarden-clients-a1a5c4b.tar.xz 204680568 BLAKE2B dd7ae09792831dacf9e7c110a508315e8d57c3231c6c32014e7b842ffc01a046fec03f375c48afd40379ba2853159e594a54b3f8ec229c1568ba3d1b8c054335 SHA512 5644d0b53c525164c2af14036dd7d432be9a943b55df2aef9922329326b164b31336bd53e2f9f2eb35a858f974d8fc0a3bd3aac6e42b821d5d4634ca714a51c3 diff --git a/app-admin/bitwarden-cli/bitwarden-cli-2024.2.0.ebuild b/app-admin/bitwarden-cli/bitwarden-cli-2024.2.0.ebuild new file mode 100644 index 0000000000..7d6bf1c2a0 --- /dev/null +++ b/app-admin/bitwarden-cli/bitwarden-cli-2024.2.0.ebuild @@ -0,0 +1,62 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit check-reqs shell-completion + +DESCRIPTION="CLI frontend client connects to Bitwarden comapatible password manager server" +HOMEPAGE="https://github.com/bitwarden/clients/tree/main/apps/cli" + +BW_CLIENTS_COMMIT="a1a5c4b" +SRC_URI=" + https://github.com/bitwarden/clients/archive/refs/tags/cli-v${PV}.tar.gz -> ${P}.tar.gz + https://github.com/rahilarious/gentoo-distfiles/releases/download/bitwarden-clients-${BW_CLIENTS_COMMIT}/deps.tar.xz -> bitwarden-clients-${BW_CLIENTS_COMMIT}.tar.xz + https://github.com/rahilarious/gentoo-distfiles/releases/download/${P}/pkg-cache.tar.xz -> ${P}-pkg-cache.tar.xz +" + +S="${WORKDIR}/clients-cli-v${PV}" +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64" + +# non-stripped binary is of 99M but works +# stripped bianry is of 44M but doesnt work +RESTRICT='strip' + +RDEPEND="!app-admin/bitwarden-cli-bin" +BDEPEND=" + net-libs/nodejs:0/18[npm] +" + +QA_PRESTRIPPED="usr/bin/bw" + +CHECKREQS_MEMORY=2G +CHECKREQS_DISK_BUILD=2G + +pkg_pretend() { + einfo "" + einfo "#################################################" + einfo "Precompiled alternative to this package is available:" + einfo " ${CATEGORY}/${PN}-bin" + einfo "#################################################" + einfo "" + check-reqs_pkg_pretend +} + +src_prepare() { + default + mv -v ../node_modules ./ || die +} + +src_compile() { + pushd apps/cli + PKG_CACHE_PATH="${WORKDIR}"/.pkg-cache npm --verbose --offline run dist:lin \ + || die "Build failed! Try prebuilt from upstream ${CATEGORY}/${PN}-bin" + ./dist/linux/bw completion --shell zsh > bw.zsh +} + +src_install() { + dobin apps/cli/dist/linux/bw + newzshcomp apps/cli/bw.zsh _bw +} diff --git a/app-admin/bitwarden-cli/metadata.xml b/app-admin/bitwarden-cli/metadata.xml new file mode 100644 index 0000000000..32c863c574 --- /dev/null +++ b/app-admin/bitwarden-cli/metadata.xml @@ -0,0 +1,13 @@ + + + + + me@rahil.rocks + Rahil Bhimjiani + + + bitwarden/clients + https://github.com/bitwarden/clients/issues + https://github.com/bitwarden/clients/tree/main/apps/cli + + diff --git a/app-admin/vaultwarden/Manifest b/app-admin/vaultwarden/Manifest new file mode 100644 index 0000000000..341d6c7c3a --- /dev/null +++ b/app-admin/vaultwarden/Manifest @@ -0,0 +1,3 @@ +DIST vaultwarden-1.30.3-deps.tar.xz 46123852 BLAKE2B 3a72fb6b30cbaee9ecbafb1c2411c116f25cd4637ca060db604e33e0d27c8a837a045655388fef15f145049b99a4d946dde15c08bb57b002cb2d8e6325826a54 SHA512 fbe0c456f1f298f8588e22afc8b5fcdc4aec94c10a6474362555929940d35086906d703ba9474751e9bcb54ea56e807277975788eb2e1cf0bae4be323ac7886b +DIST vaultwarden-1.30.3-docs.tar.xz 73696 BLAKE2B c78252c8ba6fc5efd1fc528e32bc608695f4d83749a85952f7b5daa6b8b874666f2dcfe5a9086f178ab27a806ac10070905eb7e4acb27890bc865873c0db7d3f SHA512 5144a79dfc2a8ec3ea2f62accb4635aa556bd7ec3f2b33b7943fd4443332ade44902550c4ea9c8bafa19ec7c0feed92754e3540b0696853dd7e7cee5971d8dc1 +DIST vaultwarden-1.30.3.tar.gz 608049 BLAKE2B f8d8a80c8dc7b6c710b0fbea19a14c7a73b150fb344173302e00395da5b6d0035f8c4b5c2cd80f2b573127a21ad4d5c440862fe2ab221ba733f85cb109387459 SHA512 2e1163300cc4e3bb2a66566fdfa65cc439920316615efd89d113121407f5456fed127dfa55be2a8cf77543083ace1ea56b6e15bc8a9678aa53e71435d6293642 diff --git a/app-admin/vaultwarden/files/vaultwarden-1.30.3.initd b/app-admin/vaultwarden/files/vaultwarden-1.30.3.initd new file mode 100644 index 0000000000..f468d76ead --- /dev/null +++ b/app-admin/vaultwarden/files/vaultwarden-1.30.3.initd @@ -0,0 +1,20 @@ +#!/sbin/openrc-run +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +set -a && source ../"${RC_SVCNAME}".env && set +a + +name="Vaultwarden" +description="Unofficial Bitwarden compatible password manager server in Rust" +command="/usr/bin/${RC_SVCNAME}" +command_user="${RC_SVCNAME}:${RC_SVCNAME}" +command_background="true" +pidfile="/run/${RC_SVCNAME}.pid" +output_log="/var/log/${RC_SVCNAME}.log" +error_log="/var/log/${RC_SVCNAME}.log" +directory="${DATA_FOLDER:-/var/lib/${RC_SVCNAME}}" +umask=0027 + +depend() { + after net +} diff --git a/app-admin/vaultwarden/files/vaultwarden-1.30.3.service b/app-admin/vaultwarden/files/vaultwarden-1.30.3.service new file mode 100644 index 0000000000..1d68bc0924 --- /dev/null +++ b/app-admin/vaultwarden/files/vaultwarden-1.30.3.service @@ -0,0 +1,53 @@ +[Unit] +Description=Vaultwarden, password manager server writen in Rust +Documentation=https://github.com/dani-garcia/vaultwarden + +After=network.target +Wants=network.target + +After=mariadb.service +Wants=mariadb.service + +After=mysqld.service +Wants=mysqld.service + +After=postgresql-12.service postgresql-13.service postgresql-14.service postgresql-15.service postgresql-16.service +Wants=postgresql-12.service postgresql-13.service postgresql-14.service postgresql-15.service postgresql-16.service + +[Service] +EnvironmentFile=/etc/%N.env +ExecStart=/usr/bin/%N +WorkingDirectory=/var/lib/%N + +User=%N +Group=%N +UMask=0027 + +# Sandboxing and hardening systemd.exec(5) +PrivateUsers=yes +ProtectClock=yes +ProtectHostname=yes +ProtectKernelTunables=yes +ProtectKernelModules=yes +ProtectKernelLogs=yes +ProtectControlGroups=yes +RestrictNamespaces=yes +LockPersonality=yes +MemoryDenyWriteExecute=yes +RestrictSUIDSGID=yes +RemoveIPC=yes +RestrictRealtime=yes +PrivateTmp=true +PrivateDevices=true +ProtectHome=true + +# set entire file system to read only except following ReadWritePaths +ProtectSystem=strict +ReadWritePaths=/var/lib/%N /var/log/%N.log + +# Set reasonable connection and process limits +LimitNOFILE=1048576 +LimitNPROC=64 + +[Install] +WantedBy=multi-user.target diff --git a/app-admin/vaultwarden/files/vaultwarden-envfile-1.30.3.patch b/app-admin/vaultwarden/files/vaultwarden-envfile-1.30.3.patch new file mode 100644 index 0000000000..a97b338be0 --- /dev/null +++ b/app-admin/vaultwarden/files/vaultwarden-envfile-1.30.3.patch @@ -0,0 +1,54 @@ +--- a/.env.template ++++ b/.env.template +@@ -15,24 +15,24 @@ + #################### + + ## Main data folder +-# DATA_FOLDER=data ++DATA_FOLDER=/var/lib/vaultwarden + + ## Individual folders, these override %DATA_FOLDER% +-# RSA_KEY_FILENAME=data/rsa_key +-# ICON_CACHE_FOLDER=data/icon_cache +-# ATTACHMENTS_FOLDER=data/attachments +-# SENDS_FOLDER=data/sends +-# TMP_FOLDER=data/tmp ++# RSA_KEY_FILENAME=/var/lib/vaultwarden/rsa_key ++# ICON_CACHE_FOLDER=/var/lib/vaultwarden/icon_cache ++# ATTACHMENTS_FOLDER=/var/lib/vaultwarden/attachments ++# SENDS_FOLDER=/var/lib/vaultwarden/sends ++# TMP_FOLDER=/var/lib/vaultwarden/tmp + + ## Templates data folder, by default uses embedded templates + ## Check source code to see the format +-# TEMPLATES_FOLDER=data/templates ++# TEMPLATES_FOLDER=/var/lib/vaultwarden/templates + ## Automatically reload the templates for every request, slow, use only for development + # RELOAD_TEMPLATES=false + + ## Web vault settings +-# WEB_VAULT_FOLDER=web-vault/ +-# WEB_VAULT_ENABLED=true ++WEB_VAULT_FOLDER=/usr/share/webapps/vaultwarden-web ++WEB_VAULT_ENABLED=false + + ######################### + ### Database settings ### +@@ -40,7 +40,7 @@ + + ## Database URL + ## When using SQLite, this is the path to the DB file, default to %DATA_FOLDER%/db.sqlite3 +-# DATABASE_URL=data/db.sqlite3 ++# DATABASE_URL=/var/lib/vaultwarden/db.sqlite3 + ## When using MySQL, specify an appropriate connection URI. + ## Details: https://docs.diesel.rs/2.1.x/diesel/mysql/struct.MysqlConnection.html + # DATABASE_URL=mysql://user:password@host[:port]/database_name +@@ -361,7 +361,7 @@ + # USE_SYSLOG=false + + ## Logging to file +-# LOG_FILE=/path/to/log ++# LOG_FILE=/var/log/vaultwarden.log + + ## Log level + ## Change the verbosity of the log output diff --git a/app-admin/vaultwarden/files/vaultwarden-tmpfiles-1.30.3.conf b/app-admin/vaultwarden/files/vaultwarden-tmpfiles-1.30.3.conf new file mode 100644 index 0000000000..c9be5d457a --- /dev/null +++ b/app-admin/vaultwarden/files/vaultwarden-tmpfiles-1.30.3.conf @@ -0,0 +1,5 @@ +# Fields: type; path; mode; uid; gid; age; argument +# tmpfiled.d(5) +d /var/lib/vaultwarden 0750 vaultwarden vaultwarden +d /var/lib/vaultwarden/tmp 0750 vaultwarden vaultwarden 1d +f /var/log/vaultwarden.log 0640 vaultwarden vaultwarden diff --git a/app-admin/vaultwarden/metadata.xml b/app-admin/vaultwarden/metadata.xml new file mode 100644 index 0000000000..3c4ab14ed3 --- /dev/null +++ b/app-admin/vaultwarden/metadata.xml @@ -0,0 +1,21 @@ + + + + + me@rahil.rocks + Rahil Bhimjiani + + + + Install client with the Command-Line Interface + + + Install client with Web UI + + + + dani-garcia/vaultwarden + https://github.com/dani-garcia/vaultwarden/issues + https://github.com/dani-garcia/vaultwarden/blob/main/README.md + + diff --git a/app-admin/vaultwarden/vaultwarden-1.30.3.ebuild b/app-admin/vaultwarden/vaultwarden-1.30.3.ebuild new file mode 100644 index 0000000000..4cf733e1aa --- /dev/null +++ b/app-admin/vaultwarden/vaultwarden-1.30.3.ebuild @@ -0,0 +1,112 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cargo check-reqs systemd tmpfiles + +DESCRIPTION="Unofficial Bitwarden compatible password manager server written in Rust" +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 + +# main +LICENSE="AGPL-3" +# deps +LICENSE+=" 0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD ISC MIT MPL-2.0 Unicode-DFS-2016" + +SLOT="0" +IUSE="cli mysql postgres sqlite web" +REQUIRED_USE="|| ( mysql postgres sqlite )" + +RDEPEND=" + acct-user/vaultwarden + acct-group/vaultwarden + cli? ( || ( app-admin/bitwarden-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 www-apps/vaultwarden-web-bin ) ) +" + +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.30.3.patch +) + +CHECKREQS_MEMORY=3G +CHECKREQS_DISK_BUILD=2G + +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 + use web && { sed -i -e 's|^WEB_VAULT_ENABLED=false|WEB_VAULT_ENABLED=true|g;' .env.template || die; } +} + +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 target/*/"${PN}" + systemd_newunit "${FILESDIR}"/vaultwarden-1.30.3.service "${PN}".service + newinitd "${FILESDIR}"/vaultwarden-1.30.3.initd "${PN}" + newtmpfiles "${FILESDIR}"/vaultwarden-tmpfiles-1.30.3.conf "${PN}".conf + insinto /etc + newins .env.template "${PN}".env + keepdir /var/lib/"${PN}" + + einstalldocs + dodoc -r ../"${PN}".wiki/* +} + +pkg_postinst() { + tmpfiles_process "${PN}".conf + elog "Configuration file: /etc/${PN}.env" + elog "Data directory: /var/lib/${PN}" + use mysql || use postgres && elog "User must set DATABASE_URL in config " + elog "Default server: http://127.0.0.1:8000" + elog "Admin interface: http://127.0.0.1:8000/admin" +} diff --git a/app-admin/vaultwarden/vaultwarden-9999.ebuild b/app-admin/vaultwarden/vaultwarden-9999.ebuild new file mode 100644 index 0000000000..4cf733e1aa --- /dev/null +++ b/app-admin/vaultwarden/vaultwarden-9999.ebuild @@ -0,0 +1,112 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cargo check-reqs systemd tmpfiles + +DESCRIPTION="Unofficial Bitwarden compatible password manager server written in Rust" +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 + +# main +LICENSE="AGPL-3" +# deps +LICENSE+=" 0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD ISC MIT MPL-2.0 Unicode-DFS-2016" + +SLOT="0" +IUSE="cli mysql postgres sqlite web" +REQUIRED_USE="|| ( mysql postgres sqlite )" + +RDEPEND=" + acct-user/vaultwarden + acct-group/vaultwarden + cli? ( || ( app-admin/bitwarden-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 www-apps/vaultwarden-web-bin ) ) +" + +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.30.3.patch +) + +CHECKREQS_MEMORY=3G +CHECKREQS_DISK_BUILD=2G + +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 + use web && { sed -i -e 's|^WEB_VAULT_ENABLED=false|WEB_VAULT_ENABLED=true|g;' .env.template || die; } +} + +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 target/*/"${PN}" + systemd_newunit "${FILESDIR}"/vaultwarden-1.30.3.service "${PN}".service + newinitd "${FILESDIR}"/vaultwarden-1.30.3.initd "${PN}" + newtmpfiles "${FILESDIR}"/vaultwarden-tmpfiles-1.30.3.conf "${PN}".conf + insinto /etc + newins .env.template "${PN}".env + keepdir /var/lib/"${PN}" + + einstalldocs + dodoc -r ../"${PN}".wiki/* +} + +pkg_postinst() { + tmpfiles_process "${PN}".conf + elog "Configuration file: /etc/${PN}.env" + elog "Data directory: /var/lib/${PN}" + use mysql || use postgres && elog "User must set DATABASE_URL in config " + elog "Default server: http://127.0.0.1:8000" + elog "Admin interface: http://127.0.0.1:8000/admin" +} diff --git a/app-text/code-minimap/Manifest b/app-text/code-minimap/Manifest index 13acd0081b..c5bb53324f 100644 --- a/app-text/code-minimap/Manifest +++ b/app-text/code-minimap/Manifest @@ -21,7 +21,7 @@ DIST clap_derive-3.0.0.crate 24684 BLAKE2B dc56ba1b2d5dff063d19a1ed5d9188cd3cbb3 DIST clap_derive-4.5.0.crate 29042 BLAKE2B 80a7646b2e30432008d52e27494e2563637e408a90557e5b0009a9db6a39abfdc79c04139f99caedd433a94b45f7d95fa11b49cfd33d203fbc4bc911fad4f9d1 SHA512 0a9d79f957067b929f8e1340b0e0623f78808c5d287cae252e6508fe8e07c4f11bfa39b1d3b60bb6a531d888d809c43ad3f6a491a7dd1e3d3ce89af7e1b670f6 DIST clap_lex-0.7.0.crate 11915 BLAKE2B 03287f02067f6cb33bb3889e8032b0848e9a9cc17446eb0e2767768cf6ea8c579a7455d33c8af735fb8d0c16095b19f991a5e2528dee3a7628d68c16f9307fa4 SHA512 638feb2e4571677dbe15ef0423866d2f0df309723e5ad65ddeaff7fd5e2e83adcb973a32d52a5f3924ea88fcff865e956b7d30dcd569df0412ef47848af14036 DIST code-minimap-0.6.4.tar.gz 20042 BLAKE2B f06faef94fdbf88769d286aac02cdc56086fe6f471d50ed537056fcf4be40fe9e12dc7f6660676ed014b092ba6565b1420bbd211187b7ef07108b3080f3c1a37 SHA512 9e992abb0aa7e6b1c1e17e82d1d1583560df06324f2af7f07d0afe2e70ff196c24d2a176042fb353a9ef6dd189a4bbc8e1f1c524d2821fbc3786fc225363c5f5 -DIST code-minimap-0.6.5.tar.gz 22681 BLAKE2B a27a72489987ce0c12362b7087159f2374700d63b32e307a8dd5739fe5f82d0a91d5977b327525440e3273ef163dec66f6b1edad30c1d08635fa0b2176971f1a SHA512 3e095056230f9e6ca6bb8cf93f0bce5fc30cc50af56c1be6f4d7a3c58905fcb9f0dfcf6d153bbe5a2d27b7d61fc18be2de78eca74984e92fdf4a47929dab1bdc +DIST code-minimap-0.6.6.tar.gz 22685 BLAKE2B 60efcbf1c2d4660ee8f362a27c7a0c7e5f787bc5fd08230b4605aeab009739c3cdc653c7f4cd3edaf97f3006bbbc6471e6f2760132000b14e389ff4c966edd2c SHA512 ab6387a3ec40757d390c2f64ec05d954aacf484d363fe9725a8aa1486393465d6da50b5507fe32686768cd72db246ce852dea4ed8cdc746bf16137a1d76d0c9e DIST colorchoice-1.0.0.crate 6857 BLAKE2B a0818be1299717461ffc1bcfb6fc53a0b3b645aa8c45fb72e045cf2d876fa207948610e58d6a837aad24838ea9616e80b0558ca3eae03fdf9bc4c03a8e5ba52f SHA512 53363f2889cd8e8a3b3ed10c48356896c0daa72f3c12c9c7804707ab0dbc07c0e34ef52fa4f0fb1647311ce5913168c1bf62c2407ff86a33f765a9e6fccad551 DIST either-1.10.0.crate 18334 BLAKE2B ac5d81e0822132846e29f8959671b14ac6047330d54020ea7d4ad790ef985ecb4ddcb96ec7e327b1a66b9c89d37b112dae33c9ac35232c136f60ad9baab7d5a2 SHA512 2de38a37b7f3e61effa89648acadbf220eacfda1ca7c82fb77484e45577769b724f7dbaa297e73e3d355d6b1bd5109373c3e96e4c1a13a918176162b33ea2432 DIST either-1.6.1.crate 13641 BLAKE2B e5f40c40a5edb6dcb07a10bf79183cbe42438f1f70f3932dce72f6f6e91f75f24d17d82bc447507def4dad4345ffc9dd9162dde778afb253bdb1218e91887949 SHA512 4bfe56920e30cbc8eb4f90162db618f7dca653b42db35ab6a7045d3fd9a24ceb1778b1f79613850bdb1a87ad3794fa0d73015e46c48d513f368d8c3776fc9ddf diff --git a/app-text/code-minimap/code-minimap-0.6.5.ebuild b/app-text/code-minimap/code-minimap-0.6.6.ebuild similarity index 100% rename from app-text/code-minimap/code-minimap-0.6.5.ebuild rename to app-text/code-minimap/code-minimap-0.6.6.ebuild diff --git a/dev-python/pytest-mypy-plugins/Manifest b/dev-python/pytest-mypy-plugins/Manifest index 97df09184c..35c418d577 100644 --- a/dev-python/pytest-mypy-plugins/Manifest +++ b/dev-python/pytest-mypy-plugins/Manifest @@ -1,2 +1 @@ -DIST pytest-mypy-plugins-2.0.0.gh.tar.gz 18444 BLAKE2B a9def96003d85d76984067194abdbb5259379c09d359be6a3de7d4a68df2f8c7ebd033632c645297062564943b6cdee885c793172338b52110590be6911f6a75 SHA512 743d88884e3eef03cb52ffde82e42522ea961db6a27be3cba17aadceb47e1456ffd20806559dd7a6b183536aba98e592e97e40911199c4defbe66bfceebbf229 DIST pytest-mypy-plugins-3.0.0.gh.tar.gz 20643 BLAKE2B e9b124b23f0e606b8d6f098c5834f8b70b44a6d7f374b0d4132c1fc47429a7a72a98ac96edd61a21969d4bc46a27c49cda35a9e0f71ed93361e0346debe643af SHA512 a2c35b4b57cf8eff6ac303a7394f798e3b96359c1e0e6424d57f0c5680cf00b6e84b7a11bb138c4ab3c7464f13ad0fd6358e9f2c5957b36eec1d2835e31edcd7 diff --git a/dev-python/pytest-mypy-plugins/files/pytest-mypy-plugins-3.0.0-compat-mypy-1.8.0.patch b/dev-python/pytest-mypy-plugins/files/pytest-mypy-plugins-3.0.0-compat-mypy-1.8.0.patch new file mode 100644 index 0000000000..c39c21d2ed --- /dev/null +++ b/dev-python/pytest-mypy-plugins/files/pytest-mypy-plugins-3.0.0-compat-mypy-1.8.0.patch @@ -0,0 +1,51 @@ +https://github.com/typeddjango/pytest-mypy-plugins/commit/97aff1e9ae5022384542ce98b8a401c7f4c420e7 +From: antecrescent +Date: Sun, 25 Feb 2024 20:53:26 +0100 +Subject: [PATCH] Test inline mypy configuration with more stable mypy option + (#138) + +* Test inline mypy configuration with more stable mypy option + +The mypy configuration --no-strict-optional is discouraged and not much +tested. It caused the test to fail with >=mypy-1.6.0. + +Closes #137 + +* Update flush_errors to match the signature of >=mypy-1.8.0 + +Necessity to bump to >=mypy-1.8.0 explained here: +https://github.com/typeddjango/pytest-mypy-plugins/pull/139 +--- a/pytest_mypy_plugins/item.py ++++ b/pytest_mypy_plugins/item.py +@@ -82,7 +82,10 @@ def run_mypy_typechecking(cmd_options: List[str], stdout: TextIO, stderr: TextIO + + error_messages = [] + +- def flush_errors(new_messages: List[str], serious: bool) -> None: ++ # discard filename parameter '_'. Mypy uses it to generate ++ # one junit-xml test entry per file with failures (--junit-format per_file) ++ # and we don't support mypy's --junit-xml option in the first place. ++ def flush_errors(_: str | None, new_messages: List[str], serious: bool) -> None: + error_messages.extend(new_messages) + f = stderr if serious else stdout + try: +--- a/pytest_mypy_plugins/tests/test-mypy-config.yml ++++ b/pytest_mypy_plugins/tests/test-mypy-config.yml +@@ -1,9 +1,9 @@ + # Also used in `test_explicit_configs.py` + +-- case: custom_mypy_config_strict_optional_true_set ++- case: custom_mypy_config_disallow_any_explicit_set ++ expect_fail: yes + main: | +- from typing import Optional +- a: Optional[int] = None +- a + 1 # should not raise an error ++ from typing import Any ++ a: Any = None # should raise an error + mypy_config: | +- strict_optional = false ++ disallow_any_explicit = true +-- +2.43.2 + diff --git a/dev-python/pytest-mypy-plugins/pytest-mypy-plugins-2.0.0.ebuild b/dev-python/pytest-mypy-plugins/pytest-mypy-plugins-2.0.0.ebuild deleted file mode 100644 index e26229dd45..0000000000 --- a/dev-python/pytest-mypy-plugins/pytest-mypy-plugins-2.0.0.ebuild +++ /dev/null @@ -1,39 +0,0 @@ -# Copyright 2023-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{11,12} ) -inherit distutils-r1 - -DESCRIPTION="pytest plugin for testing mypy types, stubs, plugins" -HOMEPAGE=" - https://pypi.org/project/pytest-mypy-plugins/ - https://github.com/typeddjango/pytest-mypy-plugins/ -" - -SRC_URI="https://github.com/typeddjango/pytest-mypy-plugins/archive/refs/tags/${PV}.tar.gz - -> ${P}.gh.tar.gz" -LICENSE="MIT" -SLOT="0" -KEYWORDS="~amd64" - -DOCS="README* CHANGELOG*" - -RDEPEND=" - >=dev-python/mypy-1.3.0[${PYTHON_USEDEP}] - >=dev-python/pytest-7.0.0[${PYTHON_USEDEP}] - dev-python/decorator[${PYTHON_USEDEP}] - dev-python/jinja[${PYTHON_USEDEP}] - dev-python/packaging[${PYTHON_USEDEP}] - dev-python/pyyaml[${PYTHON_USEDEP}] - dev-python/regex[${PYTHON_USEDEP}] -" - -distutils_enable_tests pytest - -python_test() { - # --mypy-only-local-stub is a workaround for bug #921901 - epytest --mypy-only-local-stub -} diff --git a/dev-python/pytest-mypy-plugins/pytest-mypy-plugins-3.0.0.ebuild b/dev-python/pytest-mypy-plugins/pytest-mypy-plugins-3.0.0-r1.ebuild similarity index 86% rename from dev-python/pytest-mypy-plugins/pytest-mypy-plugins-3.0.0.ebuild rename to dev-python/pytest-mypy-plugins/pytest-mypy-plugins-3.0.0-r1.ebuild index 731ea16997..2564816f26 100644 --- a/dev-python/pytest-mypy-plugins/pytest-mypy-plugins-3.0.0.ebuild +++ b/dev-python/pytest-mypy-plugins/pytest-mypy-plugins-3.0.0-r1.ebuild @@ -19,10 +19,11 @@ LICENSE="MIT" SLOT="0" KEYWORDS="~amd64" +PATCHES="${FILESDIR}"/${P}-compat-mypy-1.8.0.patch DOCS="README* CHANGELOG*" RDEPEND=" - >=dev-python/mypy-1.3.0[${PYTHON_USEDEP}] + >=dev-python/mypy-1.8.0[${PYTHON_USEDEP}] >=dev-python/pytest-7.0.0[${PYTHON_USEDEP}] >=dev-python/tomlkit-0.11[${PYTHON_USEDEP}] dev-python/decorator[${PYTHON_USEDEP}] @@ -37,8 +38,7 @@ distutils_enable_tests pytest python_prepare_all() { # tests need pytest_mypy_plugins.tests on the modules search path and # python -m pytest preprends sys.path with ${PWD}/${S} - # --mypy-only-local-stub is a workaround for bug #921901 - sed "s/\"pytest\"/\"MY_EPYTHON\", \"-m\", \"pytest\", \"--mypy-only-local-stub\"/" \ + sed "s/\"pytest\"/\"MY_EPYTHON\", \"-m\", \"pytest\"/" \ -i pytest_mypy_plugins/tests/test_explicit_configs.py || die distutils-r1_python_prepare_all } @@ -46,7 +46,7 @@ python_prepare_all() { python_test() { # substitute the correct interpreter sed "s/MY_EPYTHON/${EPYTHON}/" -i pytest_mypy_plugins/tests/test_explicit_configs.py || die - epytest --mypy-only-local-stub + distutils-r1_python_test # reset for next interpreter run sed "s/${EPYTHON}/MY_EPYTHON/" -i pytest_mypy_plugins/tests/test_explicit_configs.py || die } diff --git a/dev-python/survey/Manifest b/dev-python/survey/Manifest index af56df7f04..79174e2c13 100644 --- a/dev-python/survey/Manifest +++ b/dev-python/survey/Manifest @@ -1,2 +1,2 @@ DIST survey-4.5.4.tar.gz 831109 BLAKE2B 00065211437f4c6c820aca5c511395625da7be9415218d6261005aff946b19a3e65cc31189a6aef755ed88ce81f309ac2eabe23ea7f1e2f359007b4fe9172f96 SHA512 045989ca95e3fa9a840ad8d37a040f46bf3f22a858dd7b826fecf88d4e53b6b14e285ef3bf266add496da2d5ffd58971c2456b4375362e24c1a071fc910a03f4 -DIST survey-5.2.3.gh.tar.gz 1564807 BLAKE2B 530f023e1aac4adba07edc023ec7c18a775dd937bd627ce88ee27cac2f8f6e66f4c6bc22618c05e3ed56e17b501c84a2a6f6ee9c833bb7fa44c3ccec533ba515 SHA512 6dac211e031630631b7389da29747383bc2d508678ebbc99ae61482719733baf133ea10a20c6e0a80f2486dd72a1b3e17d221ce28e5ea22e4303b102350c8229 +DIST survey-5.2.4.gh.tar.gz 1564805 BLAKE2B 2a2147edc00905c85cabccbd5b868927f15002ec4231af6f7a4f62d042791e3c32828b07a9d689de86ed02e7a7e3737f725820ac50360895c2d214cc59db09ce SHA512 3552f87d519b619524db7cdcd2aa4f510a6de348ca406ec6e1c286ed82c8652de53ed8ce3725d1c6b1f8439c2c8d517822fafe4438a1f02c56e28487c79f043e diff --git a/dev-python/survey/survey-5.2.3.ebuild b/dev-python/survey/survey-5.2.4.ebuild similarity index 100% rename from dev-python/survey/survey-5.2.3.ebuild rename to dev-python/survey/survey-5.2.4.ebuild diff --git a/gui-apps/eww/eww-0.5.0-r1.ebuild b/gui-apps/eww/eww-0.5.0-r2.ebuild similarity index 99% rename from gui-apps/eww/eww-0.5.0-r1.ebuild rename to gui-apps/eww/eww-0.5.0-r2.ebuild index c86ed96dd8..7d047d63f9 100644 --- a/gui-apps/eww/eww-0.5.0-r1.ebuild +++ b/gui-apps/eww/eww-0.5.0-r2.ebuild @@ -328,13 +328,6 @@ DEPEND=" sys-devel/gcc gui-libs/gtk-layer-shell " -BDEPEND=" - $DEPEND - dev-lang/rust[nightly] -" -RDEPEND=" - $DEPEND -" QA_FLAGS_IGNORED="usr/bin/.*" diff --git a/media-sound/TauonMusicBox/TauonMusicBox-7.7.1-r1.ebuild b/media-sound/TauonMusicBox/TauonMusicBox-7.7.1-r1.ebuild index a38abd496d..a844b97ca2 100644 --- a/media-sound/TauonMusicBox/TauonMusicBox-7.7.1-r1.ebuild +++ b/media-sound/TauonMusicBox/TauonMusicBox-7.7.1-r1.ebuild @@ -7,7 +7,7 @@ PLOCALES="cs de es fr_FR hu id it ja_JP nb_NO pl pt pt_BR pt_PT ru sv tr zh_CN" PYTHON_COMPAT=( python3_{10..12} ) DISTUTILS_USE_PEP517=setuptools -inherit cmake desktop distutils-r1 plocale +inherit cmake desktop distutils-r1 plocale xdg DESCRIPTION="The desktop music player of today!" HOMEPAGE="https://tauonmusicbox.rocks/" @@ -100,6 +100,7 @@ python_install() { doins input.txt sed -i 's/\/opt\/tauon-music-box\/tauonmb.sh/tauon/g' extra/tauonmb.desktop || die + sed -i 's/Actions=PlayPause;Previous;Next/Actions=PlayPause;Previous;Next;Stop/g' extra/tauonmb.desktop || die domenu extra/tauonmb.desktop doicon -s scalable extra/tauonmb.svg diff --git a/media-sound/jriver/jriver-31.0.60.ebuild b/media-sound/jriver/jriver-31.0.60.ebuild index 87fe861cb3..caabbab8b9 100644 --- a/media-sound/jriver/jriver-31.0.60.ebuild +++ b/media-sound/jriver/jriver-31.0.60.ebuild @@ -19,8 +19,14 @@ KEYWORDS="~amd64" RESTRICT="strip" QA_PREBUILT="*" +# TODO soon brotli dep will be dropped RDEPEND=" app-arch/brotli + media-libs/alsa-lib + media-libs/libglvnd + x11-libs/gtk+ + x11-libs/pango + x11-libs/libXrandr " src_unpack() { diff --git a/media-sound/nulloy/nulloy-0.9.8.7.ebuild b/media-sound/nulloy/nulloy-0.9.8.7.ebuild index 687c88d670..6646ba7d74 100644 --- a/media-sound/nulloy/nulloy-0.9.8.7.ebuild +++ b/media-sound/nulloy/nulloy-0.9.8.7.ebuild @@ -25,7 +25,7 @@ BDEPEND=" DEPEND=" dev-qt/qtcore dev-qt/designer - dev-qt/qtsvg:6 + dev-qt/qtsvg:5 dev-qt/linguist dev-qt/qtscript dev-qt/qtx11extras diff --git a/net-misc/graftcp/graftcp-0.7.1.ebuild b/net-misc/graftcp/graftcp-0.7.1.ebuild index 9e7159bce0..6bee869a11 100644 --- a/net-misc/graftcp/graftcp-0.7.1.ebuild +++ b/net-misc/graftcp/graftcp-0.7.1.ebuild @@ -16,7 +16,7 @@ else https://github.com/hmgle/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz https://github.com/unlsycn/${PN}/releases/download/vendor-${PV}/${PN}-local-vendor-${PV}.tar.xz -> vendor.tar.xz " - KEYWORDS="~amd64" + KEYWORDS="~amd64 ~arm ~arm64 ~x86 " fi LICENSE="GPL-3" @@ -43,7 +43,7 @@ src_prepare() { } src_compile() { - emake CC="$(tc-getCC)" CXX="$(tc-getCXX)" + emake CC="$(tc-getCC)" CXX="$(tc-getCXX)" AR="$(tc-getAR)" CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" } src_install() { diff --git a/sci-physics/ovito/Manifest b/sci-physics/ovito/Manifest index e6fa89d316..8be46ce439 100644 --- a/sci-physics/ovito/Manifest +++ b/sci-physics/ovito/Manifest @@ -1,2 +1,3 @@ DIST logo_rgb-768x737.png 203649 BLAKE2B db797ac474fa9a9da838446cc97b30a6c4c05e141706e695a762f915d9c21e3bd8624851e10e41782aeb0c7bee37b606ebd8485b4c58d4c1654aa201af6feb13 SHA512 1afe91e9634a6574ba58535cb9b636b63daa02d9157f50d9c5c959c9da151e9635ca73d0616fd8ccac2e7742f2289a6eba05e62b206baee4f738c53526ec4bb8 DIST ovito-v3.10.1.tar.bz2 60090909 BLAKE2B 165ed02213b645aad8a6e5c0745ec60c4517d52ef682511e3f7cda17fc590a96eb3bf06ebdcd402faaabbeb3215facb515272235fc9a1d33bb4740ecac51adc3 SHA512 5e04ed9ac5d3adc77ba11ce416ae7facbcff02ec675712782eb19192eed84567ae880d6038a59b7ace69ceb239591eade065bf5facdf5d07473a2d9c02a6b0a9 +DIST ovito-v3.10.3.tar.bz2 61307108 BLAKE2B 42a0fd940a95f3091d41cbc21b75955f151f0cf0f2383444c2621bfa4eb67ec784ddf938225a3ba24fa3910a4e4ffd826b9ab9191c2c6a4359f1a8078495912c SHA512 e892230f3082ee9eac953080f7cb13b1f0fc055aa9e43479f1c2c833c0220b7ad3ee319c9a9279393dd2a459902ff8d8044cc8dd238cefe973442b45a2d8a1e7 diff --git a/sci-physics/ovito/ovito-3.10.3.ebuild b/sci-physics/ovito/ovito-3.10.3.ebuild new file mode 100644 index 0000000000..20f1e4f1c2 --- /dev/null +++ b/sci-physics/ovito/ovito-3.10.3.ebuild @@ -0,0 +1,40 @@ +EAPI=8 + +SLOT="0" +LICENSE="GPL-3" + +DESCRIPTION="Open Visualization Tool" +HOMEPAGE="https://www.ovito.org" + +ICON="logo_rgb-768x737.png" + +SRC_URI=" + https://gitlab.com/stuko/${PN}/-/archive/v${PV}/${PN}-v${PV}.tar.bz2 + https://www.ovito.org/wp-content/uploads/${ICON} +" +KEYWORDS="~amd64" + +S="${WORKDIR}/${PN}-v${PV}" + +inherit cmake desktop + +DEPEND=" + dev-qt/qtbase:6[gui] + dev-qt/qtsvg:6 + sci-libs/hdf5 + dev-libs/boost + sci-libs/netcdf + media-video/ffmpeg + virtual/opengl +" + +src_configure() { + cmake_src_configure +} + +src_install() { + cmake_src_install + + domenu "${FILESDIR}/ovito.desktop" + newicon "${DISTDIR}/${ICON}" ovito.png +} diff --git a/sys-apps/pnpm-bin/pnpm-bin-8.7.5.ebuild b/sys-apps/pnpm-bin/pnpm-bin-8.7.5.ebuild index 0a5e1fdbea..086045a3f6 100644 --- a/sys-apps/pnpm-bin/pnpm-bin-8.7.5.ebuild +++ b/sys-apps/pnpm-bin/pnpm-bin-8.7.5.ebuild @@ -16,7 +16,7 @@ RESTRICT="strip" S="${WORKDIR}" -QA_PREBUILT="/usr/bin/${PN}-bin" +QA_PREBUILT="usr/bin/${PN}-bin" src_install() { newbin "${DISTDIR}/pnpm-linux-x64" ${PN} diff --git a/sys-power/fan2go/metadata.xml b/sys-power/fan2go/metadata.xml index cb66b270da..581ce05376 100644 --- a/sys-power/fan2go/metadata.xml +++ b/sys-power/fan2go/metadata.xml @@ -2,8 +2,8 @@ - lssndrbarbieri@gmail.com - Alessandro Barbieri + davidroman96@gmail.com + David Roman markusressel/fan2go diff --git a/www-apps/vaultwarden-web-bin/Manifest b/www-apps/vaultwarden-web-bin/Manifest new file mode 100644 index 0000000000..41fc04069d --- /dev/null +++ b/www-apps/vaultwarden-web-bin/Manifest @@ -0,0 +1 @@ +DIST vaultwarden-web-bin-2024.1.2b.tar.gz 11259948 BLAKE2B 6d899b53972df56ca76c63f84375a95629c8da43026b16f0ffd09b70ab46b8db530163976f6854325cd70513d0be31c394256153b7a9cfec4c3f627fd3d3b80c SHA512 0157c751f5869de261c93624a1fa168a96e86ad1a169727bee428bb9d804b8bfac3d7b8e4b993e2e5d2414ee99a016702eb750d81c3cc71c9e4c659a5ff7b37f diff --git a/www-apps/vaultwarden-web-bin/metadata.xml b/www-apps/vaultwarden-web-bin/metadata.xml new file mode 100644 index 0000000000..889a71396a --- /dev/null +++ b/www-apps/vaultwarden-web-bin/metadata.xml @@ -0,0 +1,13 @@ + + + + + me@rahil.rocks + Rahil Bhimjiani + + + dani-garcia/bw_web_builds + https://github.com/dani-garcia/bw_web_builds/issues + https://github.com/dani-garcia/bw_web_builds/blob/master/README.md + + diff --git a/www-apps/vaultwarden-web-bin/vaultwarden-web-bin-2024.1.2b.ebuild b/www-apps/vaultwarden-web-bin/vaultwarden-web-bin-2024.1.2b.ebuild new file mode 100644 index 0000000000..a750806584 --- /dev/null +++ b/www-apps/vaultwarden-web-bin/vaultwarden-web-bin-2024.1.2b.ebuild @@ -0,0 +1,29 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Prebuilt Vaultwarden web from upstream" +HOMEPAGE="https://github.com/dani-garcia/bw_web_builds" + +SRC_URI=" + https://github.com/dani-garcia/bw_web_builds/releases/download/v${PV}/bw_web_v${PV}.tar.gz -> ${P}.tar.gz +" + +S="${WORKDIR}/web-vault" +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND="!www-apps/vaultwarden-web" + +src_prepare() { + default + # although following is optional in upstream's build process, it reduced build dir size from 44M to 25M + find -name "*.map" -delete || die +} + +src_install() { + insinto /usr/share/webapps/"${PN%-bin}" + doins -r * +} diff --git a/www-apps/vaultwarden-web/Manifest b/www-apps/vaultwarden-web/Manifest new file mode 100644 index 0000000000..d0df5d97e9 --- /dev/null +++ b/www-apps/vaultwarden-web/Manifest @@ -0,0 +1,3 @@ +DIST bitwarden-clients-a1a5c4b.tar.xz 204680568 BLAKE2B dd7ae09792831dacf9e7c110a508315e8d57c3231c6c32014e7b842ffc01a046fec03f375c48afd40379ba2853159e594a54b3f8ec229c1568ba3d1b8c054335 SHA512 5644d0b53c525164c2af14036dd7d432be9a943b55df2aef9922329326b164b31336bd53e2f9f2eb35a858f974d8fc0a3bd3aac6e42b821d5d4634ca714a51c3 +DIST vaultwarden-web-2024.1.2.tar.gz 20199824 BLAKE2B da8f8f87a88a7baaa05985f5f8ec46ad2eae14953b1bec03fa22eb490f5d86a752d270fd76681dba23543e1d51ec02dad2c24aab60a47751300c539f9859bd46 SHA512 eea08dc128495b157ebf9b5ee48bf4b48d929257bb2b9839b2e7ac9913cb60118886df622765889aa84985a3ec47339e9f11196e1a09ebd0faa985061a43dacc +DIST vaultwarden-web-2024.1.2b-patches.tar.gz 97946 BLAKE2B 6b43ec5949c58e88d534d24dbb1b107320a50f1989dddd79243b17c0d8c5f65989a59542196890afdc036b3114c55776d2ed6609f51ebc114935bef61323705f SHA512 5463ce39642e3d53bffe774fa5bcdfde240cd1f7eadbcef8e7db4d5795deb2bc3a601505dc091a1dd0b4aa684e6a8f59a9a8c1542251b749e9c290986dd02f7f diff --git a/www-apps/vaultwarden-web/metadata.xml b/www-apps/vaultwarden-web/metadata.xml new file mode 100644 index 0000000000..889a71396a --- /dev/null +++ b/www-apps/vaultwarden-web/metadata.xml @@ -0,0 +1,13 @@ + + + + + me@rahil.rocks + Rahil Bhimjiani + + + dani-garcia/bw_web_builds + https://github.com/dani-garcia/bw_web_builds/issues + https://github.com/dani-garcia/bw_web_builds/blob/master/README.md + + diff --git a/www-apps/vaultwarden-web/vaultwarden-web-2024.1.2b.ebuild b/www-apps/vaultwarden-web/vaultwarden-web-2024.1.2b.ebuild new file mode 100644 index 0000000000..60158ed172 --- /dev/null +++ b/www-apps/vaultwarden-web/vaultwarden-web-2024.1.2b.ebuild @@ -0,0 +1,72 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit check-reqs + +DESCRIPTION="Bitwarden web vault patched to make it work with Vaultwarden" +HOMEPAGE="https://github.com/dani-garcia/bw_web_builds" + +BW_CLIENTS_COMMIT="a1a5c4b" +SRC_URI=" + https://github.com/bitwarden/clients/archive/refs/tags/web-v${PV%b}.tar.gz -> ${PN}-${PV%b}.tar.gz + https://github.com/rahilarious/gentoo-distfiles/releases/download/bitwarden-clients-${BW_CLIENTS_COMMIT}/deps.tar.xz -> bitwarden-clients-${BW_CLIENTS_COMMIT}.tar.xz + https://github.com/dani-garcia/bw_web_builds/archive/refs/tags/v${PV}.tar.gz -> ${P}-patches.tar.gz +" + +S="${WORKDIR}/clients-web-v${PV%b}" +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND="!www-apps/vaultwarden-web-bin" +BDEPEND=" + net-libs/nodejs[npm] +" + +CHECKREQS_MEMORY=3G +CHECKREQS_DISK_BUILD=2G + +pkg_pretend() { + einfo "" + einfo "#################################################" + einfo "Prebuilt alternative to this package is available:" + einfo " ${CATEGORY}/${PN}-bin" + einfo "#################################################" + einfo "" + check-reqs_pkg_pretend +} + +src_prepare() { + default + + # mimicking the behaviour of https://github.com/dani-garcia/bw_web_builds/blob/master/scripts/apply_patches.sh + local PATCH_FILE + if [[ -f "../bw_web_builds-${PV}/patches/v${PV%b}.patch" ]]; then + einfo "Exact patch file found, using that" + PATCH_FILE="../bw_web_builds-${PV}/patches/v${PV%b}.patch" + else + einfo "No exact patch file not found, using latest" + PATCH_FILE="../bw_web_builds-${PV}/patches/$(find ../bw_web_builds-${PV}/patches -type f -print0 | xargs -0 basename -a | sort -V | tail -n1)" || die + fi + + cp -vfR ../bw_web_builds*/resources/src/* ./apps/web/src/ || die + eapply "${PATCH_FILE}" + + mv -v ../node_modules ./ || die +} + +src_compile() { + # mimicking the behaviour of https://github.com/dani-garcia/bw_web_builds/blob/master/scripts/build_web_vault.sh + pushd apps/web + npm --verbose --offline run dist:oss:selfhost && printf '{"version":"%s"}' "${PV}" | tee build/vw-version.json \ + || die "Build failed! Try prebuilt from upstream ${CATEGORY}/${PN}-bin" + # although following is optional in upstream's build process, it reduced build dir size from 44M to 25M + find build -name "*.map" -delete || die +} + +src_install() { + insinto /usr/share/webapps/"${PN}" + doins -r apps/web/build/* +} diff --git a/x11-misc/i3-restore/i3-restore-4.1.ebuild b/x11-misc/i3-restore/i3-restore-4.1.ebuild index 20905fc3e3..5b81eef559 100644 --- a/x11-misc/i3-restore/i3-restore-4.1.ebuild +++ b/x11-misc/i3-restore/i3-restore-4.1.ebuild @@ -29,16 +29,20 @@ DEPEND=" REQUIRED_USE="${PYTHON_REQUIRED_USE}" src_prepare() { - sed -i 's#CURR_DIR="$(dirname "${0}")"#CURR_DIR=/usr/libexec/i3-restore#' i3-save i3-restore \ - || die "Sed error!" + sed -i 's#CURR_DIR="$(dirname "${0}")"#CURR_DIR=/usr/libexec/i3-restore#' i3-save i3-restore || die "Sed error" + sed -i "s/version=.*/version=${PV}/" utils/common.bash default } src_install() { + keepdir /usr/libexec/${PN}/logs || die + fperms 777 /usr/libexec/${PN}/logs || die + insinto "/usr/libexec/${PN}" doins -r utils dobin i3-save dobin i3-restore + python_moduleinto "/usr/libexec/${PN}" python_domodule programs } diff --git a/x11-misc/i3-restore/metadata.xml b/x11-misc/i3-restore/metadata.xml index 2edebb765d..f6d057e77b 100644 --- a/x11-misc/i3-restore/metadata.xml +++ b/x11-misc/i3-restore/metadata.xml @@ -5,6 +5,9 @@ zdanevich.vitaly@ya.ru Vitaly Zdanevich + +A simple Python and Bash script to restore your i3 session. It works very similar to how Firefox restores a previous session. The script can correctly restore terminal subprocesses (such as Vim and ssh) and web browser instances exactly how they were before. + jdholtz/i3-restore