Skip to content

Commit

Permalink
Merge pull request #120514 from ttuegel/kde-gear-21.04.0
Browse files Browse the repository at this point in the history
KDE Gear 21.04.0
  • Loading branch information
ttuegel authored May 12, 2021
2 parents e2cf474 + af8532e commit f99ac85
Show file tree
Hide file tree
Showing 20 changed files with 1,023 additions and 983 deletions.
12 changes: 12 additions & 0 deletions nixos/doc/manual/release-notes/rl-2105.xml
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,18 @@
Now nginx uses the zlib-ng library by default.
</para>
</listitem>
<listitem>
<para>
KDE Gear (formerly KDE Applications) is upgraded to 21.04, see its
<link xlink:href="https://kde.org/announcements/gear/21.04/">release
notes</link> for details.
</para>
<para>
The <code>kdeApplications</code> package set is now <code>kdeGear</code>,
in keeping with the new name. The old name remains for compatibility, but
it is deprecated.
</para>
</listitem>
</itemizedlist>
</section>

Expand Down
4 changes: 2 additions & 2 deletions nixos/modules/services/x11/desktop-managers/plasma5.nix
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ let
cfg = xcfg.desktopManager.plasma5;

libsForQt5 = pkgs.plasma5Packages;
inherit (libsForQt5) kdeApplications kdeFrameworks plasma5;
inherit (libsForQt5) kdeGear kdeFrameworks plasma5;
inherit (pkgs) writeText;

pulseaudio = config.hardware.pulseaudio;
Expand Down Expand Up @@ -213,7 +213,7 @@ in

environment.systemPackages =
with libsForQt5;
with plasma5; with kdeApplications; with kdeFrameworks;
with plasma5; with kdeGear; with kdeFrameworks;
[
frameworkintegration
kactivities
Expand Down
4 changes: 3 additions & 1 deletion pkgs/applications/kde/akonadi-import-wizard.nix
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@
mkDerivation, lib, kdepimTeam,
extra-cmake-modules, kdoctools,
akonadi, karchive, kcontacts, kcrash, kidentitymanagement, kio,
kmailtransport, kwallet, mailcommon, mailimporter, messagelib
kmailtransport, kwallet, mailcommon, mailimporter, messagelib,
qtkeychain, libsecret
}:

mkDerivation {
Expand All @@ -15,6 +16,7 @@ mkDerivation {
buildInputs = [
akonadi karchive kcontacts kcrash kidentitymanagement kio
kmailtransport kwallet mailcommon mailimporter messagelib
qtkeychain libsecret
];
outputs = [ "out" "dev" ];
}
90 changes: 45 additions & 45 deletions pkgs/applications/kde/akonadi/0001-akonadi-paths.patch
Original file line number Diff line number Diff line change
@@ -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 <ttuegel@mailbox.org>
Date: Sun, 31 Jan 2021 11:00:03 -0600
Date: Sun, 25 Apr 2021 08:00:10 -0500
Subject: [PATCH 1/3] akonadi paths

---
Expand All @@ -11,32 +11,32 @@ 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(NIX_OUT "/bin/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(NIX_OUT "/bin/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();
Expand All @@ -46,20 +46,20 @@ index c98946c..aa307ca 100644
}
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;
- QString defaultServerPath;
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;
-#ifdef MYSQLD_EXECUTABLE
- if (QFile::exists(QStringLiteral(MYSQLD_EXECUTABLE))) {
Expand All @@ -75,39 +75,39 @@ 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
}

- mMysqlInstallDbPath = findExecutable(QStringLiteral("mysql_install_db"));
+ mMysqlInstallDbPath = QLatin1String(NIXPKGS_MYSQL_MYSQL_INSTALL_DB);
qCDebug(AKONADISERVER_LOG) << "Found mysql_install_db: " << mMysqlInstallDbPath;

- mMysqlCheckPath = findExecutable(QStringLiteral("mysqlcheck"));
+ mMysqlCheckPath = QLatin1String(NIXPKGS_MYSQL_MYSQLCHECK);
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();
- mMysqldPath = settings.value(QStringLiteral("ServerPath"), defaultServerPath).toString();
+ mMysqldPath = QLatin1String(NIXPKGS_MYSQL_MYSQLD);
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");
}
- if (mInternalServer && (mMysqldPath.isEmpty() || !QFile::exists(mMysqldPath))) {
- mMysqldPath = defaultServerPath;
- }

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);
Expand All @@ -117,31 +117,31 @@ 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 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;
- QString defaultServerPath;
QString defaultInitDbPath;
- QString defaultPgUpgradePath;
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) {
- const auto paths = postgresSearchPaths(QStringLiteral("/usr/lib/postgresql"));
Expand All @@ -153,8 +153,8 @@ index dd273fc..05288d9 100644
- defaultPgUpgradePath = QStandardPaths::findExecutable(QStringLiteral("pg_upgrade"), paths);
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();
Expand All @@ -177,14 +177,14 @@ 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);
- settings.setValue(QStringLiteral("ServerPath"), mServerPath);
settings.setValue(QStringLiteral("InitDbPath"), mInitDbPath);
settings.setValue(QStringLiteral("StartServer"), mInternalServer);
settings.endGroup();
--
2.29.2
--
2.31.1

14 changes: 7 additions & 7 deletions pkgs/applications/kde/akonadi/0002-akonadi-timestamps.patch
Original file line number Diff line number Diff line change
@@ -1,26 +1,26 @@
From badd4be311afd37a99126c60490f1ae5daced6c4 Mon Sep 17 00:00:00 2001
From f6c446cf6fab2edbd2606b4c6100903e9437362a Mon Sep 17 00:00:00 2001
From: Thomas Tuegel <ttuegel@mailbox.org>
Date: Sun, 31 Jan 2021 11:00:15 -0600
Date: Sun, 25 Apr 2021 08:01:02 -0500
Subject: [PATCH 2/3] akonadi timestamps

---
src/server/storage/dbconfigmysql.cpp | 3 +--
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

Original file line number Diff line number Diff line change
@@ -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 <ttuegel@mailbox.org>
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

---
Expand All @@ -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}
Expand Down Expand Up @@ -41,5 +41,5 @@ index bcf7320..1574319 100644
# set the directories
if(NOT AKONADI_INSTALL_DIR)
--
2.29.2
2.31.1

7 changes: 3 additions & 4 deletions pkgs/applications/kde/akonadi/default.nix
Original file line number Diff line number Diff line change
@@ -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,
Expand Down Expand Up @@ -33,8 +33,7 @@ mkDerivation {
''-DNIXPKGS_POSTGRES_PG_CTL=\"\"''
''-DNIXPKGS_POSTGRES_PG_UPGRADE=\"\"''
''-DNIXPKGS_POSTGRES_INITDB=\"\"''
''-DNIX_OUT=\"${placeholder "out"}\"''
''-I${lib.getDev kio}/include/KF5'' # Fixes: kio_version.h: No such file or directory
];
preConfigure = ''
NIX_CFLAGS_COMPILE+=" -DNIX_OUT=\"$out\""
'';
}
14 changes: 10 additions & 4 deletions pkgs/applications/kde/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,9 @@ still shows most of the available features is in `./gwenview.nix`.
}:

let
minQtVersion = "5.15";
broken = lib.versionOlder libsForQt5.qtbase.version minQtVersion;

mirror = "mirror://kde";
srcs = import ./srcs.nix { inherit fetchurl mirror; };

Expand All @@ -45,10 +48,13 @@ let

outputs = args.outputs or [ "out" ];

meta = {
platforms = lib.platforms.linux;
homepage = "http://www.kde.org";
} // (args.meta or {});
meta =
let meta = args.meta or {}; in
meta // {
homepage = meta.homepage or "http://www.kde.org";
platforms = meta.platforms or lib.platforms.linux;
broken = meta.broken or broken;
};
});

packages = self: with self;
Expand Down
2 changes: 1 addition & 1 deletion pkgs/applications/kde/fetch.sh
Original file line number Diff line number Diff line change
@@ -1 +1 @@
WGET_ARGS=( http://download.kde.org/stable/release-service/20.12.3/src -A '*.tar.xz' )
WGET_ARGS=( http://download.kde.org/stable/release-service/21.04.0/src -A '*.tar.xz' )
4 changes: 2 additions & 2 deletions pkgs/applications/kde/kcachegrind.nix
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
{
mkDerivation, lib,
extra-cmake-modules, kdoctools,
karchive, ki18n, kio, perl, python3, php, qttools
, kdbusaddons
karchive, ki18n, kio, perl, python3, php, qttools,
kdbusaddons
}:

mkDerivation {
Expand Down
2 changes: 2 additions & 0 deletions pkgs/applications/kde/kdeconnect-kde.nix
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
, qca-qt5
, qtgraphicaleffects
, qtmultimedia
, qtquickcontrols2
, qtx11extras
, sshfs
}:
Expand All @@ -46,6 +47,7 @@ mkDerivation {
qca-qt5
qtgraphicaleffects
qtmultimedia
qtquickcontrols2
qtx11extras
];

Expand Down
Loading

0 comments on commit f99ac85

Please sign in to comment.