[tbb-commits] [tor-browser-bundle/master] Bug 12406: use MinGW-w64 v3.1.0 for TBB 4.x

gk at torproject.org gk at torproject.org
Fri Jun 20 14:18:38 UTC 2014


commit ad43e17f6fdec22be8c971483d5123c172b76c61
Author: Kathy Brade <brade at pearlcrescent.com>
Date:   Thu Jun 19 15:10:12 2014 -0400

    Bug 12406: use MinGW-w64 v3.1.0 for TBB 4.x
    
    This also requires newer versions of gcc and binutils.
    We now fetch MinGW-w64 using git instead of svn.
---
 gitian/descriptors/windows/gitian-bundle.yml |    2 --
 gitian/descriptors/windows/gitian-utils.yml  |   14 ++++++--------
 gitian/fetch-inputs.sh                       |   26 +++-----------------------
 gitian/gpg/GCC.gpg                           |  Bin 2635 -> 9931 bytes
 gitian/mkbundle-windows.sh                   |    2 +-
 gitian/record-inputs.sh                      |    2 +-
 gitian/verify-tags.sh                        |    3 ++-
 gitian/versions                              |    8 +++-----
 gitian/versions.alpha                        |    8 +++-----
 gitian/versions.nightly                      |    8 +++-----
 10 files changed, 22 insertions(+), 51 deletions(-)

diff --git a/gitian/descriptors/windows/gitian-bundle.yml b/gitian/descriptors/windows/gitian-bundle.yml
index 8f21b3b..fc4fb35 100644
--- a/gitian/descriptors/windows/gitian-bundle.yml
+++ b/gitian/descriptors/windows/gitian-bundle.yml
@@ -8,8 +8,6 @@ packages:
 - "git-core"
 - "unzip"
 - "zip"
-# This package is needed for compiling the StartTorBrowserBundle.exe.
-- "mingw-w64"
 - "nsis"
 - "faketime"
 - "python"
diff --git a/gitian/descriptors/windows/gitian-utils.yml b/gitian/descriptors/windows/gitian-utils.yml
index 530e716..d9bf928 100644
--- a/gitian/descriptors/windows/gitian-utils.yml
+++ b/gitian/descriptors/windows/gitian-utils.yml
@@ -20,13 +20,13 @@ packages:
 - "libmpc-dev"
 reference_datetime: "2000-01-01 00:00:00"
 remotes:
+- "url": "http://git.code.sf.net/p/mingw-w64/mingw-w64"
+  "dir": "mingw-w64-git"
 - "url": "https://github.com/libevent/libevent.git"
   "dir": "libevent"
 - "url": "https://github.com/madler/zlib.git"
   "dir": "zlib"
 files:
-# XXX: we need to make this input tarball deterministic :/
-- "mingw-w64-svn-snapshot.zip"
 - "binutils.tar.bz2"
 - "gcc.tar.bz2"
 - "openssl.tar.gz"
@@ -61,10 +61,8 @@ script: |
 
   # Building mingw-w64
   mkdir -p mingw-w64/mingw-w64-headers32
-  cd mingw-w64
-  unzip ../mingw-w64-svn-snapshot.zip
-  cd mingw-w64-headers32
-  ../mingw-w64-svn/mingw-w64-headers/configure --host=i686-w64-mingw32 --prefix=$INSTDIR/mingw-w64/i686-w64-mingw32 --enable-sdk=all --enable-secure-api --enable-idl
+  cd mingw-w64/mingw-w64-headers32
+  ../../mingw-w64-git/mingw-w64-headers/configure --host=i686-w64-mingw32 --prefix=$INSTDIR/mingw-w64/i686-w64-mingw32 --enable-sdk=all --enable-secure-api --enable-idl
   make install
   cd ..
   cd ..
@@ -89,13 +87,13 @@ script: |
   #
   cd mingw-w64
   mkdir mingw-w64-crt32 && cd mingw-w64-crt32
-  ../mingw-w64-svn/mingw-w64-crt/configure --host=i686-w64-mingw32 --prefix=$INSTDIR/mingw-w64/i686-w64-mingw32
+  ../../mingw-w64-git/mingw-w64-crt/configure --host=i686-w64-mingw32 --prefix=$INSTDIR/mingw-w64/i686-w64-mingw32
   make $MAKEOPTS
   make install
   cd ..
   #
   mkdir widl32 && cd widl32
-  ../mingw-w64-svn/mingw-w64-tools/widl/configure --prefix=$INSTDIR/mingw-w64 --target=i686-w64-mingw32
+  ../../mingw-w64-git/mingw-w64-tools/widl/configure --prefix=$INSTDIR/mingw-w64 --target=i686-w64-mingw32
   make $MAKEOPTS
   make install
   cd ..
diff --git a/gitian/fetch-inputs.sh b/gitian/fetch-inputs.sh
index 34e8727..1b0b4c1 100755
--- a/gitian/fetch-inputs.sh
+++ b/gitian/fetch-inputs.sh
@@ -92,7 +92,7 @@ update_git() {
   then
     (cd "$dir" && git remote set-url origin $url && git fetch --prune origin && git fetch --prune --tags origin)
   else
-    if ! git clone "$url"; then
+    if ! git clone "$url" "$dir"; then
       echo >&2 "Error: Cloning $url failed"
       exit 1
     fi
@@ -110,12 +110,6 @@ update_git() {
   fi
 }
 
-checkout_mingw() {
-  svn co -r $MINGW_REV https://svn.code.sf.net/p/mingw-w64/code/trunk/ mingw-w64-svn || exit 1
-  # XXX: Path
-  ZIPOPTS="-x*/.svn/*" faketime -f "2000-01-01 00:00:00" "$WRAPPER_DIR/build-helpers/dzip.sh" mingw-w64-svn-snapshot.zip mingw-w64-svn
-}
-
 ##############################################################################
 # Get package files from mirror
 
@@ -212,24 +206,9 @@ cd ..
 wget -U "" -N ${NOSCRIPT_URL}
 wget -U "" -N ${HTTPSE_URL}
 
-# So is mingw:
-if [ ! -f mingw-w64-svn-snapshot.zip ];
-then
-  checkout_mingw
-else
-  # We do have mingw-w64 already but is it the correct revision? We check the
-  # hash of the zip archive as it has to be changed as well if a new revision
-  # should be used.
-   if ! echo "${MINGW_HASH}  ${MINGW_PACKAGE}" | sha256sum -c -; then
-     # We need to update the local mingw-w64 copy
-     rm -rf mingw-w64-svn*
-     checkout_mingw
-   fi
-fi
-
 # Verify packages with weak or no signatures via direct sha256 check
 # (OpenSSL is signed with MD5, and OSXSDK is not signed at all)
-for i in OSXSDK TOOLCHAIN4 TOOLCHAIN4_OLD NOSCRIPT HTTPSE MINGW MSVCR100 PYCRYPTO ARGPARSE PYYAML ZOPEINTERFACE TWISTED M2CRYPTO SETUPTOOLS OPENSSL GMP PARSLEY
+for i in OSXSDK TOOLCHAIN4 TOOLCHAIN4_OLD NOSCRIPT HTTPSE MSVCR100 PYCRYPTO ARGPARSE PYYAML ZOPEINTERFACE TWISTED M2CRYPTO SETUPTOOLS OPENSSL GMP PARSLEY
 do
    PACKAGE="${i}_PACKAGE"
    HASH="${i}_HASH"
@@ -304,6 +283,7 @@ https-everywhere      https://git.torproject.org/https-everywhere.git $HTTPSE_TA
 torbutton             https://git.torproject.org/torbutton.git            $TORBUTTON_TAG
 tor-launcher          https://git.torproject.org/tor-launcher.git         $TORLAUNCHER_TAG
 tor-browser           https://git.torproject.org/tor-browser.git          $TORBROWSER_TAG
+mingw-w64-git         http://git.code.sf.net/p/mingw-w64/mingw-w64        $MINGW_TAG
 pyptlib               https://git.torproject.org/pluggable-transports/pyptlib.git $PYPTLIB_TAG
 obfsproxy https://git.torproject.org/pluggable-transports/obfsproxy.git $OBFSPROXY_TAG
 flashproxy            https://git.torproject.org/flashproxy.git $FLASHPROXY_TAG
diff --git a/gitian/gpg/GCC.gpg b/gitian/gpg/GCC.gpg
index e62de27..d94d692 100644
Binary files a/gitian/gpg/GCC.gpg and b/gitian/gpg/GCC.gpg differ
diff --git a/gitian/mkbundle-windows.sh b/gitian/mkbundle-windows.sh
index 019ddec..281f4f8 100755
--- a/gitian/mkbundle-windows.sh
+++ b/gitian/mkbundle-windows.sh
@@ -107,7 +107,7 @@ then
   echo "****** Starting Utilities Component of Windows Bundle (1/5 for Windows) ******"
   echo
 
-  ./bin/gbuild -j $NUM_PROCS -m $VM_MEMORY --commit zlib=$ZLIB_TAG,libevent=$LIBEVENT_TAG $DESCRIPTOR_DIR/windows/gitian-utils.yml
+  ./bin/gbuild -j $NUM_PROCS -m $VM_MEMORY --commit mingw-w64-git=$MINGW_TAG,zlib=$ZLIB_TAG,libevent=$LIBEVENT_TAG $DESCRIPTOR_DIR/windows/gitian-utils.yml
   if [ $? -ne 0 ];
   then
     #mv var/build.log ./utils-fail-win.log.`date +%Y%m%d%H%M%S`
diff --git a/gitian/record-inputs.sh b/gitian/record-inputs.sh
index bbae06f..7ca4416 100755
--- a/gitian/record-inputs.sh
+++ b/gitian/record-inputs.sh
@@ -26,7 +26,6 @@ rm -f bundle.inputs
 sha256sum $OSXSDK_PACKAGE >> bundle.inputs
 sha256sum $OPENSSL_PACKAGE >> bundle.inputs
 sha256sum $TOOLCHAIN4_PACKAGE >> bundle.inputs
-sha256sum mingw-w64-svn-snapshot.zip >> bundle.inputs
 echo >> bundle.inputs
 sha256sum noscript at noscript.net.xpi >> bundle.inputs
 echo >> bundle.inputs
@@ -53,6 +52,7 @@ echo "`cd torbutton && git log --format=%H -1 $TORBUTTON_TAG` torbutton.git" >>
 echo "`cd tor-launcher && git log --format=%H -1 $TORLAUNCHER_TAG` tor-launcher.git" >> bundle.inputs
 echo "`cd https-everywhere && git log --format=%H -1 $HTTPSE_TAG` https-everywhere.git" >> bundle.inputs
 echo "`cd tbb-windows-installer && git log --format=%H -1 $NSIS_TAG` tbb-windows-installer.git" >> bundle.inputs
+echo "`cd mingw-w64-git && git log --format=%H -1 $MINGW_TAG` mingw-w64.git" >> bundle.inputs
 echo "`cd $INPUTS_DIR && git log --format=%H -1` gitian-builder.git" >> bundle.inputs
 echo "`cd $WRAPPER_DIR && git log --format=%H -1` tor-browser-bundle.git" >> bundle.inputs
 
diff --git a/gitian/verify-tags.sh b/gitian/verify-tags.sh
index 324a27a..c66a83b 100755
--- a/gitian/verify-tags.sh
+++ b/gitian/verify-tags.sh
@@ -105,6 +105,7 @@ EOF
 while read dir commit; do
   check_git_hash "$dir" "$commit"
 done << EOF
+mingw-w64-git           $MINGW_TAG
 libdmg-hfsplus          $LIBDMG_TAG
 libfte                  $LIBFTE_TAG
 fteproxy                $FTEPROXY_TAG
@@ -132,7 +133,7 @@ done
 
 # Verify packages with weak or no signatures via direct sha256 check
 # (OpenSSL is signed with MD5, and OSXSDK is not signed at all)
-for i in OSXSDK TOOLCHAIN4 TOOLCHAIN4_OLD NOSCRIPT HTTPSE MINGW MSVCR100 PYCRYPTO ARGPARSE PYYAML ZOPEINTERFACE TWISTED M2CRYPTO SETUPTOOLS OPENSSL GMP PARSLEY
+for i in OSXSDK TOOLCHAIN4 TOOLCHAIN4_OLD NOSCRIPT HTTPSE MSVCR100 PYCRYPTO ARGPARSE PYYAML ZOPEINTERFACE TWISTED M2CRYPTO SETUPTOOLS OPENSSL GMP PARSLEY
 do
    PACKAGE="${i}_PACKAGE"
    HASH="${i}_HASH"
diff --git a/gitian/versions b/gitian/versions
index 6c78434..2185194 100755
--- a/gitian/versions
+++ b/gitian/versions
@@ -14,7 +14,7 @@ HTTPSE_TAG=3.4.5  # XXX: HTTPSE_VER is used instead, pending #11630
 NSIS_TAG=v0.2
 ZLIB_TAG=v1.2.8
 LIBEVENT_TAG=release-2.0.21-stable
-MINGW_REV=6184
+MINGW_TAG=9418eaa1854320b57f40e29ec5bbc4f5717ecd58 # tag v3.1.0
 PYPTLIB_TAG=pyptlib-0.0.6
 OBFSPROXY_TAG=obfsproxy-0.2.9
 FLASHPROXY_TAG=1.6
@@ -28,8 +28,8 @@ GITIAN_TAG=tor-browser-builder-3.x-5
 OPENSSL_VER=1.0.1g
 GMP_VER=5.1.3
 FIREFOX_LANG_VER=$FIREFOX_VERSION
-BINUTILS_VER=2.22
-GCC_VER=4.6.3
+BINUTILS_VER=2.24
+GCC_VER=4.8.3
 PYTHON_VER=2.7.5
 PYCRYPTO_VER=2.6.1
 ARGPARSE_VER=1.2.1
@@ -51,7 +51,6 @@ HTTPSE_PACKAGE=https-everywhere-${HTTPSE_VER}.xpi
 TOOLCHAIN4_PACKAGE=x86_64-apple-darwin10.tar.xz
 TOOLCHAIN4_OLD_PACKAGE=multiarch-darwin11-cctools127.2-gcc42-5666.3-llvmgcc42-2336.1-Linux-120724.tar.xz
 OSXSDK_PACKAGE=apple-uni-sdk-10.6_20110407-0.flosoft1_i386.deb
-MINGW_PACKAGE=mingw-w64-svn-snapshot.zip
 MSVCR100_PACKAGE=msvcr100.dll
 BINUTILS_PACKAGE=binutils-${BINUTILS_VER}.tar.bz2
 GCC_PACKAGE=gcc-${GCC_VER}.tar.bz2
@@ -76,7 +75,6 @@ TOOLCHAIN4_HASH=7b71bfe02820409b994c5c33a7eab81a81c72550f5da85ff7af70da3da244645
 TOOLCHAIN4_OLD_HASH=65c1b2d302358a6b95a26c6828a66908a199276193bb0b268f2dcc1a997731e9
 NOSCRIPT_HASH=5ec75d2f6fbf3ff7950a8eea2c7878d887ed3916aa89f99ec76b322b1e140c08
 HTTPSE_HASH=62ac6560bb224a8f5557722153a72fb245b30b345940c537423bfbb7d8144e29
-MINGW_HASH=a5b03d0448a309341be4cf34c6ad3016d04c89952dca5243254b4d6c738b164f
 MSVCR100_HASH=1221a09484964a6f38af5e34ee292b9afefccb3dc6e55435fd3aaf7c235d9067
 PYCRYPTO_HASH=f2ce1e989b272cfcb677616763e0a2e7ec659effa67a88aa92b3a65528f60a3c
 ARGPARSE_HASH=ddaf4b0a618335a32b6664d4ae038a1de8fbada3b25033f9021510ed2b3941a4
diff --git a/gitian/versions.alpha b/gitian/versions.alpha
index 562acd2..e0e1e60 100755
--- a/gitian/versions.alpha
+++ b/gitian/versions.alpha
@@ -14,7 +14,7 @@ HTTPSE_TAG=3.4.5  # XXX: HTTPSE_VER is used instead, pending #11630
 NSIS_TAG=v0.2
 ZLIB_TAG=v1.2.8
 LIBEVENT_TAG=release-2.0.21-stable
-MINGW_REV=6184
+MINGW_TAG=9418eaa1854320b57f40e29ec5bbc4f5717ecd58 # tag v3.1.0
 PYPTLIB_TAG=pyptlib-0.0.6
 OBFSPROXY_TAG=obfsproxy-0.2.9
 FLASHPROXY_TAG=1.6
@@ -28,8 +28,8 @@ GITIAN_TAG=tor-browser-builder-3.x-5
 OPENSSL_VER=1.0.1g
 GMP_VER=5.1.3
 FIREFOX_LANG_VER=$FIREFOX_VERSION
-BINUTILS_VER=2.22
-GCC_VER=4.6.3
+BINUTILS_VER=2.24
+GCC_VER=4.8.3
 PYTHON_VER=2.7.5
 PYCRYPTO_VER=2.6.1
 ARGPARSE_VER=1.2.1
@@ -51,7 +51,6 @@ HTTPSE_PACKAGE=https-everywhere-${HTTPSE_VER}.xpi
 TOOLCHAIN4_PACKAGE=x86_64-apple-darwin10.tar.xz
 TOOLCHAIN4_OLD_PACKAGE=multiarch-darwin11-cctools127.2-gcc42-5666.3-llvmgcc42-2336.1-Linux-120724.tar.xz
 OSXSDK_PACKAGE=apple-uni-sdk-10.6_20110407-0.flosoft1_i386.deb
-MINGW_PACKAGE=mingw-w64-svn-snapshot.zip
 MSVCR100_PACKAGE=msvcr100.dll
 BINUTILS_PACKAGE=binutils-${BINUTILS_VER}.tar.bz2
 GCC_PACKAGE=gcc-${GCC_VER}.tar.bz2
@@ -76,7 +75,6 @@ TOOLCHAIN4_HASH=7b71bfe02820409b994c5c33a7eab81a81c72550f5da85ff7af70da3da244645
 TOOLCHAIN4_OLD_HASH=65c1b2d302358a6b95a26c6828a66908a199276193bb0b268f2dcc1a997731e9
 NOSCRIPT_HASH=5ec75d2f6fbf3ff7950a8eea2c7878d887ed3916aa89f99ec76b322b1e140c08
 HTTPSE_HASH=62ac6560bb224a8f5557722153a72fb245b30b345940c537423bfbb7d8144e29
-MINGW_HASH=a5b03d0448a309341be4cf34c6ad3016d04c89952dca5243254b4d6c738b164f
 MSVCR100_HASH=1221a09484964a6f38af5e34ee292b9afefccb3dc6e55435fd3aaf7c235d9067
 PYCRYPTO_HASH=f2ce1e989b272cfcb677616763e0a2e7ec659effa67a88aa92b3a65528f60a3c
 ARGPARSE_HASH=ddaf4b0a618335a32b6664d4ae038a1de8fbada3b25033f9021510ed2b3941a4
diff --git a/gitian/versions.nightly b/gitian/versions.nightly
index 72b0b47..1042e78 100755
--- a/gitian/versions.nightly
+++ b/gitian/versions.nightly
@@ -14,7 +14,7 @@ HTTPSE_TAG=master
 NSIS_TAG=v0.2
 ZLIB_TAG=v1.2.8
 LIBEVENT_TAG=release-2.0.21-stable
-MINGW_REV=6184
+MINGW_TAG=9418eaa1854320b57f40e29ec5bbc4f5717ecd58 # tag v3.1.0
 PYPTLIB_TAG=master
 OBFSPROXY_TAG=master
 FLASHPROXY_TAG=master
@@ -28,8 +28,8 @@ GITIAN_TAG=tor-browser-builder-3.x-5
 OPENSSL_VER=1.0.1h
 GMP_VER=5.1.3
 FIREFOX_LANG_VER=$FIREFOX_VERSION
-BINUTILS_VER=2.22
-GCC_VER=4.6.3
+BINUTILS_VER=2.24
+GCC_VER=4.8.3
 PYTHON_VER=2.7.5
 PYCRYPTO_VER=2.6.1
 ARGPARSE_VER=1.2.1
@@ -51,7 +51,6 @@ HTTPSE_PACKAGE=https-everywhere-${HTTPSE_VER}.xpi
 TOOLCHAIN4_PACKAGE=x86_64-apple-darwin10.tar.xz
 TOOLCHAIN4_OLD_PACKAGE=multiarch-darwin11-cctools127.2-gcc42-5666.3-llvmgcc42-2336.1-Linux-120724.tar.xz
 OSXSDK_PACKAGE=apple-uni-sdk-10.6_20110407-0.flosoft1_i386.deb
-MINGW_PACKAGE=mingw-w64-svn-snapshot.zip
 MSVCR100_PACKAGE=msvcr100.dll
 BINUTILS_PACKAGE=binutils-${BINUTILS_VER}.tar.bz2
 GCC_PACKAGE=gcc-${GCC_VER}.tar.bz2
@@ -76,7 +75,6 @@ TOOLCHAIN4_HASH=7b71bfe02820409b994c5c33a7eab81a81c72550f5da85ff7af70da3da244645
 TOOLCHAIN4_OLD_HASH=65c1b2d302358a6b95a26c6828a66908a199276193bb0b268f2dcc1a997731e9
 NOSCRIPT_HASH=aea2ef3a262a70e871df0de937ac8f53cd2c5d1913066200d192bb6e30924275
 HTTPSE_HASH=62ac6560bb224a8f5557722153a72fb245b30b345940c537423bfbb7d8144e29
-MINGW_HASH=a5b03d0448a309341be4cf34c6ad3016d04c89952dca5243254b4d6c738b164f
 MSVCR100_HASH=1221a09484964a6f38af5e34ee292b9afefccb3dc6e55435fd3aaf7c235d9067
 PYCRYPTO_HASH=f2ce1e989b272cfcb677616763e0a2e7ec659effa67a88aa92b3a65528f60a3c
 ARGPARSE_HASH=ddaf4b0a618335a32b6664d4ae038a1de8fbada3b25033f9021510ed2b3941a4





More information about the tbb-commits mailing list