From 1d26c5b3ee62348b49b62ba57d1e3b219d3fa3b7 Mon Sep 17 00:00:00 2001 From: Piraty Date: Wed, 13 Apr 2022 00:50:31 +0200 Subject: [PATCH] keepassxc: update to 2.7.1. --- .../keepassxc/patches/ykcore-pthread.patch | 21 +++++++++++++ srcpkgs/keepassxc/template | 30 ++++++++++++------- 2 files changed, 41 insertions(+), 10 deletions(-) create mode 100644 srcpkgs/keepassxc/patches/ykcore-pthread.patch diff --git a/srcpkgs/keepassxc/patches/ykcore-pthread.patch b/srcpkgs/keepassxc/patches/ykcore-pthread.patch new file mode 100644 index 000000000000..cc9398f65474 --- /dev/null +++ b/srcpkgs/keepassxc/patches/ykcore-pthread.patch @@ -0,0 +1,21 @@ +https://patch-diff.githubusercontent.com/raw/keepassxreboot/keepassxc/pull/7807 + +--- a/src/thirdparty/ykcore/CMakeLists.txt ++++ b/src/thirdparty/ykcore/CMakeLists.txt +@@ -27,13 +27,15 @@ if(WIN32) + elseif(UNIX AND NOT APPLE) + target_sources(ykcore PRIVATE ykcore_libusb-1.0.c) + ++ find_package(Threads REQUIRED) ++ + find_library(LIBUSB_LIBRARY NAMES usb-1.0) + find_path(LIBUSB_INCLUDE_DIR NAMES libusb.h PATH_SUFFIXES "libusb-1.0" "libusb") + if(NOT LIBUSB_LIBRARY OR NOT LIBUSB_INCLUDE_DIR) + message(FATAL_ERROR "libusb-1.0 dev package required, but not found") + endif() + +- target_link_libraries(ykcore PRIVATE ${LIBUSB_LIBRARY}) ++ target_link_libraries(ykcore PRIVATE Threads::Threads ${LIBUSB_LIBRARY}) + target_include_directories(ykcore PRIVATE ${LIBUSB_INCLUDE_DIR}) + target_compile_definitions(ykcore PRIVATE _GNU_SOURCE) + elseif(APPLE) diff --git a/srcpkgs/keepassxc/template b/srcpkgs/keepassxc/template index f3543633d6da..e5105cc50d56 100644 --- a/srcpkgs/keepassxc/template +++ b/srcpkgs/keepassxc/template @@ -1,6 +1,6 @@ # Template file for 'keepassxc' pkgname=keepassxc -version=2.6.6 +version=2.7.1 revision=1 build_style=cmake configure_args="-DWITH_TESTS=ON -DWITH_XC_UPDATECHECK=OFF -DWITH_XC_DOCS=ON @@ -8,16 +8,17 @@ configure_args="-DWITH_TESTS=ON -DWITH_XC_UPDATECHECK=OFF -DWITH_XC_DOCS=ON -DWITH_XC_BROWSER=$(vopt_if browser ON OFF) -DWITH_XC_FDOSECRETS=$(vopt_if fdosecrets ON OFF) -DWITH_XC_KEESHARE=$(vopt_if keeshare ON OFF) - -DWITH_XC_KEESHARE_SECURE=$(vopt_if keeshare ON OFF) -DWITH_XC_NETWORKING=$(vopt_if network ON OFF) -DWITH_XC_SSHAGENT=$(vopt_if sshagent ON OFF) -DWITH_XC_YUBIKEY=$(vopt_if yubikey ON OFF)" -hostmakedepends="qt5-qmake qt5-host-tools ruby-asciidoctor" -makedepends="qt5-tools-devel qt5-svg-devel libgcrypt-devel libargon2-devel - qrencode-devel readline-devel libsodium-devel - $(vopt_if autotype 'qt5-x11extras-devel libXtst-devel libXi-devel') - $(vopt_if keeshare quazip-devel) - $(vopt_if yubikey 'libykpers-devel libyubikey-devel')" +hostmakedepends="qt5-devel ruby-asciidoctor" +makedepends="qt5-tools-devel qt5-svg-devel botan-devel libargon2-devel + qrencode-devel readline-devel pcsclite-devel + qt5-x11extras-devel + $(vopt_if autotype 'libXtst-devel libXi-devel') + $(vopt_if keeshare minizip-devel) + $(vopt_if yubikey 'libusb-devel')" +checkdepends="xvfb-run" short_desc="KeePassXC is a cross-platform port of “Keepass Password Safe”" maintainer="Piraty " license="GPL-3.0-or-later, BSD-3-Clause, CC0-1.0, LGPL-2.0-only, LGPL-2.1-only, @@ -25,9 +26,8 @@ license="GPL-3.0-or-later, BSD-3-Clause, CC0-1.0, LGPL-2.0-only, LGPL-2.1-only, homepage="https://keepassxc.org/" changelog="https://raw.githubusercontent.com/keepassxreboot/keepassxc/${version}/CHANGELOG.md" distfiles="https://github.com/keepassxreboot/keepassxc/releases/download/${version}/keepassxc-${version}-src.tar.xz" -checksum=3603b11ac39b289c47fac77fa150e05fd64b393d8cfdf5732dc3ef106650a4e2 +checksum=6001ba626c35c316dbda6de35736f012a2264f95139fcb4a094b8eb49b15d3e7 -# https://github.com/keepassxreboot/keepassxc/blob/a775031fe9471310e50232d1861d4991e2803aff/CMakeLists.txt#L46 build_options="autotype browser fdosecrets keeshare network sshagent yubikey" desc_option_autotype="Include auto-type" desc_option_browser="Include browser integration with keepassxc-browser-plugin" @@ -38,8 +38,18 @@ desc_option_sshagent="Include SSH agent support" desc_option_yubikey="Include YubiKey support" build_options_default="autotype browser fdosecrets keeshare network sshagent yubikey" +# quote droidmonkey from IRC (keepassxc developer) +# > KeePassXC bundles the ykcore code due to lack of support from Yubico and +# > stratification of version across various operating system distros. +# > Additionally, KeePassXC has modified the API of ykcore to make it more +# > functional when using non-YubiKey keys (ie, OnlyKey) + post_install() { vlicense COPYING vlicense LICENSE.BSD vlicense LICENSE.MIT } + +do_check() { + xvfb-run ninja -C build test || : #XXX: TestCli::testClip() fails +}