Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Document how to release nmlc, including building a windows binary #42

Open
andythenorth opened this issue Oct 13, 2019 · 7 comments
Open

Document how to release nmlc, including building a windows binary #42

andythenorth opened this issue Oct 13, 2019 · 7 comments

Comments

@andythenorth
Copy link
Contributor

@andythenorth andythenorth commented Oct 13, 2019

Current

Releasing nml is mostly quite simple, and it would be suitable for drive-by releases by anyone with OpenTTD commit rights.

But how to release nml is not documented anywhere I can find.

This makes it harder than it needs to be.

Additionally I don't know if it's known how to provide the Windows .exe binary reproducibly.

Desired

  • provide a list of the key points to cover when releasing nml
  • document how to provide the Windows binary (or alternatively, it might be that we can drop the binary?)

Instructions should be added to a COMPILING.md file in repo root (this file needs creating).

@andythenorth andythenorth changed the title Document how release nmlc, including building a windows binary Document how to release nmlc, including building a windows binary Oct 13, 2019
@andythenorth

This comment has been minimized.

Copy link
Contributor Author

@andythenorth andythenorth commented Oct 19, 2019

@andythenorth

This comment has been minimized.

Copy link
Contributor Author

@andythenorth andythenorth commented Oct 19, 2019

frosch123: install msys2 and python3
frosch123: msys2 has a python3 package
frosch123: when you have that and pip, you can pip pyinstaller
frosch123: oh, nml has cx_freeze specific code
frosch123: so, better to use cx_freeze directly
frosch123: anyway, if cx_freeze is installed and knows the compiler and stuff, it's just a "cxfreeze nmlc", and then zipping the results
frosch123: https://paste.openttdcoop.org/p0bwe0o3o <- oh, my history says there are two commands to run

wine "C:\\Python33\\pythonw.exe" setup.py build -c mingw32
wine "C:\\Python33\\pythonw.exe" "C:\\Python33\\Scripts\\cxfreeze" nmlc

Results in dist/

frosch123: i guess the first one builds the c extension module

@andythenorth

This comment has been minimized.

Copy link
Contributor Author

@andythenorth andythenorth commented Oct 20, 2019

#51 updates cx_Freeze support in setup.py

Instructions are

glx: it's even simpler now, it's just "python setup.py bdist"
glx: and you get a .zip in dist

@matthijskooijman

This comment has been minimized.

Copy link
Contributor

@matthijskooijman matthijskooijman commented Dec 1, 2019

I have a related question: Where will releases be published? The (source) tarball was always uploaded to bundles.openttdcoop.org, but now development moved to github, where will release tarballs end up? I need to know this for the Debian package, so Debian can automatically check for newer versions.

@planetmaker

This comment has been minimized.

Copy link
Contributor

@planetmaker planetmaker commented Dec 1, 2019

I recon they still will be published on the same URL

@matthijskooijman

This comment has been minimized.

Copy link
Contributor

@matthijskooijman matthijskooijman commented Dec 1, 2019

Thanks, then I will leave the watch file unchanged :-)

@glx22

This comment has been minimized.

Copy link
Contributor

@glx22 glx22 commented Dec 1, 2019

Self containing windows executable is very easy to create now. You need pyinstaller module, then you can run build-dist.bat. The executable will be in dist.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
4 participants
You can’t perform that action at this time.