diff options
author | Friedrich W. H. Kossebau <kossebau@kde.org> | 2022-02-16 17:16:37 +0100 |
---|---|---|
committer | Friedrich W. H. Kossebau <kossebau@kde.org> | 2022-02-25 23:52:26 +0000 |
commit | 4a1710762b0a53d6a35e6d0cb630b9037a853c63 (patch) | |
tree | d6791446e76652f403ea3b13bc334df2ab244387 /cmake/rules_PyKF5.py | |
parent | f446af2aa592997f6bc4aa3b5559cf477f9259f8 (diff) | |
download | kconfig-4a1710762b0a53d6a35e6d0cb630b9037a853c63.tar.gz kconfig-4a1710762b0a53d6a35e6d0cb630b9037a853c63.tar.bz2 |
Remove broken Python bindings generation
pyqt broke sip4 compatibility in 5.15.6, and there is no more maintainer
of the KF Python bindings to fix things.
Future support might need different code, so no advantage in keeping the
old code around.
Diffstat (limited to 'cmake/rules_PyKF5.py')
-rw-r--r-- | cmake/rules_PyKF5.py | 287 |
1 files changed, 0 insertions, 287 deletions
diff --git a/cmake/rules_PyKF5.py b/cmake/rules_PyKF5.py deleted file mode 100644 index 1238aea8..00000000 --- a/cmake/rules_PyKF5.py +++ /dev/null @@ -1,287 +0,0 @@ -# -# SPDX-FileCopyrightText: 2016 Shaheed Haque <srhaque@theiet.org> -# SPDX-FileCopyrightText: 2016 Stephen Kelly <steveire@gmail.com> -# -# SPDX-License-Identifier: BSD-3-Clause - - -import os, sys - -import rules_engine -sys.path.append(os.path.dirname(os.path.dirname(rules_engine.__file__))) -import Qt5Ruleset - -from copy import deepcopy - -from clang.cindex import AccessSpecifier, CursorKind - -def set_skeleton_item_base(container, sip, matcher): - if not sip["base_specifiers"] or sip["base_specifiers"][-1].endswith(">"): - sip["base_specifiers"] = ["KConfigSkeletonItem"] - -def set_skeleton_item_base_gui(container, sip, matcher): - sip["base_specifiers"] = ["KConfigSkeletonItem"] - -def mark_and_discard_QSharedData(container, sip, matcher): - rules_engine.container_mark_abstract(container, sip, matcher) - rules_engine.discard_QSharedData_base(container, sip, matcher) - -def discard_base(container, sip, matcher): - sip["base_specifiers"] = [] - -def local_container_rules(): - return [ - [".*", "KConfigBase", ".*", ".*", ".*", rules_engine.container_mark_abstract], - - [".*KCoreConfigSkeleton.*", ".*ItemString", ".*", ".*", ".*", set_skeleton_item_base], - [".*KCoreConfigSkeleton.*", ".*ItemUrl", ".*", ".*", ".*", set_skeleton_item_base], - [".*KCoreConfigSkeleton.*", ".*ItemProperty", ".*", ".*", ".*", set_skeleton_item_base], - [".*KCoreConfigSkeleton.*", ".*ItemBool", ".*", ".*", ".*", set_skeleton_item_base], - [".*KCoreConfigSkeleton.*", ".*ItemInt", ".*", ".*", ".*", set_skeleton_item_base], - [".*KCoreConfigSkeleton.*", ".*ItemLongLong", ".*", ".*", ".*", set_skeleton_item_base], - [".*KCoreConfigSkeleton.*", ".*ItemUInt", ".*", ".*", ".*", set_skeleton_item_base], - [".*KCoreConfigSkeleton.*", ".*ItemULongLong", ".*", ".*", ".*", set_skeleton_item_base], - [".*KCoreConfigSkeleton.*", ".*ItemDouble", ".*", ".*", ".*", set_skeleton_item_base], - [".*KCoreConfigSkeleton.*", ".*ItemRect", ".*", ".*", ".*", set_skeleton_item_base], - [".*KCoreConfigSkeleton.*", ".*ItemPoint", ".*", ".*", ".*", set_skeleton_item_base], - [".*KCoreConfigSkeleton.*", ".*ItemSize", ".*", ".*", ".*", set_skeleton_item_base], - [".*KCoreConfigSkeleton.*", ".*ItemDateTime", ".*", ".*", ".*", set_skeleton_item_base], - [".*KCoreConfigSkeleton.*", ".*ItemStringList", ".*", ".*", ".*", set_skeleton_item_base], - [".*KCoreConfigSkeleton.*", ".*ItemUrlList", ".*", ".*", ".*", set_skeleton_item_base], - [".*KCoreConfigSkeleton.*", ".*ItemIntList", ".*", ".*", ".*", set_skeleton_item_base], - - ["KConfigSkeleton", "ItemColor", ".*", ".*", ".*", set_skeleton_item_base_gui], - ["KConfigSkeleton", "ItemFont", ".*", ".*", ".*", set_skeleton_item_base_gui], - - [".*", "KSharedConfig", ".*", ".*", ".*", rules_engine.discard_QSharedData_base], - - [".*", "KConfigCompilerSignallingItem", ".*", ".*", ".*", rules_engine.container_discard], - - [".*", "KEntryMap", ".*", ".*", ".*", discard_base], - ] - -def local_function_rules(): - return [ - ["KConfigBase", "group", ".*", ".*", ".*const char.*", rules_engine.function_discard], - ["KConfigBase", "group", ".*", ".*", ".*QByteArray.*", rules_engine.function_discard], - ["KConfigBase", "group", ".*", "const KConfigGroup", ".*", rules_engine.function_discard], - - ["KConfigBase", "groupImpl", ".*", "const KConfigGroup", ".*", rules_engine.function_discard], - ["KConfig", "groupImpl", ".*", "const KConfigGroup", ".*", rules_engine.function_discard], - - ["KSharedConfig", "openConfig", ".*", ".*", ".*", rules_engine.function_discard], - ["KSharedConfig", "openStateConfig", ".*", ".*", ".*", rules_engine.function_discard], - - ["KConfigGroup", "KConfigGroup", ".*", ".*", ".*KConfigBase.*", rules_engine.function_discard], - ["KConfigGroup", "config", ".*", "const KConfig.*", ".*", rules_engine.function_discard], - ["KConfigGroup", "moveValuesTo", ".*", ".*", ".*", rules_engine.function_discard], - - ["KConfigWatcher", "config", ".*", "KSharedConfig::Ptr", ".*", rules_engine.function_discard], - - ["KDesktopFile", ".*", ".*", "const KConfigGroup", ".*", rules_engine.function_discard], - - ["KConfigGroup", ".*", ".*", "KConfigGroup", ".*", rules_engine.function_discard], - - ["KCoreConfigSkeleton", "config", ".*", "const KConfig.*", ".*", rules_engine.function_discard], - ["KCoreConfigSkeleton", "sharedConfig", ".*", ".*", ".*", rules_engine.function_discard], - - ["KEntryMap", "getEntryOption", ".*", ".*", ".*", rules_engine.function_discard], - ["KEntryMap", "setEntryOption", ".*", ".*", ".*", rules_engine.function_discard], - ["KEntryMap", "findEntry", ".*", ".*", ".*", rules_engine.function_discard], - ["KEntryMap", "findExactEntry", ".*", ".*", ".*", rules_engine.function_discard], - ] - -def local_typedef_rules(): - return [ - ["KConfigSkeletonItem", "DictIterator", rules_engine.typedef_discard], - [".*", "KEntryMapIterator", rules_engine.typedef_discard], - [".*", "KEntryMapConstIterator", rules_engine.typedef_discard], - ] - - -def _kcoreconfigskeleton_item_xxx(function, sip, entry): - sip["code"] = """ - %MethodCode - sipCpp = new sipKCoreConfigSkeleton_Item{} (*a0, *a1, a2, a3); - %End - """.replace("{}", entry["ctx"]) - sip["parameters"][2] = sip["parameters"][2].replace("&", "") - - -def _kcoreconfigskeleton_item_enum(function, sip, entry): - sip["code"] = """ - %MethodCode - sipCpp = new sipKCoreConfigSkeleton_ItemEnum (*a0, *a1, a2, *a3, a4); - %End - """.replace("{}", entry["ctx"]) - sip["parameters"][2] = sip["parameters"][2].replace("&", "") - - -def _kcoreconfigskeleton_add_item_xxx(function, sip, entry): - sip["code"] = """ - %MethodCode - sipRes = new PyItem{} (sipCpp->currentGroup(), a3->isNull() ? *a0 : *a3, a1, a2); - sipCpp->addItem(sipRes, *a0); - %End - """.format(entry["ctx"]) - -def _kcoreconfigskeleton_item_add_py_subclass(filename, sip, entry): - result = """ -%ModuleHeaderCode -#include <kcoreconfigskeleton.h> -""" - for ctx in ({"Type": "Bool", "cpptype": "bool", "defaultValue": 1}, - {"Type": "Int", "cpptype": "qint32", "defaultValue": 1}, - {"Type": "UInt", "cpptype": "quint32", "defaultValue": 1}, - {"Type": "LongLong", "cpptype": "qint64", "defaultValue": 1}, - {"Type": "ULongLong", "cpptype": "quint64", "defaultValue": 1}, - {"Type": "Double", "cpptype": "double", "defaultValue": 1}, - ): - result += """ -class PyItem{Type} : public KCoreConfigSkeleton::Item{Type} -{{ -public: - PyItem{Type} (const QString &group, const QString &key, {cpptype}& val, {cpptype} defaultValue = {defaultValue}) : - KCoreConfigSkeleton::Item{Type} (group, key, this->value, defaultValue), - value(val) - {{ - }} - -private: - {cpptype} value; -}}; -""".format(**ctx) - - result += """ -class PyItemEnum : public KCoreConfigSkeleton::ItemEnum -{ -public: - PyItemEnum (const QString& group, const QString& key, int& val, const QList<KCoreConfigSkeleton::ItemEnum::Choice>& choices, int defaultValue = 0) : - KCoreConfigSkeleton::ItemEnum(group, key, this->value, choices, defaultValue), - value(val) - { - }; - -private: - int value; -}; -%End\n -""" - - sip["code"] = result - - -class RuleSet(Qt5Ruleset.RuleSet): - def __init__(self): - Qt5Ruleset.RuleSet.__init__(self) - self._fn_db = rules_engine.FunctionRuleDb(lambda: local_function_rules() + Qt5Ruleset.function_rules()) - self._container_db = rules_engine.ContainerRuleDb(lambda: local_container_rules() + Qt5Ruleset.container_rules()) - self._typedef_db = rules_engine.TypedefRuleDb(lambda: local_typedef_rules() + Qt5Ruleset.typedef_rules()) - self._methodcode = rules_engine.MethodCodeDb({ - "KCoreConfigSkeleton::ItemBool": - { - "ItemBool": - { - "code": _kcoreconfigskeleton_item_xxx, - "ctx": "Bool", - }, - }, - "KCoreConfigSkeleton::ItemInt": - { - "ItemInt": - { - "code": _kcoreconfigskeleton_item_xxx, - "ctx": "Int", - }, - }, - "KCoreConfigSkeleton::ItemLongLong": - { - "ItemLongLong": - { - "code": _kcoreconfigskeleton_item_xxx, - "ctx": "LongLong", - }, - }, - "KCoreConfigSkeleton::ItemEnum": - { - "ItemEnum": - { - "code": _kcoreconfigskeleton_item_enum, - "ctx": "Enum", - }, - }, - "KCoreConfigSkeleton::ItemUInt": - { - "ItemUInt": - { - "code": _kcoreconfigskeleton_item_xxx, - "ctx": "UInt", - }, - }, - "KCoreConfigSkeleton::ItemULongLong": - { - "ItemULongLong": - { - "code": _kcoreconfigskeleton_item_xxx, - "ctx": "ULongLong", - }, - }, - "KCoreConfigSkeleton::ItemDouble": - { - "ItemDouble": - { - "code": _kcoreconfigskeleton_item_xxx, - "ctx": "Double", - }, - }, - "KCoreConfigSkeleton": - { - "addItemBool": - { - "code": _kcoreconfigskeleton_add_item_xxx, - "ctx": "Bool", - }, - "addItemInt": - { - "code": _kcoreconfigskeleton_add_item_xxx, - "ctx": "Int", - }, - "addItemUInt": - { - "code": _kcoreconfigskeleton_add_item_xxx, - "ctx": "UInt", - }, - "addItemLongLong": - { - "code": _kcoreconfigskeleton_add_item_xxx, - "ctx": "LongLong", - }, - "addItemInt64": - { - "code": _kcoreconfigskeleton_add_item_xxx, - "ctx": "LongLong", - }, - "addItemULongLong": - { - "code": _kcoreconfigskeleton_add_item_xxx, - "ctx": "ULongLong", - }, - "addItemUInt64": - { - "code": _kcoreconfigskeleton_add_item_xxx, - "ctx": "ULongLong", - }, - "addItemDouble": - { - "code": _kcoreconfigskeleton_add_item_xxx, - "ctx": "Double", - }, - }, - }) - - self._modulecode = rules_engine.ModuleCodeDb({ - "kcoreconfigskeleton.h": - { - "code": _kcoreconfigskeleton_item_add_py_subclass, - }, - }) |