diff --git a/extra/firefox/build b/extra/firefox/build index 87996918..b55b3bff 100755 --- a/extra/firefox/build +++ b/extra/firefox/build @@ -4,19 +4,6 @@ for p in *.patch; do patch -p1 < "$p" done -# Build autoconf 2.13 for Firefox's sole use. -# See: https://bugzilla.mozilla.org/show_bug.cgi?id=104642 -( - cd autoconf2.13 - - ./configure \ - --prefix="$PWD/../junk" \ - --program-suffix=-2.13 - - make - make install -) - # Build yasm for Firefox's sole use. Firefox is the only package which needs it # and upstream is kinda dead. ( @@ -71,7 +58,7 @@ ac_add_options --enable-audio-backends=alsa ac_add_options --enable-install-strip ac_add_options --enable-official-branding ac_add_options --enable-application=browser -ac_add_options --enable-optimize="${CFLAGS:-} -w" +ac_add_options --enable-optimize ac_add_options --with-system-libvpx ac_add_options --with-system-ffi ac_add_options --with-system-png diff --git a/extra/firefox/checksums b/extra/firefox/checksums index 24262122..c9c9870d 100644 --- a/extra/firefox/checksums +++ b/extra/firefox/checksums @@ -1,11 +1,10 @@ b4c76e8bdf81f473f3e56b2f69dbe5119bba5cab38e36ab0f3f38cf0cdc4a9c2 -f0611136bee505811e9ca11ca7ac188ef5323a8e2ef19cffd3edb3cf08fd791e 3dce6601b495f5b3d45b59f7d2492a340ee7e84b5beca17e48f862502bd5603f f0e8bb1f9b7eb0b01285495a2699df3a4b766784c1765a8f1aeedf63c0806369 036d96991646d0449ed0aa952e4fbe21b476ce994abc276e49d30e686708bd37 d3ea2503dff0a602bb058153533ebccd8232e8aac1dc82437a55d724b8d22bc2 ba6e380bc3d2cbd1b3a505ab97687498335c334d8a4be7f465ad30ee366806c7 86ce49e650dd117f0f2928a7f810a58df526b1087c274d35eeb9c5bbf09eac5b -515da65465d805a506f3b72f2f35b559ec3e39cc4fe6476eaf03c431980fa826 +38a6124659daf6b2d2121f9aa44c2cf02c9dec3d0b24054defdc3101b302c88c 509ce8c2e956481850cf3fbbeb2adcfd72a29f0699ccf2d00c24d1f81167a1dc 4a232e3aa3973894a58c126b9e901c924d4e1ca3e00c4fc82d08de4b880183a9 diff --git a/extra/firefox/patches/fix-wayland-only.patch b/extra/firefox/patches/fix-wayland-only.patch index 04a50690..48a8d6c9 100644 --- a/extra/firefox/patches/fix-wayland-only.patch +++ b/extra/firefox/patches/fix-wayland-only.patch @@ -142,19 +142,32 @@ index 5218c7d..2e578b9 100644 -REQUIRES_UNIFIED_BUILD = True +CXXFLAGS += ["-Werror=switch"] +diff --git a/widget/gtk/mozgtk/moz.build b/widget/gtk/mozgtk/moz.build +index f860f82..d5e78d0 100644 +--- a/widget/gtk/mozgtk/moz.build ++++ b/widget/gtk/mozgtk/moz.build +@@ -11,6 +11,7 @@ SOURCES += [ + ] + + CFLAGS += CONFIG["MOZ_X11_CFLAGS"] ++CFLAGS += CONFIG["MOZ_GTK3_CFLAGS"] + + # If LDFLAGS contains -Wl,--as-needed or if it's the default for the toolchain, + # we need to add -Wl,--no-as-needed before the gtk libraries, otherwise the diff --git a/widget/gtk/mozgtk/mozgtk.c b/widget/gtk/mozgtk/mozgtk.c -index d7dbbc6..8c73c89 100644 +index d7dbbc6..d95746f 100644 --- a/widget/gtk/mozgtk/mozgtk.c +++ b/widget/gtk/mozgtk/mozgtk.c -@@ -6,6 +6,12 @@ +@@ -6,6 +6,13 @@ #include "mozilla/Types.h" ++#include ++ +// Dummy call to gtk3 library to prevent the linker from removing +// the gtk3 dependency with --as-needed. +// see toolkit/library/moz.build for details. -+MOZ_EXPORT void gdk_display_get_default(); -+MOZ_EXPORT void mozgtk_linker_holder(void) { gdk_display_get_default(); } ++MOZ_EXPORT void mozgtk_linker_holder() { gdk_display_get_default(); } + #ifdef MOZ_X11 # include @@ -172,10 +185,10 @@ index 2ebb62f..6752c52 100644 #include "nsComponentManagerUtils.h" #include "nsGtkUtils.h" diff --git a/widget/gtk/nsClipboard.cpp b/widget/gtk/nsClipboard.cpp -index 555e8ce..fd49d92 100644 +index 555e8ce..48a827f 100644 --- a/widget/gtk/nsClipboard.cpp +++ b/widget/gtk/nsClipboard.cpp -@@ -31,6 +31,7 @@ +@@ -31,15 +31,19 @@ #include "nsIObserverService.h" #include "mozilla/Services.h" #include "mozilla/RefPtr.h" @@ -183,7 +196,9 @@ index 555e8ce..fd49d92 100644 #include "mozilla/SchedulerGroup.h" #include "mozilla/StaticPrefs_widget.h" #include "mozilla/TimeStamp.h" -@@ -39,7 +40,9 @@ ++#include "GRefPtr.h" + #include "WidgetUtilsGtk.h" + #include "imgIContainer.h" #include @@ -207,15 +222,15 @@ index 6fcc3e9..8462b6d 100644 class nsWindow; diff --git a/widget/gtk/nsWindow.cpp b/widget/gtk/nsWindow.cpp -index e14c4f4..3bd659d 100644 +index e14c4f4..cd82d54 100644 --- a/widget/gtk/nsWindow.cpp +++ b/widget/gtk/nsWindow.cpp @@ -267,6 +267,9 @@ static SystemTimeConverter& TimeConverter() { bool nsWindow::sTransparentMainWindow = false; -+/* forward declare from mozgtk */ -+MOZ_EXPORT extern "C" void mozgtk_linker_holder(void); ++// forward declare from mozgtk ++extern "C" MOZ_EXPORT void mozgtk_linker_holder(); + namespace mozilla { diff --git a/extra/firefox/sources b/extra/firefox/sources index 61017cc7..466508e4 100644 --- a/extra/firefox/sources +++ b/extra/firefox/sources @@ -1,5 +1,4 @@ https://ftp.mozilla.org/pub/firefox/releases/VERSION/source/firefox-VERSION.source.tar.xz -https://ftp.gnu.org/gnu/autoconf/autoconf-2.13.tar.gz autoconf2.13/ https://github.com/yasm/yasm/releases/download/v1.3.0/yasm-1.3.0.tar.gz yasm https://fossies.org/linux/misc/zip30.tar.gz zip https://fossies.org/linux/misc/unzip60.tar.gz unzip