diff --git a/kde/pim/akonadi/akonadi.py b/kde/pim/akonadi/akonadi.py index 88498370..ec8ac56b 100644 --- a/kde/pim/akonadi/akonadi.py +++ b/kde/pim/akonadi/akonadi.py @@ -1,52 +1,59 @@ # -*- coding: utf-8 -*- import info class subinfo(info.infoclass): def setTargets(self): self.versionInfo.setDefaultValues() self.patchToApply["17.04.0"] = [("akonadi-17.04.0-20170530.diff", 1)] self.patchToApply["17.04.1"] = [("akonadi-17.04.0-20170530.diff", 1)] self.patchToApply["17.04.2"] = [("akonadi-17.04.0-20170530.diff", 1)] self.patchToApply["17.08.3"] = [("akonadi-17.08.3-20171204.diff", 1), #workaround for locked log crash https://phabricator.kde.org/T7538#119826 ("akonadi-17.08.3-20171204-1.diff", 1), ("akonadi-17.08.3-20171204-2.diff", 1)] self.patchToApply["17.12.0"] = [("akonadi-17.12.0-20171220.diff", 1), ("0001-Win-Create-local-socket-named-pipes-based-on-the-ins.patch", 1)] self.patchToApply["18.12.2"] = [("akonadi-18.12.2-macos.diff", 1), ("akonadi-18.12.2-errorstring.diff", 1)] self.patchLevel["18.12.2"] = 2 self.patchToApply["18.12.3"] = [("akonadi-18.12.2-macos.diff", 1), ("akonadi-18.12.2-errorstring.diff", 1)] self.patchLevel["18.12.3"] = 2 self.patchToApply["19.04.1"] = [("akonadi-19.04-macos.diff", 1), ("akonadi-18.12.2-errorstring.diff", 1), ("akonadi-19.04.1-shorter-sockets.diff", 1)] # macos temp path are so long that if a user has a long nick it bypass the limited socket file path length of 104chars. self.patchLevel["19.04.1"] = 3 self.patchToApply["19.04.2"] = [("akonadi-19.04-macos.diff", 1), ("akonadi-18.12.2-errorstring.diff", 1), ("akonadi-19.04.1-shorter-sockets.diff", 1)] # macos temp path are so long that if a user has a long nick it bypass the limited socket file path length of 104chars. self.description = "A storage service for PIM data and meta data" + def registerOptions(self): + self.options.dynamic.registerOption("useDesignerPlugin", True) + def setDependencies(self): self.buildDependencies["kde/frameworks/extra-cmake-modules"] = None self.buildDependencies["libs/boost/boost-graph"] = None self.runtimeDependencies["libs/libxslt"] = None self.runtimeDependencies["libs/sqlite"] = None self.runtimeDependencies["libs/shared-mime-info"] = None self.runtimeDependencies["libs/qt5/qtbase"] = None - self.runtimeDependencies["kde/frameworks/tier3/kdesignerplugin"] = None self.runtimeDependencies["kde/frameworks/tier2/kcompletion"] = None self.runtimeDependencies["kde/frameworks/tier1/kitemmodels"] = None self.runtimeDependencies["kde/frameworks/tier3/kio"] = None + if self.options.dynamic.useDesignerPlugin: + self.runtimeDependencies["kde/frameworks/tier3/kdesignerplugin"] = None from Package.CMakePackageBase import * class Package(CMakePackageBase): def __init__(self): CMakePackageBase.__init__(self) - self.subinfo.options.configure.args = " -DDATABASE_BACKEND=SQLITE -DAKONADI_RUN_MYSQL_ISOLATED_TESTS=OFF -DBUILD_TESTING=OFF" + self.subinfo.options.configure.args = "-DDATABASE_BACKEND=SQLITE -DAKONADI_RUN_MYSQL_ISOLATED_TESTS=OFF -DBUILD_TESTING=OFF " + + if not self.subinfo.options.dynamic.useDesignerPlugin: + self.subinfo.options.configure.args += "-DBUILD_DESIGNERPLUGIN=OFF " diff --git a/kde/pim/libkdepim/libkdepim.py b/kde/pim/libkdepim/libkdepim.py index 0b45e1d2..d52bd73a 100644 --- a/kde/pim/libkdepim/libkdepim.py +++ b/kde/pim/libkdepim/libkdepim.py @@ -1,48 +1,54 @@ import info class subinfo(info.infoclass): def setTargets(self): self.versionInfo.setDefaultValues() self.description = "Libkdepim library" def registerOptions(self): # FIXME: Xapian is currently broken on Windows, provides wrong CMake config files(?). Thus akonadi-search does not build. # Error: # ninja: error: 'Z:/CraftRoot/lib/libxapian.lib', needed by 'bin/KF5AkonadiSearchXapian.dll', missing and no known rule to make it # Action: compile for kde/pim/akonadi-search:19.12.3 FAILED self.options.dynamic.registerOption("useAkonadiSearch", not CraftCore.compiler.isWindows) + self.options.dynamic.registerOption("useDesignerPlugin", True) def setDependencies(self): self.runtimeDependencies["virtual/base"] = None self.buildDependencies["kde/frameworks/extra-cmake-modules"] = None self.runtimeDependencies["libs/qt5/qtbase"] = None self.runtimeDependencies["kde/frameworks/tier1/kcodecs"] = None self.runtimeDependencies["kde/frameworks/tier2/kcompletion"] = None self.runtimeDependencies["kde/frameworks/tier1/kconfig"] = None self.runtimeDependencies["kde/frameworks/tier1/ki18n"] = None self.runtimeDependencies["kde/frameworks/tier3/kiconthemes"] = None self.runtimeDependencies["kde/frameworks/tier1/kitemviews"] = None self.runtimeDependencies["kde/frameworks/tier2/kjobwidgets"] = None self.runtimeDependencies["kde/frameworks/tier3/kcmutils"] = None self.runtimeDependencies["kde/frameworks/tier3/kwallet"] = None self.runtimeDependencies["kde/frameworks/tier1/kwidgetsaddons"] = None self.runtimeDependencies["kde/pim/akonadi"] = None self.runtimeDependencies["kde/pim/akonadi-contacts"] = None self.runtimeDependencies["kde/pim/kldap"] = None - self.runtimeDependencies["kde/frameworks/tier3/kdesignerplugin"] = None + + if self.options.dynamic.useDesignerPlugin: + self.runtimeDependencies["kde/frameworks/tier3/kdesignerplugin"] = None if self.options.dynamic.useAkonadiSearch: self.runtimeDependencies["kde/pim/akonadi-search"] = None from Package.CMakePackageBase import * class Package(CMakePackageBase): def __init__(self): CMakePackageBase.__init__(self) + if not self.subinfo.options.dynamic.useDesignerPlugin: + self.subinfo.options.configure.args = "-DBUILD_DESIGNERPLUGIN=OFF " + if not self.subinfo.options.dynamic.useAkonadiSearch: - self.subinfo.options.configure.args = "-DFORCE_DISABLE_AKONADI_SEARCH=ON " + self.subinfo.options.configure.args += "-DFORCE_DISABLE_AKONADI_SEARCH=ON " diff --git a/kde/pim/pimcommon/pimcommon.py b/kde/pim/pimcommon/pimcommon.py index d4146034..14b0afd4 100644 --- a/kde/pim/pimcommon/pimcommon.py +++ b/kde/pim/pimcommon/pimcommon.py @@ -1,48 +1,55 @@ import info class subinfo(info.infoclass): def setTargets(self): self.versionInfo.setDefaultValues() self.description = "PimCommon library" + def registerOptions(self): + self.options.dynamic.registerOption("useDesignerPlugin", True) + def setDependencies(self): self.runtimeDependencies["virtual/base"] = None self.buildDependencies["kde/frameworks/extra-cmake-modules"] = None self.runtimeDependencies["libs/qt5/qtbase"] = None self.runtimeDependencies["kde/frameworks/tier1/ki18n"] = None self.runtimeDependencies["kde/frameworks/tier1/kcodecs"] = None self.runtimeDependencies["kde/frameworks/tier2/kcompletion"] = None self.runtimeDependencies["kde/frameworks/tier1/kconfig"] = None self.runtimeDependencies["kde/frameworks/tier1/kcoreaddons"] = None self.runtimeDependencies["kde/frameworks/tier1/kdbusaddons"] = None self.runtimeDependencies["kde/frameworks/tier3/kiconthemes"] = None self.runtimeDependencies["kde/frameworks/tier1/kitemmodels"] = None self.runtimeDependencies["kde/frameworks/tier3/kio"] = None self.runtimeDependencies["kde/frameworks/tier2/kjobwidgets"] = None self.runtimeDependencies["kde/frameworks/tier3/knewstuff"] = None self.runtimeDependencies["kde/frameworks/tier3/kservice"] = None self.runtimeDependencies["kde/frameworks/tier3/kwallet"] = None self.runtimeDependencies["kde/frameworks/tier1/kwidgetsaddons"] = None self.runtimeDependencies["kde/frameworks/tier1/kwindowsystem"] = None self.runtimeDependencies["kde/frameworks/tier3/kxmlgui"] = None - self.runtimeDependencies["kde/frameworks/tier3/kdesignerplugin"] = None + if self.options.dynamic.useDesignerPlugin: + self.runtimeDependencies["kde/frameworks/tier3/kdesignerplugin"] = None self.runtimeDependencies["kde/pim/kmime"] = None self.runtimeDependencies["kde/pim/akonadi"] = None self.runtimeDependencies["kde/pim/akonadi-contacts"] = None self.runtimeDependencies["kde/pim/akonadi-mime"] = None self.runtimeDependencies["kde/pim/kpimtextedit"] = None self.runtimeDependencies["kde/pim/kimap"] = None self.runtimeDependencies["kde/pim/libkdepim"] = None self.runtimeDependencies["kdesupport/grantlee"] = None self.runtimeDependencies["libs/libxslt"] = None from Package.CMakePackageBase import * class Package(CMakePackageBase): def __init__(self): CMakePackageBase.__init__(self) + + if not self.subinfo.options.dynamic.useDesignerPlugin: + self.subinfo.options.configure.args = "-DBUILD_DESIGNERPLUGIN=OFF "