gPodder

Packaging/Windows

From gPodderWiki

Jump to: navigation, search

Preparations:

  • Install Python 2.6 from python.org
  • Install GTK+ Bundle from gtk.org
  • Install pycairo, pygobject and pygtk from pygtk.org
  • Install mingw, msys, mingw-gettext
  • Download libiconv bin for Win, extract bin/libiconv2.dll and copy as libiconv-2.dll to PATH
  • Download libglade-win32 and copy libglade-2.0-0.dll to DISTDIR/bin
  • Download libxml2 from GnuWin32 and copy libxml2.dll to DISTDIR/bin
  • Download feedparser-4.1.zip
  • Download gpodder-share-icons.tar.gz
  • Checkout gPodder source code from Git

The folder where the result will be placed is called DISTDIR here.

Adding necessary files:

  • Create the folders DISTDIR/bin, DISTDIR/lib and DISTDIR/share
  • Copy python.exe, pythonw.exe, w9xpopen.exe from PYTHON2.6 to DISTDIR/bin
  • Copy python26.dll from WINDIR/system32 to DISTDIR/bin
  • Copy all files from "DLLs" in PYTHON2.6 to DISTDIR/bin
  • Copy LICENSE.txt to DISTDIR/bin as LICENSE_PYTHON26.txt
  • Copy all files and folders in "lib" from PYTHON2.6 to DISTDIR/lib
  • Copy all DLL files from "bin" in GTK2 to DISTDIR/bin
  • Copy the folder "etc" in GTK2 to DISTDIR
  • Copy the folder "gtk-2.0" from "lib" in GTK2 to DISTDIR/lib
  • Copy the folders "locale" and "themes" from "share" in GTK2 to DISTDIR/share
  • Extract the folder "icons" from gpodder-share-icons.tar.gz to DISTDIR/share
  • Create the file DISTDIR/etc/gtk-2.0/gtkrc with the following contents:
 gtk-theme-name = "MS-Windows"
  • Extract feedparser.py from feedparser-4.1.zip to DISTDIR/lib/site-packages
  • Copy "gpodder" in "src" from gpodder-git to DISTDIR/lib/site-packages
  • Copy the folder "data" from gpodder-git to DISTDIR
  • Create the Win32 launcher executable (in gpodder-git):
 cd doc/dev/win32-launcher
 make
  • Copy the resulting file "gpodder.exe" to DISTDIR
  • Remove the following items from DISTDIR/lib to make the package smaller: distutils, lib2to3, msilib, multiprocessing, pkgconfig, test, wsgiref, bsddb
  • Create the translation files (in gpodder-git):
 make -C data/po
  • Copy the folder "locale" from "data" in gpodder-git to DISTDIR/share
  • Add the following lines to DISTDIR/lib/site-packages/gpodder/__init__.py before "del locale_dir":
 from gtk.glade import bindtextdomain
 
 bindtextdomain(textdomain, locale_dir)
  • Test if everything works (e.g. run gpodder.exe)
  • Remove the following files in DISTDIR/lib (recursive search!): *.pyo *.pyc
  • Pack the folder into a ZIP file and distribute
Personal tools