Upstream's INSTALL.md states there are more requirements: dev-libs/botan net-libs/libmicrohttpd dev-ruby/asciidoctor Indeed, I could not configure cmake for some plugins without this.
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=93d123d9606b74c94b6c48744e631c0054551696 commit 93d123d9606b74c94b6c48744e631c0054551696 Author: Lars Wendler <polynomial-c@gentoo.org> AuthorDate: 2021-04-11 21:45:44 +0000 Commit: Lars Wendler <polynomial-c@gentoo.org> CommitDate: 2021-04-11 21:46:15 +0000 app-admin/keepassxc: Add "doc" USE flag Bug: https://bugs.gentoo.org/782244 Signed-off-by: Lars Wendler <polynomial-c@gentoo.org> app-admin/keepassxc/keepassxc-9999.ebuild | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
Neither dev-libs/botan nor net-libs/libmicrohttpd are still used in keepassxc. I have grepped the entire sources and all I found was the (presumably forgotten to be removed) libmicrohttpd entry in INSTALL.md but likewise I found it in CHANGELOG.md: - Remove Libmicrohttpd dependency to clean up the code and ensure better OS X compatibility [#317, #265] which was added there for keepassxc-2.1.2 release in February 2017.
That's interesting but then it seems the rules are outdated? Below is a `git master` checkout: $ mkdir build cd build cmake -DWITH_XC_ALL=ON .. make -- The C compiler identification is GNU 10.3.0 -- The CXX compiler identification is GNU 10.3.0 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /usr/bin/cc - skipped -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Found Git HEAD Revision: 805574c -- Setting up build for KeePassXC v2.7.0-snapshot -- Performing Test CC_HAS_fopenmp -- Performing Test CC_HAS_fopenmp - Success -- Performing Test CXX_HAS_fopenmp -- Performing Test CXX_HAS_fopenmp - Success -- Performing Test CC_HAS_Werror_format_security -- Performing Test CC_HAS_Werror_format_security - Success -- Performing Test CXX_HAS_Werror_format_security -- Performing Test CXX_HAS_Werror_format_security - Success -- Performing Test CC_HAS_Werror_implicit_function_declaration -- Performing Test CC_HAS_Werror_implicit_function_declaration - Success -- Performing Test CC_HAS_Wcast_align -- Performing Test CC_HAS_Wcast_align - Success -- Performing Test CXX_HAS_Wcast_align -- Performing Test CXX_HAS_Wcast_align - Success -- Performing Test CC_HAS_Qunused_arguments -- Performing Test CC_HAS_Qunused_arguments - Failed -- Performing Test CXX_HAS_Qunused_arguments -- Performing Test CXX_HAS_Qunused_arguments - Failed -- Performing Test CC_HAS_fPIC -- Performing Test CC_HAS_fPIC - Success -- Performing Test CXX_HAS_fPIC -- Performing Test CXX_HAS_fPIC - Success -- Performing Test CXX_HAS_fsized_deallocation -- Performing Test CXX_HAS_fsized_deallocation - Success CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:230 (message): Could NOT find Botan2 (missing: BOTAN2_LIBRARY BOTAN2_INCLUDE_DIR) Call Stack (most recent call first): /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:594 (_FPHSA_FAILURE_MESSAGE) cmake/FindBotan2.cmake:91 (find_package_handle_standard_args) CMakeLists.txt:445 (find_package) -- Configuring incomplete, errors occurred! See also "/data/mmokrejs/proj/keepassxc/build/CMakeFiles/CMakeOutput.log". See also "/data/mmokrejs/proj/keepassxc/build/CMakeFiles/CMakeError.log".
Later I hit also these two (well, the yubikey was expected but the other, I have no idea what is that). ... -- Setting up build for KeePassXC v2.7.0-snapshot -- Found Botan2: /usr/lib64/libbotan-2.so (found version "2.17.3") -- Found ZLIB: /usr/lib64/libz.so (found version "1.2.11") -- Found QREncode: /usr/lib64/libqrencode.so CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:230 (message): Could NOT find YubiKey (missing: YUBIKEY_LIBRARIES YUBIKEY_INCLUDE_DIRS) Call Stack (most recent call first): /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:594 (_FPHSA_FAILURE_MESSAGE) cmake/FindYubiKey.cmake:25 (find_package_handle_standard_args) CMakeLists.txt:463 (find_package) I got around with: cmake -DWITH_XC_YUBIKEY=OFF -DWITH_XC_BROWSER=ON -DWITH_XC_NETWORKING=ON -DWITH_XC_SSHAGENT=ON -DWITH_XC_FDOSECRETS=ON .. to be able to compile current sources manually and fiddle it them.
What to do about that botan2 missing dep? -- Performing Test CXX_HAS_fsized_deallocation - Success CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:218 (message): Could NOT find Botan2 (missing: BOTAN2_LIBRARY BOTAN2_INCLUDE_DIR) Call Stack (most recent call first): /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:582 (_FPHSA_FAILURE_MESSAGE) cmake/FindBotan2.cmake:91 (find_package_handle_standard_args) CMakeLists.txt:445 (find_package)
I just added >=dev-libs/botan-2.18.0 to RDEPEND and called it a day :D
Botan was added in https://gitweb.gentoo.org/repo/gentoo.git/commit/app-admin/keepassxc?id=f34bed86c4ea478ed9377a787192042cecbe1cac (or really the beta commit before). Missing subslot dep though. Also, ~riscv keyword dropped without rekeywording bug?
(In reply to Sam James from comment #7) > Botan was added in > https://gitweb.gentoo.org/repo/gentoo.git/commit/app-admin/ > keepassxc?id=f34bed86c4ea478ed9377a787192042cecbe1cac (or really the beta > commit before). > > Missing subslot dep though. > > Also, ~riscv keyword dropped without rekeywording bug? Possibly more missing too (from iwdevtools): >VDB: detected possibly incorrect RDEPEND (app-admin/keepassxc-2.7.0) > > app-crypt/argon2:= > > dev-qt/qtx11extras:5 > > x11-libs/libX11
Created attachment 767597 [details, diff] 0001-app-admin-keepassxc-add-missing-dependencies.patch
Created attachment 767598 [details, diff] 0002-app-admin-keepassxc-remove-USE-ccache.patch
Comment on attachment 767598 [details, diff] 0002-app-admin-keepassxc-remove-USE-ccache.patch From 2b0eeebd18e1c1998a32ad72c0d83d6abd9b8b19 Mon Sep 17 00:00:00 2001 From: Sam James <sam@gentoo.org> Date: Tue, 22 Mar 2022 21:18:19 +0000 Subject: [PATCH 2/2] app-admin/keepassxc: remove USE=ccache Gentoo users enable ccache via FEATURES=ccache (or if they wish, manual means). Most packages don't have USE=ccache for this reason. Remove it from keepassxc as an outlier. Signed-off-by: Sam James <sam@gentoo.org> --- app-admin/keepassxc/keepassxc-2.7.0-r1.ebuild | 7 ++++--- app-admin/keepassxc/keepassxc-9999.ebuild | 7 ++++--- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/app-admin/keepassxc/keepassxc-2.7.0-r1.ebuild b/app-admin/keepassxc/keepassxc-2.7.0-r1.ebuild index 7e361326ccd8..19fe34eaf921 100644 --- a/app-admin/keepassxc/keepassxc-2.7.0-r1.ebuild +++ b/app-admin/keepassxc/keepassxc-2.7.0-r1.ebuild @@ -25,7 +25,7 @@ fi LICENSE="LGPL-2.1 GPL-2 GPL-3" SLOT="0" -IUSE="autotype browser ccache doc keeshare +network test yubikey" +IUSE="autotype browser doc keeshare +network test yubikey" RESTRICT="!test? ( test )" @@ -61,7 +61,6 @@ DEPEND=" dev-qt/qttest:5 " BDEPEND=" - ccache? ( dev-util/ccache ) doc? ( dev-ruby/asciidoctor ) " @@ -78,7 +77,9 @@ src_configure() { filter-flags -flto* local mycmakeargs=( - -DWITH_CCACHE="$(usex ccache)" + # 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_TESTS="$(usex test)" -DWITH_XC_AUTOTYPE="$(usex autotype)" diff --git a/app-admin/keepassxc/keepassxc-9999.ebuild b/app-admin/keepassxc/keepassxc-9999.ebuild index 7e361326ccd8..19fe34eaf921 100644 --- a/app-admin/keepassxc/keepassxc-9999.ebuild +++ b/app-admin/keepassxc/keepassxc-9999.ebuild @@ -25,7 +25,7 @@ fi LICENSE="LGPL-2.1 GPL-2 GPL-3" SLOT="0" -IUSE="autotype browser ccache doc keeshare +network test yubikey" +IUSE="autotype browser doc keeshare +network test yubikey" RESTRICT="!test? ( test )" @@ -61,7 +61,6 @@ DEPEND=" dev-qt/qttest:5 " BDEPEND=" - ccache? ( dev-util/ccache ) doc? ( dev-ruby/asciidoctor ) " @@ -78,7 +77,9 @@ src_configure() { filter-flags -flto* local mycmakeargs=( - -DWITH_CCACHE="$(usex ccache)" + # 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_TESTS="$(usex test)" -DWITH_XC_AUTOTYPE="$(usex autotype)" -- 2.35.1
Created attachment 767599 [details, diff] 0001-app-admin-keepassxc-add-missing-dependencies.patch (fixed)
Created attachment 767600 [details, diff] 0002-app-admin-keepassxc-remove-USE-ccache.patch (fixed)
(In reply to Sam James from comment #12) > Created attachment 767599 [details, diff] [details, diff] > 0001-app-admin-keepassxc-add-missing-dependencies.patch (fixed) argon2 was done in bug 835832 qtextras in bug 835850 Still need := on Botan. I think need libX11 added unconditionally too?
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=61cd2760c8327648c55d0fee59cf7a96eed1f4ea commit 61cd2760c8327648c55d0fee59cf7a96eed1f4ea Author: Sam James <sam@gentoo.org> AuthorDate: 2022-03-22 21:16:08 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2022-04-10 22:58:34 +0000 app-admin/keepassxc: add missing botan subslot dep Botan exposes a subslot for its ABI so a subslot (:=) dep should be used. Maintainer timeout. Closes: https://bugs.gentoo.org/782244 Signed-off-by: Sam James <sam@gentoo.org> app-admin/keepassxc/keepassxc-2.7.0-r2.ebuild | 2 +- .../keepassxc/{keepassxc-2.7.1.ebuild => keepassxc-2.7.1-r1.ebuild} | 2 +- app-admin/keepassxc/keepassxc-9999.ebuild | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-)