microsoft / jericho

A learning environment for man-made Interactive Fiction games.
GNU General Public License v2.0
257 stars 42 forks source link

Make sure the wheel contains information about the OS. #6

Closed MarcCote closed 5 years ago

MarcCote commented 5 years ago

This PR moves the compilation of Frotz inside a dummy setuptools Extension. This ensures the wheel built with python setup.py sdist bdist_wheel are properly named.

For instance, now it produces jericho-1.1-cp36-cp36m-linux_x86_64.whl instead of jericho-1.1-py3-none-any.whl which is currently found on Pypi.

@tavianator I think that should solve the issue with https://github.com/Microsoft/TextWorld/pull/49 as pip won't be able to found a suitable wheel and will default to installing jericho from the sources. Let me know if I'm missing something.

NB: I don't think it is a clean way of doing this but it is good enough if that works.

tavianator commented 5 years ago

Overall this is a bit hacky but not too bad. Extension(...) is a bit limited in what it can build and how, so I often find myself working around it like this.

MarcCote commented 5 years ago

It seems Python wheels (with binaries inside) are not well supported on Pypi. We would have to patch it with https://github.com/pypa/manylinux.

mhauskn commented 5 years ago

Jericho v1.1.1 is a source distribution that adds OSX support.