[tor-commits] [tor-browser-bundle/hardened-builds] Bug 18333: Upgrade go to 1.6.2.

gk at torproject.org gk at torproject.org
Sun Jun 5 21:07:35 UTC 2016


commit c1867b7d7749891ad2c0bd74b89a4236b30b97e2
Author: David Fifield <david at bamsoftware.com>
Date:   Sun Apr 10 08:32:54 2016 +0000

    Bug 18333: Upgrade go to 1.6.2.
    
    It now requires an installation of go 1.4.x to bootstrap the build.
    
    We set CGO_ENABLED=0 when building the bootstrap go compiler because go
    1.4.3 won't build with a newer GNU toolchain:
    https://github.com/golang/go/issues/13114. It didn't cause a problem for
    me on Ubuntu 14.04, but this will prevent it from breaking in the
    future. We don't need cgo in the bootstrap compiler.
    
    The other change is that the go build system no longer allows us to pass
    a command with arguments for CC_FOR_TARGET. I opened a ticket for it:
    https://github.com/golang/go/issues/15457. We need -I and -L arguments
    in the mac build so that gcc gan find its headers and libraries. So we
    wrap up the arguments in a shell script and use the shell script as
    CC_FOR_TARGET.
---
 .../linux/gitian-pluggable-transports.yml          | 12 ++++++++++
 .../mac/gitian-pluggable-transports.yml            | 27 ++++++++++++++++-----
 .../windows/gitian-pluggable-transports.yml        | 28 +++++++++++++++++-----
 gitian/fetch-inputs.sh                             |  5 ++--
 gitian/verify-tags.sh                              |  2 +-
 gitian/versions                                    | 12 ++++++++--
 gitian/versions.alpha                              |  9 +++++--
 gitian/versions.beta                               |  9 +++++--
 gitian/versions.nightly                            |  9 +++++--
 9 files changed, 90 insertions(+), 23 deletions(-)

diff --git a/gitian/descriptors/linux/gitian-pluggable-transports.yml b/gitian/descriptors/linux/gitian-pluggable-transports.yml
index 3aaec92..a3c994d 100644
--- a/gitian/descriptors/linux/gitian-pluggable-transports.yml
+++ b/gitian/descriptors/linux/gitian-pluggable-transports.yml
@@ -47,6 +47,7 @@ files:
 - "zope.interface.zip"
 - "twisted.tar.bz2"
 - "parsley.tar.gz"
+- "go14.tar.gz"
 - "go.tar.gz"
 - "dzip.sh"
 - "gmp-linux64-utils.zip"
@@ -73,6 +74,17 @@ script: |
   # FTE only needs libgmp.so.10 and no libgmpxx anymore.
   cp $INSTDIR/gmp/lib/libgmp.so.10 $INSTDIR/Tor
 
+  # Building go 1.4.x
+  # This is needed to bootstrap the go that we actually use
+  # https://golang.org/doc/install/source#go14
+  tar xvf go14.tar.gz --transform='s,^go\>,go1.4,'
+  cd go1.4/src
+  # Disable cgo to avoid conflicts with newer GCC. cgo is not needed for the bootstrap go.
+  # https://github.com/golang/go/issues/13114#issuecomment-186922245
+  CGO_ENABLED=0 ./make.bash
+  cd ../..
+  export GOROOT_BOOTSTRAP="$PWD/go1.4"
+
   # Building go
   # http://golang.org/doc/install/source#environment
   export GOPATH="$HOME/go"
diff --git a/gitian/descriptors/mac/gitian-pluggable-transports.yml b/gitian/descriptors/mac/gitian-pluggable-transports.yml
index fd62919..5c7ecac 100644
--- a/gitian/descriptors/mac/gitian-pluggable-transports.yml
+++ b/gitian/descriptors/mac/gitian-pluggable-transports.yml
@@ -45,6 +45,7 @@ files:
 - "zope.interface.zip"
 - "twisted.tar.bz2"
 - "parsley.tar.gz"
+- "go14.tar.gz"
 - "go.tar.gz"
 - "apple-uni-sdk-10.6_20110407-0.flosoft1_i386.deb"
 - "multiarch-darwin11-cctools127.2-gcc42-5666.3-llvmgcc42-2336.1-Linux-120724.tar.xz"
@@ -84,19 +85,33 @@ script: |
   export CXXFLAGS="-m64 -I/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/include/ -I/usr/lib/gcc/i686-apple-darwin10/4.2.1/include/ -I.  -L/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/lib/ -L/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/lib/system/ -F/usr/lib/apple/SDKs/MacOSX10.6.sdk/System/Library/Frameworks -mmacosx-version-min=10.5 -L/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/lib/i686-apple-darwin10/4.2.1 -I$INSTDIR/gmp/include -L$INSTDIR/gmp/lib"
   export LDFLAGS="-L/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/lib/ -L/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/lib/system/ -F/usr/lib/apple/SDKs/MacOSX10.6.sdk/System/Library/Frameworks -mmacosx-version-min=10.5"
 
+  # Building go 1.4.x
+  # This is needed to bootstrap the go that we actually use
+  # https://golang.org/doc/install/source#go14
+  tar xvf go14.tar.gz --transform='s,^go\>,go1.4,'
+  cd go1.4/src
+  # Disable cgo to avoid conflicts with newer GCC. cgo is not needed for the bootstrap go.
+  # https://github.com/golang/go/issues/13114#issuecomment-186922245
+  # Disable CC etc. that are set up for cross builds.
+  CGO_ENABLED=0 CC= CFLAGS= LDFLAGS= ./make.bash
+  cd ../..
+  export GOROOT_BOOTSTRAP="$PWD/go1.4"
+
   # Building go
+  # Create a cc-for-target script that closes over CC, CFLAGS, and LDFLAGS.
+  # Go's CC_FOR_TARGET only allows a command name, not a command with arguments.
+  # https://github.com/golang/go/issues/15457
+  CC_FOR_TARGET="$(pwd)/cc-for-target"
+  echo "#!/bin/sh" > "$CC_FOR_TARGET"
+  echo "exec $CC $CFLAGS $LDFLAGS \"\$@\"" >> "$CC_FOR_TARGET"
+  chmod +x "$CC_FOR_TARGET"
   # http://golang.org/doc/install/source#environment
   export GOPATH="$HOME/go"
   export GOOS=darwin
   export GOARCH=386
   tar xvf go.tar.gz
   cd go/src
-  # http://golang.org/cmd/cgo/:
-  # "To enable cgo during cross compiling builds, set the CGO_ENABLED
-  # environment variable to 1 when building the Go tools with make.bash. Also,
-  # set CC_FOR_TARGET to the C cross compiler for the target. CC will be used
-  # for compiling for the host."
-  CGO_ENABLED=1 CC_FOR_TARGET="$CC $CFLAGS $LDFLAGS" CC= CFLAGS= LDFLAGS= ./make.bash
+  CGO_ENABLED=1 CC_FOR_TARGET="$CC_FOR_TARGET" CC= CFLAGS= LDFLAGS= ./make.bash
   cd ../..
   export PATH="$PATH:$PWD/go/bin"
 
diff --git a/gitian/descriptors/windows/gitian-pluggable-transports.yml b/gitian/descriptors/windows/gitian-pluggable-transports.yml
index 9c1642d..8b2502d 100644
--- a/gitian/descriptors/windows/gitian-pluggable-transports.yml
+++ b/gitian/descriptors/windows/gitian-pluggable-transports.yml
@@ -47,6 +47,7 @@ files:
 - "wine-wrappers"
 - "python.msi"
 - "py2exe.exe"
+- "go14.tar.gz"
 - "go.tar.gz"
 - "dzip.sh"
 - "pyc-timestamp.sh"
@@ -139,19 +140,34 @@ script: |
   cp -a dist/gcc.exe dist/g++.exe dist/dllwrap.exe dist/swig.exe $WINEROOT/windows/
   cd ..
 
+  # Building go 1.4.x
+  # This is needed to bootstrap the go that we actually use
+  # https://golang.org/doc/install/source#go14
+  tar xvf go14.tar.gz --transform='s,^go\>,go1.4,'
+  cd go1.4/src
+  # Disable cgo to avoid conflicts with newer GCC. cgo is not needed for the bootstrap go.
+  # https://github.com/golang/go/issues/13114#issuecomment-186922245
+  # Disable CC etc. that are set up for cross builds.
+  CGO_ENABLED=0 CC= CFLAGS= LDFLAGS= ./make.bash
+  cd ../..
+  export GOROOT_BOOTSTRAP="$PWD/go1.4"
+
   # Building go
+  CC=i686-w64-mingw32-gcc
+  # Create a cc-for-target script that closes over CC, CFLAGS, and LDFLAGS.
+  # Go's CC_FOR_TARGET only allows a command name, not a command with arguments.
+  # https://github.com/golang/go/issues/15457
+  CC_FOR_TARGET="$(pwd)/cc-for-target"
+  echo "#!/bin/sh" > "$CC_FOR_TARGET"
+  echo "exec $CC $CFLAGS $LDFLAGS \"\$@\"" >> "$CC_FOR_TARGET"
+  chmod +x "$CC_FOR_TARGET"
   # http://golang.org/doc/install/source#environment
   export GOPATH="$HOME/go"
   export GOOS=windows
   export GOARCH=386
   tar xvf go.tar.gz
   cd go/src
-  # http://golang.org/cmd/cgo/:
-  # "To enable cgo during cross compiling builds, set the CGO_ENABLED
-  # environment variable to 1 when building the Go tools with make.bash. Also,
-  # set CC_FOR_TARGET to the C cross compiler for the target. CC will be used
-  # for compiling for the host."
-  CGO_ENABLED=1 CC_FOR_TARGET="i686-w64-mingw32-gcc" CC= CFLAGS= LDFLAGS= ./make.bash
+  CGO_ENABLED=1 CC_FOR_TARGET="$CC_FOR_TARGET" CC= CFLAGS= LDFLAGS= ./make.bash
   cd ../..
   export PATH="$PATH:$PWD/go/bin"
 
diff --git a/gitian/fetch-inputs.sh b/gitian/fetch-inputs.sh
index 4f63374..1bf69a2 100755
--- a/gitian/fetch-inputs.sh
+++ b/gitian/fetch-inputs.sh
@@ -154,7 +154,7 @@ do
   get "${!PACKAGE}" "${MIRROR_URL_ASN}${!PACKAGE}"
 done
 
-for i in ZOPEINTERFACE TWISTED PY2EXE SETUPTOOLS PARSLEY GO STIXMATHFONT NOTOEMOJIFONT NOTOJPFONT NOTOKRFONT NOTOSCFONT NOTOTCFONT
+for i in ZOPEINTERFACE TWISTED PY2EXE SETUPTOOLS PARSLEY GO14 GO STIXMATHFONT NOTOEMOJIFONT NOTOJPFONT NOTOKRFONT NOTOSCFONT NOTOTCFONT NSIS NSIS_DEBIAN
 do
   URL="${i}_URL"
   PACKAGE="${i}_PACKAGE"
@@ -166,7 +166,7 @@ wget -U "" -N ${NOSCRIPT_URL}
 
 # Verify packages with weak or no signatures via direct sha256 check
 # (OpenSSL is signed with MD5, and OSXSDK + OSXSDK_OLD are not signed at all)
-for i in OSXSDK OSXSDK_OLD TOOLCHAIN4_OLD NOSCRIPT MSVCR100 PYCRYPTO ARGPARSE PYYAML ZOPEINTERFACE TWISTED SETUPTOOLS OPENSSL GMP PARSLEY GO GCC STIXMATHFONT NOTOEMOJIFONT NOTOJPFONT NOTOKRFONT NOTOSCFONT NOTOTCFONT
+for i in OSXSDK OSXSDK_OLD TOOLCHAIN4_OLD CCTOOLS NOSCRIPT MSVCR100 PYCRYPTO ARGPARSE PYYAML ZOPEINTERFACE TWISTED SETUPTOOLS OPENSSL GMP PARSLEY GO14 GO GCC STIXMATHFONT NOTOEMOJIFONT NOTOJPFONT NOTOKRFONT NOTOSCFONT NOTOTCFONT NSIS NSIS_DEBIAN
 do
    PACKAGE="${i}_PACKAGE"
    HASH="${i}_HASH"
@@ -235,6 +235,7 @@ ln -sf "$PY2EXE_PACKAGE" py2exe.exe
 ln -sf "$SETUPTOOLS_PACKAGE" setuptools.tar.gz
 ln -sf "$GMP_PACKAGE" gmp.tar.bz2
 ln -sf "$PARSLEY_PACKAGE" parsley.tar.gz
+ln -sf "$GO14_PACKAGE" go14.tar.gz
 ln -sf "$GO_PACKAGE" go.tar.gz
 ln -sf "$ELFUTILS_PACKAGE" elfutils.tar.bz2
 
diff --git a/gitian/verify-tags.sh b/gitian/verify-tags.sh
index 5268f85..5908801 100755
--- a/gitian/verify-tags.sh
+++ b/gitian/verify-tags.sh
@@ -141,7 +141,7 @@ done
 
 # Verify packages with weak or no signatures via direct sha256 check
 # (OpenSSL is signed with MD5, and OSXSDK + OSXSDK_OLD are not signed at all)
-for i in OSXSDK OSXSDK_OLD TOOLCHAIN4_OLD NOSCRIPT MSVCR100 PYCRYPTO ARGPARSE PYYAML ZOPEINTERFACE TWISTED SETUPTOOLS OPENSSL GMP PARSLEY GO GCC STIXMATHFONT NOTOEMOJIFONT NOTOJPFONT NOTOKRFONT NOTOSCFONT NOTOTCFONT
+for i in OSXSDK OSXSDK_OLD TOOLCHAIN4_OLD CCTOOLS NOSCRIPT MSVCR100 PYCRYPTO ARGPARSE PYYAML ZOPEINTERFACE TWISTED SETUPTOOLS OPENSSL GMP PARSLEY GO14 GO GCC STIXMATHFONT NOTOEMOJIFONT NOTOJPFONT NOTOKRFONT NOTOSCFONT NOTOTCFONT NSIS NSIS_DEBIAN
 do
    PACKAGE="${i}_PACKAGE"
    HASH="${i}_HASH"
diff --git a/gitian/versions b/gitian/versions
index ddf3429..d45eca0 100755
--- a/gitian/versions
+++ b/gitian/versions
@@ -56,7 +56,10 @@ M2CRYPTO_VER=0.21.1
 PY2EXE_VER=0.6.9
 SETUPTOOLS_VER=1.4
 PARSLEY_VER=1.2
-GO_VER=1.4.2
+# We need a Go 1.4 to bootstrap later versions; see https://golang.org/doc/install/source#go14
+GO14_VER=1.4.3
+GO_VER=1.6.2
+NSIS_VER=2.51
 
 ## File names for the source packages
 OPENSSL_PACKAGE=openssl-${OPENSSL_VER}.tar.gz
@@ -79,6 +82,7 @@ M2CRYPTO_PACKAGE=M2Crypto-${M2CRYPTO_VER}.tar.gz
 PY2EXE_PACKAGE=py2exe-${PY2EXE_VER}.win32-py2.7.exe
 SETUPTOOLS_PACKAGE=setuptools-${SETUPTOOLS_VER}.tar.gz
 PARSLEY_PACKAGE=Parsley-${PARSLEY_VER}.tar.gz
+GO14_PACKAGE=go${GO14_VER}.src.tar.gz
 GO_PACKAGE=go${GO_VER}.src.tar.gz
 STIXMATHFONT_PACKAGE=STIXv1.1.1-latex.zip
 NOTOEMOJIFONT_PACKAGE=NotoEmoji-Regular.ttf
@@ -105,7 +109,10 @@ M2CRYPTO_HASH=25b94498505c2d800ee465db0cc1aff097b1615adc3ac042a1c85ceca264fc0a
 PY2EXE_HASH=610a8800de3d973ed5ed4ac505ab42ad058add18a68609ac09e6cf3598ef056c
 SETUPTOOLS_HASH=75d288687066ed124311d6ca5f40ffa92a0e81adcd7fff318c6e84082713cf39
 PARSLEY_HASH=50d30cee70770fd44db7cea421cb2fb75af247c3a1cd54885c06b30a7c85dd23
-GO_HASH=299a6fd8f8adfdce15bc06bde926e7b252ae8e24dd5b16b7d8791ed79e7b5e9b
+GO14_HASH=9947fc705b0b841b5938c48b22dc33e9647ec0752bae66e50278df4f23f64959
+GO_HASH=787b0b750d037016a30c6ed05a8a70a91b2e9db4bd9b1a2453aa502a63f1bccc
+NSIS_HASH=43d4c9209847e35eb6e2c7cd5a7586e1445374c056c2c7899e40a080e17a1be7
+NSIS_DEBIAN_HASH=1dee6957b4a4b8dfe69bcf28bc7f301a13b96b3fa5a394e36c8926ae781e774a
 GCC_HASH=b7dafdf89cbb0e20333dbf5b5349319ae06e3d1a30bf3515b5488f7e89dca5ad
 STIXMATHFONT_HASH=e3b0f712e2644438eee2d0dcd2b10b2d54f1b972039de95b2f8e800bae1adbd8
 NOTOEMOJIFONT_HASH=415dc6290378574135b64c808dc640c1df7531973290c4970c51fdeb849cb0c5
@@ -134,6 +141,7 @@ M2CRYPTO_URL=https://pypi.python.org/packages/source/M/M2Crypto/${M2CRYPTO_PACKA
 PY2EXE_URL=http://liquidtelecom.dl.sourceforge.net/project/py2exe/py2exe/${PY2EXE_VER}/${PY2EXE_PACKAGE}
 SETUPTOOLS_URL=https://pypi.python.org/packages/source/s/setuptools/${SETUPTOOLS_PACKAGE}
 PARSLEY_URL=https://pypi.python.org/packages/source/P/Parsley/${PARSLEY_PACKAGE}
+GO14_URL=https://golang.org/dl/${GO14_PACKAGE}
 GO_URL=https://golang.org/dl/${GO_PACKAGE}
 STIXMATHFONT_URL=http://iweb.dl.sourceforge.net/project/stixfonts/Current%20Release/${STIXMATHFONT_PACKAGE}
 NOTOEMOJIFONT_URL=https://github.com/googlei18n/noto-emoji/raw/2f1ffdd6fbbd05d6f382138a3d3adcd89c5ce800/fonts/${NOTOEMOJIFONT_PACKAGE}
diff --git a/gitian/versions.alpha b/gitian/versions.alpha
index 99e47ea..c6b1862 100755
--- a/gitian/versions.alpha
+++ b/gitian/versions.alpha
@@ -64,7 +64,9 @@ TWISTED_VER=13.2.0
 PY2EXE_VER=0.6.9
 SETUPTOOLS_VER=1.4
 PARSLEY_VER=1.2
-GO_VER=1.4.2
+# We need a Go 1.4 to bootstrap later versions; see https://golang.org/doc/install/source#go14
+GO14_VER=1.4.3
+GO_VER=1.6.2
 NSIS_VER=2.51
 
 ## File names for the source packages
@@ -87,6 +89,7 @@ TWISTED_PACKAGE=Twisted-${TWISTED_VER}.tar.bz2
 PY2EXE_PACKAGE=py2exe-${PY2EXE_VER}.win32-py2.7.exe
 SETUPTOOLS_PACKAGE=setuptools-${SETUPTOOLS_VER}.tar.gz
 PARSLEY_PACKAGE=Parsley-${PARSLEY_VER}.tar.gz
+GO14_PACKAGE=go${GO14_VER}.src.tar.gz
 GO_PACKAGE=go${GO_VER}.src.tar.gz
 NSIS_PACKAGE=nsis-${NSIS_VER}-src.tar.bz2
 NSIS_DEBIAN_PACKAGE=nsis_${NSIS_VER}-1.debian.tar.xz
@@ -114,7 +117,8 @@ TWISTED_HASH=095175638c019ac7c0604f4c291724a16ff1acd062e181b01293bf4dcbc62cf3
 PY2EXE_HASH=610a8800de3d973ed5ed4ac505ab42ad058add18a68609ac09e6cf3598ef056c
 SETUPTOOLS_HASH=75d288687066ed124311d6ca5f40ffa92a0e81adcd7fff318c6e84082713cf39
 PARSLEY_HASH=50d30cee70770fd44db7cea421cb2fb75af247c3a1cd54885c06b30a7c85dd23
-GO_HASH=299a6fd8f8adfdce15bc06bde926e7b252ae8e24dd5b16b7d8791ed79e7b5e9b
+GO14_HASH=9947fc705b0b841b5938c48b22dc33e9647ec0752bae66e50278df4f23f64959
+GO_HASH=787b0b750d037016a30c6ed05a8a70a91b2e9db4bd9b1a2453aa502a63f1bccc
 NSIS_HASH=43d4c9209847e35eb6e2c7cd5a7586e1445374c056c2c7899e40a080e17a1be7
 NSIS_DEBIAN_HASH=1dee6957b4a4b8dfe69bcf28bc7f301a13b96b3fa5a394e36c8926ae781e774a
 GCC_HASH=5f835b04b5f7dd4f4d2dc96190ec1621b8d89f2dc6f638f9f8bc1b1014ba8cad
@@ -144,6 +148,7 @@ TWISTED_URL=https://pypi.python.org/packages/source/T/Twisted/${TWISTED_PACKAGE}
 PY2EXE_URL=http://liquidtelecom.dl.sourceforge.net/project/py2exe/py2exe/${PY2EXE_VER}/${PY2EXE_PACKAGE}
 SETUPTOOLS_URL=https://pypi.python.org/packages/source/s/setuptools/${SETUPTOOLS_PACKAGE}
 PARSLEY_URL=https://pypi.python.org/packages/source/P/Parsley/${PARSLEY_PACKAGE}
+GO14_URL=https://golang.org/dl/${GO14_PACKAGE}
 GO_URL=https://golang.org/dl/${GO_PACKAGE}
 NSIS_URL=http://downloads.sourceforge.net/nsis/${NSIS_PACKAGE}
 NSIS_DEBIAN_URL=http://http.debian.net/debian/pool/main/n/nsis/${NSIS_DEBIAN_PACKAGE}
diff --git a/gitian/versions.beta b/gitian/versions.beta
index 7374d04..7a305a1 100755
--- a/gitian/versions.beta
+++ b/gitian/versions.beta
@@ -49,7 +49,9 @@ M2CRYPTO_VER=0.21.1
 PY2EXE_VER=0.6.9
 SETUPTOOLS_VER=1.4
 PARSLEY_VER=1.2
-GO_VER=1.4.2
+# We need a Go 1.4 to bootstrap later versions; see https://golang.org/doc/install/source#go14
+GO14_VER=1.4.3
+GO_VER=1.6.2
 
 ## File names for the source packages
 OPENSSL_PACKAGE=openssl-${OPENSSL_VER}.tar.gz
@@ -72,6 +74,7 @@ M2CRYPTO_PACKAGE=M2Crypto-${M2CRYPTO_VER}.tar.gz
 PY2EXE_PACKAGE=py2exe-${PY2EXE_VER}.win32-py2.7.exe
 SETUPTOOLS_PACKAGE=setuptools-${SETUPTOOLS_VER}.tar.gz
 PARSLEY_PACKAGE=Parsley-${PARSLEY_VER}.tar.gz
+GO14_PACKAGE=go${GO14_VER}.src.tar.gz
 GO_PACKAGE=go${GO_VER}.src.tar.gz
 STIXMATHFONT_PACKAGE=STIXv1.1.1-latex.zip
 NOTOEMOJIFONT_PACKAGE=NotoEmoji-Regular.ttf
@@ -98,7 +101,8 @@ M2CRYPTO_HASH=25b94498505c2d800ee465db0cc1aff097b1615adc3ac042a1c85ceca264fc0a
 PY2EXE_HASH=610a8800de3d973ed5ed4ac505ab42ad058add18a68609ac09e6cf3598ef056c
 SETUPTOOLS_HASH=75d288687066ed124311d6ca5f40ffa92a0e81adcd7fff318c6e84082713cf39
 PARSLEY_HASH=50d30cee70770fd44db7cea421cb2fb75af247c3a1cd54885c06b30a7c85dd23
-GO_HASH=299a6fd8f8adfdce15bc06bde926e7b252ae8e24dd5b16b7d8791ed79e7b5e9b
+GO14_HASH=9947fc705b0b841b5938c48b22dc33e9647ec0752bae66e50278df4f23f64959
+GO_HASH=787b0b750d037016a30c6ed05a8a70a91b2e9db4bd9b1a2453aa502a63f1bccc
 STIXMATHFONT_HASH=e3b0f712e2644438eee2d0dcd2b10b2d54f1b972039de95b2f8e800bae1adbd8
 NOTOEMOJIFONT_HASH=415dc6290378574135b64c808dc640c1df7531973290c4970c51fdeb849cb0c5
 NOTOJPFONT_HASH=3e8146c4ce0945f255cb9dbc12b392380af80bd117e0a60eae555c99c7e618da
@@ -126,6 +130,7 @@ M2CRYPTO_URL=https://pypi.python.org/packages/source/M/M2Crypto/${M2CRYPTO_PACKA
 PY2EXE_URL=http://softlayer-dal.dl.sourceforge.net/project/py2exe/py2exe/${PY2EXE_VER}/${PY2EXE_PACKAGE}
 SETUPTOOLS_URL=https://pypi.python.org/packages/source/s/setuptools/${SETUPTOOLS_PACKAGE}
 PARSLEY_URL=https://pypi.python.org/packages/source/P/Parsley/${PARSLEY_PACKAGE}
+GO14_URL=https://golang.org/dl/${GO14_PACKAGE}
 GO_URL=https://golang.org/dl/${GO_PACKAGE}
 STIXMATHFONT_URL=http://iweb.dl.sourceforge.net/project/stixfonts/Current%20Release/${STIXMATHFONT_PACKAGE}
 NOTOEMOJIFONT_URL=https://github.com/googlei18n/noto-emoji/raw/2f1ffdd6fbbd05d6f382138a3d3adcd89c5ce800/fonts/${NOTOEMOJIFONT_PACKAGE}
diff --git a/gitian/versions.nightly b/gitian/versions.nightly
index 86ee3f8..577c40c 100755
--- a/gitian/versions.nightly
+++ b/gitian/versions.nightly
@@ -68,7 +68,9 @@ TWISTED_VER=13.2.0
 PY2EXE_VER=0.6.9
 SETUPTOOLS_VER=1.4
 PARSLEY_VER=1.2
-GO_VER=1.4.2
+# We need a Go 1.4 to bootstrap later versions; see https://golang.org/doc/install/source#go14
+GO14_VER=1.4.3
+GO_VER=1.6.2
 NSIS_VER=2.51
 ELFUTILS_VER=0.160
 
@@ -92,6 +94,7 @@ TWISTED_PACKAGE=Twisted-${TWISTED_VER}.tar.bz2
 PY2EXE_PACKAGE=py2exe-${PY2EXE_VER}.win32-py2.7.exe
 SETUPTOOLS_PACKAGE=setuptools-${SETUPTOOLS_VER}.tar.gz
 PARSLEY_PACKAGE=Parsley-${PARSLEY_VER}.tar.gz
+GO14_PACKAGE=go${GO14_VER}.src.tar.gz
 GO_PACKAGE=go${GO_VER}.src.tar.gz
 NSIS_PACKAGE=nsis-${NSIS_VER}-src.tar.bz2
 NSIS_DEBIAN_PACKAGE=nsis_${NSIS_VER}-1.debian.tar.xz
@@ -120,7 +123,8 @@ TWISTED_HASH=095175638c019ac7c0604f4c291724a16ff1acd062e181b01293bf4dcbc62cf3
 PY2EXE_HASH=610a8800de3d973ed5ed4ac505ab42ad058add18a68609ac09e6cf3598ef056c
 SETUPTOOLS_HASH=75d288687066ed124311d6ca5f40ffa92a0e81adcd7fff318c6e84082713cf39
 PARSLEY_HASH=50d30cee70770fd44db7cea421cb2fb75af247c3a1cd54885c06b30a7c85dd23
-GO_HASH=299a6fd8f8adfdce15bc06bde926e7b252ae8e24dd5b16b7d8791ed79e7b5e9b
+GO14_HASH=9947fc705b0b841b5938c48b22dc33e9647ec0752bae66e50278df4f23f64959
+GO_HASH=787b0b750d037016a30c6ed05a8a70a91b2e9db4bd9b1a2453aa502a63f1bccc
 NSIS_HASH=43d4c9209847e35eb6e2c7cd5a7586e1445374c056c2c7899e40a080e17a1be7
 NSIS_DEBIAN_HASH=1dee6957b4a4b8dfe69bcf28bc7f301a13b96b3fa5a394e36c8926ae781e774a
 GCC_HASH=5f835b04b5f7dd4f4d2dc96190ec1621b8d89f2dc6f638f9f8bc1b1014ba8cad
@@ -150,6 +154,7 @@ TWISTED_URL=https://pypi.python.org/packages/source/T/Twisted/${TWISTED_PACKAGE}
 PY2EXE_URL=http://liquidtelecom.dl.sourceforge.net/project/py2exe/py2exe/${PY2EXE_VER}/${PY2EXE_PACKAGE}
 SETUPTOOLS_URL=https://pypi.python.org/packages/source/s/setuptools/${SETUPTOOLS_PACKAGE}
 PARSLEY_URL=https://pypi.python.org/packages/source/P/Parsley/${PARSLEY_PACKAGE}
+GO14_URL=https://golang.org/dl/${GO14_PACKAGE}
 GO_URL=https://golang.org/dl/${GO_PACKAGE}
 NSIS_URL=http://downloads.sourceforge.net/nsis/${NSIS_PACKAGE}
 NSIS_DEBIAN_URL=http://http.debian.net/debian/pool/main/n/nsis/${NSIS_DEBIAN_PACKAGE}





More information about the tor-commits mailing list