ida-minsc
ida-minsc copied to clipboard
Building documentation with Python3
At the moment, the plugin is only compatible with Python2 due to a variety of reasons. Fortunately IDA supports both Py2 and Py3 plugins (albeit not at the same time). However, I imagine at some point IDA is going to switch to Py3-only which will break this plugin entirely.
Py3 3.10.x will introduce a pattern matching syntax into the language and so if we want to leverage this in order to wrap Hex-Rays, we'll need to support Python3 at some point.
Probably going to be releasing this PR along an alpha-beta release schedule as I'm not 100% sure how much stuff I might've broken, and it's going to take me a bit to fucking test everything.
So, PRs #80, #81, #82, and #83 are all pre-requisites. This PRs do things like add wrappers, conditionals, etc. for some of the common-language stuff that was broken by Python3.
Once all the pre-requisites get merged, then PR #84 should add support for Python3. This will require a ton of testing, and as such will be tested in stages. Fucking shoot me.
PR #84 was finally merged into the master branch which means that we now have support for both Python2 and Python3. The next thing that will need to be done is to update the documentation. Maybe I'll try and work at figuring that out this weekend.
The documentation has been updated to include Python3 support, but it's still being built with Python2. This is pretty much the only hold-up. I'm working on issue #6, and probably after that I'll get back to figure out how to rewrite the parser so that it works on both Py2 and Py3...
Currently doing a refactor as per #158...This will probably completely break the documenation generation process for some period of time, so I'm not sure when documentation will catch up. If only these Python autodoc projects would combine the documentation from multiple function definitions that have the exact same name....
I'm pretty tired of writing documentation...