diff options
-rwxr-xr-x | binary_tarball/scripts/3_Configure_Source_Code.sh | 6 | ||||
-rw-r--r-- | deb_patches/add-missing-include-functional.patch | 14 | ||||
-rw-r--r-- | deb_patches/drop-libstdcxx-check.patch | 75 |
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. |