qt6Packages.qtkeychain: allow building with qt6

This commit is contained in:
Peter Hoeg 2023-04-28 15:48:05 +08:00
parent c0c84d5292
commit 22ed6b17d2
2 changed files with 34 additions and 7 deletions

View file

@ -1,11 +1,18 @@
{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, qtbase, qttools
, CoreFoundation, Security
{ lib
, stdenv
, fetchFromGitHub
, cmake
, pkg-config
, qtbase
, qttools
, CoreFoundation
, Security
, libsecret
}:
stdenv.mkDerivation rec {
pname = "qtkeychain";
version = "0.12.0"; # verify after nix-build with `grep -R "set(PACKAGE_VERSION " result/`
version = "0.12.0";
src = fetchFromGitHub {
owner = "frankosterfeld";
@ -18,7 +25,10 @@ stdenv.mkDerivation rec {
patches = [ ./0002-Fix-install-name-Darwin.patch ];
cmakeFlags = [ "-DQT_TRANSLATIONS_DIR=share/qt/translations" ];
cmakeFlags = [
"-DBUILD_WITH_QT6=${if lib.versions.major qtbase.version == "6" then "ON" else "OFF"}"
"-DQT_TRANSLATIONS_DIR=share/qt/translations"
];
nativeBuildInputs = [ cmake ]
++ lib.optionals (!stdenv.isDarwin) [ pkg-config ] # for finding libsecret
@ -27,9 +37,22 @@ stdenv.mkDerivation rec {
buildInputs = lib.optionals (!stdenv.isDarwin) [ libsecret ]
++ [ qtbase qttools ]
++ lib.optionals stdenv.isDarwin [
CoreFoundation Security
]
;
CoreFoundation
Security
];
doInstallCheck = true;
# we previously had a note in here saying to run this check manually, so we might as
# well do it automatically. It seems like a perfectly valid sanity check, but I
# have no idea *why* we might need it
installCheckPhase = ''
runHook preInstallCheck
grep --quiet -R 'set(PACKAGE_VERSION "${version}"' .
runHook postInstallCheck
'';
meta = {
description = "Platform-independent Qt API for storing passwords securely";

View file

@ -31,6 +31,10 @@ in
inherit (kdeFrameworks) kcoreaddons;
qtkeychain = callPackage ../development/libraries/qtkeychain {
inherit (pkgs.darwin.apple_sdk.frameworks) CoreFoundation Security;
};
qtpbfimageplugin = callPackage ../development/libraries/qtpbfimageplugin { };
quazip = callPackage ../development/libraries/quazip { };