include new patches for old ubuntu build to build 75.0

This commit is contained in:
ohfp 2020-04-07 22:42:19 +02:00
parent c98825e212
commit fc51b4f6d4
3 changed files with 91 additions and 4 deletions

View file

@ -98,10 +98,6 @@ END
patch -p1 -i ${CI_PROJECT_DIR}/arm.patch
wget https://raw.githubusercontent.com/archlinuxarm/PKGBUILDs/master/extra/firefox/build-arm-libopus.patch -O ${CI_PROJECT_DIR}/build-arm-libopus.patch
patch -p1 -i ${CI_PROJECT_DIR}/build-arm-libopus.patch
# might not even be needed for aarch64?
# trying without them
# patch -p1 -i ${CI_PROJECT_DIR}/deb_patches/fix-armhf-webrtc-build.patch
# patch -p1 -i ${CI_PROJECT_DIR}/deb_patches/webrtc-fix-compiler-flags-for-armhf.patch
else
cat >>${CI_PROJECT_DIR}/mozconfig <<END
@ -123,6 +119,8 @@ fi
# hopefully the magic sauce that makes things build on 16.04 and later on work "everywhere":
patch -p1 -i "${CI_PROJECT_DIR}/deb_patches/drop-check-glibc-symbols.patch"
patch -p1 -i "${CI_PROJECT_DIR}/deb_patches/build-with-libstdc++-7.patch"
patch -p1 -i "${CI_PROJECT_DIR}/deb_patches/drop-libstdcxx-check.patch"
patch -p1 -i "${CI_PROJECT_DIR}/deb_patches/add-missing-include-functional.patch"
# Disabling Pocket
printf "\nDisabling Pocket\n";

View file

@ -0,0 +1,14 @@
Description: add missing #include directive for the use of std::function
Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1626972
Author: Olivier Tilloy <olivier.tilloy@canonical.com>
--- a/image/imgFrame.h
+++ b/image/imgFrame.h
@@ -7,6 +7,7 @@
#ifndef mozilla_image_imgFrame_h
#define mozilla_image_imgFrame_h
+#include <functional>
#include <utility>
#include "AnimationParams.h"

View file

@ -0,0 +1,75 @@
diff -r 55f4a0a504e4 build/moz.configure/toolchain.configure
--- a/build/moz.configure/toolchain.configure Wed Mar 18 05:41:31 2020 +0000
+++ b/build/moz.configure/toolchain.configure Wed Mar 18 07:15:55 2020 +0100
@@ -886,10 +886,6 @@
return []
-def minimum_gcc_version():
- return Version('7.1.0')
-
-
@template
def compiler(language, host_or_target, c_compiler=None, other_compiler=None,
other_c_compiler=None):
@@ -1016,11 +1012,10 @@
if host_or_target.os == 'Android':
raise FatalCheckError('GCC is not supported on Android.\n'
'Please use clang from the Android NDK instead.')
- gcc_version = minimum_gcc_version()
- if info.version < gcc_version:
+ if info.version < '7.1.0':
raise FatalCheckError(
- 'Only GCC %d.%d or newer is supported (found version %s).'
- % (gcc_version.major, gcc_version.minor, info.version))
+ 'Only GCC 7.1 or newer is supported (found version %s).'
+ % info.version)
if info.type == 'clang-cl':
if info.version < '8.0.0':
@@ -1218,45 +1213,6 @@
'about the target bitness.')
-@depends(cxx_compiler, target)
-def needs_libstdcxx_newness_check(cxx_compiler, target):
- # We only have to care about this on Linux and MinGW.
- if cxx_compiler.type == 'clang-cl':
- return
-
- if target.kernel not in ('Linux', 'WINNT'):
- return
-
- if target.os == 'Android':
- return
-
- return True
-
-
-def die_on_old_libstdcxx():
- die('The libstdc++ in use is not new enough. Please run '
- './mach bootstrap to update your compiler, or update your system '
- 'libstdc++ installation.')
-
-try_compile(includes=['cstddef'],
- body='\n'.join([
- # _GLIBCXX_RELEASE showed up in libstdc++ 7.
- '#if defined(__GLIBCXX__) && !defined(_GLIBCXX_RELEASE)',
- '# error libstdc++ not new enough',
- '#endif',
- '#if defined(_GLIBCXX_RELEASE)',
- '# if _GLIBCXX_RELEASE < %d' % minimum_gcc_version().major,
- '# error libstdc++ not new enough',
- '# else',
- ' (void) 0',
- '# endif',
- '#endif',
- ]),
- check_msg='for new enough STL headers from libstdc++',
- when=needs_libstdcxx_newness_check,
- onerror=die_on_old_libstdcxx)
-
-
@depends(c_compiler, target)
def default_debug_flags(compiler_info, target):
# Debug info is ON by default.