Move firefox to the dev repo

This commit is contained in:
Christoph Reiter
2020-10-21 19:55:13 +02:00
parent 34a4db35ae
commit bbda9131c9
29 changed files with 0 additions and 4588 deletions

View File

@@ -1,20 +0,0 @@
#Specify the cross compile
export CROSS_COMPILE=1
ac_add_options --enable-application=browser
ac_add_options --target=i686-w64-mingw32
ac_add_options --enable-default-toolkit=cairo-windows
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../mozilla-mingw.i686
ac_add_options --enable-debug
ac_add_options --disable-optimize
ac_add_options --disable-updater
ac_add_options --disable-crashreporter
ac_add_options --disable-maintenance-service
ac_add_options --disable-webrtc
ac_add_options --without-intl-api
# ac_add_options --disable-accessibility # uncomment if you don't have widl installed
# Use parallel build. Adjust number of processes for your setup.
mk_add_options MOZ_MAKE_FLAGS=-j8

View File

@@ -1,20 +0,0 @@
#Specify the cross compile
export CROSS_COMPILE=1
ac_add_options --enable-application=browser
ac_add_options --target=x86_64-w64-mingw32
ac_add_options --enable-default-toolkit=cairo-windows
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../mozilla-mingw.x86_64
ac_add_options --enable-debug
ac_add_options --disable-optimize
ac_add_options --disable-updater
ac_add_options --disable-crashreporter
ac_add_options --disable-maintenance-service
ac_add_options --disable-webrtc
ac_add_options --without-intl-api
# ac_add_options --disable-accessibility # uncomment if you don't have widl installed
# Use parallel build. Adjust number of processes for your setup.
mk_add_options MOZ_MAKE_FLAGS=-j8

View File

@@ -1,12 +0,0 @@
diff -urN a/python/mach/mach/mixin/process.py b/python/mach/mach/mixin/process.py
--- a/python/mach/mach/mixin/process.py 2015-07-13 21:48:50.238620500 +0100
+++ b/python/mach/mach/mixin/process.py 2015-07-13 21:59:40.972145000 +0100
@@ -30,7 +30,7 @@
_in_msys = False
-if os.environ.get('MSYSTEM', None) == 'MINGW32':
+if os.environ.get('MSYSTEM', None) in ['MINGW32', 'MINGW64', 'MSYS']:
_in_msys = True
if not _current_shell.lower().endswith('.exe'):

View File

@@ -1,13 +0,0 @@
diff -urN a/config/baseconfig.mk b/config/baseconfig.mk
--- a/config/baseconfig.mk 2015-07-13 22:05:44.022749700 +0100
+++ b/config/baseconfig.mk 2015-07-13 22:16:09.001405100 +0100
@@ -31,9 +31,6 @@
$(error Pymake is no longer supported. Please upgrade to MozillaBuild 1.9 or newer and build with 'mach' or 'mozmake')
endif
-ifeq (a,$(firstword a$(subst /, ,$(abspath .))))
-$(error MSYS make is not supported)
-endif
# 4.0- happens to be greater than 4.0, lower than the mozmake version,
# and lower than 4.0.1 or 4.1, whatever next version of gnu make will
# be released.

View File

@@ -1,12 +0,0 @@
diff -urN a/mach b/mach
--- a/mach 2015-07-13 22:22:35.106011700 +0100
+++ b/mach 2015-07-13 22:31:13.115823900 +0100
@@ -6,7 +6,7 @@
# The beginning of this script is both valid shell and valid python,
# such that the script starts with the shell and is reexecuted with
# the right python.
-'''which' python2.7 > /dev/null && exec python2.7 "$0" "$@" || exec python "$0" "$@"
+'''which' ${PYTHON} > /dev/null && exec ${PYTHON} "$0" "$@" || exec python2.7 "$0" "$@" || exec python "$0" "$@"
'''
from __future__ import print_function, unicode_literals

View File

@@ -1,118 +0,0 @@
diff -urN a/build/autoconf/config.status.m4 b/build/autoconf/config.status.m4
--- a/build/autoconf/config.status.m4 2015-07-13 22:34:59.729176500 +0100
+++ b/build/autoconf/config.status.m4 2015-07-13 22:47:20.516343000 +0100
@@ -87,7 +87,6 @@
case "$host_os" in
mingw*)
WIN_TOP_SRC=`cd $srcdir; pwd -W`
- encoding=mbcs
;;
esac
AC_SUBST(WIN_TOP_SRC)
diff -urN a/build/autoconf/python-virtualenv.m4 b/build/autoconf/python-virtualenv.m4
--- a/build/autoconf/python-virtualenv.m4 2015-07-13 22:34:59.729176500 +0100
+++ b/build/autoconf/python-virtualenv.m4 2015-07-13 22:47:20.520343200 +0100
@@ -56,14 +56,7 @@
$_virtualenv_topsrcdir $MOZ_BUILD_ROOT $MOZ_BUILD_ROOT/_virtualenv \
$_virtualenv_topsrcdir/build/virtualenv_packages.txt || exit 1
- case "$host_os" in
- mingw*)
- PYTHON=`cd $MOZ_BUILD_ROOT && pwd -W`/_virtualenv/Scripts/python.exe
- ;;
- *)
- PYTHON=$MOZ_BUILD_ROOT/_virtualenv/bin/python
- ;;
- esac
+ PYTHON=$MOZ_BUILD_ROOT/_virtualenv/bin/python
fi
AC_SUBST(PYTHON)
diff -urN a/configure b/configure
--- a/configure 2015-07-13 22:37:44.550806000 +0100
+++ b/configure 2015-07-13 22:47:20.534344000 +0100
@@ -1367,7 +1367,7 @@
exit 1
break
fi
-MOZ_BUILD_ROOT=`pwd -W 2>/dev/null || pwd`
+MOZ_BUILD_ROOT=`pwd`
@@ -1474,14 +1474,7 @@
$_virtualenv_topsrcdir $MOZ_BUILD_ROOT $MOZ_BUILD_ROOT/_virtualenv \
$_virtualenv_topsrcdir/build/virtualenv_packages.txt || exit 1
- case "$host_os" in
- mingw*)
- PYTHON=`cd $MOZ_BUILD_ROOT && pwd -W`/_virtualenv/Scripts/python.exe
- ;;
- *)
- PYTHON=$MOZ_BUILD_ROOT/_virtualenv/bin/python
- ;;
- esac
+ PYTHON=$MOZ_BUILD_ROOT/_virtualenv/bin/python
fi
diff -urN a/configure.in b/configure.in
--- a/configure.in 2015-07-13 22:36:56.161466600 +0100
+++ b/configure.in 2015-07-13 22:47:20.772353700 +0100
@@ -133,7 +133,7 @@
exit 1
break
fi
-MOZ_BUILD_ROOT=`pwd -W 2>/dev/null || pwd`
+MOZ_BUILD_ROOT=`pwd`
MOZ_PYTHON
diff -urN a/js/src/configure b/js/src/configure
--- a/js/src/configure 2015-07-13 22:38:51.104908900 +0100
+++ b/js/src/configure 2015-07-13 22:47:20.782353700 +0100
@@ -1061,7 +1061,7 @@
exit 1
break
fi
-MOZ_BUILD_ROOT=`pwd -W 2>/dev/null || pwd`
+MOZ_BUILD_ROOT=`pwd`
# Check whether --with-dist-dir or --without-dist-dir was given.
@@ -4404,14 +4404,7 @@
$_virtualenv_topsrcdir $MOZ_BUILD_ROOT $MOZ_BUILD_ROOT/_virtualenv \
$_virtualenv_topsrcdir/build/virtualenv_packages.txt || exit 1
- case "$host_os" in
- mingw*)
- PYTHON=`cd $MOZ_BUILD_ROOT && pwd -W`/_virtualenv/Scripts/python.exe
- ;;
- *)
- PYTHON=$MOZ_BUILD_ROOT/_virtualenv/bin/python
- ;;
- esac
+ PYTHON=$MOZ_BUILD_ROOT/_virtualenv/bin/python
fi
diff -urN a/python/virtualenv/virtualenv.py b/python/virtualenv/virtualenv.py
--- a/python/virtualenv/virtualenv.py 2015-07-13 22:35:33.117337000 +0100
+++ b/python/virtualenv/virtualenv.py 2015-07-13 22:47:20.797353800 +0100
@@ -45,6 +45,7 @@
is_pypy = hasattr(sys, 'pypy_version_info')
is_win = (sys.platform == 'win32')
is_cygwin = (sys.platform == 'cygwin')
+is_msys = (sys.platform == 'msys')
is_darwin = (sys.platform == 'darwin')
abiflags = getattr(sys, 'abiflags', '')
@@ -1276,7 +1277,7 @@
executable = sys.executable
shutil.copyfile(executable, py_executable)
make_exe(py_executable)
- if is_win or is_cygwin:
+ if is_win or is_cygwin or is_msys:
pythonw = os.path.join(os.path.dirname(sys.executable), 'pythonw.exe')
if os.path.exists(pythonw):
logger.info('Also created pythonw.exe')

View File

@@ -1,414 +0,0 @@
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("""
-eJzFPf1z2zaWv/OvwMqToZTKdOJ0e3tO3RsncVrfuYm3yc7m1vXoKAmyWFMkS5C2tTd3f/u9DwAE
-+CHb2+6cphNLJPDw8PC+8PAeOhqNTopCZkuxyZd1KoWScblYiyKu1kqs8lJU66Rc7hdxWW3h6eIm
-vpZKVLlQWxVhqygInv/GT/BcfF4nyqAA3+K6yjdxlSziNN2KZFPkZSWXYlmXSXYtkiypkjhN/g4t
-8iwSz387BsFZJmDmaSJLcStLBXCVyFfiYlut80yM6wLn/DL6Y/xqMhVqUSZFBQ1KjTNQZB1XQSbl
-EtCElrUCUiaV3FeFXCSrZGEb3uV1uhRFGi+k+K//4qlR0zAMVL6Rd2tZSpEBMgBTAqwC8YCvSSkW
-+VJGQryRixgH4OcNsQKGNsU1U0jGLBdpnl3DnDK5kErF5VaM53VFgAhlscwBpwQwqJI0De7y8kZN
-YElpPe7gkYiZPfzJMHvAPHH8LucAjh+z4C9Zcj9l2MA9CK5aM9uUcpXcixjBwk95Lxcz/WycrMQy
-Wa2ABlk1wSYBI6BEmswPClqOb/UKfXdAWFmujGEMiShzY35JPaLgrBJxqoBt6wJppAjzd3KexBlQ
-I7uF4QAikDToG2eZqMqOQ7MTOQAocR0rkJKNEuNNnGTArD/GC0L7r0m2zO/UhCgAq6XEL7Wq3PmP
-ewgArR0CTANcLLOadZYmNzLdTgCBz4B9KVWdVigQy6SUiyovE6kIAKC2FfIekJ6KuJSahMyZRm6n
-RH+iSZLhwqKAocDjSyTJKrmuS5IwsUqAc4Er3n/8Sbw7fXN28kHzmAHGMnu9AZwBCi20gxMMIA5q
-VR6kOQh0FJzjHxEvlyhk1zg+4NU0OHhwpYMxzL2I2n2cBQey68XVw8AcK1AmNFZA/f4bukzVGujz
-Pw+sdxCcDFGFJs7f7tY5yGQWb6RYx8xfyBnBtxrOd1FRrV8DNyiEUwGpFC4OIpggPCCJS7NxnklR
-AIulSSYnAVBoTm39VQRW+JBn+7TWLU4ACGWQwUvn2YRGzCRMtAvrNeoL03hLM9NNArvOm7wkxQH8
-ny1IF6VxdkM4KmIo/jaX10mWIULIC0G4F9LA6iYBTlxG4pxakV4wjUTI2otbokjUwEvIdMCT8j7e
-FKmcsviibt2tRmgwWQmz1ilzHLSsSL3SqjVT7eW9w+hLi+sIzWpdSgBezz2hW+X5VMxBZxM2Rbxh
-8arucuKcoEeeqBPyBLWEvvgdKHqiVL2R9iXyCmgWYqhgladpfgckOwoCIfawkTHKPnPCW3gH/wJc
-/DeV1WIdBM5IFrAGhcgPgUIgYBJkprlaI+Fxm2bltpJJMtYUebmUJQ31OGIfMOKPbIxzDT7klTZq
-PF1c5XyTVKiS5tpkJmzxsrBi/fia5w3TAMutiGamaUOnDU4vLdbxXBqXZC5XKAl6kV7bZYcxg54x
-yRZXYsNWBt4BWWTCFqRfsaDSWVWSnACAwcIXZ0lRp9RIIYOJGAbaFAR/E6NJz7WzBOzNZjlAhcTm
-ewH2B3D7O4jR3ToB+iwAAmgY1FKwfPOkKtFBaPRR4Bt905/HB049W2nbxEOu4iTVVj7OgjN6eFqW
-JL4LWWCvqSaGghlmFbp21xnQEcV8NBoFgXGHtsp8zVVQldsjYAVhxpnN5nWChm82Q1Ovf6iARxHO
-wF43287CAw1hOn0AKjldVmW+wdd2bp9AmcBY2CPYExekZSQ7yB4nvkbyuSq9ME3RdjvsLFAPBRc/
-nb4/+3L6SRyLy0alTdv67ArGPM1iYGuyCMBUrWEbXQYtUfElqPvEezDvxBRgz6g3ia+Mqxp4F1D/
-XNb0Gqax8F4Gpx9O3pyfzv7y6fSn2aezz6eAINgZGezRlNE81uAwqgiEA7hyqSJtX4NOD3rw5uST
-fRDMEjX75mtgN3gyvpYVMHE5hhlPRbiJ7xUwaDilphPEsdMALHg4mYjvxOHz568OCVqxLbYADMyu
-0xQfzrRFnyXZKg8n1PgXdumPWUlp/+3y6OsrcXwswl/i2zgMwIdqmjJL/Eji9HlbSOhawZ9xriZB
-sJQrEL0biQI6fk5+8YQ7wJJAy1zb6V/yJDPvmSvdIUh/jKkH4DCbLdJYKWw8m4VABOrQ84EOETvX
-KHVj6Fhs3a4TjQp+SgkLm2GXKf7Tg2I8p36IBqPodjGNQFw3i1hJbkXTh36zGeqs2WysBwRhJokB
-h4vVUChME9RZZQJ+LXEe6rC5ylP8ifBRC5AA4tYKtSQukt46RbdxWks1diYFRByPW2RERZso4kdw
-UcZgiZulm0za1DQ8A82AfGkOWrRsUQ4/e+DvgLoymzjc6PHei2mGmP477zQIB3A5Q1T3SrWgsHYU
-F6cX4tWLw310Z2DPubTU8ZqjhU6yWtqHK1gtIw+MMPcy8uLSZYV6Fp8e7Ya5iezKdFlhpZe4lJv8
-Vi4BW2RgZ5XFT/QGduYwj0UMqwh6nfwBVqHGb4xxH8qzB2lB3wGotyEoZv3N0u9xMEBmChQRb6yJ
-1HrXz6awKPPbBJ2N+Va/BFsJyhItpnFsAmfhPCZDkwgaArzgDCl1J0NQh2XNDivhjSDRXiwbxRoR
-uHPU1Ff09SbL77IZ74SPUemOJ5Z1UbA082KDZgn2xHuwQoBkDhu7hmgMBVx+gbK1D8jD9GG6QFna
-WwAgMPSKtmsOLLPVoynyrhGHRRiT14KEt5ToL9yaIWirZYjhQKK3kX1gtARCgslZBWdVg2YylDXT
-DAZ2SOJz3XnEW1AfQIuKEZjNsYbGjQz9Lo9AOYtzVyk5/dAif/nyhdlGrSm+gojNcdLoQqzIWEbF
-FgxrAjrBeGQcrSE2uAPnFsDUSrOm2P8k8oK9MVjPCy3b4AfA7q6qiqODg7u7u0hHF/Ly+kCtDv74
-p2+++dML1onLJfEPTMeRFh1qiw7oHXq00bfGAn1nVq7Fj0nmcyPBGkvyysgVRfy+r5NlLo72J1Z/
-Ihc3Zhr/Na4MKJCZGZSpDLQdNRg9U/vPoldqJJ6RdbZtxxP2S7RJtVbMt7rQo8rBEwC/ZZHXaKob
-TlDiK7BusENfynl9HdrBPRtpfsBUUU7Hlgf2X14hBj5nGL4ypniGWoLYAi2+Q/qfmG1i8o60hkDy
-oonq7J63/VrMEHf5eHm3vqYjNGaGiULuQInwmzxaAG3jruTgR7u2aPcc19Z8PENgLH1gmFc7lmMU
-HMIF12LqSp3D1ejxgjTdsWoGBeOqRlDQ4CTOmdoaHNnIEEGid2M2+7ywugXQqRU5NPEBswrQwh2n
-Y+3arOB4QsgDx+IlPZHgIh913r3gpa3TlAI6LR71qMKAvYVGO50DX44NgKkYlX8ZcUuzTfnYWhRe
-gx5gOceAkMFWHWbCN64PONob9bBTx+oP9WYa94HARRpzLOpR0AnlYx6hVCBNxdjvOcTilrjdwXZa
-HGIqs0wk0mpAuNrKo1eodhqmVZKh7nUWKVqkOXjFVisSIzXvfWeB9kH4uM+YaQnUZGjI4TQ6Jm/P
-E8BQt8Pw2XWNgQY3DoMYbRJF1g3JtIZ/wK2g+AYFo4CWBM2CeayU+RP7HWTOzld/GWAPS2hkCLfp
-kBvSsRgajnm/J5CMOhoDUpABCbvCSK4jq4MUOMxZIE+44bUclG6CESmQM8eCkJoB3Omlt8HBJxGe
-gJCEIuT7SslCfCVGsHxtUX2c7v5dudQEIcZOA3IVdPTi2I1sOFGN41aUw2doP75BZyVFDhw8B5fH
-DfS7bG6Y1gZdwFn3FbdFCjQyxWFGExfVK0MYN5j8h2OnRUMsM4hhKG8g70jHjDQJ7HJr0LDgBoy3
-5u2x9GM3YoF9x2GuDuXmHvZ/YZmoRa5Cipm0YxfuR3NFlzYW2/NkPoI/3gKMJlceJJnq+AVGWf6B
-QUIPetgH3ZsshkWWcXmXZCEpME2/Y39pOnhYUnpG7uATbacOYKIY8Tx4X4KA0NHnAYgTagLYlctQ
-abe/C3bnFEcWLncfeW7z5dGrqy5xp0MRHvvpX6rT+6qMFa5WyovGQoGr1TXgqHRhcnG21YeX+nAb
-twllrmAXKT5++iKQEBzXvYu3T5t6w/CIzYNz8j4GddBrD5KrNTtiF0AEtSIyykH4dI58PLJPndyO
-iT0ByJMYZseiGEiaT/4ROLsWCsbYX24zjKO1VQZ+4PU3X896IqMukt98PXpglBYx+sR+3PIE7cic
-VLBrtqWMU3I1nD4UVMwa1rFtignrc9r+aR676vE5NVo29t3fAj8GCobUJfgIL6YN2bpTxY/vTg3C
-03ZqB7DObtV89mgRYG+fz3+BHbLSQbXbOEnpXAEmv7+PytVs7jle0a89PEg7FYxDgr79l7p8AdwQ
-cjRh0p2OdsZOTMC5ZxdsPkWsuqjs6RyC5gjMywtwjz+HFU6ve+B7Bge/r7p8IiBvTqMeMmpbbIZ4
-wQclhz1K9gnzfvqMf9dZP27mw4L1/zHLF/+cST5hKgaaNh4+rH5iuXbXAHuEeRpwO3e4hd2h+axy
-ZZw7VklKPEfd9VzcUboCxVbxpAigLNnv64GDUqoPvd/WZclH16QCC1nu43HsVGCmlvH8ek3Mnjj4
-ICvExDZbUKzayevJ+4Qv1NFnO5Ow2Tf0c+c6NzErmd0mJfQFhTsOf/j442nYb0IwjgudHm9FHu83
-INwnMG6oiRM+pQ9T6Cld/nH10d66+AQ1GQEmIqzJ1iVsJxBs4gj9a/BARMg7sOVjdtyhL9ZycTOT
-lDqAbIpdnaD4W3yNmNiMAj//S8UrSmKDmSzSGmnFjjdmH67qbEHnI5UE/0qnCmPqECUEcPhvlcbX
-Ykydlxh60txI0anbuNTeZ1HmmJwq6mR5cJ0shfy1jlPc1svVCnDBwyv9KuLhKQIl3nFOAyctKrmo
-y6TaAglileuzP0p/cBrOtzzRsYckH/MwATEh4kh8wmnjeybc0pDLBAf8Ew+cJO67sYOTrBDRc3if
-5TMcdUY5vlNGqnsuT4+D9gg5ABgBUJj/aKIjd/4bSa/cA0Zac5eoqCU9UrqRhpycMYQynmCkg3/T
-T58RXd4awPJ6GMvr3Vhet7G87sXy2sfyejeWrkjgwtqglZGEvsBV+1ijN9/GjTnxMKfxYs3tMPcT
-czwBoijMBtvIFKdAe5EtPt8jIKS2nQNnetjkzyScVFrmHALXIJH78RBLb+ZN8rrTmbJxdGeeinFn
-h3KI/L4HUUSpYnPqzvK2jKs48uTiOs3nILYW3WkDYCra6UQcK81uZ3OO7rYs1ejiPz//8PEDNkdQ
-I5PeQN1wEdGw4FTGz+PyWnWlqdn8FcCO1NJPxKFuGuDeIyNrPMoe//OOMjyQccQdZSjkogAPgLK6
-bDM39ykMW891kpR+zkzOh03HYpRVo2ZSA0Q6ubh4d/L5ZEQhv9H/jlyBMbT1pcPFx7SwDbr+m9vc
-Uhz7gFDr2FZj/Nw5ebRuOOJhG2vAdjzf1oPDxxjs3jCBP8t/KqVgSYBQkQ7+PoVQj945/Kb9UIc+
-hhE7yX/uyRo7K/adI3uOi+KIft+xQ3sA/7AT9xgzIIB2ocZmZ9DslVtK35rXHRR1gD7S1/vNe832
-1qu9k/EpaifR4wA6lLXNht0/75yGjZ6S1ZvT788+nJ+9uTj5/IPjAqIr9/HTwaE4/fGLoPwQNGDs
-E8WYGlFhJhIYFrfQSSxz+K/GyM+yrjhIDL3enZ/rk5oNlrpg7jPanAiecxqThcZBM45C24c6/wgx
-SvUGyakponQdqjnC/dKG61lUrvOjqVRpjs5qrbdeulbM1JTRuXYE0geNXVIwCE4xg1eUxV6ZXWHJ
-J4C6zqoHKW2jbWJISkHBTrqAc/5lTle8QCl1hidNZ63oL0MX1/AqUkWawE7udWhlSXfD9JiGcfRD
-e8DNePVpQKc7jKwb8qwHsUCr9Trkuen+k4bRfq0Bw4bB3sG8M0npIZSBjcltIsRGfJITynv4apde
-r4GCBcODvgoX0TBdArOPYXMt1glsIIAn12B9cZ8AEFor4R8IHDnRAZljdkb4drPc/3OoCeK3/vnn
-nuZVme7/TRSwCxKcShT2ENNt/A42PpGMxOnH95OQkaPUXPHnGssDwCGhAKgj7ZS/xCfos7GS6Urn
-l/j6AF9oP4Fet7qXsih1937XOEQJeKbG5DU8U4Z+IaZ7WdhTnMqkBRorHyxmWEHopiGYz574tJZp
-qvPdz96dn4LviMUYKEF87nYKw3G8BI/QdfIdVzi2QOEBO7wukY1LdGEpyWIZec16g9YoctTby8uw
-60SB4W6vThS4jBPloj3GaTMsU04QISvDWphlZdZutUEKu22I4igzzBKzi5ISWH2eAF6mpzFviWCv
-hKUeJgLPp8hJVpmMxTRZgB4FlQsKdQpCgsTFekbivDzjGHheKlMGBQ+LbZlcrys83YDOEZVgYPMf
-T76cn32gsoTDV43X3cOcU9oJTDmJ5BhTBDHaAV/ctD/kqtmsj2f1K4SB2gf+tF9xdsoxD9Dpx4FF
-/NN+xXVox85OkGcACqou2uKBGwCnW5/cNLLAuNp9MH7cFMAGMx8MxSKx7EUnerjz63KibdkyJRT3
-MS+fcICzKmxKmu7spqS1P3qOqwLPuZbj/kbwtk+2zGcOXW86b4aS39xPRwqxJBYw6rb2xzDZYZ2m
-ejoOsw1xC21rtY39OXNipU67RYaiDEQcu50nLpP1K2HdnDnQS6PuABPfanSNJPaq8tHP2Uh7GB4m
-ltidfYrpSGUsZAQwkiF17U8NPhRaBFAglP07diR3Onl+6M3RsQYPz1HrLrCNP4Ai1Lm4VOORl8CJ
-8OVXdhz5FaGFevRIhI6nkskst3li+Llbo1f50p9jrwxQEBPFroyzazlmWFMD8yuf2AMhWNK2Hqkv
-k6s+wyLOwDm9H+Dwrlz0H5wY1FqM0Gl3I7dtdeSTBxv0loLsJJgPvozvQPcXdTXmlRw4h+6tpRuG
-+jBEzD6Epvr0fRxiOObXcGB9GsC91NCw0MP7deDsktfGOLLWPraqmkL7QnuwixK2ZpWiYxmnONH4
-otYLaAzucWPyR/apThSyv3vqxJyYkAXKg7sgvbmNdINWOGHE5UpcOZpQOnxTTaPfLeWtTMFogJEd
-Y7XDL7baYRLZcEpvHthvxu5ie7Htx43eNJgdmXIMRIAKMXoDPbsQanDAFf5Z70Ti7Iac47d/PZuK
-tx9+gn/fyI9gQbHmcSr+BqOLt3kJ20ou2qXbFLCAo+L9Yl4rLIwkaHRCwRdPoLd24ZEXT0N0ZYlf
-UmIVpMBk2nLDt50AijxBKmRv3ANTLwG/TUFXywk1DmLfWoz0S6TBcI0L1oUc6JbRutqkaCac4Eiz
-iJej87O3px8+nUbVPTK2+Tlygid+HhZORx8Nl3gMNhX2yaLGJ1eOv/yDTIsed1nvNU29DO41RQjb
-kcLuL/kmjdjuKeISAwai2C7zRYQtgdO5RK+6A/954mwrH7TvnnFFWOOJPjxrnHh8DNQQP7f1zwga
-Uh89J+pJCMVzrBXjx9Go3wJPBUW04c/zm7ulGxDXRT80wTamzazHfnerAtdMZw3PchLhdWyXwdSB
-pkmsNvOFWx/4MRP6IhRQbnS8IVdxnVZCZrCVor093UgBCt4t6WMJYVZhK0Z1bhSdSe/irXJyj2Il
-RjjqiIrq8RyGAoWw9f4xvmEzgLWGouYSaIBOiNK2KXe6qnqxZgnmnRBRryff4C7JXrnJL5rCPChv
-jBeN/wrzRG+RMbqWlZ4/PxhPLl82CQ4UjF54Bb2LAoydyyZ7oDGL58+fj8S/Pez0MCpRmuc34I0B
-7F5n5ZxeDxhsPTm7Wl2H3ryJgB8Xa3kJD64oaG6f1xlFJHd0pQWR9q+BEeLahJYZTfuWOeZYXcnn
-y9yCz6m0wfhLltB1RxhRkqhs9a1RGG0y0kQsCYohjNUiSUKOTsB6bPMaa/Ewuqj5Rd4DxycIZopv
-8WCMd9hrdCwpb9Zyj0XnWIwI8IhSyng0KmamajTAc3ax1WjOzrKkaspIXrhnpvoKgMreYqT5SsR3
-KBlmHi1iOGWdHqs2jnW+k0W9jUq+uHTjjK1Z8uuHcAfWBknLVyuDKTw0i7TIZbkw5hRXLFkklQPG
-tEM43JkubyLrEwU9KI1AvZNVWFqJtm//YNfFxfQjHR/vm5F01lBlL8TimFCctfIKo6gZn6JPlpCW
-b82XCYzygaLZ2hPwxhJ/0LFUrCHw7u1wyxnrTN/HwWkbzSUdAIfugLIK0rKjpyOci8csfGbagVs0
-8EM7c8LtNimrOk5n+tqHGfppM3uervG0ZXA7CzyttwK+fQ6O777O2AfHwSTXID0x49ZUZByLlY5M
-RG5lmV+EVeTo5R2yrwQ+BVJmOTP10CZ2dGnZ1Raa6gRHR8UjqK9M8dKAQ26qZjoFJy7mU0pvMuUO
-A86zn29JV1eI78T41VQctnY+i2KLNzkBss+Woe+KUTeYihMMMHNs34shvjsW45dT8ccd0KOBAY4O
-3RHa+9gWhEEgr66eTMY0mRPZwr4U9of76hxG0PSM4+SqTf4umb4lKv1ri0pcIagTlV+2E5VbYw/u
-WzsfH8lwA4pjlcjl/jOFJNRIN7p5mMEJPyyg37M5Wrp2vKmoocK5OWxG7ho96GhE4zbbQUxRulZf
-XL+LuoYNp71zwKTJtFIV7S1zmMao0WsRFQDM+o7S8Bve7QLvNSlc/2zwiFUXAViwPREEXenJB2ZN
-w0ZQH3QEn6QBHmAUEeJhaqMoXMl6goiEdA8OMdFXrUNsh+N/d+bhEoOho9AOlt98vQtPVzB7izp6
-FnR3pYUnsra8ollu8+kPzHmM0tf1NwmMA6URHXBWzVWV5GYeYfYy30GT2yzmDV4GSSfTaBJT6bpN
-vJXmW7/Qj6HYASWTwVqAJ1Wv8CD5lu62PFGU9IZX1Hx9+HJqKoMZkJ7Aq+jVV/oKSOpmLj/wfeyp
-3rvBS93vMPoXB1hS+b3tq85uhqZ13LoLyh8spOjZJJpZOjSG6eE6kGbNYoF3JjbEZN/aXgDyHryd
-Ofg55vLTHBw22JBGfei6GqOR3iHVNiDAD5uMIcl5VNdGkSLSu4RtSHnuUpxPFgXdq9+CYAgBOX8d
-8xt0BeviyIbYjE3Bk8+xm82Jn+qmt+6M7Qka2+om3DV97r9r7rpFYGdukhk6c/frS10a6L7DVrSP
-Bhze0IR4VIlEo/H7jYlrB6Y6h6Y/Qq8/SH63E850wKw8BMZk7GC8n9hTY2/M/iZeuN8xIWyfL2R2
-y4l7nY3WtDs2o83xj/EUOPkFn9sbBiijaak5kPdLdMPejHNkZ/L6Ws1ivN1xRptsyufq7J7Mtu09
-Xc4nY7U1uy28tAhAGG7Smbducj0wBuhKvmWa06Gc22kEDU1Jw04WskqWbBL01g7ARRwxpf4mEM9p
-xKNUYqBb1WVRwm54pO8i5jydvtTmBqgJ4G1idWNQNz2m+mpaUqyUHGZKkDlO20ryASKwEe+YhtnM
-vgNeedFcs5BMLTPIrN7IMq6aK4b8jIAENl3NCFR0jovrhOcaqWxxiYtYYnnDQQoDZPb7V7Cx9DbV
-O+5VmFht93h2oh465PuUKxscY2S4OLm31wu611ot6Wpr1zu0zRqus1cqwTKYu/JIR+pYGb/V93fx
-HbMcyUf/0uEfkHe38tLPQrfqjL1bi4bzzFUI3Qub8MYAMs599zB2OKB742JrA2zH9/WFZZSOhznQ
-2FJR++S9CqcZbdJEkDBh9IEIkl8U8MQIkgf/kREkfWsmGBqNj9YDvWUCD4SaWD24V1A2jAB9ZkAk
-PMBuXWBoTOXYTbovcpXcj+yF0qwrnUo+Yx6QI7t3kxEIvmpSuRnK3lVwuyJIvnTR4+/PP745OSda
-zC5O3v7HyfeUlIXHJS1b9egQW5bvM7X3vfRvN9ymE2n6Bm+w7bkhlmuYNITO+04OQg+E/nq1vgVt
-KzL39VCHTt1PtxMgvnvaLahDKrsXcscv0zUmbvpMK0870E85qdb8cjITzCNzUsfi0JzEmffN4YmW
-0U5seWjhnPTWrjrR/qq+BXQg7j2xSda0Anhmgvxlj0xMxYwNzLOD0v7ffFBmOFYbmht0QAoX0rnJ
-kS5xZFCV//8TKUHZxbi3Y0dxau/mpnZ8PKTspfN49ruQkSGIV+436s7PFfalTAeoEASs8PQ9hYyI
-0X/6QNWmHzxT4nKfCov3Udlc2V+4Ztq5/WuCSQaVve9LcYISH7NC41WduokDtk+nAzl9dBqVr5xK
-FtB8B0DnRjwVsDf6S6wQ51sRwsZRu2SYHEt01Jf1Ocij3XSwN7R6IfaHyk7dskshXg43XLYqO3WP
-Q+6hHuihalPc51hgzNIcqicV3xFkPs4UdMGX53zgGbre9sPX28uXR/ZwAfkdXzuKhLLJRo5hv3Sy
-MXdeKul0J2Ypp5Suh3s1JySsW1w5UNknGNrbdEpSBvY/Js+BIY289/0hM9PDu3p/1MbUst4RTEmM
-n6kJTcsp4tG42yeT7nQbtdUFwgVJjwDSUYEAC8F0dKOTILrlLO/xC70bnNd0Ha97whQ6UkHJYj5H
-cA/j+zX4tbtTIfGjujOKpj83aHOgXnIQbvYduNXEC4UMm4T21Bs+GHABuCa7v//LR/TvpjHa7oe7
-/Grb6lVvHSD7spj5iplBLRKZxxEYGdCbY9LWWC5hBB2voWno6DJUMzfkC3T8KJsWL9umDQY5szPt
-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

View File

@@ -1,11 +0,0 @@
--- firefox-39.0/security/sandbox/chromium/base/win/pe_image.h.orig 2015-06-30 23:57:54.000000000 +0100
+++ firefox-39.0/security/sandbox/chromium/base/win/pe_image.h 2015-07-19 19:49:17.704118900 +0100
@@ -247,7 +247,7 @@
}
inline WORD PEImage::ToOrdinal(LPCSTR name) {
- return reinterpret_cast<WORD>(name);
+ return static_cast<WORD>(reinterpret_cast<DWORD_PTR>(name));
}
inline HMODULE PEImage::module() const {

View File

@@ -1,21 +0,0 @@
--- firefox-39.0/security/sandbox/chromium/base/strings/utf_string_conversion_utils.cc.orig 2015-06-30 23:57:54.000000000 +0100
+++ firefox-39.0/security/sandbox/chromium/base/strings/utf_string_conversion_utils.cc 2015-07-19 20:25:24.348811900 +0100
@@ -122,7 +122,9 @@
// Instantiate versions we know callers will need.
template void PrepareForUTF8Output(const wchar_t*, size_t, std::string*);
+#if !defined(WCHAR_T_IS_UTF16)
template void PrepareForUTF8Output(const char16*, size_t, std::string*);
+#endif
template<typename STRING>
void PrepareForUTF16Or32Output(const char* src,
@@ -143,6 +145,8 @@
// Instantiate versions we know callers will need.
template void PrepareForUTF16Or32Output(const char*, size_t, std::wstring*);
+#if !defined(WCHAR_T_IS_UTF16)
template void PrepareForUTF16Or32Output(const char*, size_t, string16*);
+#endif
} // namespace base

View File

@@ -1,12 +0,0 @@
--- firefox-39.0/security/sandbox/chromium/base/win/scoped_handle.h.orig 2015-07-19 20:52:07.176488400 +0100
+++ firefox-39.0/security/sandbox/chromium/base/win/scoped_handle.h 2015-07-19 20:57:44.812800100 +0100
@@ -18,8 +18,7 @@
#include <intrin.h>
#define BASE_WIN_GET_CALLER _ReturnAddress()
#elif defined(COMPILER_GCC)
-#define BASE_WIN_GET_CALLER __builtin_extract_return_addr(\\
- __builtin_return_address(0))
+#define BASE_WIN_GET_CALLER __builtin_extract_return_addr(__builtin_return_address(0))
#endif
namespace base {

View File

@@ -1,15 +0,0 @@
--- firefox-39.0/security/sandbox/chromium/base/threading/platform_thread_win.cc.orig 2015-06-30 23:57:54.000000000 +0100
+++ firefox-39.0/security/sandbox/chromium/base/threading/platform_thread_win.cc 2015-07-19 21:41:06.812626000 +0100
@@ -13,6 +13,12 @@
#include "base/win/scoped_handle.h"
#include "base/win/windows_version.h"
+// LibSEH may be useful here:
+// http://www.programmingunlimited.net/siteexec/content.cgi?page=libseh
+#if defined(__GNUC__)
+#define __except(_x)
+#endif
+
namespace base {
namespace {

View File

@@ -1,11 +0,0 @@
--- firefox-39.0/security/sandbox/chromium/base/time/time_win.cc.orig 2015-06-30 23:57:54.000000000 +0100
+++ firefox-39.0/security/sandbox/chromium/base/time/time_win.cc 2015-07-19 23:01:28.117321100 +0100
@@ -334,7 +334,7 @@
// we keep last_seen_now stay correctly in sync.
DWORD now = tick_function();
if (now < last_seen_now)
- rollover_ms += 0x100000000I64; // ~49.7 days.
+ rollover_ms += 0x100000000ll; // ~49.7 days.
last_seen_now = now;
return TimeDelta::FromMilliseconds(now + rollover_ms);
}

View File

@@ -1,85 +0,0 @@
diff -urN firefox-39.0.orig/media/libstagefright/moz.build firefox-39.0/media/libstagefright/moz.build
--- firefox-39.0.orig/media/libstagefright/moz.build 2015-06-30 23:57:58.000000000 +0100
+++ firefox-39.0/media/libstagefright/moz.build 2015-07-20 18:53:20.523932000 +0100
@@ -16,9 +16,10 @@
DEFINES['off64_t'] = 'int64_t'
DEFINES['strcasecmp'] = 'stricmp'
DEFINES['strncasecmp'] = 'strnicmp'
+ LOCAL_INCLUDES += [ 'ports/win32/include' ]
DEFINES['HAVE_MS_C_RUNTIME'] = True
DEFINES['__PRETTY_FUNCTION__'] = '__FUNCTION__'
- LOCAL_INCLUDES += [ 'ports/win32/include' ]
+ LOCAL_INCLUDES += [ 'ports/mingw-w64/include' ]
elif CONFIG['OS_TARGET'] == 'Darwin':
DEFINES['HAVE_SYS_UIO_H'] = True
DEFINES['off64_t'] = 'off_t'
diff -urN firefox-39.0.orig/media/libstagefright/ports/mingw-w64/include/arpa/inet.h firefox-39.0/media/libstagefright/ports/mingw-w64/include/arpa/inet.h
--- firefox-39.0.orig/media/libstagefright/ports/mingw-w64/include/arpa/inet.h 1970-01-01 01:00:00.000000000 +0100
+++ firefox-39.0/media/libstagefright/ports/mingw-w64/include/arpa/inet.h 2015-07-20 19:55:44.843115100 +0100
@@ -0,0 +1,9 @@
+/* Any copyright is dedicated to the Public Domain.
+ * http://creativecommons.org/publicdomain/zero/1.0/ */
+
+#ifndef INET_H_
+#define INET_H_
+
+#include <netinet/in.h>
+
+#endif
diff -urN firefox-39.0.orig/media/libstagefright/ports/mingw-w64/include/byteswap.h firefox-39.0/media/libstagefright/ports/mingw-w64/include/byteswap.h
--- firefox-39.0.orig/media/libstagefright/ports/mingw-w64.orig/include/byteswap.h 1970-01-01 01:00:00.000000000 +0100
+++ firefox-39.0/media/libstagefright/ports/mingw-w64/include/byteswap.h 2015-07-20 20:22:01.796787900 +0100
@@ -0,0 +1,10 @@
+/* Any copyright is dedicated to the Public Domain.
+ * http://creativecommons.org/publicdomain/zero/1.0/ */
+
+#ifndef BYTESWAP_H_
+#define BYTESWAP_H_
+
+#include <stdlib.h>
+#define bswap_16 _byteswap_ushort
+
+#endif
diff -urN firefox-39.0.orig/media/libstagefright/ports/mingw-w64/include/netinet/in.h firefox-39.0/media/libstagefright/ports/mingw-w64/include/netinet/in.h
--- firefox-39.0.orig/media/libstagefright/ports/mingw-w64/include/netinet/in.h 1970-01-01 01:00:00.000000000 +0100
+++ firefox-39.0/media/libstagefright/ports/mingw-w64/include/netinet/in.h 2015-07-20 19:55:44.858714700 +0100
@@ -0,0 +1,39 @@
+/* Any copyright is dedicated to the Public Domain.
+ * http://creativecommons.org/publicdomain/zero/1.0/ */
+
+#ifndef IN_H_
+#define IN_H_
+
+#include <stdint.h>
+
+#if defined(_M_IX86) || defined(_M_AMD64)
+
+static uint32_t
+ntohl(uint32_t x)
+{
+ return x << 24 | (x << 8 & 0xff0000) | (x >> 8 & 0xff00) | x >> 24;
+}
+
+static uint16_t
+ntohs(uint16_t x)
+{
+ return x << 8 | x >> 8;
+}
+
+static uint32_t
+htonl(uint32_t x)
+{
+ return x << 24 | (x << 8 & 0xff0000) | (x >> 8 & 0xff00) | x >> 24;
+}
+
+static uint16_t
+htons(uint16_t x)
+{
+ return x << 8 | x >> 8;
+}
+
+#else
+#error Unsupported architecture
+#endif
+
+#endif

View File

@@ -1,49 +0,0 @@
--- firefox-41.0b5/widget/windows/WindowsUIUtils.cpp.orig 2015-08-30 16:03:42.591416200 +0100
+++ firefox-41.0b5/widget/windows/WindowsUIUtils.cpp 2015-08-30 16:03:45.043620700 +0100
@@ -20,6 +20,41 @@
#include "nsString.h"
#include "nsIWidget.h"
+#if defined(__MINGW64_VERSION_MAJOR)
+/* MinGW-w64 doesn't have support for this WRL stuff yet:
+ https://msdn.microsoft.com/en-us/library/hh438466(v=vs.110).aspx */
+
+WindowsUIUtils::WindowsUIUtils() :
+ mInTabletMode(eTabletModeUnknown)
+{
+}
+
+WindowsUIUtils::~WindowsUIUtils()
+{
+}
+
+/*
+ * Implement the nsISupports methods...
+ */
+NS_IMPL_ISUPPORTS(WindowsUIUtils,
+ nsIWindowsUIUtils)
+
+NS_IMETHODIMP
+WindowsUIUtils::GetInTabletMode(bool* aResult)
+{
+ *aResult = false;
+ return NS_OK;
+}
+
+NS_IMETHODIMP
+WindowsUIUtils::UpdateTabletModeState()
+{
+ return NS_OK;
+}
+
+
+
+#else
#include <windows.ui.viewmanagement.h>
#pragma comment(lib, "runtimeobject.lib")
@@ -172,3 +207,4 @@
return NS_OK;
}
+#endif /* defined(__MINGW64_VERSION_MAJOR) */

View File

@@ -1,13 +0,0 @@
--- firefox-41.0b5/browser/components/shell/nsWindowsShellService.cpp.orig 2015-08-27 22:29:59.000000000 +0100
+++ firefox-41.0b5/browser/components/shell/nsWindowsShellService.cpp 2015-08-30 17:10:20.382614000 +0100
@@ -389,8 +389,8 @@
GetHashPrefName(LPCWSTR aClassName, nsACString& aPrefName)
{
aPrefName.AssignLiteral("browser.shell.associationHash.");
- aPrefName.Append(NS_ConvertUTF16toUTF8(*aClassName == L'.' ? aClassName + 1
- : aClassName));
+ aPrefName.Append(NS_ConvertUTF16toUTF8(*aClassName == L'.' ? (const char16_t*)(aClassName + 1)
+ : (const char16_t*)aClassName));
}
static bool

View File

@@ -1,11 +0,0 @@
--- firefox-41.0b5.orig/security/nss/lib/dbm/include/cdefs.h 2015-08-31 12:22:25.118591200 +0100
+++ firefox-41.0b5/security/nss/lib/dbm/include/cdefs.h 2015-08-31 12:23:50.591480000 +0100
@@ -109,7 +109,7 @@
* these work for GNU C++ (modulo a slight glitch in the C++ grammar
* in the distribution version of 2.5.5).
*/
-#if !defined(__GNUC__) || __GNUC__ < 2 || __GNUC_MINOR__ < 5
+#if !defined(__GNUC__) || __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5)
#define __attribute__(x) /* delete __attribute__ if non-gcc or gcc1 */
#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
#define __dead __volatile

View File

@@ -1,11 +0,0 @@
--- firefox-41.0b5.orig/dom/media/gmp/GMPLoader.cpp 2015-08-27 22:30:07.000000000 +0100
+++ firefox-41.0b5/dom/media/gmp/GMPLoader.cpp 2015-08-31 13:40:19.208933900 +0100
@@ -227,7 +227,7 @@
// Load the GMP.
PRLibSpec libSpec;
-#ifdef XP_WIN
+#if defined(XP_WIN) && defined(MOZ_SANDBOX)
libSpec.value.pathname_u = widePath;
libSpec.type = PR_LibSpec_PathnameU;
#else

View File

@@ -1,30 +0,0 @@
--- firefox-41.0b5.orig/configure.in 2015-08-27 22:30:03.000000000 +0100
+++ firefox-41.0b5/configure.in 2015-08-31 16:33:22.338814900 +0100
@@ -2223,9 +2223,9 @@
MKSHLIB='$(CXX) $(DSO_LDOPTS) -o $@'
MKCSHLIB='$(CC) $(DSO_LDOPTS) -o $@'
RC='$(WINDRES)'
- # Use static libgcc and libstdc++
- LDFLAGS="$LDFLAGS -static"
- NSPR_LDFLAGS="$NSPR_LDFLAGS -static-libgcc"
+ # Don't use static libgcc and libstdc++ for MSYS2
+ # LDFLAGS="$LDFLAGS -static"
+ # NSPR_LDFLAGS="$NSPR_LDFLAGS -static-libgcc"
# Use temp file for windres (bug 213281)
RCFLAGS='-O coff --use-temp-file'
# mingw doesn't require kernel32, user32, and advapi32 explicitly
--- firefox-41.0b5/configure.orig 2015-08-31 15:21:34.109398300 +0100
+++ firefox-41.0b5/configure 2015-08-31 16:33:30.509282300 +0100
@@ -9473,9 +9473,9 @@
MKSHLIB='$(CXX) $(DSO_LDOPTS) -o $@'
MKCSHLIB='$(CC) $(DSO_LDOPTS) -o $@'
RC='$(WINDRES)'
- # Use static libgcc and libstdc++
- LDFLAGS="$LDFLAGS -static"
- NSPR_LDFLAGS="$NSPR_LDFLAGS -static-libgcc"
+ # Don't use static libgcc and libstdc++ for MSYS2
+ # LDFLAGS="$LDFLAGS -static"
+ # NSPR_LDFLAGS="$NSPR_LDFLAGS -static-libgcc"
# Use temp file for windres (bug 213281)
RCFLAGS='-O coff --use-temp-file'
# mingw doesn't require kernel32, user32, and advapi32 explicitly

View File

@@ -1,15 +0,0 @@
--- firefox-41.0b5/toolkit/mozapps/installer/packager.mk.orig 2015-08-27 22:30:13.000000000 +0100
+++ firefox-41.0b5/toolkit/mozapps/installer/packager.mk 2015-08-31 23:47:20.134091700 +0100
@@ -116,9 +116,9 @@
# dist/sdk/lib -> prefix/lib/appname-devel-version/lib
# prefix/lib/appname-devel-version/* symlinks to the above directories
install:: prepare-package
-ifeq ($(OS_ARCH),WINNT)
- $(error "make install" is not supported on this platform. Use "make package" instead.)
-endif
+# ifeq ($(OS_ARCH),WINNT)
+# $(error "make install" is not supported on this platform. Use "make package" instead.)
+# endif
ifeq (bundle,$(MOZ_FS_LAYOUT))
$(error "make install" is not supported on this platform. Use "make package" instead.)
endif

View File

@@ -1,15 +0,0 @@
--- firefox-41.0b5/xpcom/build/PoisonIOInterposerWin.cpp 2015-09-01 00:07:54.085669600 +0100
+++ firefox-41.0b5/xpcom/build/PoisonIOInterposerWin.cpp.orig 2015-09-01 00:06:43.475631000 +0100
@@ -445,7 +445,11 @@
// Stdout and Stderr are OK.
MozillaRegisterDebugFD(1);
- MozillaRegisterDebugFD(2);
+ // Avoid a MOZ_ASSERT() when launching from MSYS2's mintty:
+ // https://bugzilla.mozilla.org/show_bug.cgi?id=1163452
+ if (_get_osfhandle(1) != _get_osfhandle(2)) {
+ MozillaRegisterDebugFD(2);
+ }
#ifdef MOZ_REPLACE_MALLOC
// The contract with InitDebugFd is that the given registry can be used

View File

@@ -1,11 +0,0 @@
--- firefox-41.0b6/media/gmp-clearkey/0.1/VideoDecoder.h.orig 2015-09-01 01:26:48.000000000 +0100
+++ firefox-41.0b6/media/gmp-clearkey/0.1/VideoDecoder.h 2015-09-03 17:49:05.009038800 +0100
@@ -24,6 +24,8 @@
#include "mfobjects.h"
+#include <atomic>
+
class VideoDecoder : public GMPVideoDecoder
, public RefCounted
{

View File

@@ -1,19 +0,0 @@
--- firefox-42.0/dom/media/platforms/wmf/WMFVideoMFTManager.cpp.orig 2015-10-29 22:17:56.000000000 +0000
+++ firefox-42.0/dom/media/platforms/wmf/WMFVideoMFTManager.cpp 2015-11-25 00:04:09.460865800 +0000
@@ -30,7 +30,7 @@
using mozilla::layers::LayerManager;
using mozilla::layers::LayersBackend;
-#if MOZ_WINSDK_MAXVER < 0x0A000000
+#if MOZ_WINSDK_MAXVER < 0x0A000000 && !defined(__MINGW64_VERSION_MAJOR)
// Windows 10+ SDK has VP80 and VP90 defines
const GUID MFVideoFormat_VP80 =
{
@@ -39,6 +39,7 @@
0x0010,
{0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}
};
+#endif /* MOZ_WINSDK_MAXVER < 0x0A000000 && !defined(__MINGW64_VERSION_MAJOR) */
const GUID MFVideoFormat_VP90 =
{

View File

@@ -1,305 +0,0 @@
# Maintainer: Ray Donnelly <mingw.android@gmail.com>
# My workings ..
#
# Setting up a virtualenv and installing setuptools and pip into it:
# pushd /c/repo/mingw-w64-firefox/src
# PATH=/mingw64/bin:$PATH /mingw64/bin/python2.7.exe $PWD/firefox-39.0/python/virtualenv/virtualenv.py /tmp/test
# PATH=/mingw64/bin:$PATH PYTHONPATH="C:/repo/mingw-w64-firefox/src/firefox-39.0/python/virtualenv/virtualenv_support/setuptools-11.0-py2.py3-none-any.whl;C:/repo/mingw-w64-firefox/src/firefox-39.0/python/virtualenv/virtualenv_support/pip-6.0.6-py2.py3-none-any.whl" PIP_FIND_LINKS=". C:/repo/mingw-w64-firefox/src/firefox-39.0/python/virtualenv C:/repo/mingw-w64-firefox/src/firefox-39.0/python/virtualenv/virtualenv_support C:/repo/mingw-w64-firefox/src/firefox-39.0/python/virtualenv/virtualenv_support" PIP_USE_WHEEL=1 PIP_PRE=1 PIP_NO_INDEX=1 C:/msys64t/tmp/test/bin/python2.7.exe -c 'import sys, pip; sys.exit(pip.main(["install", "--ignore-installed"] + sys.argv[1:]))' setuptools pip
#
# Using msys2-python has a problem. It emits .cpp files containing msys2 paths which causes MinGW-w64 GCC to fall over.
# seems harfbuzz have some conversion detection support that may be useful:
# "checking how to convert x86_64-pc-mingw64 file names to toolchain format... func_convert_file_msys_to_w32"
# but it'd need implementing in Python with subprocess I guess:
# msys2-python -> mingw-w64-gcc : cygpath -m
# msys2-python -> msys2-mingw-w64-cross-gcc : noop
# mingw-python -> mingw-w64-gcc : noop
# mingw-python -> msys2-mingw-w64-cross-gcc : cygpath -u
# * -> * : noop
# Testing:
# cd /c/repo/mingw-w64-firefox/src
# [[ -d /tmp/win32-python ]] && rm -rf /tmp/win32-python
# mkdir /tmp/win32-python
# [[ -d /tmp/mingw-python ]] && rm -rf /tmp/mingw-python
# mkdir /tmp/mingw-python
# /c/Python27/python.exe $PWD/firefox-39.0/python/virtualenv/virtualenv.py /tmp/win32-python > /tmp/win32-python/log.txt
# /mingw64/bin/python.exe $PWD/firefox-39.0/python/virtualenv/virtualenv.py /tmp/mingw-python > /tmp/mingw-python/log.txt
#
# "ImportError: No module named opcode" <- it's meant to be found in the original location?!
# Working:
# In fake distutils __init__.py, sys.path is
# ['',
# 'C:\\repo\\mingw-w64-firefox\\src\\firefox-39.0\\python\\virtualenv\\virtualenv_support\\setuptools-11.0-py2.py3-none-any.whl',
# 'C:\\repo\\mingw-w64-firefox\\src\\firefox-39.0\\python\\virtualenv\\virtualenv_support\\pip-6.0.6-py2.py3-none-any.whl',
# 'C:\\windows\\system32\\python27.zip',
# 'C:\\msys64t\\tmp\\win32-python\\DLLs',
# 'C:\\msys64t\\tmp\\win32-python\\lib',
# 'C:\\msys64t\\tmp\\win32-python\\lib\\plat-win',
# 'C:\\msys64t\\tmp\\win32-python\\lib\\lib-tk',
# 'C:\\msys64t\\tmp\\win32-python\\Scripts',
# 'C:\\Python27\\Lib',
# 'C:\\Python27\\DLLs',
# 'C:\\Python27\\Lib\\lib-tk',
# 'C:\\msys64t\\tmp\\win32-python',
# 'C:\\msys64t\\tmp\\win32-python\\lib\\site-packages']
# In fake distutils __init__.py, sys.path is
# ['',
# 'C:/repo/mingw-w64-firefox/src/firefox-39.0/python/virtualenv/virtualenv_support/setuptools-11.0-py2.py3-none-any.whl',
# 'C:/repo/mingw-w64-firefox/src/firefox-39.0/python/virtualenv/virtualenv_support/pip-6.0.6-py2.py3-none-any.whl',
# 'C:/msys64t/tmp/mingw-python/lib/python27.zip',
# 'C:/msys64t/tmp/mingw-python/lib/python2.7',
# 'C:/msys64t/tmp/mingw-python/lib/python2.7/plat-win32',
# 'C:/msys64t/tmp/mingw-python/lib/python2.7/lib-tk',
# 'C:/msys64t/tmp/mingw-python/lib/python2.7/lib-old',
# 'C:/msys64t/tmp/mingw-python/lib/python2.7/lib-dynload',
# 'C:/building/msys32/mingw64',
# 'C:/msys64t/mingw64/Lib',
# 'C:/msys64t/mingw64/DLLs',
# 'C:/msys64t/tmp/mingw-python/lib/python2.7/site-packages']
# Tweaks.
#_make="make.exe"
_make="mingw32-make.exe"
#_python="/usr/bin/python2.7.exe"
_python="${MINGW_PREFIX}/bin/python2.7.exe"
#_python="/c/Python27/python.exe"
#_python="/e/WinProgF/Python27/python.exe"
path_conv_for_make() {
if [ "${_make}" = "mingw32-make.exe" ]; then
echo $(cygpath -m "${1}")
else
echo $(cygpath -u "${1}")
fi
}
_realname=firefox
pkgbase=mingw-w64-${_realname}
pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}")
pkgver=42.0
pkgrel=1
pkgdesc='Mozilla Firefox (mingw-w64)'
groups=("${MINGW_PACKAGE_PREFIX}")
arch=('any')
options=('debug' '!strip')
url='https://www.mozilla.org/firefox/'
license=('MPL2')
makedepends=('unzip'
'zip'
"${MINGW_PACKAGE_PREFIX}-yasm"
"${MINGW_PACKAGE_PREFIX}-python2")
source=("https://ftp.mozilla.org/pub/mozilla.org/${_realname}/releases/${pkgver}/source/${_realname}-${pkgver}.source.tar.xz"
"https://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/moztools-static.zip"
"nsinstall.exe.manifest"
"0001-Allow-MSYS2-shell.patch"
"0002-Allow-MSYS2-make.patch"
"0003-Use-PYTHON-env-var.patch"
"0004-Allow-MSYS2-python.patch"
"0005-Allow-mingw-w64-python.patch"
"0006-Fix-pointer-casting.patch"
"0007-Fix-duplicate-explicit-instantiation.patch"
"0008-Fix-stray-back-slash-in-program.patch"
"0009-MinGW-w64-Hack-out-__except-in-PlatformThread__SetName.patch"
"0010-Dont-use-I64-numeric-suffix.patch"
"0011-stagefreight-Dont-use-old-MinGW-w64-headers.patch"
"0013-MinGW-w64-Disable-TabletMode-stuff.patch"
"0014-MinGW-w64-cast-fixes-LPCWSTR-to-char16_t.patch"
"0015-nss-lib-dbm-Fix-incorrect-delete-__attribute__-if-non-gcc-or-gcc1.patch"
"0016-MinGW-w64-GMPLoader-Add-MOZ_SANDBOX-compile-guard-around-widePath-usage.patch"
"0017-MSYS2-Dont-use--static-or--static-libgcc.patch"
"0018-MSYS2-Allow-make-install.patch"
"0019-Bug-id-1163452-MSYS2-Dont-MOZ_ASSERT-when-stdout-is-same-as-stderr.patch"
"0020-gmp-clearkey-include-atomic-header.patch"
"0021-MinGW-w64-Dont-redefine-MFVideoFormat_VPn0.patch"
"debugging.patch"
"mozconfig.x86_64"
"mozconfig.i686"
"config.sub"
"config.guess")
noextract=("${_realname}-${pkgver}.source.tar.xz")
sha256sums=('994a346699298277b64ec0cab72660b8d3e5b879a2ac79207576f7e6c33da3ae'
'1894bc68a0badd6e6f68f66abc4c6cd8e222791dd194f6b631ce536011ab6707'
'838098b25a8044176b3139b4003594570c62a8d64f5470fbbd769f3bf44e0855'
'944f828850ffb8bf1f5d1576f3936f49f45c074a081561962d0afbd82df0a366'
'e3368aefa89c6fd11d3ed57e692bd161469b97fb5c966f99ffb7fb1579aae3e8'
'6426f31d44a89fbcdc0c6a1b6d2abc3e74189c516216ec653c2dcffee6245320'
'f0348d1d636644a3f1ed241a4ee0cd16b25b4277c4baf3ff1618a80a4ddc8bad'
'cf71fe54468a31a0e732031d3b674b8ca67c9c9d48d0503bef4e60cf7978c9af'
'cab6ec2ca1a3e3db717f40c41d6b0df5dc5178243e1d9120f91667ad575e7cb1'
'3a04602928dde8825aaaf490b852884fed2d5bd51f73bfb70554a104d91f4b04'
'536600e47e3a6d82594d79363e93d603060656f730c7e6d935038871c8b4e7ae'
'9c5385270daeec1aa0ee59b6858f2480124e9b6997758531d1afa8341ab0ae08'
'6a48d267b10bbd2b1e09f640c8cdf43ee4261f68f5f26583eee5d095651ac517'
'088b96090d7c4e486d98078061c80269456abd04d8213c8e7cf85157bba4c032'
'43cb6db288e43210916cfed3d2ac6ff134fea66fc96b2742df84e4f2eef0f470'
'abeb36a361a0e050339fa73bcf4bea2593bbcf8158cc55acb85ead30d8bc6e18'
'bce1f0cb890ad5073e6ed32becb47cb37c72abadefd21cf1c719ac225024fa95'
'a89f72a42c3135bab192d8e211e0254d598491da6d40cc222579ce0de2c02e0a'
'950bc77eafa406779ca868451d85b948870a2372b0571b45802701ec60c10535'
'6cd5434010ea9c833024fca168074332ec773739fe79562049d749ba8666f392'
'7249af996f51fdb13f8e604b7847824100fddc2d7c929633f7234042d7b06788'
'3321e26101e2b8926613a689de9dc63675a89f260e09e6f42ded73d1354a156f'
'48e87f4630bb98a72c7020eac9279b17f6215326cea7871abf912ae6d429b428'
'9428e85b7e81e214f24da62a3e4a74247864abc3ec7f7580d921b7a82492b84f'
'7f6c58450710585a73466ac3df2ca199b6f7b5f2aed27965c8e7c1ac826aea7b'
'd60b56da6587a31a35b9c5f703e36e6106c1a788f43ee16cf05d7e47a6412631'
'75d5d255a2a273b6e651f82eecfabf6cbcd8eaeae70e86b417384c8f4a58d8d3'
'467e0886e3d4b06087e704dc9e22bbb8f93eb8c7b81aeae1ee0000d06aa4c45f')
prepare() {
[ -d "${srcdir}"/${_realname}-${pkgver} ] && rm -rf ${_realname}-${pkgver}
tar -xf "${srcdir}"/${_realname}-${pkgver}.source.tar.xz || true
if [ -d "${srcdir}"/mozilla-beta ]; then
_archivedir="mozilla-beta"
elif [ -d "${srcdir}"/mozilla-release ]; then
_archivedir="mozilla-release"
elif [ -d "${srcdir}"/${_realname}-${pkgver} ]; then
echo "Found sources"
else
echo "Can't find sources!"
exit 1
fi
if [ -n "$_archivedir" ]; then
# Getting a lot of "mv: cannot move .. Permission denied"; try a bit of sleeping. Yuck.
(sleep 1 && mv "${srcdir}"/"${_archivedir}" "${srcdir}"/${_realname}-${pkgver}) || \
(sleep 1 && mv "${srcdir}"/"${_archivedir}" "${srcdir}"/${_realname}-${pkgver})
fi
cd "${srcdir}"/${_realname}-${pkgver}
# Mostly this patch is about msys2-python and mingw-w64-python not
# working with virtualenv. Really it needs splitting into two, one
# adding support for each of them. Most of the "is_win or True:"
# and "is_win and False:" stuff relates to mingw-w64-python and is
# to be replaced with proper detection and a variable "is_mingw".
patch -p1 -i "${srcdir}"/0001-Allow-MSYS2-shell.patch
if [ "${_make}" = "make" ]; then
patch -p1 -i "${srcdir}"/0002-Allow-MSYS2-make.patch
fi
patch -p1 -i "${srcdir}"/0003-Use-PYTHON-env-var.patch
if [ "${_python}" = "/usr/bin/python2.7.exe" ]; then
patch -p1 -i "${srcdir}"/0004-Allow-MSYS2-python.patch
fi
patch -p1 -i "${srcdir}"/0005-Allow-mingw-w64-python.patch
patch -p1 -i "${srcdir}"/0006-Fix-pointer-casting.patch
patch -p1 -i "${srcdir}"/0007-Fix-duplicate-explicit-instantiation.patch
patch -p1 -i "${srcdir}"/0008-Fix-stray-back-slash-in-program.patch
patch -p1 -i "${srcdir}"/0009-MinGW-w64-Hack-out-__except-in-PlatformThread__SetName.patch
patch -p1 -i "${srcdir}"/0010-Dont-use-I64-numeric-suffix.patch
patch -p1 -i "${srcdir}"/0011-stagefreight-Dont-use-old-MinGW-w64-headers.patch
patch -p1 -i "${srcdir}"/0013-MinGW-w64-Disable-TabletMode-stuff.patch
patch -p1 -i "${srcdir}"/0014-MinGW-w64-cast-fixes-LPCWSTR-to-char16_t.patch
patch -p1 -i "${srcdir}"/0015-nss-lib-dbm-Fix-incorrect-delete-__attribute__-if-non-gcc-or-gcc1.patch
patch -p1 -i "${srcdir}"/0016-MinGW-w64-GMPLoader-Add-MOZ_SANDBOX-compile-guard-around-widePath-usage.patch
patch -p1 -i "${srcdir}"/0017-MSYS2-Dont-use--static-or--static-libgcc.patch
patch -p1 -i "${srcdir}"/0018-MSYS2-Allow-make-install.patch
patch -p1 -i "${srcdir}"/0019-Bug-id-1163452-MSYS2-Dont-MOZ_ASSERT-when-stdout-is-same-as-stderr.patch
patch -p1 -i "${srcdir}"/0020-gmp-clearkey-include-atomic-header.patch
patch -p1 -i "${srcdir}"/0021-MinGW-w64-Dont-redefine-MFVideoFormat_VPn0.patch
# patch -p1 -i "${srcdir}"/debugging.patch
find . -name config.sub -exec cp "${srcdir}"/config.sub {} \;
find . -name config.guess -exec cp "${srcdir}"/config.guess {} \;
(autoconf-2.13 && cd js/src && autoconf-2.13)
# Despite commit https://hg.mozilla.org/mozilla-central/rev/e149b8c85eb8 (hg log -p -r 98136 | less):
# changeset: 98136:e149b8c85eb8
# summary: Bug 757252 - Kill nsinstall_win.c, use nsinstall.py on Windows instead. r=ted
# .. we still requires an nsinstall executable for some of the build process (NSPR, more?):
# firefox-41.0b5/nsprpub/configure.in:1177
# case "$host" in
# *-mingw*|*-msys*)
# NSINSTALL=nsinstall
# ;;
# However, if we try to use it for everything via:
# "${_make}" -f $PWD/client.mk build NSINSTALL=${srcdir}/moztools/bin/nsinstall.exe
# .. we run into race conditions, some of which were fixed here:
# https://hg.mozilla.org/mozilla-central/rev/e857761718d5
# .. but the nsinstall.exe in moztools.zip (from 2006) doesn't include those fixes. Anyway,
# since nsinstall_win.c has been removed to ease maintainence, we can get away with using
# the buggy one, as nsinstall.py is used for the majority of the build process.
cp "${srcdir}"/moztools/bin/nsinstall.exe .
cp "${srcdir}"/nsinstall.exe.manifest .
}
build() {
cd "${srcdir}"/${_realname}-${pkgver}
if [ "${CARCH}" = "i686" ]; then
_builddir=obj-i686-w64-mingw32
else
_builddir=obj-x86_64-w64-mingw32
fi
[ -d ${_builddir} ] && rm -rf "${_builddir}"
mkdir ${_builddir}
cp "${srcdir}"/mozconfig.${CARCH} ${_builddir}/.mozconfig
if check_option "debug" "y"; then
echo "ac_add_options --enable-debug-symbols" >> ${_builddir}/.mozconfig
echo "ac_add_options --disable-install-strip" >> ${_builddir}/.mozconfig
echo "ac_add_options --disable-optimize" >> ${_builddir}/.mozconfig
# The next two lines are for older versions of Firefox but
# I've not managed to build a debuggable xul.dll yet.
echo "ac_add_options --enable-debugger-info-modules=yes" >> ${_builddir}/.mozconfig
export export MOZ_DEBUG_SYMBOLS=1
fi
export PYTHON=$(path_conv_for_make "${_python}")
echo $PYTHON
export MOZCONFIG=${PWD}/${_builddir}/.mozconfig
# See: https://bugzilla.mozilla.org/show_bug.cgi?id=950332
echo "mk_add_options MOZ_OBJDIR=$(path_conv_for_make ${PWD}/${_builddir})" >> ${_builddir}/.mozconfig
export MIDL="${MINGW_PREFIX}/bin/widl.exe -I ${MINGW_PREFIX}/${CARCH}-w64-mingw32/include"
export MOZ_TOOLS=${MINGW_PREFIX}
export MAKEFLAGS=-j9
# For nsinstall.exe
export PATH=${PWD}:"${PATH}"
# .. make a shell script so we can easily recreate the build environment while
# developing this PKGBUILD.
set
set |awk '
BEGIN { _p = 1; }
$0~/^[^ ]+ \(\)/ { _p = 0; }
_p == 1
$0 == "}" { _p = 1; }
' |sed -r -e '/^BASH_(ARGC|ARGV|LINENO|SOURCE|VERSINFO)=/d;
/^(UID|EUID)=/d;
/^(FUNCNAME|GROUPS|PPID|SHELLOPTS|BASHOPTS)=/d;' > ./env-${CARCH}.sh
echo "export PATH PYTHON MOZCONFIG MIDL MOZ_TOOLS CPPFLAGS CFLAGS CXXFLAGS LDFLAGS MAKEFLAGS" >> ./env-${CARCH}.sh
"${_make}" -f $PWD/client.mk configure
"${_make}" -f $PWD/client.mk build
}
# check() {
# cd "${srcdir}"/${_realname}-${pkgver}
# "${_make}" -f $PWD/client.mk check
# }
package() {
cd "${srcdir}"/${_realname}-${pkgver}
if [ "${CARCH}" = "i686" ]; then
_builddir=obj-i686-w64-mingw32
else
_builddir=obj-x86_64-w64-mingw32
fi
# TBB uses:
"${_make}" -k -C ${PWD}/${_builddir} package INNER_MAKE_PACKAGE=true
# ArchLinux uses (but this fails on MSYS2):
# "${_make}" -k -C ${PWD}/${_builddir} DESTDIR="${pkgdir}" INSTALL_SDK= install -k
}
# Trying to figure out why I'm not getting debugging info in xul.dll:
# (do_main in firefox-41.0.1/browser/app/nsBrowserApp.cpp is the last thing with debug info)
# Crash happens in firefox-41.0.1/js/src/jit/BaselineJIT.cpp .. in .. firefox-41.0.1/obj-i686-w64-mingw32/js/src/Unified_cpp_js_src3.cpp .. in .. libjs_static.a
# c++ -mwindows -o nsBrowserApp.o -c -DFIREFOX_ICO='"../../dist/branding/firefox.ico"' -DDOCUMENT_ICO='"../../dist/branding/document.ico"' -DNEWWINDOW_ICO='"../../dist/branding/newwindow.ico"' -DNEWTAB_ICO='"../../dist/branding/newtab.ico"' -DPBMODE_ICO='"../../dist/branding/pbmode.ico"' -DXPCOM_GLUE -DAPP_VERSION='41.0.1' -DMOZ_PHOENIX -DAB_CD=en-US -DNO_NSPR_10_SUPPORT -IE:/m2/repo/mingw-w64-firefox/src/firefox-41.0.1/browser/app -I. -IE:/m2/repo/mingw-w64-firefox/src/firefox-41.0.1/obj-i686-w64-mingw32/build -IE:/m2/repo/mingw-w64-firefox/src/firefox-41.0.1/toolkit/xre -IE:/m2/repo/mingw-w64-firefox/src/firefox-41.0.1/xpcom/base -IE:/m2/repo/mingw-w64-firefox/src/firefox-41.0.1/xpcom/build -I../../dist/include -IE:/m2/repo/mingw-w64-firefox/src/firefox-41.0.1/obj-i686-w64-mingw32/dist/include/nspr -IE:/m2/repo/mingw-w64-firefox/src/firefox-41.0.1/obj-i686-w64-mingw32/dist/include/nss -D_FORTIFY_SOURCE=2 -D__USE_MINGW_ANSI_STDIO=1 -DMOZILLA_CLIENT -include ../../mozilla-config.h -MD -MP -MF .deps/nsBrowserApp.o.pp -D_FORTIFY_SOURCE=2 -D__USE_MINGW_ANSI_STDIO=1 -Wall -Wempty-body -Woverloaded-virtual -Wsign-compare -Wwrite-strings -Wno-invalid-offsetof -Wcast-align -Wno-format -march=i686 -mtune=generic -O2 -pipe -ggdb -Og -ggdb -Og -fno-exceptions -fno-strict-aliasing -mms-bitfields -mstackrealign -fno-keep-inline-dllexport -fno-rtti -fno-exceptions -fno-math-errno -std=gnu++0x -pthread -pipe -DDEBUG -DTRACING -g -fno-omit-frame-pointer E:/m2/repo/mingw-w64-firefox/src/firefox-41.0.1/browser/app/nsBrowserApp.cpp
# E:/m2/repo/mingw-w64-firefox/src/firefox-41.0.1/obj-i686-w64-mingw32/_virtualenv/bin/python.exe E:/m2/repo/mingw-w64-firefox/src/firefox-41.0.1/config/expandlibs_exec.py --uselist -- c++ -mwindows -o firefox.exe -D_FORTIFY_SOURCE=2 -D__USE_MINGW_ANSI_STDIO=1 -Wall -Wempty-body -Woverloaded-virtual -Wsign-compare -Wwrite-strings -Wno-invalid-offsetof -Wcast-align -Wno-format -march=i686 -mtune=generic -O2 -pipe -ggdb -Og -ggdb -Og -fno-exceptions -fno-strict-aliasing -mms-bitfields -mstackrealign -fno-keep-inline-dllexport -fno-rtti -fno-exceptions -fno-math-errno -std=gnu++0x -pthread -pipe -DDEBUG -DTRACING -g -fno-omit-frame-pointer nsBrowserApp.o ./module.res -mconsole -lpthread -pipe -Wl,--build-id -Wl,--enable-stdcall-fixup -Wl,--large-address-aware -DELAYLOAD:mozglue.dll ../../xpcom/glue/standalone/staticruntime/libxpcomglue_staticruntime.a ../../memory/fallible/libfallible.a ../../mozglue/build/libmozglue.a -luuid -lgdi32 -lwinmm -lwsock32 -luserenv -lsecur32 -lnetapi32 -ldelayimp
#
# /mingw32/bin/objdump -p ./js/src/Unified_cpp_js_src3.o | less
# ./js/src/Unified_cpp_js_src3.o: file format pe-i386
# Characteristics 0x104
# line numbers stripped
# 32 bit words
#
# c++ -mwindows -o Unified_cpp_js_src3.o -c -DFFI_BUILDING -D_CRT_RAND_S -DEXPORT_JS_API -DJS_HAS_CTYPES -DDLL_PREFIX='""' -DDLL_SUFFIX='".dll"' -DAB_CD= -DNO_NSPR_10_SUPPORT -IE:/m2/repo/mingw-w64-firefox/src/firefox-41.0.1/js/src -I. -Ictypes/libffi/include -IE:/m2/repo/mingw-w64-firefox/src/firefox-41.0.1/intl/icu/source/common -IE:/m2/repo/mingw-w64-firefox/src/firefox-41.0.1/intl/icu/source/i18n -I../../dist/include -IE:/m2/repo/mingw-w64-firefox/src/firefox-41.0.1/obj-i686-w64-mingw32/dist/include/nspr -D_FORTIFY_SOURCE=2 -D__USE_MINGW_ANSI_STDIO=1 -DMOZILLA_CLIENT -include ../../js/src/js-confdefs.h -MD -MP -MF .deps/Unified_cpp_js_src3.o.pp -D_FORTIFY_SOURCE=2 -D__USE_MINGW_ANSI_STDIO=1 -Wall -Wsign-compare -Wtype-limits -Wno-invalid-offsetof -Wcast-align -Wno-format -march=i686 -mtune=generic -O2 -pipe -ggdb -Og -ggdb -Og -mms-bitfields -mstackrealign -fno-keep-inline-dllexport -fno-rtti -fno-exceptions -fno-math-errno -std=gnu++0x -pthread -pipe -DDEBUG -DTRACING -g -fno-omit-frame-pointer E:/m2/repo/mingw-w64-firefox/src/firefox-41.0.1/obj-i686-w64-mingw32/js/src/Unified_cpp_js_src3.cpp
# E:/m2/repo/mingw-w64-firefox/src/firefox-41.0.1/obj-i686-w64-mingw32/_virtualenv/bin/python.exe E:/m2/repo/mingw-w64-firefox/src/firefox-41.0.1/config/expandlibs_exec.py --extract -- ar crs libjs_static.a RegExp.o CTypes.o Library.o Parser.o ExecutableAllocatorWin.o jsarray.o jsatom.o jsmath.o jsutil.o pm_stub.o TraceLogging.o TraceLoggingGraph.o TraceLoggingTypes.o Unified_cpp_js_src0.o Unified_cpp_js_src1.o Unified_cpp_js_src10.o Unified_cpp_js_src11.o Unified_cpp_js_src12.o Unified_cpp_js_src2.o Unified_cpp_js_src3.o Unified_cpp_js_src4.o Unified_cpp_js_src5.o Unified_cpp_js_src6.o Unified_cpp_js_src7.o Unified_cpp_js_src8.o Unified_cpp_js_src9.o ../../config/external/ffi/libffi.a ../../config/external/nspr/libnspr.a ../../config/external/zlib/libzlib.a

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,20 +0,0 @@
diff -urN firefox-38.0.5.orig/python/mozbuild/mozbuild/frontend/emitter.py firefox-38.0.5/python/mozbuild/mozbuild/frontend/emitter.py
--- firefox-38.0.5.orig/python/mozbuild/mozbuild/frontend/emitter.py 2015-05-25 22:28:56.000000000 +0100
+++ firefox-38.0.5/python/mozbuild/mozbuild/frontend/emitter.py 2015-07-08 23:05:35.409977000 +0100
@@ -3,6 +3,7 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
from __future__ import unicode_literals
+from __future__ import print_function
import itertools
import json
@@ -392,6 +393,8 @@
for symbol in ('SOURCES', 'HOST_SOURCES', 'UNIFIED_SOURCES'):
for src in (context[symbol] or []):
+ print('sys.argv is %s' % sys.argv, file=sys.stderr)
+ print('checking if %s exists' % (mozpath.join(context.srcdir, src)), file=sys.stderr)
if not os.path.exists(mozpath.join(context.srcdir, src)):
raise SandboxValidationError('File listed in %s does not '
'exist: \'%s\'' % (symbol, src), context)

View File

@@ -1,20 +0,0 @@
#Specify the cross compile
export CROSS_COMPILE=1
mk_add_options CROSS_COMPILE=1
ac_add_options --enable-application=browser
ac_add_options --target=i686-w64-mingw32
ac_add_options --enable-default-toolkit=cairo-windows
ac_add_options --enable-debug
ac_add_options --disable-optimize
ac_add_options --disable-updater
ac_add_options --disable-crashreporter
ac_add_options --disable-maintenance-service
ac_add_options --disable-webrtc
ac_add_options --without-intl-api
ac_add_options --disable-sandbox
ac_add_options --prefix=/mingw32
# Use parallel build. Adjust number of processes for your setup.
mk_add_options MOZ_MAKE_FLAGS=-j8

View File

@@ -1,20 +0,0 @@
#Specify the cross compile
export CROSS_COMPILE=1
mk_add_options CROSS_COMPILE=1
ac_add_options --enable-application=browser
ac_add_options --target=x86_64-w64-mingw32
ac_add_options --enable-default-toolkit=cairo-windows
ac_add_options --enable-debug
ac_add_options --disable-optimize
ac_add_options --disable-updater
ac_add_options --disable-crashreporter
ac_add_options --disable-maintenance-service
ac_add_options --disable-webrtc
ac_add_options --without-intl-api
ac_add_options --disable-sandbox
ac_add_options --prefix=/mingw64
# Use parallel build. Adjust number of processes for your setup.
mk_add_options MOZ_MAKE_FLAGS=-j8

View File

@@ -1,11 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<v3:trustInfo xmlns:v3="urn:schemas-microsoft-com:asm.v3">
<v3:security>
<v3:requestedPrivileges>
<v3:requestedExecutionLevel level="asInvoker" />
</v3:requestedPrivileges>
</v3:security>
</v3:trustInfo>
</assembly>