marzer / poxy

Documentation generator for C++
https://pypi.org/project/poxy
MIT License
135 stars 5 forks source link

Poxy >= 0.13.1 fails on Ubuntu focal #32

Closed tim-janik closed 10 months ago

tim-janik commented 10 months ago

Environment

I have installed poxy in a Ubuntu 20.04 (focal) environment with pip install poxy, which currently gives 0.13.7.

Describe the bug

Executing poxy on a source tree fails with:

$ poxy
Traceback (most recent call last):
  File "/usr/local/bin/poxy", line 5, in <module>
    from poxy import main
  File "/usr/local/lib/python3.8/dist-packages/poxy/__init__.py", line 7, in <module>
    from .main import main, main_blog_post
  File "/usr/local/lib/python3.8/dist-packages/poxy/main.py", line 18, in <module>
    from .run import run
  File "/usr/local/lib/python3.8/dist-packages/poxy/run.py", line 20, in <module>
    from . import doxygen, fixers, graph, soup, xml_utils
  File "/usr/local/lib/python3.8/dist-packages/poxy/doxygen.py", line 114, in <module>
    def version() -> tuple[int, int, int]:
TypeError: 'type' object is not subscriptable

Poxy 0.13.7 runs fine on the same source tree on Ubuntu 22.04 however (with python 3.10.12). Also, Poxy 0.13.0 works on Ubuntu 20.04 (python 3.8.10), it is just versions >= 0.13.1 that raise the above error.

Additional information

Please allow poxy to run in a Ubuntu focal environment. In my case, I'm using a focal based Dockerfile for my CI, to build binary packages that run on several older systems. To keep that compatibility (for AppImage builds etc), the environment cannot be updated any time soon.

--bug-report

$ poxy --bug-report
Traceback (most recent call last):
  File "/usr/local/bin/poxy", line 5, in <module>
    from poxy import main
  File "/usr/local/lib/python3.8/dist-packages/poxy/__init__.py", line 7, in <module>
    from .main import main, main_blog_post
  File "/usr/local/lib/python3.8/dist-packages/poxy/main.py", line 18, in <module>
    from .run import run
  File "/usr/local/lib/python3.8/dist-packages/poxy/run.py", line 20, in <module>
    from . import doxygen, fixers, graph, soup, xml_utils
  File "/usr/local/lib/python3.8/dist-packages/poxy/doxygen.py", line 114, in <module>
    def version() -> tuple[int, int, int]:
TypeError: 'type' object is not subscriptable
marzer commented 10 months ago

Ah, looks like I've used a feature that wasn't introduced until python 3.9. Thanks for letting me know, should be a relatively easy fix.

marzer commented 10 months ago

Fixed in 0.13.8 :)