From f047d5d75451dfdd1017206416b8f51fccf3806f Mon Sep 17 00:00:00 2001 From: Badi Abdul-Wahid <abdulwahidc@gmail.com> Date: Sun, 11 Mar 2018 19:44:55 -0400 Subject: [PATCH] qtkeychain: 0.7.0 -> 0.8.0, fix darwin build The darwin build was failing for two reasons 1) cmake incorrectly detected the compiler 2) missing Frameworks /cc ZHF #36454 --- .../libraries/qtkeychain/default.nix | 20 +++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/qtkeychain/default.nix b/pkgs/development/libraries/qtkeychain/default.nix index ef0f5d4014ea..b2c513541fac 100644 --- a/pkgs/development/libraries/qtkeychain/default.nix +++ b/pkgs/development/libraries/qtkeychain/default.nix @@ -1,13 +1,15 @@ { stdenv, fetchFromGitHub, cmake, qt4 ? null , withQt5 ? false, qtbase ? null, qttools ? null +, darwin ? null }: assert withQt5 -> qtbase != null; assert withQt5 -> qttools != null; +assert stdenv.isDarwin -> darwin != null; stdenv.mkDerivation rec { name = "qtkeychain-${if withQt5 then "qt5" else "qt4"}-${version}"; - version = "0.7.0"; + version = "0.8.0"; src = fetchFromGitHub { owner = "frankosterfeld"; @@ -16,16 +18,26 @@ stdenv.mkDerivation rec { sha256 = "04v6ymkw7qd1pf9lwijgqrl89w2hhsnqgz7dm4cdrh8i8dffpn52"; }; - cmakeFlags = [ "-DQT_TRANSLATIONS_DIR=share/qt/translations" ]; + cmakeFlags = [ "-DQT_TRANSLATIONS_DIR=share/qt/translations" ] + ++ stdenv.lib.optional stdenv.isDarwin [ + # correctly detect the compiler + # for details see cmake --help-policy CMP0025 + "-DCMAKE_POLICY_DEFAULT_CMP0025=NEW" + ] + ; nativeBuildInputs = [ cmake ]; - buildInputs = if withQt5 then [ qtbase qttools ] else [ qt4 ]; + buildInputs = if withQt5 then [ qtbase qttools ] else [ qt4 ] + ++ stdenv.lib.optional stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ + CoreFoundation Security + ]) + ; meta = { description = "Platform-independent Qt API for storing passwords securely"; homepage = https://github.com/frankosterfeld/qtkeychain; license = stdenv.lib.licenses.bsd3; - platforms = stdenv.lib.platforms.linux; + platforms = stdenv.lib.platforms.unix; }; }