[Kde-bindings] Progress report on Py*5 binding generation

Stephen Kelly steveire at gmail.com
Sat Apr 30 13:42:21 UTC 2016


Shaheed Haque wrote:

> +1 for the modular CMake-based stuff.
> 
> If you can get that going without all the sip_bulk_generator stuff, then
> that is great,

Cool. I have completed some more work on particular frameworks and I created 
a cmake build for convenience:

 https://github.com/steveire/frameworks-bindings

Build it all with 

 $ mkdir build && cd build
 $ cmake ..
 $ make

 $ ls prefix/lib/python3.5/dist-packages/PyKF5/
  __init__.py  KAuth.so  KCodecs.so  KCompletion.so  KConfigCore.so 
  KConfigGui.so  KConfigWidgets.so  KCoreAddons.so  KDBusAddons.so  
  KGuiAddons.so  KI18n.so  KItemModels.so  KJobWidgets.so  KWidgetsAddons.so

I still haven't written tests for the generated python modules yet. There 
are still some things to do before getting to that (namely integrating your 
MethodCode work).

> I'm more focussed on getting through the volume of errors
> through automation because of the weaknesses in the Clang automation. 

I also made some changes to how the clang cindex stuff is used in the 
sip_generator.py and in the rules_engine.py. I will soon integrate your work 
on %MethodCode injection into the extra-cmake-modules version of the code. 
That should actually make the bindings actually useful, because up to now I 
have been 

I encourage you to have a look at what is in the extra-cmake-modules and 
other repos in the mean-time. I have modularized the rules and made it 
possible to re-use the generic Qt5 rules in the modules, but in a bit of a 
hacky way. I think more refactoring should be done on the sip_generator and 
rules to make that kind of thing more of an integral part of the design.

However, I don't want to do major refactoring of the version in the extra-
cmake-modules repo while you are still changing the version in the pykde5 
repo. 

It would be better to not have divergent versions of the generator. Can I 
somehow convince you to continue your work with the modularized approach? 
That would eliminate the work created by having divergent versions, and 
would mean that we are creating modularized bindings, which I think we agree 
are desirable? It will result in shippable bindings quite quickly as far as 
I can see.

Thanks,

Steve.


More information about the Kde-bindings mailing list