aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xbinary_tarball/scripts/3_Configure_Source_Code.sh6
-rw-r--r--deb_patches/add-missing-include-functional.patch14
-rw-r--r--deb_patches/drop-libstdcxx-check.patch75
3 files changed, 91 insertions, 4 deletions
diff --git a/binary_tarball/scripts/3_Configure_Source_Code.sh b/binary_tarball/scripts/3_Configure_Source_Code.sh
index 13214fa..2c06643 100755
--- a/binary_tarball/scripts/3_Configure_Source_Code.sh
+++ b/binary_tarball/scripts/3_Configure_Source_Code.sh
@@ -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";
diff --git a/deb_patches/add-missing-include-functional.patch b/deb_patches/add-missing-include-functional.patch
new file mode 100644
index 0000000..d1ff90e
--- /dev/null
+++ b/deb_patches/add-missing-include-functional.patch
@@ -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"
diff --git a/deb_patches/drop-libstdcxx-check.patch b/deb_patches/drop-libstdcxx-check.patch
new file mode 100644
index 0000000..f0abd29
--- /dev/null
+++ b/deb_patches/drop-libstdcxx-check.patch
@@ -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.
bgstack15