commit c1bfda3a385f37b14b7c050084125e8d597005c9 Author: Alexandre Allaire alexandre.allaire@mail.mcgill.ca Date: Wed Mar 20 12:14:43 2013 -0400
Merge windows-deployment-howto into bundle-windows. --- doc/bundle-windows.txt | 102 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 102 insertions(+), 0 deletions(-)
diff --git a/doc/bundle-windows.txt b/doc/bundle-windows.txt index 330e6f3..dd7477d 100644 --- a/doc/bundle-windows.txt +++ b/doc/bundle-windows.txt @@ -1,5 +1,107 @@ == Dependencies
+=== Cygwin + +Cygwin is used to provide a shell environment and other commands. We +don't actually use the Cygwin compatibility layer. + +http://cygwin.com/install.html +http://cygwin.com/setup.exe +http://cygwin.com/setup.exe.sig + +Verify the signature (do it on another machine if you don't already have +GnuPG installed locally). + $ gpg --verify setup.exe.sig +You need to install at least the following packages: + bash + coreutils + gnupg + grep + make + mingw-gcc-core + perl + zip +Don't install the Cygwin python package. Use Python's own Windows +installer as described in the next section. + +=== Python + +Get the latest 32-bit installer in the 2.x series. + +http://python.org/download/ +http://python.org/ftp/python/2.7.3/python-2.7.3.msi +http://python.org/ftp/python/2.7.3/python-2.7.3.msi.asc + +Verify the signature (instructions are on the download page). + $ gpg --verify python-2.7.3.msi.asc +Run the installer. "Install for all users". Disable "Tcl/Tk", +"Documentation", "Utility Scripts", and "Test suite". + +Set the PATH environment variable as described at +http://docs.python.org/2/using/windows.html#configuring-python: + PATH=<existing path>;C:\Python27 +You will have to restart your Cygwin shells to pick up the new PATH. + +=== py2exe + +http://sourceforge.net/projects/py2exe/files/py2exe/ +http://sourceforge.net/projects/py2exe/files/py2exe/0.6.9/py2exe-0.6.9.win32... + +The sha256sum of the package I used was + +610a8800de3d973ed5ed4ac505ab42ad058add18a68609ac09e6cf3598ef056c py2exe-0.6.9.win32-py2.7.exe + +=== OpenSSL + +https://openssl.org/source/ +https://openssl.org/source/openssl-1.0.1c.tar.gz +https://openssl.org/source/openssl-1.0.1c.tar.gz.asc + +Verify the signature. + $ gpg --verify openssl-1.0.1c.tar.gz.asc +Build OpenSSL from source using Cygwin and MinGW. Install the Cygwin +package mingw-gcc-core if it's not already installed. Run these commands +in the OpenSSL source directory: + CROSS_COMPILE=i686-pc-mingw32- ./Configure shared mingw + make + make install +Then, add C:\cygwin\usr\local\ssl\bin to PATH as you did with Python +above. + +=== SWIG + +This is a prerequisite for building M2Crypto. + +http://www.swig.org/download.html +http://downloads.sourceforge.net/project/swig/swigwin/swigwin-2.0.8/swigwin-... + +The sha256sum of the package I used was + +35bc3013d43e0034677c08bab30bfc94ed6d44fbfffa4c5158f5788d29f4636d swigwin-2.0.8.zip + +Just extract the zip in the same directory in which you will extract +M2Crypto. + +=== M2Crypto + +http://chandlerproject.org/Projects/MeTooCrypto#Downloads +http://pypi.python.org/packages/source/M/M2Crypto/M2Crypto-0.21.1.tar.gz +http://pypi.python.org/packages/source/M/M2Crypto/M2Crypto-0.21.1.tar.gz.asc + +There are binary installers on the M2Crypto page, but it says they are +"provided by volunteers, untested by M2Crypto author." Instead build +from source. + +The distutils build_ext command hardcodes the compiler name "gcc" when +using the "mingw32" compiler. Make a copy of the MinGW compiler with +that name. + $ cp /usr/bin/i686-pc-mingw32-gcc /usr/bin/gcc +Build the package. + $ PATH=$PATH:../swigwin-2.0.8 python setup.py build_ext -c mingw32 --openssl C:\cygwin\usr\local\ssl -L C:\cygwin\usr\local\ssl\bin + $ python setup.py bdist_wininst +This will leave an MSI installer in the dist directory. Double-click it +to install M2Crypto amid the other Python files. + === 7-Zip
This is used to build a self-extracting bundle executable. The p7zip
tor-commits@lists.torproject.org