diff options
author | K900 <me@0upti.me> | 2024-03-01 12:10:56 +0300 |
---|---|---|
committer | K900 <me@0upti.me> | 2024-03-01 16:03:27 +0300 |
commit | 299251e8d4bf4469f99842049f7a952dc2425d48 (patch) | |
tree | 27ab168e83b746ffbbdabc636fc20298c67fb7a1 /pkgs/kde/gear | |
parent | 13a94ad1fb9b9a190c196cd3df4f03e38d638845 (diff) |
kdePackages.akonadi: restore mysql backend
I guess we're stuck with it for the time being.
Diffstat (limited to 'pkgs/kde/gear')
-rw-r--r-- | pkgs/kde/gear/akonadi/default.nix | 13 | ||||
-rw-r--r-- | pkgs/kde/gear/akonadi/ignore-mysql-config-timestamp.patch | 12 |
2 files changed, 23 insertions, 2 deletions
diff --git a/pkgs/kde/gear/akonadi/default.nix b/pkgs/kde/gear/akonadi/default.nix index 20fd1f54b1ec1..15d1436e9cb52 100644 --- a/pkgs/kde/gear/akonadi/default.nix +++ b/pkgs/kde/gear/akonadi/default.nix @@ -1,16 +1,25 @@ { + lib, mkKdeDerivation, qttools, accounts-qt, kaccounts-integration, shared-mime-info, xz, + mariadb, }: mkKdeDerivation { pname = "akonadi"; - # FIXME(later): investigate nixpkgs patches + patches = [ + # Always regenerate MySQL config, as the store paths don't have accurate timestamps + ./ignore-mysql-config-timestamp.patch + ]; + + extraCmakeFlags = [ + "-DMYSQLD_SCRIPTS_PATH=${lib.getBin mariadb}/bin" + ]; extraNativeBuildInputs = [qttools shared-mime-info]; - extraBuildInputs = [kaccounts-integration accounts-qt xz]; + extraBuildInputs = [kaccounts-integration accounts-qt xz mariadb]; } diff --git a/pkgs/kde/gear/akonadi/ignore-mysql-config-timestamp.patch b/pkgs/kde/gear/akonadi/ignore-mysql-config-timestamp.patch new file mode 100644 index 0000000000000..62f1556bf687c --- /dev/null +++ b/pkgs/kde/gear/akonadi/ignore-mysql-config-timestamp.patch @@ -0,0 +1,12 @@ +--- a/src/server/storage/dbconfigmysql.cpp ++++ b/src/server/storage/dbconfigmysql.cpp +@@ -241,8 +241,7 @@ bool DbConfigMysql::startInternalServer() + bool confUpdate = false; + QFile actualFile(actualConfig); + // update conf only if either global (or local) is newer than actual +- if ((QFileInfo(globalConfig).lastModified() > QFileInfo(actualFile).lastModified()) +- || (QFileInfo(localConfig).lastModified() > QFileInfo(actualFile).lastModified())) { ++ if (true) { + QFile globalFile(globalConfig); + QFile localFile(localConfig); + if (globalFile.open(QFile::ReadOnly) && actualFile.open(QFile::WriteOnly)) { |