aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/patches
diff options
context:
space:
mode:
authorHartmut Goebel <h.goebel@crazy-compilers.com>2019-12-05 19:05:29 +0100
committerHartmut Goebel <h.goebel@crazy-compilers.com>2020-02-03 14:27:22 +0100
commite35b50ecdd553f3fac4d16db311149dbcc3028fe (patch)
tree7cf0c99f12139058756e615e63c7dfff6580ca8a /gnu/packages/patches
parent0895002f68a51de2c237e1fe83ec6e4ffc980eff (diff)
downloadguix-e35b50ecdd553f3fac4d16db311149dbcc3028fe.tar
guix-e35b50ecdd553f3fac4d16db311149dbcc3028fe.tar.gz
gnu: Add akonadi.
* gnu/packages/kde-pim.scm, gnu/packages/patches/akonadi-paths.patch, gnu/packages/patches/akonadi-Revert-Make-installation-properly-relocatabl.patch gnu/packages/patches/akonadi-timestamps.patch: New files. * gnu/local.mk (MODULES): Add kde-pim.scm. (dist_patch): Add the patches.
Diffstat (limited to 'gnu/packages/patches')
-rw-r--r--gnu/packages/patches/akonadi-Revert-Make-installation-properly-relocatabl.patch49
-rw-r--r--gnu/packages/patches/akonadi-paths.patch49
-rw-r--r--gnu/packages/patches/akonadi-timestamps.patch14
3 files changed, 112 insertions, 0 deletions
diff --git a/gnu/packages/patches/akonadi-Revert-Make-installation-properly-relocatabl.patch b/gnu/packages/patches/akonadi-Revert-Make-installation-properly-relocatabl.patch
new file mode 100644
index 0000000000..c3964c5c05
--- /dev/null
+++ b/gnu/packages/patches/akonadi-Revert-Make-installation-properly-relocatabl.patch
@@ -0,0 +1,49 @@
+From bc018b4bc816a3b51deb9739bedbf8a2268d0684 Mon Sep 17 00:00:00 2001
+From: gnidorah <gnidorah@users.noreply.github.com>
+Date: Fri, 22 Dec 2017 17:36:03 +0300
+Subject: [PATCH] Revert "Make Akonadi installation properly relocatable"
+
+This reverts commit b2bb55f13f2ac783f89cc414de8c39f62fa2096a.
+---
+ CMakeLists.txt | 3 ---
+ KF5AkonadiConfig.cmake.in | 6 +++---
+ 2 files changed, 3 insertions(+), 6 deletions(-)
+
+Index: akonadi-19.08.0/CMakeLists.txt
+===================================================================
+--- akonadi-19.08.0.orig/CMakeLists.txt
++++ akonadi-19.08.0/CMakeLists.txt
+@@ -306,9 +306,6 @@ configure_package_config_file(
+ "${CMAKE_CURRENT_SOURCE_DIR}/KF5AkonadiConfig.cmake.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/KF5AkonadiConfig.cmake"
+ INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR}
+- PATH_VARS AKONADI_DBUS_INTERFACES_INSTALL_DIR
+- AKONADI_INCLUDE_DIR
+- KF5Akonadi_DATA_DIR
+ )
+
+ install(FILES
+Index: akonadi-19.08.0/KF5AkonadiConfig.cmake.in
+===================================================================
+--- akonadi-19.08.0.orig/KF5AkonadiConfig.cmake.in
++++ akonadi-19.08.0/KF5AkonadiConfig.cmake.in
+@@ -26,8 +26,8 @@ if(BUILD_TESTING)
+ find_dependency(Qt5Test "@QT_REQUIRED_VERSION@")
+ endif()
+
+-set_and_check(AKONADI_DBUS_INTERFACES_DIR "@PACKAGE_AKONADI_DBUS_INTERFACES_INSTALL_DIR@")
+-set_and_check(AKONADI_INCLUDE_DIR "@PACKAGE_AKONADI_INCLUDE_DIR@")
++set_and_check(AKONADI_DBUS_INTERFACES_DIR "@AKONADI_DBUS_INTERFACES_INSTALL_DIR@")
++set_and_check(AKONADI_INCLUDE_DIR "@AKONADI_INCLUDE_DIR@")
+
+ find_dependency(Boost "@Boost_MINIMUM_VERSION@")
+
+@@ -35,7 +35,7 @@ include(${CMAKE_CURRENT_LIST_DIR}/KF5Ako
+ include(${CMAKE_CURRENT_LIST_DIR}/KF5AkonadiMacros.cmake)
+
+ # The directory where akonadi-xml.xsd and kcfg2dbus.xsl are installed
+-set(KF5Akonadi_DATA_DIR "@PACKAGE_KF5Akonadi_DATA_DIR@")
++set(KF5Akonadi_DATA_DIR "@KF5Akonadi_DATA_DIR@")
+
+ ####################################################################################
+ # CMAKE_AUTOMOC
diff --git a/gnu/packages/patches/akonadi-paths.patch b/gnu/packages/patches/akonadi-paths.patch
new file mode 100644
index 0000000000..da250ee9e8
--- /dev/null
+++ b/gnu/packages/patches/akonadi-paths.patch
@@ -0,0 +1,49 @@
+This is based on the respectve patch from NixPkgs, but with the parts pinning
+mysql and postgresql executables removed. The our package definition on why.
+
+
+Index: akonadi-19.08.0/src/akonadicontrol/agentmanager.cpp
+===================================================================
+--- akonadi-19.08.0.orig/src/akonadicontrol/agentmanager.cpp
++++ akonadi-19.08.0/src/akonadicontrol/agentmanager.cpp
+@@ -78,12 +78,12 @@ AgentManager::AgentManager(bool verbose,
+ mStorageController = new Akonadi::ProcessControl;
+ mStorageController->setShutdownTimeout(15 * 1000); // the server needs more time for shutdown if we are using an internal mysqld
+ connect(mStorageController, &Akonadi::ProcessControl::unableToStart, this, &AgentManager::serverFailure);
+- mStorageController->start(QStringLiteral("akonadiserver"), serviceArgs, Akonadi::ProcessControl::RestartOnCrash);
++ mStorageController->start(QLatin1String(NIX_OUT "/bin/akonadiserver"), serviceArgs, Akonadi::ProcessControl::RestartOnCrash);
+
+ if (mAgentServerEnabled) {
+ mAgentServer = new Akonadi::ProcessControl;
+ connect(mAgentServer, &Akonadi::ProcessControl::unableToStart, this, &AgentManager::agentServerFailure);
+- mAgentServer->start(QStringLiteral("akonadi_agent_server"), serviceArgs, Akonadi::ProcessControl::RestartOnCrash);
++ mAgentServer->start(QLatin1String(NIX_OUT "/bin/akonadi_agent_server"), serviceArgs, Akonadi::ProcessControl::RestartOnCrash);
+ }
+ }
+
+Index: akonadi-19.08.0/src/akonadicontrol/agentprocessinstance.cpp
+===================================================================
+--- akonadi-19.08.0.orig/src/akonadicontrol/agentprocessinstance.cpp
++++ akonadi-19.08.0/src/akonadicontrol/agentprocessinstance.cpp
+@@ -62,7 +62,7 @@ bool AgentProcessInstance::start(const A
+ } else {
+ Q_ASSERT(agentInfo.launchMethod == AgentType::Launcher);
+ const QStringList arguments = QStringList() << executable << identifier();
+- const QString agentLauncherExec = Akonadi::StandardDirs::findExecutable(QStringLiteral("akonadi_agent_launcher"));
++ const QString agentLauncherExec = QLatin1String(NIX_OUT "/bin/akonadi_agent_launcher");
+ mController->start(agentLauncherExec, arguments);
+ }
+ return true;
+Index: akonadi-19.08.0/src/server/storage/dbconfigmysql.cpp
+===================================================================
+--- akonadi-19.08.0.orig/src/server/storage/dbconfigmysql.cpp
++++ akonadi-19.08.0/src/server/storage/dbconfigmysql.cpp
+@@ -209,7 +193,7 @@ bool DbConfigMysql::startInternalServer(
+ #endif
+
+ // generate config file
+- const QString globalConfig = StandardDirs::locateResourceFile("config", QStringLiteral("mysql-global.conf"));
++ const QString globalConfig = QLatin1String(NIX_OUT "/etc/xdg/akonadi/mysql-global.conf");
+ const QString localConfig = StandardDirs::locateResourceFile("config", QStringLiteral("mysql-local.conf"));
+ const QString actualConfig = StandardDirs::saveDir("data") + QLatin1String("/mysql.conf");
+ if (globalConfig.isEmpty()) {
diff --git a/gnu/packages/patches/akonadi-timestamps.patch b/gnu/packages/patches/akonadi-timestamps.patch
new file mode 100644
index 0000000000..e299a6991f
--- /dev/null
+++ b/gnu/packages/patches/akonadi-timestamps.patch
@@ -0,0 +1,14 @@
+Index: akonadi-19.08.0/src/server/storage/dbconfigmysql.cpp
+===================================================================
+--- akonadi-19.08.0.orig/src/server/storage/dbconfigmysql.cpp
++++ akonadi-19.08.0/src/server/storage/dbconfigmysql.cpp
+@@ -235,8 +235,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)) {