From 4a1710762b0a53d6a35e6d0cb630b9037a853c63 Mon Sep 17 00:00:00 2001 From: "Friedrich W. H. Kossebau" Date: Wed, 16 Feb 2022 17:16:37 +0100 Subject: 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. --- cmake/rules_PyKF5.py | 287 --------------------------------------------------- 1 file changed, 287 deletions(-) delete mode 100644 cmake/rules_PyKF5.py (limited to 'cmake/rules_PyKF5.py') 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 -# SPDX-FileCopyrightText: 2016 Stephen Kelly -# -# 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 -""" - 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& 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, - }, - }) -- cgit v1.2.1