Windows Pidgin Build Environment Fetcher

1.9 (?? ??, 2010):
	* Fully updated for Pidgin 2.7.0 changes.
	* Removed the functionality to build the GTK+ installer and 
	  install the runtime, as GTK+ is now bundled with Pidgin.
	* The extract routine has been cleaned up to work better with new
	  packaging methods.
	   - Directories are created in advance if needed and files are
	     then extracted directly into the created directory.
	   - Contents of destination are no longer removed, allowing for
	     multiple packages that extract to the same place.
	   - Handle tracking the versions of multiple packages in the
	     same place.
	   - Some related workarounds have been removed.
	* Fixed an error that prevented continuing even if md5sum is absent.
	* Still pending: NSIS Change, MinGW Changes, Stop rewriting bash_profile,
	  Update filenames back to normal in fetch, update end directions,
	  add 7z support and dependency, and switch path resolution to use "cygpath"

1.8 (March 29, 2009):
	* Fixed a problem with the Bonjour SDK having unsable file 
	  permissions on Windows Vista, breaking the build process.

1.7 (August 18, 2008):
	* Due to the fact ActivePerl doesn't allow installing 5.10.x over
	  5.8.x silently, the fetcher notifies you that you must uninstall
	  ActivePerl manually and then completes the install after that is
	  done.  This change is for Pidgin 2.5.0.

1.6 (March 1, 2008):
	* Moved the list of things to be downloaded and extracted into
	  the pidgin-build-files script which is fetched at runtime.  This
	  allows adding simple dependencies to the script without releasing
	  another point release.
	* Added Cyrus SASL to the build environment for Pidgin 2.4.0.

1.5 (July 6, 2007):
	* Updated the script to support Pidgin's new name and remove
	  unnecessary references to Gaim.
	* Added Pidgin 2.0.2's Bonjour dependency to the build environment.
	  This could be handled better, but Apple's packaging is unusual.
	* Fixed an issue where md5sum verification would fail in non-English
	  locales.  Thanks to olberd for suggesting an appropriate fix!
	* SVN checkout support has been dropped, as it is no longer used.
	  MTN support is more complicated and will be included in a later
	  release.

1.4 (September 13, 2006):
	* Added Gaim 2.0.0's libxml2 dependency to the build environment.
	* Replaced the MinGW installer with a collection of newer packages
	  needed by Gaim 2.0.0 following the core/UI split reorganization.
	  Included is GCC 3.4 which significantly reduces compile time.
	  You can uninstall MinGW via Add/Remove Programs unless you need
	  it for some other purpose.

1.3 (May 2, 2006):
	* Replaced the CVS checkout functionality with Subversion support,
	  including branch and tag checkout.  You need to install the cygwin
	  subversion package in order to be able to use this script properly.
	  cvs is no longer required.
	* Added Gaim 2.0.0's meanwhile dependency to the build environment.
	* Modified the prompts to only accept valid input where appropriate.
	* Added version and license output at the top of the script.  The
	  GPL suggests interactive programs inform users of the license at
	  the first opportunity.

1.2 (December 20, 2005):
	* Added support for applying an updated Win32 API package to MinGW,
	  as this is now needed to compile the 2.x.y branch.
	* Fixed the code to abort on failure to fetch the required files, as
	  this should be a fatal error.
	* Suppress the build text of the GTK installer, but detect if the build
	  failed and print a warning.  This is not fatal, though it could mean
	  Gaim's installer will also fail to build.

1.1 (May 16, 2005):
	* Fixed the ActivePerl (msiexec) installation process.  The path
	  separator is required to be a backslash for msiexec.
	* Added checking for a non-Cygwin environment.  The build packages
	  will be properly fetched and extracted, but installations and
	  other Windows-specific checking are skipped.

1.0 (May 12, 2005):
	* Added support for md5sum of the Gaim source code tarballs.
	* Added new checking for existing versions of installed packages,
	  upgrading or installing only when necessary.
	* Converted several routines into functions to simplify the code.
	* Suppress prompting for per-package replacement.  We now check
	  whether you would like to flush the build environment or update
	  only new packages.  Updating is the default.
	* Added support for specifying the name of the directory to check
	  out CVS source to.  "gaim" is the default.
	* Added support for cvs tag selection.  HEAD is the default, but
	  version or branch tags can be selected.
	* Added automatic update support.  If there is a new version of the
	  script, the user will be given the chance to automatically update it.

0.5 (December 6, 2004):
	* Fixed the problem with unzipping the files for aspell, NSS, and NSPR.
	  Apparently the environmental variable UNZIP is used by unzip to
	  override what file to unzip, so unzip was trying to unzip itself.
	* Added the SILC toolkit to the build environment.
	* Fixed a problem where MD5sums could not be checked if the script was
	  run from a path containing spaces.

0.4 (October 21, 2004):
	* Implemented an MD5 sum verification feature, provided md5sum is
	  available.  We use this to automatically refetch bad or old files,
	  rather than prompting all the time.
	* Implemented silent-mode installation for all requisite software, so
	  there is no chance the user will cancel it, or install it in an
	  unexpected way.
	* Shifted the function definitions into the gaim-build-files so these
	  can be revised between versions, and also be accessed by fetched
	  script files that want to use them.  Some new exports are used in
	  the script so any child scripts can access those values.
	* We no longer build the GTK+ installer if it's already built for the
	  particular GTK+ version.
	* We now track which version of a development package is extracted.
	  We still offer to replace it if it matches, but an updated package
	  is automatically updated without prompting.
	* We no longer add the necessary paths to the .bash_profile if the
	  environment already has them set, so your path will not be insanely
	  redundant.
	* No longer pipe sed commands together, instead taking advantage of the
	  fact sed can handle multiple expressions in one script.

0.3 (July 30, 2004):
	* Switched to cygwin's native registry tree access through the /proc
	  filesystem, eliminating the requirement for Windows XP or 2000's
	  reg.exe utility.
	* Further enhanced the detection of the MinGW32 compiler installation.

0.2 (July 10, 2004):
	* Improved package installation detection.
	* Added support for a patch on the source distribution.  This has
	  been necessary on more than one occasion to apply late commits that
	  appeared post-tag.

0.1 (June 4, 2004):
	* Initial Release