#!/bin/bash SPEC_VERSION=1.9 LATEST_VERSION=1.9 UPDATE_URL=http://gaim-extprefs.sf.net/winpidgin-build-fetcher.sh CHANGELOG=http://gaim-extprefs.sf.net/build-extras/ChangeLog PIDGIN_VERSION=2.7.1 PIDGIN_INSTALL_REV=20100315 # SF Mirror if [[ ${SF_MIRROR} == "" ]]; then SF_MIRROR="iweb." fi # Installed Software Versions GTK_RELEASE=2.14 GTK_REVISION=7-20090119 MINGW_GCC_VERSION=3.4.5-20060117-3 MINGW_W32API_VERSION=3.11 MINGW_RUNTIME_VERSION=3.14 MINGW_BINUTILS_VERSION=2.17.50-20060824-1 # List of Packages to Fetch FETCH_INSTALLERS="PERL BONJOUR_SDK MINGW_GCC MINGW_W32API MINGW_RUNTIME MINGW_BINUTILS NSIS" FETCH_OTHERS="GTK GETTEXT_TOOLS GETTEXT_RUNTIME LIBXML LIBXML_DEV \ PERL_DEV TCL_DEV ENCHANT_DEV GTKSPELL_DEV MOZILLA_NSS \ SILC_DEV MEANWHILE_DEV SASL_DEV INTLTOOL INSTALLER_DEP" # List of Packages to Extract EXTRACT_COMPILER="MINGW_GCC MINGW_W32API MINGW_RUNTIME MINGW_BINUTILS" EXTRACT_OTHERS="GTK GETTEXT_TOOLS GETTEXT_RUNTIME LIBXML LIBXML_DEV \ PERL_DEV TCL_DEV ENCHANT_DEV GTKSPELL_DEV MOZILLA_NSS \ SILC_DEV MEANWHILE_DEV SASL_DEV INTLTOOL INSTALLER_DEP" # Allow users to use experimental GCC 4 binaries to build Pidgin. This # is unsupported and should not be used unless you know what you're doing. if [[ ${MINGW_EXPERIMENTAL} != "" ]] ; then echo "WARNING: You are invoking an experimental option in this utility!" echo "If you want to use this, you probably need to define the following," echo "which allow the Makefile to find the compiler." echo; echo " CC=gcc-sjlj.exe"; echo " WINDRES=\"windres --preprocessor='gcc-sjlj.exe -E -xc-header -DRC_INVOKED'\""; MINGW_GCC_VERSION=4.2.1-sjlj-2 fi NSIS_VERSION=2.46 PERL_VERSION=1007 BONJOUR_SDK_VERSION=2.0.0.34 BONJOUR_SDK_GUID=60BECBDE-48BE-4C35-998D-C7CCE560CC09 # GTK+ 2.x Development Package GTK=http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/${GTK_RELEASE}/gtk+-bundle_${GTK_RELEASE}.${GTK_REVISION}_win32.zip GTK_MKDIR=TRUE GTK_DIR=gtk_2_0-${GTK_RELEASE} GTK_DESC="GTK+ Development" # Gettext Runtime and Tools GETTEXT_TOOLS=http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-tools-0.17.zip GETTEXT_TOOLS_DIR=gettext-0.17 GETTEXT_TOOLS_DESC="Gettext Tools" GETTEXT_TOOLS_MKDIR=TRUE GETTEXT_RUNTIME=http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime-0.17-1.zip GETTEXT_RUNTIME_DIR=gettext-0.17 GETTEXT_RUNTIME_DESC="Gettext Runtime" GETTEXT_RUNTIME_MKDIR=TRUE # LibXML2 Development Headers and Libraries LIBXML_DEV=http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2-dev_2.7.4-1_win32.zip LIBXML_DEV_DESC="LibXML 2 Development" LIBXML_DEV_DIR=libxml2-2.7.4 LIBXML_DEV_MKDIR=TRUE LIBXML=http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2_2.7.4-1_win32.zip LIBXML_DESC="LibXML 2 Library" LIBXML_DIR=libxml2-2.7.4 LIBXML_MKDIR=TRUE # ActivePerl and Development Headers PERL=http://downloads.activestate.com/ActivePerl/releases/5.10.1.1007/ActivePerl-5.10.1.1007-MSWin32-x86-291969.msi PERL_VER_KEY="/proc/registry/HKEY_LOCAL_MACHINE/SOFTWARE/ActiveState/ActivePerl/CurrentVersion"; PERL_DEV=http://developer.pidgin.im/static/win32/perl_5-10-0.tar.gz PERL_DEV_DESC="Perl Development" PERL_DEV_DIR=perl-5.10.0 # ActiveTcl Development Headers TCL_DEV=http://developer.pidgin.im/static/win32/tcl-8.4.5.tar.gz TCL_DEV_DESC="ActiveTcl Development" # Enchant and GtkSpell Development Headers ENCHANT_DEV=http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/enchant_1.5.0-2_win32.zip ENCHANT_DEV_DESC="Enchant Development Package" ENCHANT_DEV_DIR=enchant_1.5.0-2_win32 ENCHANT_DEV_MKDIR=TRUE GTKSPELL_DEV=http://developer.pidgin.im/static/win32/gtkspell-2.0.16.tar.bz2 GTKSPELL_DEV_DESC="GtkSpell Development" # Mozilla SSL Libraries and Headers MOZILLA_NSS=http://developer.pidgin.im/static/win32/nss-3.12.5-nspr-4.8.2.tar.gz MOZILLA_NSS_DESC="Mozilla NSS Development" # SILC Toolkit SILC_DEV=http://developer.pidgin.im/static/win32/silc-toolkit-1.1.8.tar.gz SILC_DEV_DESC="SILC Toolkit" # Meanwhile Toolkit MEANWHILE_DEV=http://developer.pidgin.im/static/win32/meanwhile-1.0.2_daa2-win32.zip MEANWHILE_DEV_DIR=meanwhile-1.0.2_daa2 MEANWHILE_DEV_DESC="libMeanwhile Toolkit" # Bonjour SDK BONJOUR_SDK=http://developer.apple.com/networking/bonjour/BonjourSDKSetup.exe BONJOUR_SDK_REG_KEY="/proc/registry/HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/CurrentVersion/Uninstall/{${BONJOUR_SDK_GUID}}/InstallLocation" BONJOUR_SDK_VER_KEY="/proc/registry/HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/CurrentVersion/Uninstall/{${BONJOUR_SDK_GUID}}/DisplayVersion" # Cyrus SASL SASL_DEV=http://developer.pidgin.im/static/win32/cyrus-sasl-2.1.22-daa1.zip SASL_DEV_DESC="Cyrus SASL Development" # Intltool INTLTOOL=http://ftp.acc.umu.se/pub/GNOME/binaries/win32/intltool/0.40/intltool_0.40.4-1_win32.zip INTLTOOL_DESC="Intltool Utility" INTLTOOL_MKDIR=TRUE # Dependencies Necessary to Build the Installer INSTALLER_DEP=http://developer.pidgin.im/static/win32/pidgin-inst-deps-${PIDGIN_INSTALL_REV}.tar.gz INSTALLER_DEP_DESC="Installer Build Dependencies" # MinGW32 Compiler MINGW_GCC=http://${SF_MIRROR}dl.sourceforge.net/sourceforge/mingw/gcc-core-${MINGW_GCC_VERSION}.tar.gz MINGW_GCC_DIR=mingw MINGW_GCC_DESC="MinGW GNU C Compiler" MINGW_GCC_MKDIR=TRUE MINGW_W32API=http://${SF_MIRROR}dl.sourceforge.net/sourceforge/mingw/w32api-${MINGW_W32API_VERSION}.tar.gz MINGW_W32API_DIR=mingw MINGW_W32API_DESC="MinGW Win32 API Headers" MINGW_W32API_MKDIR=TRUE MINGW_RUNTIME=http://${SF_MIRROR}dl.sourceforge.net/sourceforge/mingw/mingw-runtime-${MINGW_RUNTIME_VERSION}.tar.gz MINGW_RUNTIME_DIR=mingw MINGW_RUNTIME_DESC="MinGW Runtime" MINGW_RUNTIME_MKDIR=TRUE MINGW_BINUTILS=http://${SF_MIRROR}dl.sourceforge.net/sourceforge/mingw/binutils-${MINGW_BINUTILS_VERSION}.tar.gz MINGW_BINUTILS_DIR=mingw MINGW_BINUTILS_DESC="MinGW Binary Utilities" MINGW_BINUTILS_MKDIR=TRUE # Nullsoft Install System NSIS=http://${SF_MIRROR}dl.sourceforge.net/sourceforge/nsis/nsis-${NSIS_VERSION}-setup.exe NSIS_REG_KEY="/proc/registry/HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion//Uninstall/NSIS/InstallLocation"; NSIS_VER_KEY="/proc/registry/HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Uninstall/NSIS/DisplayVersion" NSIS_UNZ=http://saivert.com/nsis/nsisunz.7z # Pidgin Source Code Package PIDGIN=http://${SF_MIRROR}dl.sourceforge.net/sourceforge/pidgin/pidgin-VERSION.tar.bz2 # Windows Pidgin build patch for this version BUILD_PATCH=http://gaim-extprefs.sourceforge.net/build-patches/VERSION.diff # If you're using MTN code, you probably want to use these packages that # have been updated since the latest release version. #if [[ ${PIDGIN_DEV} != "" ]] ; then # Nothing Right Now #fi # For old versions, force upgrade instead of just announcing version mismatch. if [[ ((${SCRIPT_VERSION} < 1.0)) ]] ; then echo; echo "A new version of Windows Pidgin Build Environment Fetcher is available!"; echo "Changes from previous versions are listed in the ChangeLog found at:"; echo; echo " ${CHANGELOG}"; echo; echo "You must upgrade in order to proceed. For upgrade information, see:"; echo; echo " http://gaim-extprefs.sf.net/bef.shtml"; echo; exit; fi