Gajim Win32 Dev Environment

I've just completed setting up my environment (Windows 7) for Gajim HG on a new machine. These are the files I used, with source webpages.

Note: For trunk (0.14+) pygtk2.16 is needed, so we need to use python2.6. so take py2.6 version of all modules.

Sources

For the actual sources:

Tortoise HG

 http://sourceforge.net/project/showfiles.php?group_id=199155&package_id=236242&release_id=679975 ( http://bitbucket.org/tortoisehg/stable/wiki/install)

  • Install
  • Right-Click target folder -> Select TortoiseHG -> Clone a repository
  • Enter URL as:  http://hg.gajim.org/gajim
  • Click on Clone button

Dependencies

Download and install the following dependencies:

Python

Use the 32-bit version even if you're on 64-bit windows, there's an issue with the key in the registry, deps won't find the 64 bit.

 http://www.python.org/ftp/python/2.6.4/python-2.6.4.msi

( http://www.python.org/download/)

GTK+

Check out our binaries of GTK :

  • Right click somewhere in windows explorer -> Select TortoiseHG -> Clone a repository
  • In Source Path, enter URL as:  http://hg.gajim.org/gtk-win32-bin
  • In Destination Path, browse and enter this path: [PATH_TO_GAJIM]\src\gtk
  • Click on Clone button

PyGTK for Windows (PyGTK, PyCairo, PyGObject)

( http://pygtk.org/downloads.html)

Python for Windows extensions (PyWin32)

 http://downloads.sourceforge.net/project/pywin32/pywin32/Build%20214/pywin32-214.win32-py2.6.exe

( http://sourceforge.net/project/showfiles.php?group_id=78018)

Optional Dependencies

The following dependencies are optional:

OpenSSL (optional)

PyOpenSSL

 http://pypi.python.org/packages/2.6/p/pyOpenSSL/pyOpenSSL-0.10.winxp32-py2.6.exe#md5=54c7dd629bf4004569a7c97c9ef6daa5 ( http://pypi.python.org/pypi/pyOpenSSL)

? Win32 OpenSSL (Shining Light)

(Looks like PyOpenSSL installed from egg file works without having OpenSSL installed on PC.)

 http://www.slproweb.com/download/Win32OpenSSL-0_9_8g.exe ( http://www.slproweb.com/products/Win32OpenSSL.html)

PyCrypto?

 http://www.voidspace.org.uk/python/modules.shtml#pycrypto

Docutils (optional)

 http://mesh.dl.sourceforge.net/sourceforge/docutils/docutils-0.4.tar.gz ( http://docutils.sourceforge.net/)

  • Untar, run install.sh

Zero Conf (optional)

The following are the configuration steps to get zero configuration networking working.

Bonjour for Windows

 http://supportdownload.apple.com/download.info.apple.com/Apple_Support_Area/Apple_Software_Updates/Mac_OS_X/downloads/061-3511.20070726.b32fw/BonjourSetup.exe ( http://developer.apple.com/networking/bonjour/download/)

pybonjour

 http://o2s.csail.mit.edu/download/pybonjour/pybonjour-1.1.0.zip ( http://o2s.csail.mit.edu/o2s-wiki/pybonjour)

  • Unzip to a temp location
  • Copy pybonjour.py into the src/common/zeroconf folder

Run!

And finally run: launch.bat

Hide the console

Just use "pythonw gajim.py" to run Gajim without console window, or
BTW: For getting rid of the console window (cmd.exe), try:

The Wonderful Icon

 http://www.thewonderfulicon.com/wondicon.exe ( http://www.thewonderfulicon.com/download.html)

  • Install
  • Right-click tray icon -> Configure
  • Set hotkey for hide window to Win + H

Then once the console has successfully started the app, just press Win + H to disappear it. Also, try setting the tray icon to always hide. (Right-Click in System Tray->Properties->Customize...)

Debugging

In PythonWin, you need to set the current directory using "os.chdir("C:\Projects\Gajim\src")"; you may want to add this to your gajim.py file before "if os.path.isdir('gtk'):" to save remembering to type it every time you debug.

Then open and run gajim.py

Enjoy

Happy hacking!

Campey campey[at]gmail.com