WIP: keepassxc: 2.3.4 -> 2.4.0

running test doesn't work currently because of finding qt plugins
This commit is contained in:
Roman Plášil 2019-04-11 11:13:23 +08:00
parent fcd769b721
commit 44225ebaf6
2 changed files with 47 additions and 42 deletions

View File

@ -15,6 +15,8 @@
, libXi , libXi
, qtx11extras , qtx11extras
, qtmacextras , qtmacextras
, qtsvg
, qrencode
, withKeePassBrowser ? true , withKeePassBrowser ? true
, withKeePassSSHAgent ? true , withKeePassSSHAgent ? true
@ -26,13 +28,13 @@ with stdenv.lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "keepassxc-${version}"; name = "keepassxc-${version}";
version = "2.3.4"; version = "2.4.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "keepassxreboot"; owner = "keepassxreboot";
repo = "keepassxc"; repo = "keepassxc";
rev = "${version}"; rev = "${version}";
sha256 = "1gja402dsbws4z8ybnhqbw7rc9svgqnshqjgf7158d6x0ni386m3"; sha256 = "1k8s56003gym2dv6c54gxwzs20i7lf6w5g5qnr449jfmf6wvbivr";
}; };
NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isClang [ NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isClang [
@ -50,7 +52,6 @@ stdenv.mkDerivation rec {
patches = [ patches = [
./darwin.patch ./darwin.patch
./qt511.patch
]; ];
cmakeFlags = [ cmakeFlags = [
@ -58,6 +59,7 @@ stdenv.mkDerivation rec {
"-DWITH_GUI_TESTS=ON" "-DWITH_GUI_TESTS=ON"
"-DWITH_XC_AUTOTYPE=ON" "-DWITH_XC_AUTOTYPE=ON"
"-DWITH_XC_YUBIKEY=ON" "-DWITH_XC_YUBIKEY=ON"
"-DWITH_XC_KEESHARE=ON"
] ]
++ (optional withKeePassBrowser "-DWITH_XC_BROWSER=ON") ++ (optional withKeePassBrowser "-DWITH_XC_BROWSER=ON")
++ (optional withKeePassHTTP "-DWITH_XC_HTTP=ON") ++ (optional withKeePassHTTP "-DWITH_XC_HTTP=ON")
@ -67,8 +69,8 @@ stdenv.mkDerivation rec {
doCheck = true; doCheck = true;
checkPhase = '' checkPhase = ''
export LC_ALL="en_US.UTF-8" export LC_ALL="en_US.UTF-8"
make test ARGS+="-E testgui --output-on-failure"
''; '';
# make test ARGS+="-E testgui --output-on-failure"
nativeBuildInputs = [ cmake makeWrapper qttools ]; nativeBuildInputs = [ cmake makeWrapper qttools ];
@ -85,8 +87,10 @@ stdenv.mkDerivation rec {
libyubikey libyubikey
qtbase qtbase
qtx11extras qtx11extras
qtsvg
yubikey-personalization yubikey-personalization
zlib zlib
qrencode
] ++ stdenv.lib.optional stdenv.isDarwin qtmacextras; ] ++ stdenv.lib.optional stdenv.isDarwin qtmacextras;
postInstall = optionalString stdenv.isDarwin '' postInstall = optionalString stdenv.isDarwin ''

View File

@ -1,52 +1,53 @@
Remove the use of macdeployqt to avoid copying dependencies and diff --git a/CMakeLists.txt b/CMakeLists.txt
reduce installation size from 90 MB to 9 MB. index 658548f7..f8f10bdb 100644
--- a/CMakeLists.txt --- a/CMakeLists.txt
+++ b/CMakeLists.txt +++ b/CMakeLists.txt
@@ -250,8 +250,8 @@ else() @@ -288,6 +288,7 @@ if(MINGW)
set(PROGNAME keepassxc) set(PLUGIN_INSTALL_DIR ".")
endif() set(DATA_INSTALL_DIR "share")
-if(APPLE AND WITH_APP_BUNDLE AND "${CMAKE_INSTALL_PREFIX}" STREQUAL "/usr/local")
- set(CMAKE_INSTALL_PREFIX "/Applications")
+if(APPLE AND WITH_APP_BUNDLE)
+ set(CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}/Applications")
set(CMAKE_INSTALL_MANDIR "/usr/local/share/man")
endif()
@@ -262,7 +262,7 @@ if(MINGW)
set(PLUGIN_INSTALL_DIR ".")
set(DATA_INSTALL_DIR "share")
elseif(APPLE AND WITH_APP_BUNDLE) elseif(APPLE AND WITH_APP_BUNDLE)
- set(CLI_INSTALL_DIR "/usr/local/bin") + set(CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}/Applications")
+ set(CLI_INSTALL_DIR "../bin") set(CMAKE_INSTALL_MANDIR "${PROGNAME}.app/Contents/Resources/man")
set(PROXY_INSTALL_DIR "/usr/local/bin") set(CLI_INSTALL_DIR "${PROGNAME}.app/Contents/MacOS")
set(BIN_INSTALL_DIR ".") set(PROXY_INSTALL_DIR "${PROGNAME}.app/Contents/MacOS")
set(PLUGIN_INSTALL_DIR "${PROGNAME}.app/Contents/PlugIns") @@ -350,12 +351,6 @@ set(CMAKE_AUTORCC ON)
if(APPLE)
set(CMAKE_MACOSX_RPATH TRUE)
- find_program(MACDEPLOYQT_EXE macdeployqt HINTS ${Qt5_PREFIX}/bin ENV PATH)
- if(NOT MACDEPLOYQT_EXE)
- message(FATAL_ERROR "macdeployqt is required to build in macOS")
- else()
- message(STATUS "Using macdeployqt: ${MACDEPLOYQT_EXE}")
- endif()
endif()
# Debian sets the the build type to None for package builds.
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 69526967..38f7c5d4 100644 index 110dc606..f9b58818 100644
--- a/src/CMakeLists.txt --- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt +++ b/src/CMakeLists.txt
@@ -319,11 +319,6 @@ if(APPLE AND WITH_APP_BUNDLE) @@ -343,11 +343,6 @@ if(APPLE AND WITH_APP_BUNDLE)
set(CPACK_PACKAGE_FILE_NAME "${PROGNAME}-${KEEPASSXC_VERSION}") set(CPACK_PACKAGE_FILE_NAME "${PROGNAME}-${KEEPASSXC_VERSION}")
include(CPack) include(CPack)
- add_custom_command(TARGET ${PROGNAME} - add_custom_command(TARGET ${PROGNAME}
- POST_BUILD - POST_BUILD
- COMMAND ${MACDEPLOYQT_EXE} ${PROGNAME}.app - COMMAND ${MACDEPLOYQT_EXE} ${PROGNAME}.app
- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/src - WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/src
- COMMENT "Deploying app bundle") - COMMENT "Deploying app bundle")
endif() endif()
install(TARGETS ${PROGNAME} install(TARGETS ${PROGNAME}
diff --git a/src/autotype/mac/CMakeLists.txt b/src/autotype/mac/CMakeLists.txt diff --git a/src/autotype/mac/CMakeLists.txt b/src/autotype/mac/CMakeLists.txt
index 08c53278..b833b692 100644 index f1c5387f..abf70b48 100644
--- a/src/autotype/mac/CMakeLists.txt --- a/src/autotype/mac/CMakeLists.txt
+++ b/src/autotype/mac/CMakeLists.txt +++ b/src/autotype/mac/CMakeLists.txt
@@ -14,7 +14,6 @@ if(WITH_APP_BUNDLE) @@ -12,7 +12,6 @@ if(WITH_APP_BUNDLE)
add_custom_command(TARGET keepassx-autotype-cocoa add_custom_command(TARGET keepassx-autotype-cocoa
POST_BUILD POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/libkeepassx-autotype-cocoa.so ${PLUGIN_INSTALL_DIR} COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/libkeepassx-autotype-cocoa.so ${PLUGIN_INSTALL_DIR}
- COMMAND ${MACDEPLOYQT_EXE} ${PROGNAME}.app -executable=${PLUGIN_INSTALL_DIR}/libkeepassx-autotype-cocoa.so -no-plugins - COMMAND ${MACDEPLOYQT_EXE} ${PROGNAME}.app -executable=${PLUGIN_INSTALL_DIR}/libkeepassx-autotype-cocoa.so -no-plugins
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/src WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/src
COMMENT "Deploying autotype plugin") COMMENT "Deploying autotype plugin")
else() else()