Compiling on Windows and/or MacOS?

Asked by Levick on 2011-09-27

Hello, I was wondering if it's possible to compile jokosher on Windows and/or MacOS using the tarball in order to get those systems binary packages and if someone can tell me how to do it or at least give me some directions about that, I was curious about the topic because as it is a python program and all the dependencies are "suitable" for the 3 platforms I wanted to make some experiments...

Thanks For your help.

Question information

Language:
English Edit question
Status:
Answered
For:
Jokosher Edit question
Assignee:
No assignee Edit question
Last query:
2011-09-27
Last reply:
2011-09-28
Laszlo Pandy (laszlok) said : #1

Yes it is possible. Unfortunately building a package with all the dependencies for Windows or Mac is kind of complicated. We never did it for Mac, but we built one for Windows. It is available at http://www.jokosher.org/download/.

Levick (jmlevick) said : #2

Yep, I can see that, the thing is, I'm interested in actually Building those packages, so can you give me a little walktrough about that process? I see that the Windows version is the 0.11.4 one, I would like to be able to make available the lastest one for the other two platforms, anyone can give me some advice on that stuff?

Hi Levick,

 I can only roughly outline the procedure for you as it's been a couple of years since we last built a Windows release so it's a bit fuzzy in my mind (incidentally 0.11.5 wasn't packaged for Windows because it mostly only contains pulseaudio specific fixes which don't apply to Windows).

 1) Grab a copy of the Python for Windows installer from python.org
 2) Install py2exe (http://www.py2exe.org)
 3) Install a PyGTK bundle (should include GTK)
 4) Install GStreamer from OSSBuild (http://code.google.com/p/ossbuild/)
 5) Run python setup_win32.py py2exe

 This will then create a directory called "dist" containing Jokosher for Windows, py2exe will attempt to determine which DLLs are used and copy them in automatically, however it won't be able to detect things that are loaded dynamically at runtime such as GTK engines, GStreamer plugins, etc. so you'll need to copy these in manually. If you install the current Windows build of Jokosher this should provide you with a guide as to roughly which files you'll need.

 The difficulty here comes from making sure you have a version of glib that is compatible with both the GTK and the GStreamer builds. If you can't manage this using one of the prebuilt glib DLLs included with the GTK and GStreamer installers you may need to compile everything (Glib, GTK, PyGTK, GStreamer) yourself from scratch to ensure they all use the same version.

 6) Once Jokosher.exe is working correctly from the dist/ directory you can create the installer by loading windows_installer.iss inside of Inno (http://www.jrsoftware.org/isinfo.php)

 We do plan to build another Windows installer when we finally get around to releasing 0.12 however, so if you find this too much of a hassle you could just wait until our next release (there are quite a few big changes in the next version, and myself and Laszlo have both been quite busy so it's likely to be a little while until this is ready though). In addition to that the procedure for creating the Windows builds is likely to change with the next release as we're moving to PyGI based GTK bindings instead of the old static bindings (hopefully this will make things simpler, but we haven't tried it yet so can't say for sure).

 I hope that gives you enough info to get started, if you have more specific questions feel free to drop by our IRC channel (#jokosher on irc.freenode.net) and ask me (Elleo) for more detail, I can't guarantee I'll be able to remember much more as it was a while ago that I last built a Windows package but I'll do my best.

Oh and as to MacOS, David Williams (https://launchpad.net/~redache) was looking in to that at one point. I'm not sure how far he got with it but if you get in touch with him he might be able to give you a few pointers in that direction.

Can you help with this problem?

Provide an answer of your own, or ask Levick for more information if necessary.

To post a message you must log in.