python313Packages.traits: fix build (#373698)
[NixPkgs.git] / pkgs / development / libraries / qtkeychain / default.nix
blobd865b183f9cafa2f508ec5b220e063ca71f90e67
2   lib,
3   stdenv,
4   fetchFromGitHub,
5   cmake,
6   pkg-config,
7   qtbase,
8   qttools,
9   CoreFoundation,
10   Security,
11   libsecret,
14 stdenv.mkDerivation rec {
15   pname = "qtkeychain";
16   version = "0.14.3";
18   src = fetchFromGitHub {
19     owner = "frankosterfeld";
20     repo = "qtkeychain";
21     rev = version;
22     sha256 = "sha256-+1WX3ARH+jWeDiaJnX+ZlRMj+l3qvgBwcGKjB9QEJNI=";
23   };
25   dontWrapQtApps = true;
27   cmakeFlags = [
28     "-DBUILD_WITH_QT6=${if lib.versions.major qtbase.version == "6" then "ON" else "OFF"}"
29     "-DQT_TRANSLATIONS_DIR=share/qt/translations"
30   ];
32   nativeBuildInputs = [ cmake ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ pkg-config ] # for finding libsecret
33   ;
35   buildInputs =
36     lib.optionals (!stdenv.hostPlatform.isDarwin) [ libsecret ]
37     ++ [
38       qtbase
39       qttools
40     ]
41     ++ lib.optionals stdenv.hostPlatform.isDarwin [
42       CoreFoundation
43       Security
44     ];
46   doInstallCheck = true;
48   # we previously had a note in here saying to run this check manually, so we might as
49   # well do it automatically. It seems like a perfectly valid sanity check, but I
50   # have no idea *why* we might need it
51   installCheckPhase = ''
52     runHook preInstallCheck
54     grep --quiet -R 'set(PACKAGE_VERSION "${version}"' .
56     runHook postInstallCheck
57   '';
59   meta = {
60     description = "Platform-independent Qt API for storing passwords securely";
61     homepage = "https://github.com/frankosterfeld/qtkeychain";
62     license = lib.licenses.bsd3;
63     platforms = lib.platforms.unix;
64   };