# # # patch "INSTALL" # from [a94751b20cea35b1b4d72ee8a07cb82b282a524f] # to [1ce67691a7b2c99af3bdce649ce6b8d9388ef8b7] # # patch "win32/README" # from [85cf9f033b7fc8d916aa7bb5d858ef7ee6999ef9] # to [360e0203e061911ece2fdcf46d5a83c278f6e1a3] # # patch "win32/monotone.iss" # from [2355ca9fbb9877e56187fe44a517e2ce428a8acc] # to [0d471aaf46af6f73fb32e8e7f0d35c1cf3345c9d] # ============================================================ --- INSTALL a94751b20cea35b1b4d72ee8a07cb82b282a524f +++ INSTALL 1ce67691a7b2c99af3bdce649ce6b8d9388ef8b7 @@ -93,157 +93,127 @@ 1. prerequisites: Package | Version | location -------------------------- MingGW | 5.1.4 | Automated MinGW Installer | MinGW-5.1.4.exe - MSYS | 1.0.10 | MSYS Base System | Current Release: msys-1.0.10 | MSYS-1.0.10.exe + MSYS | 1.0.11 | MSYS Base System | Current Release: msys-1.0.10 | MSYS-1.0.10.exe msysDTK | 1.0.1 | MSYS Supplementary Tools | Current Release: msysDTK-1.0.1 | msysDTK-1.0.1.exe - libiconv | 1.13 | MinGW Libs: libiconv | Current Release: libiconv-1.13-mingw32 | + libiconv | 1.13 | MinGW libiconv | Release 1.13 | | | libiconv-1.13-mingw32-bin.tar.gz | | libiconv-1.13-mingw32-dev.tar.gz | | libiconv-1.13-mingw32-dll-2.tar.gz - wget | 1.9.1 | User Contributed: mingwPORT | Current Releases | wget-1.9.1-mingwPORT.tar.bz2 - zlib | 1.2.3 | User Contributed: mingwPORT | Current Releases | zlib-1.2.3-mingwPORT-1.tar.bz2 - gettext | 0.17 | ftp://aeneas.mit.edu/pub/gnu/gettext/gettext-0.17.tar.gz + autoconf | 2.63 | MSYS autoconf | autoconf-2.63-1 | autoconf-2.63-1-msys-1.0.11-bin.tar.lzma + automake | 1.11 | MSYS automake | automake-1.11-1 | automake-1.11-1-msys-1.0.11-bin.tar.lzma + zlib | 1.2.3 | MinGW zlib | + | | libz-1.2.3-1-mingw32-dev.tar.gz + | | libz-1.2.3-1-mingw32-dll-1.tar.gz + gcc dll | | GCC Version 4 | gcc-core-4.4.0-mingw32-dll.tar.gz + gettext | 0.17 | MinGW gettext | + | | gettext-0.17-1-mingw32-bin.tar.lzma + | | gettext-0.17-1-mingw32-dev.tar.lzma + | | libgettextpo-0.17-1-mingw32-dll-0.tar.lzma + | | libintl-0.17-1-mingw32-dll-8.tar.lzma boost | 1.34.1 | http://prdownloads.sf.net/boost/boost_1_34_1.tar.bz2?download - Lua | 5.1 | http://www.lua.org/ | lua-5.1.4.tar.gz + Lua | 5.1.4 | http://www.lua.org/ | lua-5.1.4.tar.gz pcre | 7.8 | http://www.pcre.org/ | pcre-7.8.tar.bz2 botan | 1.8.4 | http://botan.randombit.net/news/ | Botan-1.8.4.tbz - sqlite3 | 3.6.16 | http://www.sqlite.org/download.html | sqlite-amalgamation-3_6_16.tar.gz, with makefile + sqlite3 | 3.6.16 | http://www.sqlite.org/download.html | sqlite-amalgamation-3.6.16.tar.gz, with makefile libidn | 1.9 | ftp://ftp.gnu.org/gnu/libidn | libidn-1.9.tar.gz - autoconf | 2.59 | User Contributed: mingwPORT | Current Releases | autoconf-2.59-mingwPORT.tar.bz2 - The MinGW and MSYS installer defaults put MinGW in - `c:\MinGW` and MSYS in `c:\Msys`. However, later steps - sometimes install new items in `c:\MinGW\bin`, and - sometimes in `c:\Msys\bin`. So it is difficult to ensure - that the new items are always first in path. Installing - MinGW and MSYS both to `c:\MinGW` avoids this issue. - However, in this case the MSYS installer mistakenly renames - 'make' to 'mingw32-make', so we need to change it back. - msysDTK installs autoconf, automake, Perl, CVS, crypt, and other tools needed by the autoconf tools. However, monotone requires a newer autoconf and automake. - The build/install process leaves 'c:/' scattered around, - which doesn't work for MSYS, so we have to fix it. + In general, there are two versions of most tools on the + MinGW site; mingw and msys. MinGW versions are intended to + be run from a DOS shell, msys versions from an Msys shell. + monotone configure requires the Msys shell, so we need the + msys versions of autoconf and automake. - 1. MinGW - run installer, accept defaults but add g++ on the package selection page - 2. MSYS - run installer, install to same directory as MinGW (`c:\MinGW`), otherwise accept defaults - 3. msysDTK - run installer, install into MinGW directory - 4. Rename `make`: - Start the MSYS shell. In it: - $ mv /bin/mingw32-make.exe /bin/make.exe + Other tools will be linked with the monotone MinGW + executable, so we need the MinGW versions of those. - 5. libiconv - $ cd / + 1. MinGW - run installer, accept defaults but add g++ on the package selection page (installs to c:/MinGW) + 2. MSYS - run installer, accept defaults (installs to c:/Msys) + 3. msysDTK - run installer, accept defaults (installs to c:/Msys) + + 4. libiconv + start the Msys shell. + $ cd /mingw $ tar zxf libiconv-1.13-mingw32-bin.tar.gz $ tar zxf libiconv-1.13-mingw32-dev.tar.gz $ tar zxf libiconv-1.13-mingw32-dll-2.tar.gz - 6. wget - $ cd /usr/src - $ tar jxf wget-1.9.1-mingwPORT.tar.bz2 - $ cd wget-1.9.1/mingwPORT - $ ./mingwPORT.sh + 5. autoconf + $ cd / + $ tar --lzma -xf autoconf-2.63-1-msys-1.0.11-bin.tar.lzma - Accept all defaults by hitting the enter key. + 6. automake + $ cd / + $ tar --lzma -xf automake-1.11-1-msys-1.0.11-bin.tar.lzma - 7. autoconf - $ cd /usr/src - $ tar jxf autoconf-2.59-mingwPORT.tar.bz2 - $ cd autoconf-2.59/mingwPORT - $ ./mingwPORT.sh + 7. zlib + $ cd /mingw + $ tar zxf libz-1.2.3-1-mingw32-dev.tar.gz + $ tar zxf libz-1.2.3-1-mingw32-dll-1.tar.gz + $ cp bin/libz-1.dll bin/zlib1.dll - 8. automake - $ cd /usr/src - $ tar jxf automake-1.9.5-mingwPORT.tar.bz2 - $ cd automake-1.9.5/mingwPORT - $ ./mingwPORT.sh + 8. gettext + $ cd /mingw + $ tar --lzma -xf gettext-0.17-1-mingw32-bin.tar.lzma + $ tar --lzma -xf gettext-0.17-1-mingw32-dev.tar.lzma + $ tar --lzma -xf libgettextpo-0.17-1-mingw32-dll-0.tar.lzma + $ tar --lzma -xf libintl-0.17-1-mingw32-dll-8.tar.lzma + $ tar zxf gcc-core-4.4.0-mingw32-dll.tar.gz - 9. Fix autoconf, automake. Edit the files '/mingw/bin/aclocal', - '/mingw/bin/aclocal-1.9', and all files matching - 'auto*'; replace 'c:/' with '/'. + 9. boost; only need headers + $ cd /usr/src + $ tar jxf boost_1_34_1.tar.bz2 + $ cd boost_1_34_1 + $ cp -a boost /mingw/include - 10. zlib - $ export PATH=$PATH:/c/GnuWin32/bin - $ tar jxf zlib-1.2.3-mingwPORT.tar.bz2 - $ cd zlib-1.2.3/mingwPORT - $ ./mingwPORT.sh - - 11. gettext + 10. Lua $ cd /usr/src - $ tar zxf gettext-0.17.tar.gz - $ cd gettext-0.17 - $ ./configure - $ make install - - 12. boost; only need headers - $ cd /usr/src - $ tar jxf boost_1_34_1.tar.bz2 - $ cd boost_1_34_1 - $ cp -a boost /mingw/include - - 13. Lua - $ cd /usr/src $ tar zxf lua-5.1.4.tar.gz $ cd lua-5.1.4 - $ make mingw INSTALL_TOP=/usr - $ make install INSTALL_TOP=/usr + $ make mingw INSTALL_TOP=/mingw + $ make install INSTALL_TOP=/mingw - 14. pcre + 11. pcre $ cd /usr/src $ tar jxf pcre-7.8.tar.bz2 $ cd pcre-7.8 - $ ./configure --prefix=/usr + $ ./configure --prefix=/mingw $ make install - 15. botan - 15.1 unpack, configure: + 12. botan + 12.1 unpack, configure: $ cd /usr/src $ tar jxf Botan-1.8.4.tbz $ cd Botan-1.8.4 $ ./configure.pl --with-tr1=none - 15.2 edit Makefile, delete -ansi from LANG_FLAGS - 15.3 install: + 12.2 edit Makefile, delete -ansi from LANG_FLAGS + 12.3 install: $ make install - 16. sqlite3 + 13. sqlite3 $ cd /usr/src - $ tar zxf sqlite-amalgamation-3_6_16.tar.gz - $ cd sqlite-amalgamation-3.6.16 - $ ./configure --prefix=/usr + $ tar zxf sqlite-amalgamation-3.6.16.tar.gz + $ cd sqlite-3.6.16 + $ ./configure --prefix=/mingw $ make install - 17. libidn + 14. libidn $ cd /usr/src $ tar zxf libidn-1.9.tar.gz $ cd libidn-1.9 - $ ./configure --prefix=/usr + $ ./configure --prefix=/mingw $ make install - 18. build monotone + 15. build monotone $ cd /c/.../monotone + $ export PATH=/bin:$PATH $ autoreconf -i - you'll get an error about AC_PROG_MKDIR_P; ignore it and try again - $ autoreconf -i $ ./configure sqlite_LIBS=-lsqlite3 $ make - # Notes - - * If the `./configure` step of the monotone build fails - claiming your system is unrecognized while checking the - build system type, it may be caused by `uname -s` - returning a string containing MSYS rather than MINGW. - This indicates that your build environment is in a - special mode for producing MSYS binaries, which is not - what you want when building monotone. See - [MsysBuildEnvironment](http://www.mingw.org/MinGWiki/index.php/MsysBuildEnvironment) - for a detailed explanation. - - * If you get strange errors from perl when running - 'autoreconf -i', check that you edited the paths - correctly in 'aclocal-*' and 'auto*'. - on Windows (using Cygwin): Monotone needs the following packages to compile: ============================================================ --- win32/README 85cf9f033b7fc8d916aa7bb5d858ef7ee6999ef9 +++ win32/README 360e0203e061911ece2fdcf46d5a83c278f6e1a3 @@ -17,15 +17,13 @@ autoreconf -i Build the release. In an MSYS shell: cd monotone- autoreconf -i -./configure lua_CFLAGS=-I/usr/local/include lua_LIBS="-L/usr/local/lib -llua" \ - sqlite_CFLAGS=-I/usr/local/include sqlite_LIBS="-L/usr/local/lib -lsqlite3" \ - idn_CFLAGS=-I/usr/local/include idn_LIBS="-L/usr/local/lib -lidn" +./configure sqlite_LIBS=-lsqlite3 make Install Inno Setup and Inno Setup preprocessor; see -http://www.jrsoftware.org/isinfo.php, get the Quick Start Pack. +http://www.jrsoftware.org/isinfo.php, get the Quick Start Pack ispack-5.3.3.exe -In Inno Setup, open monotone/win32/monotone.iss +In Inno Setup Itool, open monotone-/win32/monotone.iss Check that the APPVERS macro is correct. @@ -35,19 +33,23 @@ the BUILDDIR macro to match. If you have built monotone in a separate build directory, adjust the BUILDDIR macro to match. -Update the list of dlls. Current list: +Verify the number of info-* files to copy. +Update the list of non-Microsoft dlls. Current list: + DLL source -libiconv-2.dll ? +libiconv-2.dll libiconv libidn-11.dll libidn libintl-8.dll gettext libpcre-0.dll pcre +libz-1.dll zlib You can check the dlls needed by running the Depends tool from +http://www.dependencywalker.com/ -Choose menu Build | Compile (or click the "compile" button). This -generates monotone--setup.exe in the monotone/win32 -directory. +Choose menu Build | Compile (or click the "compile" button, or run the +Inno Setup compiler ISCC.exe from the command line). This generates +monotone--setup.exe in the monotone/win32 directory. Publish the binary on the monotone website: ============================================================ --- win32/monotone.iss 2355ca9fbb9877e56187fe44a517e2ce428a8acc +++ win32/monotone.iss 0d471aaf46af6f73fb32e8e7f0d35c1cf3345c9d @@ -27,14 +27,19 @@ Source: "..\COPYING"; DestDir: "{app}"; Source: "{#BUILDDIR}\monotone.html"; DestDir: "{app}\documentation"; Flags: ignoreversion Source: "{#BUILDDIR}\figures\*.png"; DestDir: "{app}\documentation\figures"; Flags: ignoreversion Source: "..\COPYING"; DestDir: "{app}"; Flags: ignoreversion +Source: "..\monotone.info"; DestDir: "{app}\documentation"; Flags: ignoreversion +Source: "..\monotone.info-1"; DestDir: "{app}\documentation"; Flags: ignoreversion +Source: "..\monotone.info-2"; DestDir: "{app}\documentation"; Flags: ignoreversion +Source: "..\monotone.info-3"; DestDir: "{app}\documentation"; Flags: ignoreversion Source: "{#BUILDDIR}\de.gmo"; DestDir: "{app}\locale\de\LC_MESSAGES"; DestName: "monotone.mo"; Flags: ignoreversion Source: "{#BUILDDIR}\es.gmo"; DestDir: "{app}\locale\es\LC_MESSAGES"; DestName: "monotone.mo"; Flags: ignoreversion Source: "{#BUILDDIR}\it.gmo"; DestDir: "{app}\locale\it\LC_MESSAGES"; DestName: "monotone.mo"; Flags: ignoreversion Source: "{#BUILDDIR}\sv.gmo"; DestDir: "{app}\locale\sv\LC_MESSAGES"; DestName: "monotone.mo"; Flags: ignoreversion Source: "{#MINGWDIR}\bin\libiconv-2.dll"; DestDir: "{app}" -Source: "{#MINGWDIR}\local\bin\libidn-11.dll"; DestDir: "{app}" +Source: "{#MINGWDIR}\bin\libidn-11.dll"; DestDir: "{app}" Source: "{#MINGWDIR}\bin\libintl-8.dll"; DestDir: "{app}" -Source: "{#MINGWDIR}\local\bin\libpcre-0.dll"; DestDir: "{app}" +Source: "{#MINGWDIR}\bin\libpcre-0.dll"; DestDir: "{app}" +Source: "{#MINGWDIR}\bin\libz-1.dll"; DestDir: "{app}" [Tasks] Name: modifypath; Description: "Add monotone to your path"; GroupDescription: "Get up and running"; Flags: unchecked