diff --git a/pkgs/applications/misc/keepassx/community.nix b/pkgs/applications/misc/keepassx/community.nix index 1dbc4f640887..ee99e21f6ec2 100644 --- a/pkgs/applications/misc/keepassx/community.nix +++ b/pkgs/applications/misc/keepassx/community.nix @@ -1,26 +1,29 @@ { stdenv, fetchFromGitHub, cmake, makeWrapper, qttools , curl +, glibcLocales +, libXi +, libXtst , libargon2 , libgcrypt -, libsodium -, zlib -, libmicrohttpd -, libXtst -, qtbase , libgpgerror -, glibcLocales +, libmicrohttpd +, libsodium , libyubikey -, yubikey-personalization -, libXi -, qtx11extras +, pkg-config +, qrencode +, qtbase , qtmacextras , qtsvg -, qrencode +, qtx11extras +, quazip +, yubikey-personalization +, zlib , withKeePassBrowser ? true +, withKeePassKeeShare ? true +, withKeePassKeeShareSecure ? true , withKeePassSSHAgent ? true -, withKeePassHTTP ? false , withKeePassNetworking ? false }: @@ -28,13 +31,13 @@ with stdenv.lib; stdenv.mkDerivation rec { name = "keepassxc-${version}"; - version = "2.4.0"; + version = "2.4.1"; src = fetchFromGitHub { owner = "keepassxreboot"; repo = "keepassxc"; rev = "${version}"; - sha256 = "1k8s56003gym2dv6c54gxwzs20i7lf6w5g5qnr449jfmf6wvbivr"; + sha256 = "1cbfsfdvb4qw6yb0zl6mymdbphnb7lxbfrc5a8cjmn9w8b09kv6m"; }; NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isClang [ @@ -52,17 +55,19 @@ stdenv.mkDerivation rec { patches = [ ./darwin.patch + ./quazip5.patch ]; cmakeFlags = [ "-DKEEPASSXC_BUILD_TYPE=Release" "-DWITH_GUI_TESTS=ON" "-DWITH_XC_AUTOTYPE=ON" + "-DWITH_XC_UPDATECHECK=OFF" "-DWITH_XC_YUBIKEY=ON" - "-DWITH_XC_KEESHARE=ON" ] ++ (optional withKeePassBrowser "-DWITH_XC_BROWSER=ON") - ++ (optional withKeePassHTTP "-DWITH_XC_HTTP=ON") + ++ (optional withKeePassKeeShare "-DWITH_XC_KEESHARE=ON") + ++ (optional withKeePassKeeShareSecure "-DWITH_XC_KEESHARE_SECURE=ON") ++ (optional withKeePassNetworking "-DWITH_XC_NETWORKING=ON") ++ (optional withKeePassSSHAgent "-DWITH_XC_SSHAGENT=ON"); @@ -87,13 +92,16 @@ stdenv.mkDerivation rec { libmicrohttpd libsodium libyubikey + pkg-config + qrencode qtbase - qtx11extras qtsvg + qtx11extras yubikey-personalization zlib - qrencode - ] ++ stdenv.lib.optional stdenv.isDarwin qtmacextras; + ] + ++ stdenv.lib.optional withKeePassKeeShareSecure quazip + ++ stdenv.lib.optional stdenv.isDarwin qtmacextras; postInstall = optionalString stdenv.isDarwin '' # Make it work without Qt in PATH. @@ -103,7 +111,7 @@ stdenv.mkDerivation rec { meta = { description = "Password manager to store your passwords safely and auto-type them into your everyday websites and applications"; - longDescription = "A community fork of KeePassX, which is itself a port of KeePass Password Safe. The goal is to extend and improve KeePassX with new features and bugfixes to provide a feature-rich, fully cross-platform and modern open-source password manager. Accessible via native cross-platform GUI and via CLI. Includes optional http-interface to allow browser-integration with plugins like PassIFox (https://github.com/pfn/passifox)."; + longDescription = "A community fork of KeePassX, which is itself a port of KeePass Password Safe. The goal is to extend and improve KeePassX with new features and bugfixes to provide a feature-rich, fully cross-platform and modern open-source password manager. Accessible via native cross-platform GUI, CLI, and browser integration with the KeePassXC Browser Extension (https://github.com/keepassxreboot/keepassxc-browser)."; homepage = https://keepassxc.org/; license = licenses.gpl2; maintainers = with maintainers; [ s1lvester jonafato ]; diff --git a/pkgs/applications/misc/keepassx/qt511.patch b/pkgs/applications/misc/keepassx/qt511.patch deleted file mode 100644 index b4d312c8c263..000000000000 --- a/pkgs/applications/misc/keepassx/qt511.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/src/gui/entry/EditEntryWidget.cpp b/src/gui/entry/EditEntryWidget.cpp -index 6fd65c1a..e99275b0 100644 ---- a/src/gui/entry/EditEntryWidget.cpp -+++ b/src/gui/entry/EditEntryWidget.cpp -@@ -29,6 +29,7 @@ - #include - #include - #include -+#include - #include - #include - #include --- -2.17.1 - diff --git a/pkgs/applications/misc/keepassx/quazip5.patch b/pkgs/applications/misc/keepassx/quazip5.patch new file mode 100644 index 000000000000..ccea841cac7d --- /dev/null +++ b/pkgs/applications/misc/keepassx/quazip5.patch @@ -0,0 +1,27 @@ +diff --git a/cmake/FindQuaZip.cmake b/cmake/FindQuaZip.cmake +index 8d309181..92aa892c 100644 +--- a/cmake/FindQuaZip.cmake ++++ b/cmake/FindQuaZip.cmake +@@ -9,7 +9,6 @@ IF(QUAZIP_INCLUDE_DIRS AND QUAZIP_LIBRARIES) + SET(QUAZIP_FOUND TRUE) + ELSE(QUAZIP_INCLUDE_DIRS AND QUAZIP_LIBRARIES) + IF(Qt5Core_FOUND) +- set(QUAZIP_LIB_VERSION_SUFFIX 5) + ENDIF() + IF(WIN32) + FIND_PATH(QUAZIP_LIBRARY_DIR +diff --git a/src/keeshare/ShareObserver.cpp b/src/keeshare/ShareObserver.cpp +index 33f5ed1f..5fcd9202 100644 +--- a/src/keeshare/ShareObserver.cpp ++++ b/src/keeshare/ShareObserver.cpp +@@ -46,8 +46,8 @@ + #include + + #if defined(WITH_XC_KEESHARE_SECURE) +-#include +-#include ++#include ++#include + #endif + + namespace