kdePackages.akonadi: enable support for SQLite and PostgreSQL backends

This commit is contained in:
Shawn8901
2025-03-03 17:42:01 +01:00
parent 17a29f4e59
commit c5a810062f
+39 -13
View File
@@ -7,7 +7,17 @@
shared-mime-info,
xz,
mariadb,
postgresql,
sqlite,
backend ? "mysql",
}:
assert lib.assertOneOf "backend" backend [
"mysql"
"postgres"
"sqlite"
];
mkKdeDerivation {
pname = "akonadi";
@@ -16,24 +26,40 @@ mkKdeDerivation {
./ignore-mysql-config-timestamp.patch
];
extraCmakeFlags = [
"-DMYSQLD_SCRIPTS_PATH=${lib.getBin mariadb}/bin"
];
extraCmakeFlags =
[ "-DDATABASE_BACKEND=${lib.toUpper backend}" ]
++ lib.optionals (backend == "mysql") [
"-DMYSQLD_SCRIPTS_PATH=${lib.getBin mariadb}/bin"
]
++ lib.optionals (backend == "postgres") [
"-DPOSTGRES_PATH=${lib.getBin postgresql}/bin"
];
extraNativeBuildInputs = [
qttools
shared-mime-info
];
extraBuildInputs = [
kaccounts-integration
accounts-qt
xz
mariadb
];
extraBuildInputs =
[
kaccounts-integration
accounts-qt
xz
]
++ lib.optionals (backend == "mysql") [ mariadb ]
++ lib.optionals (backend == "postgres") [ postgresql ]
++ lib.optionals (backend == "sqlite") [ sqlite ];
# Hardcoded as a QString, which is UTF-16 so Nix can't pick it up automatically
postFixup = ''
mkdir -p $out/nix-support
echo "${mariadb}" > $out/nix-support/depends
'';
postFixup =
''
mkdir -p $out/nix-support
''
++ lib.optional (backend == "mysql") ''
echo "${mariadb}" > $out/nix-support/depends
''
++ lib.optional (backend == "postgres") ''
echo "${postgresql}" > $out/nix-support/depends
'';
}