[tor-commits] [tor-browser-bundle/master] Initial fteproxy integration

mikeperry at torproject.org mikeperry at torproject.org
Thu Feb 27 21:49:39 UTC 2014


commit 8f8a4cd59bfe07e5b8c12e3990627544d9caeab4
Author: Kevin P. Dyer <kpdyer at gmail.com>
Date:   Sun Feb 9 11:47:03 2014 -0800

    Initial fteproxy integration
---
 Bundle-Data/beta/linux/torrc-defaults-appendix     |    5 +++
 gitian/build-helpers/wine-wrappers/g++.py          |   39 +++++++++++++++++++
 gitian/build-helpers/wine-wrappers/setup.py        |    2 +-
 .../linux/gitian-pluggable-transports.yml          |   22 +++++++++++
 .../mac/gitian-pluggable-transports.yml            |   28 ++++++++++++-
 .../windows/gitian-pluggable-transports.yml        |   41 +++++++++++++++++++-
 gitian/fetch-inputs.sh                             |    8 ++--
 gitian/mkbundle-linux.sh                           |    2 +-
 gitian/mkbundle-mac.sh                             |    2 +-
 gitian/mkbundle-windows.sh                         |    2 +-
 gitian/versions.beta                               |    9 ++++-
 11 files changed, 149 insertions(+), 11 deletions(-)

diff --git a/Bundle-Data/beta/linux/torrc-defaults-appendix b/Bundle-Data/beta/linux/torrc-defaults-appendix
index 2f5ad32..b43cd59 100644
--- a/Bundle-Data/beta/linux/torrc-defaults-appendix
+++ b/Bundle-Data/beta/linux/torrc-defaults-appendix
@@ -1,4 +1,9 @@
 
+## fteproxy configuration
+# Bridge fte bridges.fteproxy.org:8080
+
+ClientTransportPlugin fte exec ./Tor/PluggableTransports/fteproxy --managed
+
 ## obfsproxy configuration
 #
 # Bridge obfs3 83.212.101.2:42782 2ADFE7AA8D272C520D1FBFBF4E413F3A1B26313D
diff --git a/gitian/build-helpers/wine-wrappers/g++.py b/gitian/build-helpers/wine-wrappers/g++.py
new file mode 100755
index 0000000..4738420
--- /dev/null
+++ b/gitian/build-helpers/wine-wrappers/g++.py
@@ -0,0 +1,39 @@
+#!/usr/bin/env python
+
+# A wrapper for i686-w64-mingw32-g++ that removes -mno-cygwin and converts
+# Windows paths to Unix paths, so that the w64-mingw32 g++ can be called by
+# Python distutils.
+
+import os
+import subprocess
+import sys
+
+import common
+
+args = ["/usr/bin/i686-w64-mingw32-g++"]
+sys.argv.pop(0)
+while sys.argv:
+    a = sys.argv.pop(0)
+    if not a.startswith("-"):
+        args.append(common.winepath(a))
+        continue
+    if a == "-mno-cygwin":
+        continue
+    if a == "--output-lib":
+        o = sys.argv.pop(0)
+        a = "-out-implib="+o
+    if a in ("-I", "-L"):
+        args.append(a)
+        args.append(common.winepath(sys.argv.pop(0)))
+        continue
+    o = common.search_startswith(a, ("-I", "-L"))
+    if o is not None:
+        path = a[len(o):]
+        args.append("%s%s" % (o, common.winepath(path)))
+        continue
+    args.append(a)
+p = common.popen_faketime(args, stderr=subprocess.PIPE)
+stderr = p.stderr.read()
+sys.stderr.write(stderr)
+if " error: " in stderr:
+    sys.exit(1)
diff --git a/gitian/build-helpers/wine-wrappers/setup.py b/gitian/build-helpers/wine-wrappers/setup.py
index 797015e..77a9526 100644
--- a/gitian/build-helpers/wine-wrappers/setup.py
+++ b/gitian/build-helpers/wine-wrappers/setup.py
@@ -1,7 +1,7 @@
 from distutils.core import setup
 import py2exe
 setup(
-    console=["gcc.py", "dllwrap.py", "swig.py"],
+    console=["gcc.py", "g++.py", "dllwrap.py", "swig.py"],
     zipfile=None,
     options={"py2exe": {"bundle_files": 1, "compressed": True}}
 )
diff --git a/gitian/descriptors/linux/gitian-pluggable-transports.yml b/gitian/descriptors/linux/gitian-pluggable-transports.yml
index 9aafc57..c6c65dd 100644
--- a/gitian/descriptors/linux/gitian-pluggable-transports.yml
+++ b/gitian/descriptors/linux/gitian-pluggable-transports.yml
@@ -10,6 +10,7 @@ packages:
 - "unzip"
 - "zip"
 - "swig"
+- "m4"
 - "python-setuptools"
 - "python-dev"
 - "faketime"
@@ -22,8 +23,11 @@ remotes:
   "dir": "obfsproxy"
 - "url": "https://git.torproject.org/flashproxy.git"
   "dir": "flashproxy"
+- "url": "https://github.com/kpdyer/fteproxy.git"
+  "dir": "fteproxy"
 files:
 - "openssl.tar.gz"
+- "gmp.tar.bz2"
 - "pycrypto.tar.gz"
 - "argparse.tar.gz"
 - "zope.interface.zip"
@@ -50,6 +54,15 @@ script: |
   mkdir -p $PTDIR
   mkdir -p $INSTDIR/Debug/
   #
+  tar xvf gmp.tar.bz2
+  cd gmp-*
+  find -type f | xargs touch --date="$REFERENCE_DATETIME"
+  ./configure --prefix=$INSTDIR/gmp --disable-static --enable-shared --enable-cxx
+  make
+  make install
+  cp -an $INSTDIR/gmp/lib/*.so* $INSTDIR/Tor
+  cd ..
+  #
   cd pyptlib
   find -type f | xargs touch --date="$REFERENCE_DATETIME"
   python setup.py build --build-lib build
@@ -118,6 +131,15 @@ script: |
   cp -a {doc/*,README,LICENSE,ChangeLog} $INSTDIR/Docs/FlashProxy
   cd ..
   #
+  cd fteproxy
+  find -type f | xargs touch --date="$REFERENCE_DATETIME"
+  CFLAGS="-L$INSTDIR/Tor -I$INSTDIR/gmp/include" CXXFLAGS="-L$INSTDIR/Tor -I$INSTDIR/gmp/include" make
+  cp -a bin/fteproxy $PTDIR/
+  cp -ra fte $PTDIR/
+  mkdir -p $INSTDIR/Docs/fteproxy
+  cp -a {COPYING,README.md} $INSTDIR/Docs/fteproxy
+  cd ..
+  #
   cd $INSTDIR
   #
   ~/build/dzip.sh pluggable-transports-linux$GBUILD_BITS-gbuilt.zip Tor/ Docs/
diff --git a/gitian/descriptors/mac/gitian-pluggable-transports.yml b/gitian/descriptors/mac/gitian-pluggable-transports.yml
index d44193c..5aaf364 100644
--- a/gitian/descriptors/mac/gitian-pluggable-transports.yml
+++ b/gitian/descriptors/mac/gitian-pluggable-transports.yml
@@ -9,7 +9,9 @@ packages:
 - "unzip"
 - "zip"
 - "swig"
+- "m4"
 - "python-setuptools"
+- "python-dev"
 - "faketime"
 - "libtool"
 #- "libssl0.9.8"
@@ -21,8 +23,11 @@ remotes:
   "dir": "obfsproxy"
 - "url": "https://git.torproject.org/flashproxy.git"
   "dir": "flashproxy"
+- "url": "https://github.com/kpdyer/fteproxy.git"
+  "dir": "fteproxy"
 files:
 - "openssl.tar.gz"
+- "gmp.tar.bz2"
 - "pycrypto.tar.gz"
 - "argparse.tar.gz"
 - "zope.interface.zip"
@@ -47,10 +52,13 @@ script: |
   #export CXXFLAGS=$CFLAGS
   #export LDFLAGS=$CFLAGS
   export PATH="$PATH:/usr/apple-osx/bin/"
+  export AR=/usr/apple-osx/bin/i686-apple-darwin11-ar
   export CC=/usr/apple-osx/bin/i686-apple-darwin11-gcc
+  export CXX=/usr/apple-osx/bin/i686-apple-darwin11-g++
   # http://bugs.python.org/issue9437
   export LDSHARED="$CC -pthread -shared"
-  export CFLAGS="-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"
+  export CFLAGS="-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 CXXFLAGS="-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"
   #
   mkdir -p $PTDIR/
@@ -63,6 +71,15 @@ script: |
   # For OpenSSL
   sudo ln -s /usr/apple-osx/bin/apple-osx-gcc /usr/apple-osx/bin/i686-apple-darwin11-cc
   #
+  tar xvf gmp.tar.bz2
+  cd gmp-*
+  find -type f | xargs touch --date="$REFERENCE_DATETIME"
+  ./configure --host=i686-apple-darwin11 --prefix=$INSTDIR/gmp --disable-static --enable-shared --enable-cxx
+  make
+  make install
+  cp $INSTDIR/gmp/lib/*dylib* $INSTDIR/TorBrowserBundle.app/Tor/
+  cd ..
+  #
   cd pyptlib
   find -type f | xargs touch --date="$REFERENCE_DATETIME"
   python setup.py build --build-lib build
@@ -141,6 +158,15 @@ script: |
   cp -a {doc/*,README,LICENSE,ChangeLog} $INSTDIR/TorBrowserBundle.app/Docs/FlashProxy
   cd ..
   #
+  cd fteproxy
+  find -type f | xargs touch --date="$REFERENCE_DATETIME"
+  CFLAGS="-L$INSTDIR/Tor -I$INSTDIR/gmp/include $CFLAGS" CXXFLAGS="-L$INSTDIR/Tor -I$INSTDIR/gmp/include $CXXFLAGS" make
+  cp -a bin/fteproxy $PTDIR/
+  cp -ra fte $PTDIR/
+  mkdir -p $INSTDIR/Docs/fteproxy
+  cp -a {COPYING,README.md} $INSTDIR/Docs/fteproxy
+  cd ..
+  #
   cd $INSTDIR
   ~/build/dzip.sh pluggable-transports-mac$GBUILD_BITS-gbuilt.zip TorBrowserBundle.app
   cp pluggable-transports-mac$GBUILD_BITS-gbuilt.zip $OUTDIR/
diff --git a/gitian/descriptors/windows/gitian-pluggable-transports.yml b/gitian/descriptors/windows/gitian-pluggable-transports.yml
index a8535c6..92dddeb 100644
--- a/gitian/descriptors/windows/gitian-pluggable-transports.yml
+++ b/gitian/descriptors/windows/gitian-pluggable-transports.yml
@@ -10,7 +10,10 @@ packages:
 - "zip"
 - "swig"
 - "p7zip-full"
+- "m4"
 - "mingw-w64"
+- "g++-mingw-w64"
+- "python-dev"
 - "faketime"
 - "libtool"
 reference_datetime: "2000-01-01 00:00:00"
@@ -21,8 +24,11 @@ remotes:
   "dir": "obfsproxy"
 - "url": "https://git.torproject.org/flashproxy.git"
   "dir": "flashproxy"
+- "url": "https://github.com/kpdyer/fteproxy.git"
+  "dir": "fteproxy"
 files:
 - "openssl.tar.gz"
+- "gmp.tar.bz2"
 - "setuptools.tar.gz"
 - "pycrypto.tar.gz"
 - "zope.interface.zip"
@@ -71,6 +77,18 @@ script: |
     rm -rf "$tmpdir"
   }
   #
+  #
+  tar xvf gmp.tar.bz2
+  cd gmp-*
+  find -type f | xargs touch --date="$REFERENCE_DATETIME"
+  ./configure --prefix=$INSTDIR/gmp --host=i686-w64-mingw32 --enable-cxx --disable-static --enable-shared
+  make
+  make install
+  cp -an $INSTDIR/gmp/bin/*dll* $INSTDIR/Tor
+  cp -an $INSTDIR/gmp/lib/*dll* $INSTDIR/Tor
+  cd ..
+  #
+  #
   # Install a Wine new enough to have a fix for http://bugs.winehq.org/show_bug.cgi?id=29764;
   # otherwise Python run under Wine constantly crashes in _PyVerify_fd, which is
   # called by such common operations as io.open and os.fstat (anything involving
@@ -103,7 +121,7 @@ script: |
   mkdir -p build/bdist.win32/winexe/bundle-2.7/
   cp -a $INSTDIR/python/python27.dll build/bdist.win32/winexe/bundle-2.7/
   LD_PRELOAD= $INSTPYTHON setup.py py2exe
-  cp -a dist/gcc.exe dist/dllwrap.exe dist/swig.exe $WINEROOT/windows/
+  cp -a dist/gcc.exe dist/g++.exe dist/dllwrap.exe dist/swig.exe $WINEROOT/windows/
   cd ..
   #
   tar xzf setuptools.tar.gz
@@ -156,6 +174,7 @@ script: |
   cd obfsproxy
   find -type f | xargs touch --date="$REFERENCE_DATETIME"
   LD_PRELOAD= $INSTPYTHON setup_py2exe.py py2exe
+  LD_PRELOAD= $INSTPYTHON setup.py install
   py2exe_zip_timestomp py2exe_bundle/dist/obfsproxy.zip
   cp -an py2exe_bundle/dist/{*.pyd,*.exe,*.zip} $PTDIR/
   mkdir -p $INSTDIR/Docs/Obfsproxy
@@ -188,6 +207,26 @@ script: |
   cp {doc/*,README,LICENSE,ChangeLog} $INSTDIR/Docs/FlashProxy
   cd ..
   #
+  cd fteproxy
+  cp $INSTDIR/gmp/bin/*dll* .
+  cp $INSTDIR/gmp/lib/*dll* .
+  ln -s $INSTDIR/gmp thirdparty/gmp
+  find -type f | xargs touch --date="$REFERENCE_DATETIME"
+  make win32
+  make thirdparty/re2/obj/libre2.a
+  LD_PRELOAD= $INSTPYTHON setup.py build_ext -c mingw32 --inplace
+  LD_PRELOAD= $INSTPYTHON setup.py py2exe
+  mkdir -p $PTDIR/fte
+  mkdir -p $PTDIR/fte/tests
+  cp -an dist/{*.pyd,*.exe,*.zip} $PTDIR/
+  cp -an fte/VERSION $PTDIR/fte
+  cp -ran fte/defs $PTDIR/fte
+  cp -ran fte/tests/dfas $PTDIR/fte/tests
+  cp -an thirdparty/gmp/bin/*.dll $PTDIR/
+  mkdir -p $INSTDIR/Docs/fteproxy
+  cp -an {COPYING,README.md} $INSTDIR/Docs/fteproxy
+  cd ..
+  #
   # http://bugs.winehq.org/show_bug.cgi?id=3591
   cp -a $INSTDIR/python/python27.dll $PTDIR/
   #
diff --git a/gitian/fetch-inputs.sh b/gitian/fetch-inputs.sh
index d4eda0e..d757f4d 100755
--- a/gitian/fetch-inputs.sh
+++ b/gitian/fetch-inputs.sh
@@ -132,7 +132,7 @@ do
   fi
 done
 
-for i in BINUTILS GCC PYTHON PYCRYPTO M2CRYPTO PYTHON_MSI
+for i in BINUTILS GCC PYTHON PYCRYPTO M2CRYPTO PYTHON_MSI GMP
 do
   PACKAGE="${i}_PACKAGE"
   URL="${i}_URL"
@@ -151,7 +151,6 @@ do
   fi
 done
 
-
 for i in TOOLCHAIN4 OSXSDK MSVCR100
 do
   PACKAGE="${i}_PACKAGE"
@@ -195,6 +194,7 @@ do
     exit 1
   fi
 done
+
 cd ..
 
 # NoScript and PDF.JS are magikal and special:
@@ -217,7 +217,7 @@ 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 NOSCRIPT MINGW MSVCR100 PYCRYPTO ARGPARSE ZOPEINTERFACE TWISTED M2CRYPTO SETUPTOOLS OPENSSL
+for i in OSXSDK TOOLCHAIN4 NOSCRIPT MINGW MSVCR100 PYCRYPTO ARGPARSE ZOPEINTERFACE TWISTED M2CRYPTO SETUPTOOLS OPENSSL GMP
 do
    PACKAGE="${i}_PACKAGE"
    HASH="${i}_HASH"
@@ -265,6 +265,7 @@ ln -sf "$TWISTED_PACKAGE" twisted.tar.bz2
 ln -sf "$M2CRYPTO_PACKAGE" m2crypto.tar.gz
 ln -sf "$PY2EXE_PACKAGE" py2exe.exe
 ln -sf "$SETUPTOOLS_PACKAGE" setuptools.tar.gz
+ln -sf "$GMP_PACKAGE" gmp.tar.bz2
 
 # Fetch latest gitian-builder itself
 # XXX - this is broken if a non-standard inputs dir is selected using the command line flag.
@@ -290,6 +291,7 @@ tor-browser           https://git.torproject.org/tor-browser.git          $TORBR
 pyptlib               https://git.torproject.org/pluggable-transports/pyptlib.git
 obfsproxy             https://git.torproject.org/pluggable-transports/obfsproxy.git
 flashproxy            https://git.torproject.org/flashproxy.git
+fteproxy              https://github.com/kpdyer/fteproxy.git
 EOF
 
 exit 0
diff --git a/gitian/mkbundle-linux.sh b/gitian/mkbundle-linux.sh
index 960d33c..d2901d8 100755
--- a/gitian/mkbundle-linux.sh
+++ b/gitian/mkbundle-linux.sh
@@ -129,7 +129,7 @@ then
   echo "****** Starting Pluggable Transports Component of Linux Bundle (3/4 for Linux) ******"
   echo 
 
-  ./bin/gbuild -j $NUM_PROCS --commit pyptlib=$PYPTLIB_TAG,obfsproxy=$OBFSPROXY_TAG,flashproxy=$FLASHPROXY_TAG $DESCRIPTOR_DIR/linux/gitian-pluggable-transports.yml
+  ./bin/gbuild -j $NUM_PROCS --commit pyptlib=$PYPTLIB_TAG,obfsproxy=$OBFSPROXY_TAG,flashproxy=$FLASHPROXY_TAG,fteproxy=$FTEPROXY_TAG $DESCRIPTOR_DIR/linux/gitian-pluggable-transports.yml
   if [ $? -ne 0 ];
   then
     #mv var/build.log ./pluggable-transports-fail-linux.log.`date +%Y%m%d%H%M%S`
diff --git a/gitian/mkbundle-mac.sh b/gitian/mkbundle-mac.sh
index 21e88d2..1f5eb18 100755
--- a/gitian/mkbundle-mac.sh
+++ b/gitian/mkbundle-mac.sh
@@ -126,7 +126,7 @@ then
   echo "****** Starting Pluggable Transports Component of Mac Bundle (3/4 for Mac) ******"
   echo 
 
-  ./bin/gbuild -j $NUM_PROCS --commit pyptlib=$PYPTLIB_TAG,obfsproxy=$OBFSPROXY_TAG,flashproxy=$FLASHPROXY_TAG $DESCRIPTOR_DIR/mac/gitian-pluggable-transports.yml
+  ./bin/gbuild -j $NUM_PROCS --commit pyptlib=$PYPTLIB_TAG,obfsproxy=$OBFSPROXY_TAG,flashproxy=$FLASHPROXY_TAG,fteproxy=$FTEPROXY_TAG $DESCRIPTOR_DIR/mac/gitian-pluggable-transports.yml
   if [ $? -ne 0 ];
   then
     #mv var/build.log ./firefox-fail-mac.log.`date +%Y%m%d%H%M%S`
diff --git a/gitian/mkbundle-windows.sh b/gitian/mkbundle-windows.sh
index 3760b01..c30ccf1 100755
--- a/gitian/mkbundle-windows.sh
+++ b/gitian/mkbundle-windows.sh
@@ -127,7 +127,7 @@ then
   echo "****** Starting Pluggable Transports Component of Windows Bundle (3/4 for Windows) ******"
   echo 
 
-  ./bin/gbuild -j $NUM_PROCS --commit pyptlib=$PYPTLIB_TAG,obfsproxy=$OBFSPROXY_TAG,flashproxy=$FLASHPROXY_TAG $DESCRIPTOR_DIR/windows/gitian-pluggable-transports.yml
+  ./bin/gbuild -j $NUM_PROCS --commit pyptlib=$PYPTLIB_TAG,obfsproxy=$OBFSPROXY_TAG,flashproxy=$FLASHPROXY_TAG,fteproxy=$FTEPROXY_TAG $DESCRIPTOR_DIR/windows/gitian-pluggable-transports.yml
   if [ $? -ne 0 ];
   then
     #mv var/build.log ./pluggable-transports-fail-win32.log.`date +%Y%m%d%H%M%S`
diff --git a/gitian/versions.beta b/gitian/versions.beta
index 7cb474e..775d7f9 100755
--- a/gitian/versions.beta
+++ b/gitian/versions.beta
@@ -13,13 +13,15 @@ NSIS_TAG=v0.1
 ZLIB_TAG=v1.2.8
 LIBEVENT_TAG=release-2.0.21-stable
 MINGW_REV=6184
-PYPTLIB_TAG=pyptlib-0.0.4
-OBFSPROXY_TAG=obfsproxy-0.2.3
+PYPTLIB_TAG=pyptlib-0.0.5
+OBFSPROXY_TAG=obfsproxy-0.2.4
 FLASHPROXY_TAG=1.4
+FTEPROXY_TAG=0.2.6
 
 GITIAN_TAG=tor-browser-builder-3.0-4
 
 OPENSSL_VER=1.0.1f
+GMP_VER=5.1.3
 FIREFOX_LANG_VER=24.3.0esr
 BINUTILS_VER=2.22
 GCC_VER=4.6.3
@@ -34,6 +36,7 @@ SETUPTOOLS_VER=1.4
 
 ## File names for the source packages
 OPENSSL_PACKAGE=openssl-${OPENSSL_VER}.tar.gz
+GMP_PACKAGE=gmp-${GMP_VER}.tar.bz2
 NOSCRIPT_PACKAGE=noscript_security_suite-2.6.8.13-fn+sm+fx.xpi
 TOOLCHAIN4_PACKAGE=x86_64-apple-darwin10.tar.xz
 OSXSDK_PACKAGE=apple-uni-sdk-10.6_20110407-0.flosoft1_i386.deb
@@ -53,6 +56,7 @@ SETUPTOOLS_PACKAGE=setuptools-${SETUPTOOLS_VER}.tar.gz
 
 # Hashes for packages with weak sigs or no sigs
 OPENSSL_HASH=6cc2a80b17d64de6b7bac985745fdaba971d54ffd7d38d3556f998d7c0c9cb5a
+GMP_HASH=752079520b4690531171d0f4532e40f08600215feefede70b24fabdc6f1ab160
 OSXSDK_HASH=6602d8d5ddb371fbc02e2a5967d9bd0cd7358d46f9417753c8234b923f2ea6fc
 TOOLCHAIN4_HASH=7b71bfe02820409b994c5c33a7eab81a81c72550f5da85ff7af70da3da244645
 NOSCRIPT_HASH=0d90f283ee9e3be5bb1ebc315fab12994ff5a15380bd3a2fdff62750286b4ea1
@@ -68,6 +72,7 @@ SETUPTOOLS_HASH=75d288687066ed124311d6ca5f40ffa92a0e81adcd7fff318c6e84082713cf39
 
 ## Non-git package URLs
 OPENSSL_URL=https://www.openssl.org/source/${OPENSSL_PACKAGE}
+GMP_URL=https://ftp.gnu.org/gnu/gmp/${GMP_PACKAGE}
 TOOLCHAIN4_URL=https://people.torproject.org/~mikeperry/mirrors/sources/${TOOLCHAIN4_PACKAGE}
 OSXSDK_URL=https://launchpad.net/~flosoft/+archive/cross-apple/+files/${OSXSDK_PACKAGE}
 BINUTILS_URL=https://ftp.gnu.org/gnu/binutils/${BINUTILS_PACKAGE}





More information about the tor-commits mailing list