diff -urN firefox-39.0.orig/python/virtualenv/virtualenv.py firefox-39.0/python/virtualenv/virtualenv.py --- firefox-39.0.orig/python/virtualenv/virtualenv.py 2015-07-15 15:31:44.566317100 +0100 +++ firefox-39.0/python/virtualenv/virtualenv.py 2015-07-15 19:22:03.026946400 +0100 @@ -41,6 +41,7 @@ join = os.path.join py_version = 'python%s.%s' % (sys.version_info[0], sys.version_info[1]) +is_mingw = (sys.platform == 'win32' and 'GCC' in sys.version) is_jython = sys.platform.startswith('java') is_pypy = hasattr(sys, 'pypy_version_info') is_win = (sys.platform == 'win32') @@ -65,7 +66,7 @@ # Return a mapping of version -> Python executable # Only provided for Windows, where the information in the registry is used -if not is_win: +if not is_win or is_mingw: def get_installed_pythons(): return {} else: @@ -1003,7 +1004,7 @@ where scripts go, etc)""" # XXX: We'd use distutils.sysconfig.get_python_inc/lib but its # prefix arg is broken: http://bugs.python.org/issue3386 - if is_win: + if is_win and not is_mingw: # Windows has lots of problems with executables with spaces in # the name; this function will remove them (using the ~1 # format): @@ -1035,7 +1036,7 @@ lib_dir = home_dir inc_dir = join(home_dir, 'include') bin_dir = join(home_dir, 'bin') - elif not is_win: + elif not is_win or is_mingw: lib_dir = join(home_dir, 'lib', py_version) multiarch_exec = '/usr/bin/multiarch-platform' if is_executable_file(multiarch_exec): @@ -1160,7 +1161,7 @@ mkdir(lib_dir) fix_lib64(lib_dir, symlink) stdlib_dirs = [os.path.dirname(os.__file__)] - if is_win: + if is_win and not is_mingw: stdlib_dirs.append(join(os.path.dirname(stdlib_dirs[0]), 'DLLs')) elif is_darwin: stdlib_dirs.append(join(stdlib_dirs[0], 'site-packages')) @@ -1197,7 +1198,7 @@ if not site_packages: writefile(site_packages_filename, '') - if is_pypy or is_win: + if is_pypy or (is_win and not is_mingw): stdinc_dir = join(prefix, 'include') else: stdinc_dir = join(prefix, 'include', py_version + abiflags) @@ -1223,7 +1224,7 @@ # pypy never uses exec_prefix, just ignore it if sys.exec_prefix != prefix and not is_pypy: - if is_win: + if is_win and not is_mingw: exec_dir = join(sys.exec_prefix, 'lib') elif is_jython: exec_dir = join(sys.exec_prefix, 'Lib') @@ -1291,8 +1293,9 @@ os.unlink(python_d_dest) # we need to copy the DLL to enforce that windows will load the correct one. # may not exist if we are cygwin. - py_executable_dll = 'python%s%s.dll' % ( - sys.version_info[0], sys.version_info[1]) + import sysconfig + py_executable_dll = sysconfig.get_config_var('DLLLIBRARY') if is_mingw else \ + 'python%s%s.dll' % (sys.version_info[0], sys.version_info[1]) py_executable_dll_d = 'python%s%s_d.dll' % ( sys.version_info[0], sys.version_info[1]) pythondll = os.path.join(os.path.dirname(sys.executable), py_executable_dll) @@ -1859,147 +1861,147 @@ ##file site.py SITE_PY = convert(""" -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 -AVijEPwfucjncQ== +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 +pdriTdy0wSBndqo8AGMUvP8DesjxGg== """) ##file activate.sh diff -urN firefox-39.0.orig/python/virtualenv/virtualenv_embedded/site.py firefox-39.0/python/virtualenv/virtualenv_embedded/site.py --- firefox-39.0.orig/python/virtualenv/virtualenv_embedded/site.py 2015-07-15 15:31:44.632317100 +0100 +++ firefox-39.0/python/virtualenv/virtualenv_embedded/site.py 2015-07-15 19:06:43.500946400 +0100 @@ -578,7 +578,7 @@ plat_path = os.path.join(path, 'plat-%s' % sys.platform) if os.path.exists(plat_path): paths.append(plat_path) - elif sys.platform == 'win32': + elif sys.platform == 'win32' and not 'GCC' in sys.version: paths = [os.path.join(sys.real_prefix, 'Lib'), os.path.join(sys.real_prefix, 'DLLs')] else: paths = [os.path.join(sys.real_prefix, 'lib', 'python'+sys.version[:3])] diff -urN firefox-39.0.orig/python/mozbuild/mozbuild/virtualenv.py firefox-39.0/python/mozbuild/mozbuild/virtualenv.py --- firefox-39.0.orig/python/mozbuild/mozbuild/virtualenv.py 2015-07-15 21:11:43.419860400 +0100 +++ firefox-39.0/python/mozbuild/mozbuild/virtualenv.py 2015-07-15 21:12:18.702750700 +0100 @@ -65,7 +65,7 @@ # we have a bit of a chicken-and-egg problem and can't reliably # import virtualenv. The functionality is trivial, so just implement # it here. - if sys.platform in ('win32', 'cygwin'): + if sys.platform == 'win32' and not 'GCC' in sys.version: return os.path.join(self.virtualenv_root, 'Scripts') return os.path.join(self.virtualenv_root, 'bin') diff -urN firefox-39.0.orig/build/autoconf/python-virtualenv.m4 firefox-39.0/build/autoconf/python-virtualenv.m4 --- firefox-39.0.orig/build/autoconf/python-virtualenv.m4 2015-06-30 23:57:57.000000000 +0100 +++ firefox-39.0/build/autoconf/python-virtualenv.m4 2015-07-17 15:30:15.659590600 +0100 @@ -58,7 +58,7 @@ case "$host_os" in mingw*) - PYTHON=`cd $MOZ_BUILD_ROOT && pwd -W`/_virtualenv/Scripts/python.exe + PYTHON=$(cygpath -am $(find $MOZ_BUILD_ROOT -name python.exe)) ;; *) PYTHON=$MOZ_BUILD_ROOT/_virtualenv/bin/python diff -urN firefox-39.0.orig/configure firefox-39.0/configure --- firefox-39.0.orig/configure 2015-07-15 15:31:44.566317100 +0100 +++ firefox-39.0/configure 2015-07-15 19:22:03.026946400 +0100 @@ -1476,7 +1476,7 @@ case "$host_os" in mingw*) - PYTHON=`cd $MOZ_BUILD_ROOT && pwd -W`/_virtualenv/Scripts/python.exe + PYTHON=$(cygpath -am $(find $MOZ_BUILD_ROOT -name python.exe)) ;; *) PYTHON=$MOZ_BUILD_ROOT/_virtualenv/bin/python