diff --git a/pkgs/applications/kde/akonadi/0001-akonadi-paths.patch b/pkgs/applications/kde/akonadi/0001-akonadi-paths.patch index 3e5ccc9cdaa5..f20a661ceba7 100644 --- a/pkgs/applications/kde/akonadi/0001-akonadi-paths.patch +++ b/pkgs/applications/kde/akonadi/0001-akonadi-paths.patch @@ -1,6 +1,6 @@ -From f4d718502ecd8242500078a7783e27caba72871e Mon Sep 17 00:00:00 2001 +From ca8ff6e6d527ee968300cce5e8cd148f6a4d256b Mon Sep 17 00:00:00 2001 From: Thomas Tuegel -Date: Sun, 31 Jan 2021 11:00:03 -0600 +Date: Sun, 25 Apr 2021 08:00:10 -0500 Subject: [PATCH 1/3] akonadi paths --- @@ -11,45 +11,45 @@ Subject: [PATCH 1/3] akonadi paths 4 files changed, 11 insertions(+), 40 deletions(-) diff --git a/src/akonadicontrol/agentmanager.cpp b/src/akonadicontrol/agentmanager.cpp -index 31e0cf2..6436e87 100644 +index 44ceec5..eb5fa50 100644 --- a/src/akonadicontrol/agentmanager.cpp +++ b/src/akonadicontrol/agentmanager.cpp -@@ -48,7 +48,7 @@ public: - []() { - QCoreApplication::instance()->exit(255); - }); +@@ -47,7 +47,7 @@ public: + connect(this, &Akonadi::ProcessControl::unableToStart, this, []() { + QCoreApplication::instance()->exit(255); + }); - start(QStringLiteral("akonadiserver"), args, RestartOnCrash); -+ start(QLatin1String(NIX_OUT "/bin/akonadiserver"), args, RestartOnCrash); ++ start(QStringLiteral(CMAKE_INSTALL_FULL_BINDIR "/akonadiserver"), args, RestartOnCrash); } ~StorageProcessControl() override -@@ -70,7 +70,7 @@ public: - []() { - qCCritical(AKONADICONTROL_LOG) << "Failed to start AgentServer!"; - }); +@@ -69,7 +69,7 @@ public: + connect(this, &Akonadi::ProcessControl::unableToStart, this, []() { + qCCritical(AKONADICONTROL_LOG) << "Failed to start AgentServer!"; + }); - start(QStringLiteral("akonadi_agent_server"), args, RestartOnCrash); -+ start(QLatin1String(NIX_OUT "/bin/akonadi_agent_server"), args, RestartOnCrash); ++ start(QStringLiteral(CMAKE_INSTALL_FULL_BINDIR "/akonadi_agent_server"), args, RestartOnCrash); } ~AgentServerProcessControl() override diff --git a/src/akonadicontrol/agentprocessinstance.cpp b/src/akonadicontrol/agentprocessinstance.cpp -index c98946c..aa307ca 100644 +index 8e92e08..f98dfd8 100644 --- a/src/akonadicontrol/agentprocessinstance.cpp +++ b/src/akonadicontrol/agentprocessinstance.cpp -@@ -49,7 +49,7 @@ bool AgentProcessInstance::start(const AgentType &agentInfo) +@@ -47,7 +47,7 @@ bool AgentProcessInstance::start(const AgentType &agentInfo) } 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"); ++ const QString agentLauncherExec = QLatin1String(CMAKE_INSTALL_FULL_BINDIR "/akonadi_agent_launcher"); mController->start(agentLauncherExec, arguments); } return true; diff --git a/src/server/storage/dbconfigmysql.cpp b/src/server/storage/dbconfigmysql.cpp -index d595a3a..99324f6 100644 +index 1a437ac..3550f9d 100644 --- a/src/server/storage/dbconfigmysql.cpp +++ b/src/server/storage/dbconfigmysql.cpp -@@ -69,7 +69,6 @@ bool DbConfigMysql::init(QSettings &settings, bool storeSettings) +@@ -72,7 +72,6 @@ bool DbConfigMysql::init(QSettings &settings, bool storeSettings) // determine default settings depending on the driver QString defaultHostName; QString defaultOptions; @@ -57,7 +57,7 @@ index d595a3a..99324f6 100644 QString defaultCleanShutdownCommand; #ifndef Q_OS_WIN -@@ -78,16 +77,7 @@ bool DbConfigMysql::init(QSettings &settings, bool storeSettings) +@@ -80,16 +79,7 @@ bool DbConfigMysql::init(QSettings &settings, bool storeSettings) #endif const bool defaultInternalServer = true; @@ -75,7 +75,7 @@ index d595a3a..99324f6 100644 if (!mysqladminPath.isEmpty()) { #ifndef Q_OS_WIN defaultCleanShutdownCommand = QStringLiteral("%1 --defaults-file=%2/mysql.conf --socket=%3/%4 shutdown") -@@ -97,10 +87,10 @@ bool DbConfigMysql::init(QSettings &settings, bool storeSettings) +@@ -99,10 +89,10 @@ bool DbConfigMysql::init(QSettings &settings, bool storeSettings) #endif } @@ -88,7 +88,7 @@ index d595a3a..99324f6 100644 qCDebug(AKONADISERVER_LOG) << "Found mysqlcheck: " << mMysqlCheckPath; mInternalServer = settings.value(QStringLiteral("QMYSQL/StartServer"), defaultInternalServer).toBool(); -@@ -117,7 +107,7 @@ bool DbConfigMysql::init(QSettings &settings, bool storeSettings) +@@ -119,7 +109,7 @@ bool DbConfigMysql::init(QSettings &settings, bool storeSettings) mUserName = settings.value(QStringLiteral("User")).toString(); mPassword = settings.value(QStringLiteral("Password")).toString(); mConnectionOptions = settings.value(QStringLiteral("Options"), defaultOptions).toString(); @@ -97,7 +97,7 @@ index d595a3a..99324f6 100644 mCleanServerShutdownCommand = settings.value(QStringLiteral("CleanServerShutdownCommand"), defaultCleanShutdownCommand).toString(); settings.endGroup(); -@@ -127,9 +117,6 @@ bool DbConfigMysql::init(QSettings &settings, bool storeSettings) +@@ -129,9 +119,6 @@ bool DbConfigMysql::init(QSettings &settings, bool storeSettings) // intentionally not namespaced as we are the only one in this db instance when using internal mode mDatabaseName = QStringLiteral("akonadi"); } @@ -107,7 +107,7 @@ index d595a3a..99324f6 100644 qCDebug(AKONADISERVER_LOG) << "Using mysqld:" << mMysqldPath; -@@ -139,9 +126,6 @@ bool DbConfigMysql::init(QSettings &settings, bool storeSettings) +@@ -141,9 +128,6 @@ bool DbConfigMysql::init(QSettings &settings, bool storeSettings) settings.setValue(QStringLiteral("Name"), mDatabaseName); settings.setValue(QStringLiteral("Host"), mHostName); settings.setValue(QStringLiteral("Options"), mConnectionOptions); @@ -117,20 +117,20 @@ index d595a3a..99324f6 100644 settings.setValue(QStringLiteral("StartServer"), mInternalServer); settings.endGroup(); settings.sync(); -@@ -214,7 +198,7 @@ bool DbConfigMysql::startInternalServer() +@@ -215,7 +199,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 globalConfig = QLatin1String(CMAKE_INSTALL_PREFIX "/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/src/server/storage/dbconfigpostgresql.cpp b/src/server/storage/dbconfigpostgresql.cpp -index dd273fc..05288d9 100644 +index 4df61da..e3469c4 100644 --- a/src/server/storage/dbconfigpostgresql.cpp +++ b/src/server/storage/dbconfigpostgresql.cpp -@@ -127,9 +127,7 @@ bool DbConfigPostgresql::init(QSettings &settings, bool storeSettings) +@@ -125,9 +125,7 @@ bool DbConfigPostgresql::init(QSettings &settings, bool storeSettings) // determine default settings depending on the driver QString defaultHostName; QString defaultOptions; @@ -140,7 +140,7 @@ index dd273fc..05288d9 100644 QString defaultPgData; #ifndef Q_WS_WIN // We assume that PostgreSQL is running as service on Windows -@@ -140,12 +138,8 @@ bool DbConfigPostgresql::init(QSettings &settings, bool storeSettings) +@@ -138,12 +136,8 @@ bool DbConfigPostgresql::init(QSettings &settings, bool storeSettings) mInternalServer = settings.value(QStringLiteral("QPSQL/StartServer"), defaultInternalServer).toBool(); if (mInternalServer) { @@ -154,7 +154,7 @@ index dd273fc..05288d9 100644 defaultPgData = StandardDirs::saveDir("data", QStringLiteral("db_data")); } -@@ -164,20 +158,14 @@ bool DbConfigPostgresql::init(QSettings &settings, bool storeSettings) +@@ -162,20 +156,14 @@ bool DbConfigPostgresql::init(QSettings &settings, bool storeSettings) mUserName = settings.value(QStringLiteral("User")).toString(); mPassword = settings.value(QStringLiteral("Password")).toString(); mConnectionOptions = settings.value(QStringLiteral("Options"), defaultOptions).toString(); @@ -177,7 +177,7 @@ index dd273fc..05288d9 100644 qCDebug(AKONADISERVER_LOG) << "Found pg_upgrade:" << mPgUpgradePath; mPgData = settings.value(QStringLiteral("PgData"), defaultPgData).toString(); if (mPgData.isEmpty()) { -@@ -194,7 +182,6 @@ bool DbConfigPostgresql::init(QSettings &settings, bool storeSettings) +@@ -192,7 +180,6 @@ bool DbConfigPostgresql::init(QSettings &settings, bool storeSettings) settings.setValue(QStringLiteral("Port"), mHostPort); } settings.setValue(QStringLiteral("Options"), mConnectionOptions); @@ -186,5 +186,5 @@ index dd273fc..05288d9 100644 settings.setValue(QStringLiteral("StartServer"), mInternalServer); settings.endGroup(); -- -2.29.2 +2.31.1 diff --git a/pkgs/applications/kde/akonadi/0002-akonadi-timestamps.patch b/pkgs/applications/kde/akonadi/0002-akonadi-timestamps.patch index 24f59f679161..1da52dbad0e1 100644 --- a/pkgs/applications/kde/akonadi/0002-akonadi-timestamps.patch +++ b/pkgs/applications/kde/akonadi/0002-akonadi-timestamps.patch @@ -1,6 +1,6 @@ -From badd4be311afd37a99126c60490f1ae5daced6c4 Mon Sep 17 00:00:00 2001 +From f6c446cf6fab2edbd2606b4c6100903e9437362a Mon Sep 17 00:00:00 2001 From: Thomas Tuegel -Date: Sun, 31 Jan 2021 11:00:15 -0600 +Date: Sun, 25 Apr 2021 08:01:02 -0500 Subject: [PATCH 2/3] akonadi timestamps --- @@ -8,19 +8,19 @@ Subject: [PATCH 2/3] akonadi timestamps 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/server/storage/dbconfigmysql.cpp b/src/server/storage/dbconfigmysql.cpp -index 99324f6..3c170a8 100644 +index 3550f9d..e9e8887 100644 --- a/src/server/storage/dbconfigmysql.cpp +++ b/src/server/storage/dbconfigmysql.cpp -@@ -240,8 +240,7 @@ bool DbConfigMysql::startInternalServer() +@@ -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 ((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)) { -- -2.29.2 +2.31.1 diff --git a/pkgs/applications/kde/akonadi/0003-akonadi-revert-make-relocatable.patch b/pkgs/applications/kde/akonadi/0003-akonadi-revert-make-relocatable.patch index 3aa61da73e41..73d69c5e69af 100644 --- a/pkgs/applications/kde/akonadi/0003-akonadi-revert-make-relocatable.patch +++ b/pkgs/applications/kde/akonadi/0003-akonadi-revert-make-relocatable.patch @@ -1,6 +1,6 @@ -From 82bfa975af60757374ffad787e56a981d6df0f98 Mon Sep 17 00:00:00 2001 +From 4b90a0bd4411a66bbe6ecf85ce89a60a58bee969 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel -Date: Sun, 31 Jan 2021 11:01:24 -0600 +Date: Sun, 25 Apr 2021 08:01:21 -0500 Subject: [PATCH 3/3] akonadi revert make relocatable --- @@ -9,10 +9,10 @@ Subject: [PATCH 3/3] akonadi revert make relocatable 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt -index 4bb5fec..35720b4 100644 +index 4e8cc81..63161b7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -343,9 +343,6 @@ configure_package_config_file( +@@ -368,9 +368,6 @@ configure_package_config_file( "${CMAKE_CURRENT_SOURCE_DIR}/KF5AkonadiConfig.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/KF5AkonadiConfig.cmake" INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR} @@ -41,5 +41,5 @@ index bcf7320..1574319 100644 # set the directories if(NOT AKONADI_INSTALL_DIR) -- -2.29.2 +2.31.1 diff --git a/pkgs/applications/kde/akonadi/default.nix b/pkgs/applications/kde/akonadi/default.nix index fd662d7e9926..bb14eafd626a 100644 --- a/pkgs/applications/kde/akonadi/default.nix +++ b/pkgs/applications/kde/akonadi/default.nix @@ -1,5 +1,5 @@ { - mkDerivation, lib, kdepimTeam, + mkDerivation, lib, kdepimTeam, substituteAll, extra-cmake-modules, shared-mime-info, qtbase, accounts-qt, boost, kaccounts-integration, kcompletion, kconfigwidgets, kcrash, kdbusaddons, kdesignerplugin, ki18n, kiconthemes, kio, kitemmodels, kwindowsystem, mariadb, qttools, @@ -34,7 +34,4 @@ mkDerivation { ''-DNIXPKGS_POSTGRES_PG_UPGRADE=\"\"'' ''-DNIXPKGS_POSTGRES_INITDB=\"\"'' ]; - preConfigure = '' - NIX_CFLAGS_COMPILE+=" -DNIX_OUT=\"$out\"" - ''; }