commit 0c23af0c8c287a79a195de3df97bb70488e6ab23 Author: Georg Koppen gk@torproject.org Date: Sun Feb 3 14:02:47 2019 +0000
Bug 29319: Remove FTE support for Windows
We want to use our new mingw-w64/clang toolchain for our Windows cross-compilation, which requires a newer Wine among other updated components. We need to switch to Debian Stretch for that which is necessary anyway sooner or later given that Jessie is not properly maintained anymore.
Updating to Stretch breaks FTE and fixing the breakage seems non-trivial. We therefore remove support for Windows where it existed (there was no 64bit support implemented yet, see: #24195) as it is planned to replace FTE with a new pluggable transport in the near future anyway. --- projects/argparse/build | 19 ++------ projects/argparse/config | 8 ---- projects/fteproxy/build | 24 ++-------- projects/fteproxy/config | 8 ---- projects/libfte/bug20302.patch | 36 -------------- projects/libfte/build | 24 ++-------- projects/libfte/config | 9 ---- projects/obfsproxy/build | 23 ++------- projects/obfsproxy/config | 8 ---- projects/parsley/build | 21 ++------- projects/parsley/config | 8 ---- projects/pycrypto/build | 28 +++-------- projects/pycrypto/config | 7 --- projects/pyptlib/build | 21 ++------- projects/pyptlib/config | 8 ---- projects/pyyaml/build | 21 ++------- projects/pyyaml/config | 8 ---- .../PTConfigs/windows/torrc-defaults-appendix | 3 -- projects/tor-browser/build | 8 ++-- projects/twisted/build | 30 ++---------- projects/twisted/config | 8 ---- projects/txsocksx/build | 21 ++------- projects/txsocksx/config | 8 ---- projects/winpython/build | 36 -------------- projects/winpython/config | 55 ---------------------- projects/winpython/pyc-timestamp.sh | 18 ------- projects/winpython/wine-wrappers/common.py | 27 ----------- projects/winpython/wine-wrappers/dllwrap.py | 36 -------------- projects/winpython/wine-wrappers/g++.py | 39 --------------- projects/winpython/wine-wrappers/gcc.py | 36 -------------- projects/winpython/wine-wrappers/settings.py | 2 - projects/winpython/wine-wrappers/setup.py | 7 --- projects/zope.interface/build | 27 ++--------- projects/zope.interface/config | 9 ---- rbm.conf | 2 +- 35 files changed, 57 insertions(+), 596 deletions(-)
diff --git a/projects/argparse/build b/projects/argparse/build index 3d5b424..3170601 100644 --- a/projects/argparse/build +++ b/projects/argparse/build @@ -1,24 +1,13 @@ #!/bin/bash [% c("var/set_default_env") -%] distdir="/var/tmp/dist/[% project %]" -[% IF c("var/windows") -%] - [% pc(c('var/compiler'), 'var/setup', { compiler_tarfile => c('input_files_by_name/' _ c('var/compiler')) }) %] -[% ELSE -%] - [% c("var/set_PTDIR_DOCSDIR") -%] - mkdir -p $PTDIR -[% END -%] +[% c("var/set_PTDIR_DOCSDIR") -%] +mkdir -p $PTDIR mkdir -p /var/tmp/build tar -C /var/tmp/build -xf $rootdir/[% project %]-[% c('version') %].tar.gz cd /var/tmp/build/[% project %]-[% c('version') %] -[% IF c("var/windows") -%] - pydir="$distdir/python" - mkdir -p $pydir/Lib/site-packages - export PYTHONPATH="$(wine winepath -w $pydir)\Lib\site-packages" - $PYTHON setup.py install --prefix=$(wine winepath -w $pydir) -[% ELSE -%] - python2 setup.py build --build-lib build - cp -a build/argparse.py $PTDIR/ -[% END -%] +python2 setup.py build --build-lib build +cp -a build/argparse.py $PTDIR/ cd $distdir [% c('tar', { tar_src => [ '.' ], diff --git a/projects/argparse/config b/projects/argparse/config index 730a4f1..87f80b0 100644 --- a/projects/argparse/config +++ b/projects/argparse/config @@ -12,16 +12,8 @@ targets: arch_deps: - python-setuptools - python-dev - windows-i686: - var: - compiler: winpython - arch_deps: - - wine
input_files: - project: container-image - URL: 'https://pypi.python.org/packages/source/a/argparse/argparse-%5B% c("version") %].tar.gz' sha256sum: ddaf4b0a618335a32b6664d4ae038a1de8fbada3b25033f9021510ed2b3941a4 - - name: '[% c("var/compiler") %]' - project: '[% c("var/compiler") %]' - enable: '[% c("var/windows") %]' diff --git a/projects/fteproxy/build b/projects/fteproxy/build index 6b6a82f..ea37d05 100644 --- a/projects/fteproxy/build +++ b/projects/fteproxy/build @@ -3,30 +3,14 @@ distdir="/var/tmp/dist/[% project %]" [% c("var/set_PTDIR_DOCSDIR") -%] mkdir -p $PTDIR $DOCSDIR -[% IF c("var/windows") -%] - [% pc(c('var/compiler'), 'var/setup', { compiler_tarfile => c('input_files_by_name/' _ c('var/compiler')) }) %] -[% END -%] tar -C $distdir -xf $rootdir/[% c('input_files_by_name/libfte') %] mkdir -p /var/tmp/build tar -C /var/tmp/build -xf $rootdir/[% project %]-[% c('version') %].tar.gz cd /var/tmp/build/[% project %]-[% c('version') %] -[% IF c("var/windows") -%] - pydir="$distdir/python" - export PYTHONPATH="$(wine winepath -w $pydir)\Lib\site-packages" - $PYTHON setup_tbb.py py2exe - py2exe_zip_timestomp dist/fteproxy.zip - cp -an dist/{*.pyd,*.exe,*.zip} $PTDIR/ - mkdir -p $PTDIR/fteproxy - cp -a fteproxy/VERSION $PTDIR/fteproxy - mkdir -p $PTDIR/fteproxy/defs - cp -a fteproxy/defs/*.json $PTDIR/fteproxy/defs - rm -Rf $pydir -[% ELSE -%] - cp -a $rootdir/fteproxy.wrapper $PTDIR/fteproxy.wrapper - chmod +x $PTDIR/fteproxy.wrapper - cp -a bin/fteproxy $PTDIR/fteproxy.bin - cp -ra fteproxy $PTDIR/ -[% END -%] +cp -a $rootdir/fteproxy.wrapper $PTDIR/fteproxy.wrapper +chmod +x $PTDIR/fteproxy.wrapper +cp -a bin/fteproxy $PTDIR/fteproxy.bin +cp -ra fteproxy $PTDIR/ cp -a {COPYING,README.md} $DOCSDIR/ cd $distdir [% c('tar', { diff --git a/projects/fteproxy/config b/projects/fteproxy/config index 06ea149..9f797c5 100644 --- a/projects/fteproxy/config +++ b/projects/fteproxy/config @@ -15,18 +15,10 @@ targets: arch_deps: - python-setuptools - python-dev - windows-i686: - var: - compiler: winpython - arch_deps: - - wine
input_files: - project: container-image - project: libfte name: libfte - - name: '[% c("var/compiler") %]' - project: '[% c("var/compiler") %]' - enable: '[% c("var/windows") %]' - filename: fteproxy.wrapper enable: '[% c("var/linux") %]' diff --git a/projects/libfte/bug20302.patch b/projects/libfte/bug20302.patch deleted file mode 100644 index a190e1d..0000000 --- a/projects/libfte/bug20302.patch +++ /dev/null @@ -1,36 +0,0 @@ -From a2cee5aaf51df9660de6df98ada6706546739d13 Mon Sep 17 00:00:00 2001 -From: Georg Koppen gk@torproject.org -Date: Fri, 7 Oct 2016 09:10:41 +0000 -Subject: [PATCH] Compiling with GCC 6.4.0 based mingw-w64 is broken - -Due to a bug in Python (https://bugs.python.org/issue11566) compiling -with a GCC 6.4.0 based mingw-w64 is broken. This patch adds a workaround -for this issue. - -diff --git a/setup.py b/setup.py -index f546f1f..721b113 100644 ---- a/setup.py -+++ b/setup.py -@@ -11,16 +11,16 @@ import os - - if os.name == 'nt': - libraries = ['gmp.dll'] -+ extra_compile_args=['-O3', '-fPIC', '-D_hypot=hypot'] - else: - libraries = ['gmp'] -+ extra_compile_args=['-O3', '-fPIC'] - - fte_cDFA = Extension('fte.cDFA', - include_dirs=['fte', - 'thirdparty/gmp/include', - ], -- extra_compile_args=['-O3', -- '-fPIC', -- ], -+ extra_compile_args=extra_compile_args, - library_dirs=['thirdparty/gmp/bin', - 'thirdparty/gmp/lib', - ], --- -2.9.3 - diff --git a/projects/libfte/build b/projects/libfte/build index 3eaeadb..638df7a 100644 --- a/projects/libfte/build +++ b/projects/libfte/build @@ -17,25 +17,11 @@ tar -C $distdir -xf $rootdir/[% c('input_files_by_name/obfsproxy') %] export CXXFLAGS=-m32 export LDFLAGS=-m32 [% END -%] -[% IF c("var/windows") -%] - patch -p1 < $rootdir/bug20302.patch - pydir=$distdir/python - export FAKETIME="[% USE date; GET date.format(c('timestamp'), format = '%Y-%m-%d %H:%M:%S') %]" - export LD_PRELOAD= - export PYTHONPATH="$(wine winepath -w $pydir)\Lib\site-packages" - # FTE only needs libgmp-10.dll and no libgmpxx anymore. - cp -a /var/tmp/dist/gmp/bin/libgmp-10.dll . - cp -a /var/tmp/dist/gmp/bin/libgmp-10.dll $distdir/TorBrowser/Tor/ - WINDOWS_BUILD=1 CROSS_COMPILE=1 make - $PYTHON setup.py install --prefix=$(wine winepath -w "$pydir") - $PYTHON setup.py install -[% ELSE -%] - export PYTHON=python2[% IF c("var/linux-i686") %].7[% END %] - make - cp -ra fte $PTDIR/ - mkdir -p $PTDIR/fteproxy-lib - cp /var/tmp/dist/gmp/lib/libgmp.so.10 $PTDIR/fteproxy-lib -[% END -%] +export PYTHON=python2[% IF c("var/linux-i686") %].7[% END %] +make +cp -ra fte $PTDIR/ +mkdir -p $PTDIR/fteproxy-lib +cp /var/tmp/dist/gmp/lib/libgmp.so.10 $PTDIR/fteproxy-lib cp -a {LICENSE,README.md} $DOCSDIR/ cp -a thirdparty/re2/LICENSE $DOCSDIR/LICENSE.re2 cd $distdir diff --git a/projects/libfte/config b/projects/libfte/config index 415544f..365ad81 100644 --- a/projects/libfte/config +++ b/projects/libfte/config @@ -33,13 +33,6 @@ targets: apt-get download -q -y python-setuptools python-pkg-resources dpkg -i --force-depends python-setuptools*.deb python-pkg-resources*.deb
- windows-i686: - var: - compiler: winpython - arch_deps: - - wine - - faketime - input_files: - project: container-image - name: '[% c("var/compiler") %]' @@ -48,5 +41,3 @@ input_files: name: gmp - project: obfsproxy name: obfsproxy - - filename: bug20302.patch - enable: '[% c("var/windows") %]' diff --git a/projects/obfsproxy/build b/projects/obfsproxy/build index 2c87e95..46f9b7a 100644 --- a/projects/obfsproxy/build +++ b/projects/obfsproxy/build @@ -3,10 +3,6 @@ distdir="/var/tmp/dist/[% project %]" [% c("var/set_PTDIR_DOCSDIR") -%] mkdir -p $PTDIR $DOCSDIR -[% IF c("var/windows") -%] - [% pc(c('var/compiler'), 'var/setup', { compiler_tarfile => c('input_files_by_name/' _ c('var/compiler')) }) %] -[% ELSE -%] -[% END -%] mkdir -p $distdir tar -C $distdir -xf $rootdir/[% c('input_files_by_name/pycrypto') %] tar -C $distdir -xf $rootdir/[% c('input_files_by_name/twisted') %] @@ -19,21 +15,10 @@ tar -C $distdir -xf $rootdir/[% c('input_files_by_name/zope.interface') %] mkdir -p /var/tmp/build tar -C /var/tmp/build -xf $rootdir/[% project %]-[% c('version') %].tar.gz cd /var/tmp/build/[% project %]-[% c('version') %] -[% IF c("var/windows") -%] - pydir="$distdir/python" - export PYTHONPATH="$(wine winepath -w $pydir)\Lib\site-packages" - $PYTHON setup_py2exe.py py2exe - $PYTHON setup.py install --prefix=$(wine winepath -w $pydir) - py2exe_zip_timestomp py2exe_bundle/dist/obfsproxy.zip - cp -an py2exe_bundle/dist/{*.pyd,*.exe,*.zip} $PTDIR/ - # http://bugs.winehq.org/show_bug.cgi?id=3591 - cp -a /var/tmp/dist/winpython/python27.dll $PTDIR -[% ELSE -%] - export PYTHON=python2 - $PYTHON setup.py build --build-lib build - cp -a build/obfsproxy $PTDIR/ - cp -a bin/obfsproxy $PTDIR/obfsproxy.bin -[% END -%] +export PYTHON=python2 +$PYTHON setup.py build --build-lib build +cp -a build/obfsproxy $PTDIR/ +cp -a bin/obfsproxy $PTDIR/obfsproxy.bin cp -a {LICENSE,README} $DOCSDIR cd $distdir [% c('tar', { diff --git a/projects/obfsproxy/config b/projects/obfsproxy/config index 9286c61..9616eed 100644 --- a/projects/obfsproxy/config +++ b/projects/obfsproxy/config @@ -17,11 +17,6 @@ targets: arch_deps: - python-setuptools - python-dev - windows-i686: - var: - compiler: winpython - arch_deps: - - wine
input_files: - project: container-image @@ -41,6 +36,3 @@ input_files: name: txsocksx - project: zope.interface name: zope.interface - - name: '[% c("var/compiler") %]' - project: '[% c("var/compiler") %]' - enable: '[% c("var/windows") %]' diff --git a/projects/parsley/build b/projects/parsley/build index 7b6e632..e32060b 100644 --- a/projects/parsley/build +++ b/projects/parsley/build @@ -1,25 +1,14 @@ #!/bin/bash [% c("var/set_default_env") -%] distdir="/var/tmp/dist/[% project %]" -[% IF c("var/windows") -%] - [% pc(c('var/compiler'), 'var/setup', { compiler_tarfile => c('input_files_by_name/' _ c('var/compiler')) }) %] -[% ELSE -%] - [% c("var/set_PTDIR_DOCSDIR") -%] - mkdir -p $PTDIR -[% END -%] +[% c("var/set_PTDIR_DOCSDIR") -%] +mkdir -p $PTDIR mkdir -p /var/tmp/build tar -C /var/tmp/build -xf $rootdir/Parsley-[% c('version') %].tar.gz cd /var/tmp/build/Parsley-[% c('version') %] -[% IF c("var/windows") -%] - pydir="$distdir/python" - mkdir -p $pydir/Lib/site-packages - export PYTHONPATH="$(wine winepath -w $pydir)\Lib\site-packages" - $PYTHON setup.py install --prefix=$(wine winepath -w $pydir) -[% ELSE -%] - PYTHON=python2 - $PYTHON setup.py build --build-lib build - cp -a build/parsley.py build/ometa build/terml $PTDIR/ -[% END -%] +PYTHON=python2 +$PYTHON setup.py build --build-lib build +cp -a build/parsley.py build/ometa build/terml $PTDIR/ cd $distdir [% c('tar', { tar_src => [ '.' ], diff --git a/projects/parsley/config b/projects/parsley/config index f305822..72d5bfc 100644 --- a/projects/parsley/config +++ b/projects/parsley/config @@ -12,16 +12,8 @@ targets: arch_deps: - python-setuptools - python-dev - windows-i686: - var: - compiler: winpython - arch_deps: - - wine
input_files: - project: container-image - URL: 'https://pypi.python.org/packages/source/P/Parsley/Parsley-%5B% c("version") %].tar.gz' sha256sum: 50d30cee70770fd44db7cea421cb2fb75af247c3a1cd54885c06b30a7c85dd23 - - name: '[% c("var/compiler") %]' - project: '[% c("var/compiler") %]' - enable: '[% c("var/windows") %]' diff --git a/projects/pycrypto/build b/projects/pycrypto/build index ecb9bb8..3162296 100644 --- a/projects/pycrypto/build +++ b/projects/pycrypto/build @@ -4,10 +4,8 @@ set -e [% c("var/setarch") -%] [% pc(c('var/compiler'), 'var/setup', { compiler_tarfile => c('input_files_by_name/' _ c('var/compiler')) }) %] distdir="/var/tmp/dist/[% project %]" -[% IF c("var/linux") -%] - [% c("var/set_PTDIR_DOCSDIR") -%] - mkdir -p $PTDIR -[% END -%] +[% c("var/set_PTDIR_DOCSDIR") -%] +mkdir -p $PTDIR mkdir -p /var/tmp/build tar -C /var/tmp/build -xf $rootdir/[% project %]-[% c('version') %].tar.gz cd /var/tmp/build/[% project %]-[% c('version') %] @@ -16,24 +14,10 @@ cd /var/tmp/build/[% project %]-[% c('version') %] export CXXFLAGS=-m32 export LDFLAGS=-m32 [% END -%] -[% IF c("var/windows") -%] - pydir="$distdir/python" - mkdir -p "$pydir" - export FAKETIME="[% USE date; GET date.format(c('timestamp'), format = '%Y-%m-%d %H:%M:%S') %]" - export LD_PRELOAD=[% c("var/faketime_path") %] - # This is bogus, that we run the configure script in the build environment, - # but it seems to work. https://bugs.launchpad.net/pycrypto/+bug/1096207 for - # ac_cv_func_malloc_0_nonnull. - ac_cv_func_malloc_0_nonnull=yes sh configure --host=i686-w64-mingw32 - export LD_PRELOAD= - $PYTHON setup.py build_ext -c mingw32 - $PYTHON setup.py install --prefix=$(wine winepath -w $pydir) -[% ELSE -%] - export PYTHON=python2[% IF c("var/linux-i686") %].7[% END %] - ./configure --build=i686-linux-gnu [% c("var/configure_opt") %] - $PYTHON setup.py build --build-lib build - cp -a build/Crypto $PTDIR/ -[% END -%] +export PYTHON=python2[% IF c("var/linux-i686") %].7[% END %] +./configure --build=i686-linux-gnu [% c("var/configure_opt") %] +$PYTHON setup.py build --build-lib build +cp -a build/Crypto $PTDIR/ cd $distdir [% c('tar', { tar_src => [ '.' ], diff --git a/projects/pycrypto/config b/projects/pycrypto/config index 879484f..56fe397 100644 --- a/projects/pycrypto/config +++ b/projects/pycrypto/config @@ -30,13 +30,6 @@ targets: apt-get download -q -y python-setuptools python-pkg-resources dpkg -i --force-depends python-setuptools*.deb python-pkg-resources*.deb
- windows-i686: - var: - compiler: winpython - arch_deps: - - faketime - - wine - input_files: - project: container-image - name: '[% c("var/compiler") %]' diff --git a/projects/pyptlib/build b/projects/pyptlib/build index fa6d78d..1dc0c07 100644 --- a/projects/pyptlib/build +++ b/projects/pyptlib/build @@ -1,25 +1,14 @@ #!/bin/bash [% c("var/set_default_env") -%] distdir="/var/tmp/dist/[% project %]" -[% IF c("var/linux") -%] - [% c("var/set_PTDIR_DOCSDIR") -%] - mkdir -p $PTDIR -[% END -%] -[% IF c("var/windows") -%] - [% pc(c('var/compiler'), 'var/setup', { compiler_tarfile => c('input_files_by_name/' _ c('var/compiler')) }) %] -[% END -%] +[% c("var/set_PTDIR_DOCSDIR") -%] +mkdir -p $PTDIR mkdir -p /var/tmp/build tar -C /var/tmp/build -xf $rootdir/[% project %]-[% c('version') %].tar.gz cd /var/tmp/build/[% project %]-[% c('version') %] -[% IF c("var/windows") -%] - pydir="$distdir/python" - mkdir -p "$pydir" - $PYTHON setup.py install --single-version-externally-managed --record /dev/null --prefix=$(wine winepath -w $pydir) -[% ELSE -%] - export PYTHON=python2 - $PYTHON setup.py build --build-lib build - cp -a build/pyptlib $PTDIR/ -[% END -%] +export PYTHON=python2 +$PYTHON setup.py build --build-lib build +cp -a build/pyptlib $PTDIR/ cd $distdir [% c('tar', { tar_src => [ '.' ], diff --git a/projects/pyptlib/config b/projects/pyptlib/config index 36a6037..e8ca100 100644 --- a/projects/pyptlib/config +++ b/projects/pyptlib/config @@ -16,14 +16,6 @@ targets: arch_deps: - python-setuptools - python-dev - windows-i686: - var: - compiler: winpython - arch_deps: - - wine
input_files: - project: container-image - - name: '[% c("var/compiler") %]' - project: '[% c("var/compiler") %]' - enable: '[% c("var/windows") %]' diff --git a/projects/pyyaml/build b/projects/pyyaml/build index 72dc553..c10855c 100644 --- a/projects/pyyaml/build +++ b/projects/pyyaml/build @@ -1,25 +1,14 @@ #!/bin/bash [% c("var/set_default_env") -%] distdir="/var/tmp/dist/[% project %]" -[% IF c("var/windows") -%] - [% pc(c('var/compiler'), 'var/setup', { compiler_tarfile => c('input_files_by_name/' _ c('var/compiler')) }) %] -[% ELSE -%] - [% c("var/set_PTDIR_DOCSDIR") -%] - mkdir -p $PTDIR -[% END -%] +[% c("var/set_PTDIR_DOCSDIR") -%] +mkdir -p $PTDIR mkdir -p /var/tmp/build tar -C /var/tmp/build -xf $rootdir/PyYAML-[% c('version') %].tar.gz cd /var/tmp/build/PyYAML-[% c('version') %] -[% IF c("var/windows") -%] - pydir="$distdir/python" - mkdir -p $pydir/Lib/site-packages - export PYTHONPATH="$(wine winepath -w $pydir)\Lib\site-packages" - $PYTHON setup.py install --prefix=$(wine winepath -w $pydir) -[% ELSE -%] - export PYTHON=python2 - $PYTHON setup.py build --build-lib build - cp -a build/yaml $PTDIR/ -[% END -%] +export PYTHON=python2 +$PYTHON setup.py build --build-lib build +cp -a build/yaml $PTDIR/ cd $distdir [% c('tar', { tar_src => [ '.' ], diff --git a/projects/pyyaml/config b/projects/pyyaml/config index f2b928e..5324c10 100644 --- a/projects/pyyaml/config +++ b/projects/pyyaml/config @@ -12,16 +12,8 @@ targets: arch_deps: - python-setuptools - python-dev - windows-i686: - var: - compiler: winpython - arch_deps: - - wine
input_files: - project: container-image - URL: 'https://pypi.python.org/packages/source/P/PyYAML/PyYAML-%5B% c("version") %].tar.gz' sha256sum: c36c938a872e5ff494938b33b14aaa156cb439ec67548fcab3535bb78b0846e8 - - name: '[% c("var/compiler") %]' - project: '[% c("var/compiler") %]' - enable: '[% c("var/windows") %]' diff --git a/projects/tor-browser/Bundle-Data/PTConfigs/windows/torrc-defaults-appendix b/projects/tor-browser/Bundle-Data/PTConfigs/windows/torrc-defaults-appendix index 94d7fd9..7192231 100644 --- a/projects/tor-browser/Bundle-Data/PTConfigs/windows/torrc-defaults-appendix +++ b/projects/tor-browser/Bundle-Data/PTConfigs/windows/torrc-defaults-appendix @@ -1,6 +1,3 @@ -## fteproxy configuration -ClientTransportPlugin fte exec TorBrowser\Tor\PluggableTransports\fteproxy.exe --managed - ## obfs4proxy configuration ClientTransportPlugin obfs2,obfs3,obfs4,scramblesuit exec TorBrowser\Tor\PluggableTransports\obfs4proxy.exe
diff --git a/projects/tor-browser/build b/projects/tor-browser/build index fc64ee1..1d73ff5 100644 --- a/projects/tor-browser/build +++ b/projects/tor-browser/build @@ -129,11 +129,9 @@ cat Bundle-Data/PTConfigs/[% bundledata_osname %]/torrc-defaults-appendix >> "$T [% END %] [% END -%] [% IF c("var/windows") -%] - # We don't have snowflake available on Windows yet - # We don't have fte available on Windows x86_64 yet - grep -v 'default_bridge.snowflake' Bundle-Data/PTConfigs/bridge_prefs.js \ - [% IF c("var/windows-x86_64") %]| grep -v 'default_bridge.fte' [% END %] \ - >> "$GENERATEDPREFSPATH" + # We don't have snowflake and FTE available on Windows (yet). + grep -v 'default_bridge.snowflake' Bundle-Data/PTConfigs/bridge_prefs.js | \ + grep -v 'default_bridge.fte' >> "$GENERATEDPREFSPATH" [% END -%] [% IF c("var/osx") -%] # FTE is temporarily removed due to bug 18495. diff --git a/projects/twisted/build b/projects/twisted/build index 9aebe24..3ce2eb0 100644 --- a/projects/twisted/build +++ b/projects/twisted/build @@ -2,10 +2,8 @@ [% c("var/set_default_env") -%] distdir="/var/tmp/dist/[% project %]" [% pc(c('var/compiler'), 'var/setup', { compiler_tarfile => c('input_files_by_name/' _ c('var/compiler')) }) %] -[% IF ! c("var/windows") -%] - [% c("var/set_PTDIR_DOCSDIR") -%] - mkdir -p $PTDIR -[% END -%] +[% c("var/set_PTDIR_DOCSDIR") -%] +mkdir -p $PTDIR mkdir -p /var/tmp/build tar -C /var/tmp/build -xf $rootdir/Twisted-[% c('version') %].tar.bz2 cd /var/tmp/build/Twisted-[% c('version') %] @@ -14,27 +12,9 @@ cd /var/tmp/build/Twisted-[% c('version') %] export CXXFLAGS=-m32 export LDFLAGS=-m32 [% END -%] -[% IF c("var/windows") -%] - pydir="$distdir/python" - export FAKETIME="[% USE date; GET date.format(c('timestamp'), format = '%Y-%m-%d %H:%M:%S') %]" - export LD_PRELOAD=[% c("var/faketime_path") %] - # twisted/internet/iocpreactor/iocpsupport/iocpsupport.c includes "python.h" - # rather than "Python.h". - ln -sf Python.h /var/tmp/dist/winpython/include/python.h - # We need to set the "mingw32" compiler to avoid an error in build_ext, but - # Twisted's "install" command calls build_ext unconditionally, whether the - # extensions have been built already or not, so we can't just call build_ext - # separately as with other packages. The "install" command doesn't recognize - # the -c option, so we set the compiler in a configuration file. - echo $'[build_ext]\ncompiler=mingw32' > setup.cfg - mkdir -p $pydir/Lib/site-packages - export PYTHONPATH="$(wine winepath -w $pydir)\Lib\site-packages" - LD_PRELOAD= $PYTHON setup.py install --single-version-externally-managed --record /dev/null --prefix=$(wine winepath -w $pydir) -[% ELSE -%] - export PYTHON=python2[% IF c("var/linux-i686") %].7[% END %] - $PYTHON setup.py build --build-lib build - cp -a build/twisted $PTDIR/ -[% END -%] +export PYTHON=python2[% IF c("var/linux-i686") %].7[% END %] +$PYTHON setup.py build --build-lib build +cp -a build/twisted $PTDIR/ cd $distdir [% c('tar', { tar_src => [ '.' ], diff --git a/projects/twisted/config b/projects/twisted/config index d9a7eeb..bbe3fc5 100644 --- a/projects/twisted/config +++ b/projects/twisted/config @@ -31,14 +31,6 @@ targets: apt-get download -q -y python-setuptools python-pkg-resources dpkg -i --force-depends python-setuptools*.deb python-pkg-resources*.deb
- windows-i686: - var: - compiler: winpython - arch_deps: - - p7zip-full - - faketime - - wine - input_files: - project: container-image - URL: 'https://pypi.python.org/packages/source/T/Twisted/Twisted-%5B% c("version") %].tar.bz2' diff --git a/projects/txsocksx/build b/projects/txsocksx/build index 3491d11..3491a26 100644 --- a/projects/txsocksx/build +++ b/projects/txsocksx/build @@ -1,12 +1,8 @@ #!/bin/bash [% c("var/set_default_env") -%] distdir="/var/tmp/dist/[% project %]" -[% IF c("var/windows") -%] - [% pc(c('var/compiler'), 'var/setup', { compiler_tarfile => c('input_files_by_name/' _ c('var/compiler')) }) %] -[% ELSE -%] - [% c("var/set_PTDIR_DOCSDIR") -%] - mkdir -p $PTDIR -[% END -%] +[% c("var/set_PTDIR_DOCSDIR") -%] +mkdir -p $PTDIR mkdir -p /var/tmp/build tar -C /var/tmp/build -xf $rootdir/[% project %]-[% c('version') %].tar.gz cd /var/tmp/build/[% project %]-[% c('version') %] @@ -15,16 +11,9 @@ cd /var/tmp/build/[% project %]-[% c('version') %] # dependency should be fine here as txsocksx catches the exception due to # missing __version__ and __sha__ . mkdir vcversioner-1.14.1.1-py2.7.egg -[% IF c("var/windows") -%] - pydir="$distdir/python" - mkdir -p $pydir/Lib/site-packages - export PYTHONPATH="$(wine winepath -w $pydir)\Lib\site-packages" - $PYTHON setup.py install_lib --install-dir=$(wine winepath -w "$pydir/Lib/site-packages") -[% ELSE -%] - export PYTHON=python2 - $PYTHON setup.py build --build-lib build - cp -a build/txsocksx $PTDIR/ -[% END -%] +export PYTHON=python2 +$PYTHON setup.py build --build-lib build +cp -a build/txsocksx $PTDIR/ cd $distdir [% c('tar', { tar_src => [ '.' ], diff --git a/projects/txsocksx/config b/projects/txsocksx/config index 061af53..6142943 100644 --- a/projects/txsocksx/config +++ b/projects/txsocksx/config @@ -14,14 +14,6 @@ targets: arch_deps: - python-setuptools - python-dev - windows-i686: - var: - compiler: winpython - arch_deps: - - wine
input_files: - project: container-image - - name: '[% c("var/compiler") %]' - project: '[% c("var/compiler") %]' - enable: '[% c("var/windows") %]' diff --git a/projects/winpython/build b/projects/winpython/build deleted file mode 100644 index db78a0f..0000000 --- a/projects/winpython/build +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/bash -set -e -[% c("var/set_default_env") -%] -[% pc(c('var/compiler'), 'var/setup', { compiler_tarfile => c('input_files_by_name/' _ c('var/compiler')) }) %] -distdir="/var/tmp/dist/[% project %]" -mkdir -p $distdir -WINEROOT=$HOME/.wine/drive_c -wine wineboot -i -wine msiexec /qn /i python-[% c("version") %].msi TARGETDIR=$distdir -sed -i 's/self.dll_libraries = get_msvcr()/pass#self.dll_libraries = get_msvcr()/g' $distdir/Lib/distutils/cygwinccompiler.py -tar xf setuptools-*.tar.gz -rm setuptools-*.tar.gz -cd setuptools-* -wine $distdir/python.exe setup.py install -cd $rootdir -7z x $rootdir/py2exe-*.exe -cp -a PLATLIB/* $distdir/Lib/site-packages/ -export FAKETIME="[% USE date; GET date.format(c('timestamp'), format = '%Y-%m-%d %H:%M:%S') %]" -export LD_PRELOAD=[% c("var/faketime_path") %] -cd wine-wrappers -# Push our config into wine-wrappers. -> settings.py -echo "LD_PRELOAD = "$LD_PRELOAD"" >> settings.py -echo "FAKETIME = "$FAKETIME"" >> settings.py -# Must pre-copy python27.dll into the build directory, or else py2exe can't find it. -mkdir -p build/bdist.win32/winexe/bundle-2.7/ -cp -a $distdir/python27.dll build/bdist.win32/winexe/bundle-2.7/ -LD_PRELOAD= wine $distdir/python.exe setup.py py2exe -mkdir -p $distdir/wineroot/windows/ -cp -a dist/gcc.exe dist/g++.exe dist/dllwrap.exe $distdir/wineroot/windows/ -cp $rootdir/pyc-timestamp.sh $distdir/ -cd $distdir/.. -[% c('tar', { - tar_src => [ project, 'mingw-w64' ], - tar_args => '-czf ' _ dest_dir _ '/' _ c('filename'), - }) %] diff --git a/projects/winpython/config b/projects/winpython/config deleted file mode 100644 index 124b3b6..0000000 --- a/projects/winpython/config +++ /dev/null @@ -1,55 +0,0 @@ -# vim: filetype=yaml sw=2 -version: 2.7.5 -filename: '[% project %]-[% c("version") %]-[% c("var/build_id") %].tar.gz' - -var: - compiler: mingw-w64 - arch_deps: - - p7zip-full - - faketime - - wine - container: - use_container: 1 - setup: | - [% pc('mingw-w64', 'var/setup') %] - # wine path ($HOME/.wine) gets included in some binaries, so set HOME - # to a fixed path. - export HOME=/var/tmp/home - mkdir -p $HOME - WINEROOT=$HOME/.wine/drive_c - wine wineboot -i - cp -a /var/tmp/dist/winpython/wineroot/windows/* $WINEROOT/windows/ - export PYTHON="wine /var/tmp/dist/winpython/python.exe" - - # Set the timestamp on every .pyc file in a zip file, and re-dzip the zip file. - function py2exe_zip_timestomp { - ZIPFILE="$1" - local tmpdir="$(mktemp -d)" - local tmpzip="$(mktemp -u)" - unzip -d "$tmpdir" "$ZIPFILE" - cd "$tmpdir" - find . -name '*.pyc' -print0 | xargs -0 /var/tmp/dist/winpython/pyc-timestamp.sh "2000-01-01 00:00:00" - [% c('zip', { - zip_src => [ '.' ], - zip_args => '$tmpzip', - }) %] - cd - - mv -f "$tmpzip" "$ZIPFILE" - rm -rf "$tmpdir" - } - - -input_files: - - project: container-image - - URL: 'https://www.python.org/ftp/python/%5B% c("version") %]/python-[% c("version") %].msi' - file_gpg_id: 1 - sig_ext: asc - gpg_keyring: winpython.gpg - - URL: https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.tar.gz - sha256sum: 75d288687066ed124311d6ca5f40ffa92a0e81adcd7fff318c6e84082713cf39 - - URL: https://downloads.sourceforge.net/py2exe/0.6.9/py2exe-0.6.9.win32-py2.7.exe - sha256sum: 610a8800de3d973ed5ed4ac505ab42ad058add18a68609ac09e6cf3598ef056c - - name: '[% c("var/compiler") %]' - project: '[% c("var/compiler") %]' - - filename: wine-wrappers - - filename: pyc-timestamp.sh diff --git a/projects/winpython/pyc-timestamp.sh b/projects/winpython/pyc-timestamp.sh deleted file mode 100755 index e092268..0000000 --- a/projects/winpython/pyc-timestamp.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/bash -# Usage: pyc-timestamp.sh "2001-01-01" FILENAMES... -# Overwrite (in place) the timestamp in .pyc Python bytecode files. -# -# http://hg.python.org/cpython/file/2.7/Lib/py_compile.py#l123 -# http://nedbatchelder.com/blog/200804/the_structure_of_pyc_files.html -# http://benno.id.au/blog/2013/01/15/python-determinism - -TIMESPEC="$1" -shift - -hex=$(printf 0x%08x $(date +%s --date="$TIMESPEC")) -# Write little-endian. -esc=$(printf "\\x%02x\\x%02x\\x%02x\\x%02x" $(($hex&0xff)) $((($hex>>8)&0xff)) $((($hex>>16)&0xff)) $((($hex>>24)&0xff))) -for filename in "$@"; do - echo $filename - echo -n -e "$esc" | dd of="$filename" bs=1 seek=4 conv=notrunc -done diff --git a/projects/winpython/wine-wrappers/common.py b/projects/winpython/wine-wrappers/common.py deleted file mode 100644 index 19e994b..0000000 --- a/projects/winpython/wine-wrappers/common.py +++ /dev/null @@ -1,27 +0,0 @@ -import os -import subprocess - -import settings - -def winepath(windowspath): - """Convert a Windows path to a Unix path.""" - return subprocess.check_output(["winepath", "-u", windowspath])[:-1] - -def search_startswith(a, elems): - """Search for the first element of the array a that startswith any of the - members of elems, and return it. Return None if no match was found.""" - for e in elems: - if a.startswith(e): - return e - return None - -def popen_faketime(*args, **kwargs): - """Does subprocess.Popen after setting faketime environment variables.""" - ld_preload = os.getenv("LD_PRELOAD") - if ld_preload: - # ld.so(8): "The items of [LD_PRELOAD] can be separated by spaces or colons." - ld_preload += ":" - ld_preload += settings.LD_PRELOAD - os.putenv("LD_PRELOAD", ld_preload) - os.putenv("FAKETIME", settings.FAKETIME) - return subprocess.Popen(*args, **kwargs) diff --git a/projects/winpython/wine-wrappers/dllwrap.py b/projects/winpython/wine-wrappers/dllwrap.py deleted file mode 100755 index 300a3bd..0000000 --- a/projects/winpython/wine-wrappers/dllwrap.py +++ /dev/null @@ -1,36 +0,0 @@ -#!/usr/bin/env python - -# A wrapper for i686-w64-mingw32-dllwrap that removes -mno-cygwin and converts -# Windows paths to Unix paths, so that the w64-mingw32 dllwrap can be called by -# Python distutils. - -import os -import subprocess -import sys - -import common - -args = ["/var/tmp/dist/mingw-w64/bin/i686-w64-mingw32-dllwrap"] -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 in ("-I", "-L", "-s", "--def", "--output-lib"): - args.append(a) - args.append(common.winepath(sys.argv.pop(0))) - continue - o = common.search_startswith(a, ("-I", "-L", "--def=", "--output-lib=")) - 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/projects/winpython/wine-wrappers/g++.py b/projects/winpython/wine-wrappers/g++.py deleted file mode 100755 index a71c4e3..0000000 --- a/projects/winpython/wine-wrappers/g++.py +++ /dev/null @@ -1,39 +0,0 @@ -#!/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 = ["/var/tmp/dist/mingw-w64/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/projects/winpython/wine-wrappers/gcc.py b/projects/winpython/wine-wrappers/gcc.py deleted file mode 100755 index 3db89b4..0000000 --- a/projects/winpython/wine-wrappers/gcc.py +++ /dev/null @@ -1,36 +0,0 @@ -#!/usr/bin/env python - -# A wrapper for i686-w64-mingw32-gcc that removes -mno-cygwin and converts -# Windows paths to Unix paths, so that the w64-mingw32 gcc can be called by -# Python distutils. - -import os -import subprocess -import sys - -import common - -args = ["/var/tmp/dist/mingw-w64/bin/i686-w64-mingw32-gcc"] -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 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/projects/winpython/wine-wrappers/settings.py b/projects/winpython/wine-wrappers/settings.py deleted file mode 100644 index f395433..0000000 --- a/projects/winpython/wine-wrappers/settings.py +++ /dev/null @@ -1,2 +0,0 @@ -LD_PRELOAD = "/usr/lib/faketime/libfaketime.so.1" -FAKETIME = "2000-01-01 00:00:00" diff --git a/projects/winpython/wine-wrappers/setup.py b/projects/winpython/wine-wrappers/setup.py deleted file mode 100644 index f80f2c0..0000000 --- a/projects/winpython/wine-wrappers/setup.py +++ /dev/null @@ -1,7 +0,0 @@ -from distutils.core import setup -import py2exe -setup( - console=["gcc.py", "g++.py", "dllwrap.py"], - zipfile=None, - options={"py2exe": {"bundle_files": 1, "compressed": True}} -) diff --git a/projects/zope.interface/build b/projects/zope.interface/build index b126989..23501a3 100644 --- a/projects/zope.interface/build +++ b/projects/zope.interface/build @@ -1,31 +1,14 @@ #!/bin/bash [% c("var/set_default_env") -%] distdir="/var/tmp/dist/[% project %]" -[% IF c("var/linux") -%] - [% c("var/set_PTDIR_DOCSDIR") -%] - mkdir -p $PTDIR -[% END -%] -[% IF c("var/windows") -%] - [% pc(c('var/compiler'), 'var/setup', { compiler_tarfile => c('input_files_by_name/' _ c('var/compiler')) }) %] -[% END -%] +[% c("var/set_PTDIR_DOCSDIR") -%] +mkdir -p $PTDIR mkdir -p /var/tmp/build unzip -d /var/tmp/build $rootdir/[% project %]-[% c('version') %].zip cd /var/tmp/build/[% project %]-[% c('version') %] -[% IF c("var/windows") -%] - find -type f -print0 | xargs -0 [% c("var/touch") %] - pydir="$distdir/python" - mkdir -p $pydir/Lib/site-packages - export PYTHONPATH="$(wine winepath -w $pydir)\Lib\site-packages" - export FAKETIME="[% USE date; GET date.format(c('timestamp'), format = '%Y-%m-%d %H:%M:%S') %]" - LD_PRELOAD= $PYTHON setup.py build_ext -c mingw32 - $PYTHON setup.py install --single-version-externally-managed --record /dev/null --prefix=$(wine winepath -w $pydir) - # Must create this file in order for py2exe to find the package. - touch $pydir/Lib/site-packages/zope/__init__.py -[% ELSE -%] - export PYTHON=python2 - $PYTHON setup.py build --build-lib build - cp -a build/zope $PTDIR/ -[% END -%] +export PYTHON=python2 +$PYTHON setup.py build --build-lib build +cp -a build/zope $PTDIR/ cd $distdir [% c('tar', { tar_src => [ '.' ], diff --git a/projects/zope.interface/config b/projects/zope.interface/config index ffba3df..9743b79 100644 --- a/projects/zope.interface/config +++ b/projects/zope.interface/config @@ -12,17 +12,8 @@ targets: arch_deps: - python-setuptools - python-dev - windows-i686: - var: - compiler: winpython - arch_deps: - - faketime - - wine
input_files: - project: container-image - URL: 'https://pypi.python.org/packages/source/z/zope.interface/zope.interface-%5B% c("version") %].zip' sha256sum: 1a7c84716bbd9981915b64a81d8a3f076a5934a8c8df4224655469b3564940cc - - name: '[% c("var/compiler") %]' - project: '[% c("var/compiler") %]' - enable: '[% c("var/windows") %]' diff --git a/rbm.conf b/rbm.conf index 9e4fc78..e2d234b 100644 --- a/rbm.conf +++ b/rbm.conf @@ -290,7 +290,6 @@ targets: export RBM_SETARCH=1 exec setarch i686 ./build fi - fteproxy: 1 windows: var: windows: 1 @@ -301,6 +300,7 @@ targets: LDFLAGS: '-Wl,--dynamicbase -Wl,--nxcompat -Wl,--enable-reloc-section -Wl,--no-insert-timestamp -lssp -L$gcclibs [% c("var/flag_HEASLR") %] [% c("var/flag_mwindows") %]' flag_mwindows: '-mwindows' compiler: mingw-w64 + fteproxy: 0 deps: - build-essential - python