Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at devShellTools-shell 64 lines 1.3 kB view raw
1{ 2 lib, 3 mkKdeDerivation, 4 qttools, 5 accounts-qt, 6 kaccounts-integration, 7 shared-mime-info, 8 xz, 9 mariadb, 10 libpq, 11 sqlite, 12 backend ? "mysql", 13}: 14 15assert lib.assertOneOf "backend" backend [ 16 "mysql" 17 "postgres" 18 "sqlite" 19]; 20 21mkKdeDerivation { 22 pname = "akonadi"; 23 24 patches = [ 25 # Always regenerate MySQL config, as the store paths don't have accurate timestamps 26 ./ignore-mysql-config-timestamp.patch 27 ]; 28 29 extraCmakeFlags = [ 30 "-DDATABASE_BACKEND=${lib.toUpper backend}" 31 ] 32 ++ lib.optionals (backend == "mysql") [ 33 "-DMYSQLD_SCRIPTS_PATH=${lib.getBin mariadb}/bin" 34 ] 35 ++ lib.optionals (backend == "postgres") [ 36 "-DPOSTGRES_PATH=${lib.getBin libpq}/bin" 37 ]; 38 39 extraNativeBuildInputs = [ 40 qttools 41 shared-mime-info 42 ]; 43 44 extraBuildInputs = [ 45 kaccounts-integration 46 accounts-qt 47 xz 48 ] 49 ++ lib.optionals (backend == "mysql") [ mariadb ] 50 ++ lib.optionals (backend == "postgres") [ libpq ] 51 ++ lib.optionals (backend == "sqlite") [ sqlite ]; 52 53 # Hardcoded as a QString, which is UTF-16 so Nix can't pick it up automatically 54 55 postFixup = '' 56 mkdir -p $out/nix-support 57 '' 58 + lib.optionalString (backend == "mysql") '' 59 echo "${mariadb}" > $out/nix-support/depends 60 '' 61 + lib.optionalString (backend == "postgres") '' 62 echo "${libpq}" > $out/nix-support/depends 63 ''; 64}