====== Build PyHoca-GUI for MS Windows ====== To make development of pyhoca possible, you need several tools. Pyhoca is written in python and the gui is written in wxpython. Currently due to problems with the winrandom package, it is only possible to generate a 32 bit version of pyhoca. When installing, please keep the order given here ===== System Preparations ===== ==== Downloading Software Packages ==== * python 2.7 http://www.python.org * Msysgit http://msysgit.github.io/ * easyinstall http://pypi.python.org/pypi/setuptools#files * putty http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html * Unicode NSIS http://www.scratchpaper.com/ * Notepad2 http://www.flos-freeware.ch/notepad2.html (the editor we recommend for editing python files) The follow libraries are used * wxpython 3.0 http://www.wxpython.org * greenlet http://www.lfd.uci.edu/~gohlke/pythonlibs * gevent http://www.lfd.uci.edu/~gohlke/pythonlibs * gmpy http://www.lfd.uci.edu/~gohlke/pythonlibs * pycrypto http://blog.tkbe.org/archive/pre-compiled-binaries-for-pycrypto-2-6-1-py27-on-win7/ * win32api http://sourceforge.net/projects/pywin32/files/pywin32/ * paramiko c:\Python27\Scripts\easy_install --always-unzip paramiko * wmi c:\Python27\Scripts\easy_install --always-unzip wmi * python-requests c:\Python27\Scripts\easy_install --always-unzip requests gevent 1.0rc3 is currently specified because is is the last gevent release with a windows installer. PyHoca-GUI uses one of the below freezers (i.e. tools to generate a pyhoca-gui.exe plus programme/data folder): * bbfreeze (default) c:\Python27\Scripts\easy_install --always-unzip bbfreeze * py2exe http://sourceforge.net/projects/py2exe/ easy install should be executed from the windows commandline! There is an issue with MediaWiki and how double dashes are rendered. For now, do not copy and paste the arguments for paramiko and wmi. Type them manually. You need 2 dashes before "always" and 1 dash before "unzip" ==== Obtaining an X-Server for Windows (optional) ==== One of the following X-servers (actually VcXsrv is your way to go here!!! However, its core files are included in pyhoca-contrib.git, see below). * vcxsrv http://sourceforge.net/projects/vcxsrv/files/latest/download * xming http://sourceforge.net/projects/xming/files/latest/download * cygwin/X http://www.cygwin.com/setup.exe ==== Cloning the PyHoca related Git repositories ==== After installation download the current code base by starting the git-bash shell and type * %%git clone git://code.x2go.org/python-x2go.git%% * %%git clone git://code.x2go.org/pyhoca-gui.git%% * %%git clone git://code.x2go.org/pyhoca-contrib.git%% This can best be done in the MingW32 shell that comes with the Git package. Note that pyhoca-contrib.git contains quite an amount of binary data/files. Its cloning can take a while. ===== Test-Running PyHoca ===== ==== Adding Python to $PATH ==== After having all installers download and installs and the Git working copies are in place, make sure the Git Bash has the python shell in its $PATH: # presuming that you installed Python 2.7 to C:\Python27 PATH=$PATH:/c/Python27 ==== Installing Python X2Go ==== Then make sure that Python X2Go is properly installed in a non-egg'ish way: $ cd python-x2go && python setup.py install_lib && python setup.py install && cd - If you want to install a special version of Python X2Go, use '''git checkout'' to get a specific version: $ cd python-x2go && git checkout && cd - A list of available versions can be listed with ''git tag'' executed in the ''python-x2go'' directory. ==== Choosing the PyHoca-GUI Version ==== Before testing/building PyHoca-GUI, you may want to choose the version of PyHoca-GUI to use, use ''git checkout'' to get a specific version: $ cd pyhoca-gui && git checkout && cd - A list of available versions can be listed with ''git tag'' executed in the ''pyhoca-gui'' directory. If you want to test/build bleeding edge code, build PyHoca-GUI from the master branch. As the development of PyHoca-GUI is closely entangled with the development of Python X2Go, for bleeding edge code it is recommended to use the master branches of both projects. $ cd python-x2go && git checkout master && cd - $ cd python-x2go && python setup.py install_lib && python setup.py install && cd - $ cd pyhoca-gui && git checkout master && cd - ==== Launching PyHoca-GUI from the Cmdline ==== A test launch of PyHoca-GUI can now be done with this command: $ cd pyhoca-gui $ ./pyhoca-gui --start-xserver --lang= (... where can be de, nl, da, etc.). If the ''--lang'' parameter is omitted, the application will run in English. ===== Building the Windows Installer Setup ===== To build a MS Windows Installer (32-bit) of PyHoca-GUI, run the following command: $ cd pyhoca-gui $ python setup.py build_exe