uboot: (firmwareOdroidC2/C4) don't invoke patch tool, use patches = [] instead
https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh#L948 this can do it nicely. Signed-off-by: Anton Arapov <anton@deadbeef.mx>
This commit is contained in:
commit
56de2bcd43
30691 changed files with 3076956 additions and 0 deletions
190
pkgs/applications/kde/akonadi/0001-akonadi-paths.patch
Normal file
190
pkgs/applications/kde/akonadi/0001-akonadi-paths.patch
Normal file
|
|
@ -0,0 +1,190 @@
|
|||
From ca8ff6e6d527ee968300cce5e8cd148f6a4d256b Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Tuegel <ttuegel@mailbox.org>
|
||||
Date: Sun, 25 Apr 2021 08:00:10 -0500
|
||||
Subject: [PATCH 1/3] akonadi paths
|
||||
|
||||
---
|
||||
src/akonadicontrol/agentmanager.cpp | 4 ++--
|
||||
src/akonadicontrol/agentprocessinstance.cpp | 2 +-
|
||||
src/server/storage/dbconfigmysql.cpp | 26 ++++-----------------
|
||||
src/server/storage/dbconfigpostgresql.cpp | 19 +++------------
|
||||
4 files changed, 11 insertions(+), 40 deletions(-)
|
||||
|
||||
diff --git a/src/akonadicontrol/agentmanager.cpp b/src/akonadicontrol/agentmanager.cpp
|
||||
index 44ceec5..eb5fa50 100644
|
||||
--- a/src/akonadicontrol/agentmanager.cpp
|
||||
+++ b/src/akonadicontrol/agentmanager.cpp
|
||||
@@ -47,7 +47,7 @@ public:
|
||||
connect(this, &Akonadi::ProcessControl::unableToStart, this, []() {
|
||||
QCoreApplication::instance()->exit(255);
|
||||
});
|
||||
- start(QStringLiteral("akonadiserver"), args, RestartOnCrash);
|
||||
+ start(QStringLiteral(NIX_OUT "/bin/akonadiserver"), args, RestartOnCrash);
|
||||
}
|
||||
|
||||
~StorageProcessControl() override
|
||||
@@ -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(QStringLiteral(NIX_OUT "/bin/akonadi_agent_server"), args, RestartOnCrash);
|
||||
}
|
||||
|
||||
~AgentServerProcessControl() override
|
||||
diff --git a/src/akonadicontrol/agentprocessinstance.cpp b/src/akonadicontrol/agentprocessinstance.cpp
|
||||
index 8e92e08..f98dfd8 100644
|
||||
--- a/src/akonadicontrol/agentprocessinstance.cpp
|
||||
+++ b/src/akonadicontrol/agentprocessinstance.cpp
|
||||
@@ -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");
|
||||
mController->start(agentLauncherExec, arguments);
|
||||
}
|
||||
return true;
|
||||
diff --git a/src/server/storage/dbconfigmysql.cpp b/src/server/storage/dbconfigmysql.cpp
|
||||
index 1a437ac..3550f9d 100644
|
||||
--- a/src/server/storage/dbconfigmysql.cpp
|
||||
+++ b/src/server/storage/dbconfigmysql.cpp
|
||||
@@ -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
|
||||
@@ -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))) {
|
||||
- defaultServerPath = QStringLiteral(MYSQLD_EXECUTABLE);
|
||||
- }
|
||||
-#endif
|
||||
- if (defaultServerPath.isEmpty()) {
|
||||
- defaultServerPath = findExecutable(QStringLiteral("mysqld"));
|
||||
- }
|
||||
-
|
||||
- const QString mysqladminPath = findExecutable(QStringLiteral("mysqladmin"));
|
||||
+ const QString mysqladminPath = QLatin1String(NIXPKGS_MYSQL_MYSQLADMIN);
|
||||
if (!mysqladminPath.isEmpty()) {
|
||||
#ifndef Q_OS_WIN
|
||||
defaultCleanShutdownCommand = QStringLiteral("%1 --defaults-file=%2/mysql.conf --socket=%3/%4 shutdown")
|
||||
@@ -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();
|
||||
@@ -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();
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
- if (!mMysqldPath.isEmpty()) {
|
||||
- settings.setValue(QStringLiteral("ServerPath"), mMysqldPath);
|
||||
- }
|
||||
settings.setValue(QStringLiteral("StartServer"), mInternalServer);
|
||||
settings.endGroup();
|
||||
settings.sync();
|
||||
@@ -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 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 4df61da..e3469c4 100644
|
||||
--- a/src/server/storage/dbconfigpostgresql.cpp
|
||||
+++ b/src/server/storage/dbconfigpostgresql.cpp
|
||||
@@ -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
|
||||
@@ -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"));
|
||||
-
|
||||
- defaultServerPath = QStandardPaths::findExecutable(QStringLiteral("pg_ctl"), paths);
|
||||
- defaultInitDbPath = QStandardPaths::findExecutable(QStringLiteral("initdb"), paths);
|
||||
+ defaultInitDbPath = QLatin1String(NIXPKGS_POSTGRES_INITDB);
|
||||
defaultHostName = Utils::preferredSocketDirectory(StandardDirs::saveDir("data", QStringLiteral("db_misc")));
|
||||
- defaultPgUpgradePath = QStandardPaths::findExecutable(QStringLiteral("pg_upgrade"), paths);
|
||||
defaultPgData = StandardDirs::saveDir("data", QStringLiteral("db_data"));
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
- mServerPath = settings.value(QStringLiteral("ServerPath"), defaultServerPath).toString();
|
||||
- if (mInternalServer && mServerPath.isEmpty()) {
|
||||
- mServerPath = defaultServerPath;
|
||||
- }
|
||||
+ mServerPath = QLatin1String(NIXPKGS_POSTGRES_PG_CTL);
|
||||
qCDebug(AKONADISERVER_LOG) << "Found pg_ctl:" << mServerPath;
|
||||
mInitDbPath = settings.value(QStringLiteral("InitDbPath"), defaultInitDbPath).toString();
|
||||
if (mInternalServer && mInitDbPath.isEmpty()) {
|
||||
mInitDbPath = defaultInitDbPath;
|
||||
}
|
||||
qCDebug(AKONADISERVER_LOG) << "Found initdb:" << mServerPath;
|
||||
- mPgUpgradePath = settings.value(QStringLiteral("UpgradePath"), defaultPgUpgradePath).toString();
|
||||
- if (mInternalServer && mPgUpgradePath.isEmpty()) {
|
||||
- mPgUpgradePath = defaultPgUpgradePath;
|
||||
- }
|
||||
+ mPgUpgradePath = QLatin1String(NIXPKGS_POSTGRES_PG_UPGRADE);
|
||||
qCDebug(AKONADISERVER_LOG) << "Found pg_upgrade:" << mPgUpgradePath;
|
||||
mPgData = settings.value(QStringLiteral("PgData"), defaultPgData).toString();
|
||||
if (mPgData.isEmpty()) {
|
||||
@@ -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.31.1
|
||||
|
||||
26
pkgs/applications/kde/akonadi/0002-akonadi-timestamps.patch
Normal file
26
pkgs/applications/kde/akonadi/0002-akonadi-timestamps.patch
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
From f6c446cf6fab2edbd2606b4c6100903e9437362a Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Tuegel <ttuegel@mailbox.org>
|
||||
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 3550f9d..e9e8887 100644
|
||||
--- 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)) {
|
||||
--
|
||||
2.31.1
|
||||
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
From 4b90a0bd4411a66bbe6ecf85ce89a60a58bee969 Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Tuegel <ttuegel@mailbox.org>
|
||||
Date: Sun, 25 Apr 2021 08:01:21 -0500
|
||||
Subject: [PATCH 3/3] akonadi revert make relocatable
|
||||
|
||||
---
|
||||
CMakeLists.txt | 3 ---
|
||||
KF5AkonadiConfig.cmake.in | 6 +++---
|
||||
2 files changed, 3 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 4e8cc81..63161b7 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -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}
|
||||
- PATH_VARS AKONADI_DBUS_INTERFACES_INSTALL_DIR
|
||||
- AKONADI_INCLUDE_DIR
|
||||
- KF5Akonadi_DATA_DIR
|
||||
)
|
||||
|
||||
install(FILES
|
||||
diff --git a/KF5AkonadiConfig.cmake.in b/KF5AkonadiConfig.cmake.in
|
||||
index bcf7320..1574319 100644
|
||||
--- a/KF5AkonadiConfig.cmake.in
|
||||
+++ b/KF5AkonadiConfig.cmake.in
|
||||
@@ -1,10 +1,10 @@
|
||||
@PACKAGE_INIT@
|
||||
|
||||
-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@")
|
||||
|
||||
# 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@")
|
||||
|
||||
# set the directories
|
||||
if(NOT AKONADI_INSTALL_DIR)
|
||||
--
|
||||
2.31.1
|
||||
|
||||
46
pkgs/applications/kde/akonadi/default.nix
Normal file
46
pkgs/applications/kde/akonadi/default.nix
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
{
|
||||
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,
|
||||
signond, xz,
|
||||
}:
|
||||
|
||||
mkDerivation {
|
||||
pname = "akonadi";
|
||||
meta = {
|
||||
license = [ lib.licenses.lgpl21 ];
|
||||
maintainers = kdepimTeam;
|
||||
broken = lib.versionOlder qtbase.version "5.13";
|
||||
};
|
||||
patches = [
|
||||
./0001-akonadi-paths.patch
|
||||
./0002-akonadi-timestamps.patch
|
||||
./0003-akonadi-revert-make-relocatable.patch
|
||||
];
|
||||
nativeBuildInputs = [ extra-cmake-modules shared-mime-info ];
|
||||
buildInputs = [
|
||||
kaccounts-integration kcompletion kconfigwidgets kcrash kdbusaddons kdesignerplugin
|
||||
ki18n kiconthemes kio kwindowsystem xz accounts-qt qttools signond
|
||||
];
|
||||
propagatedBuildInputs = [ boost kitemmodels ];
|
||||
outputs = [ "out" "dev" ];
|
||||
CXXFLAGS = [
|
||||
''-DNIXPKGS_MYSQL_MYSQLD=\"${lib.getBin mariadb}/bin/mysqld\"''
|
||||
''-DNIXPKGS_MYSQL_MYSQLADMIN=\"${lib.getBin mariadb}/bin/mysqladmin\"''
|
||||
''-DNIXPKGS_MYSQL_MYSQL_INSTALL_DB=\"${lib.getBin mariadb}/bin/mysql_install_db\"''
|
||||
''-DNIXPKGS_MYSQL_MYSQLCHECK=\"${lib.getBin mariadb}/bin/mysqlcheck\"''
|
||||
''-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
|
||||
];
|
||||
|
||||
# compatibility symlinks for kmymoney, can probably be removed in next kde bump
|
||||
postInstall = ''
|
||||
ln -s $dev/include/KF5/AkonadiCore/Akonadi/Collection $dev/include/KF5/AkonadiCore/Collection
|
||||
ln -s $dev/include/KF5/AkonadiCore/Akonadi/ItemFetchScope $dev/include/KF5/AkonadiCore/ItemFetchScope
|
||||
ln -s $dev/include/KF5/AkonadiCore/Akonadi/RecursiveItemFetchJob $dev/include/KF5/AkonadiCore/RecursiveItemFetchJob
|
||||
'';
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue