| Version | EAPI | Keywords | Slot |
|---|---|---|---|
| 2.7.10-r2 | 8 | 0 |
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# this ebuild has been taken directly from the gentoo ebuild repo with
# minimal modifications
EAPI=8
inherit cmake xdg
DESCRIPTION="KeePassXC - KeePass Cross-platform Community Edition"
HOMEPAGE="https://keepassxc.org"
if [[ "${PV}" = *9999* ]] ; then
inherit git-r3
EGIT_BRANCH="develop"
EGIT_REPO_URI="https://github.com/keepassxreboot/${PN}"
else
if [[ "${PV}" == *_beta* ]] ; then
SRC_URI="https://github.com/keepassxreboot/${PN}/archive/${PV/_/-}.tar.gz
-> ${P}.gh.tar.gz"
S="${WORKDIR}/${P/_/-}"
else
SRC_URI="https://github.com/keepassxreboot/${PN}/archive/${PV}.tar.gz
-> ${P}.gh.tar.gz"
fi
#KEYWORDS=""
fi
# COPYING order
LICENSE="|| ( GPL-2 GPL-3 ) BSD LGPL-2.1 MIT LGPL-2 CC0-1.0 Apache-2.0 GPL-2+ BSD-2"
SLOT="0"
IUSE="X autotype browser doc keeshare +keyring +network +ssh-agent test yubikey"
RESTRICT="!test? ( test )"
REQUIRED_USE="autotype? ( X )"
RDEPEND="
app-crypt/argon2:=
dev-libs/botan:3=
dev-libs/zxcvbn-c
dev-qt/qtconcurrent:5
dev-qt/qtcore:5
dev-qt/qtdbus:5
dev-qt/qtgui:5
dev-qt/qtnetwork:5
dev-qt/qtsvg:5
dev-qt/qtwidgets:5
media-gfx/qrencode:=
sys-libs/readline:0=
virtual/minizip:=
X? (
dev-qt/qtx11extras:5
)
autotype? (
x11-libs/libX11
x11-libs/libXtst
)
yubikey? (
dev-libs/libusb:1
sys-apps/pcsc-lite
)
"
DEPEND="
${RDEPEND}
dev-qt/qttest:5
"
BDEPEND="
dev-qt/linguist-tools:5
doc? (
dev-ruby/asciidoctor
)
"
PATCHES=(
"${FILESDIR}/${PN}-2.7.10-cmake_minimum.patch"
"${FILESDIR}/${PN}-2.7.10-tests.patch"
"${FILESDIR}/${PN}-2.7.10-zxcvbn.patch"
)
src_prepare() {
if ! [[ "${PV}" =~ _beta|9999 ]]; then
echo "${PV}" > .version || die
fi
# Unbundle zxcvbn, bug 958062
rm -r ./src/thirdparty/zxcvbn || die
cmake_src_prepare
}
src_configure() {
local -a mycmakeargs=(
# Gentoo users enable ccache via e.g. FEATURES=ccache or
# other means. We don't want the build system to enable it for us.
-DWITH_CCACHE="OFF"
-DWITH_GUI_TESTS="OFF"
-DWITH_XC_BOTAN3="ON"
-DWITH_XC_UPDATECHECK="OFF"
-DWITH_TESTS="$(usex test)"
-DWITH_XC_AUTOTYPE="$(usex autotype)"
-DWITH_XC_BROWSER="$(usex browser)"
-DWITH_XC_BROWSER_PASSKEYS="$(usex browser)"
-DWITH_XC_DOCS="$(usex doc)"
-DWITH_XC_FDOSECRETS="$(usex keyring)"
-DWITH_XC_KEESHARE="$(usex keeshare)"
-DWITH_XC_NETWORKING="$(usex network)"
-DWITH_XC_SSHAGENT="$(usex ssh-agent)"
-DWITH_XC_X11="$(usex X)"
-DWITH_XC_YUBIKEY="$(usex yubikey)"
)
if [[ "${PV}" == *_beta* ]] ; then
mycmakeargs+=(
-DOVERRIDE_VERSION="${PV/_/-}"
)
fi
cmake_src_configure
}
pkg_postinst() {
ewarn "This is an unofficial ebuild for KeePassXC 2.7.10."
ewarn "This exists to use KeePassXC without AI code included."
ewarn "No support will be provided. Breakage may result in ebuild removal."
ewarn "Do not report bugs or issues to upstream with an outdated version."
ewarn "Please consider GNOME secrets (no SSH agent, no browser integration, no secret"
ewarn "service) or other KeePass implementations."
}
app-crypt/argon2:= dev-libs/botan:3= dev-libs/zxcvbn-c dev-qt/qtconcurrent:5 dev-qt/qtcore:5 dev-qt/qtdbus:5 dev-qt/qtgui:5 dev-qt/qtnetwork:5 dev-qt/qtsvg:5 dev-qt/qtwidgets:5 media-gfx/qrencode:= sys-libs/readline:0= virtual/minizip:= X? ( dev-qt/qtx11extras:5 ) autotype? ( x11-libs/libX11 x11-libs/libXtst ) yubikey? ( dev-libs/libusb:1 sys-apps/pcsc-lite ) dev-qt/qttest:5
app-crypt/argon2:= dev-libs/botan:3= dev-libs/zxcvbn-c dev-qt/qtconcurrent:5 dev-qt/qtcore:5 dev-qt/qtdbus:5 dev-qt/qtgui:5 dev-qt/qtnetwork:5 dev-qt/qtsvg:5 dev-qt/qtwidgets:5 media-gfx/qrencode:= sys-libs/readline:0= virtual/minizip:= X? ( dev-qt/qtx11extras:5 ) autotype? ( x11-libs/libX11 x11-libs/libXtst ) yubikey? ( dev-libs/libusb:1 sys-apps/pcsc-lite )
dev-qt/linguist-tools:5 doc? ( dev-ruby/asciidoctor )