add firefox-hg
This commit is contained in:
parent
f5a5840714
commit
357b165cb1
4 changed files with 188 additions and 0 deletions
15
gui/firefox-hg/avoid-redefinition.patch
Normal file
15
gui/firefox-hg/avoid-redefinition.patch
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
Author: Rasmus Thomsen <oss@cogitri.dev>
|
||||||
|
Reason: FF is mixing userspace net headers (net/if.h) and kernelspace ones
|
||||||
|
(linux/if.h), leading to redefinitions. We need to include net/if.h before
|
||||||
|
linux/if.h because linux/if.h has redifinition guards whereas net/if.h doesnt
|
||||||
|
Upstream: No
|
||||||
|
--- a/dom/media/webrtc/transport/third_party/nICEr/src/stun/addrs-netlink.c.orig 2020-07-28 19:24:32.359751046 +0200
|
||||||
|
+++ b/dom/media/webrtc/transport/third_party/nICEr/src/stun/addrs-netlink.c 2020-07-28 19:24:37.856343751 +0200
|
||||||
|
@@ -31,6 +31,7 @@
|
||||||
|
*/
|
||||||
|
|
||||||
|
#if defined(LINUX)
|
||||||
|
+#include <net/if.h>
|
||||||
|
#include "addrs-netlink.h"
|
||||||
|
#include <csi_platform.h>
|
||||||
|
#include <assert.h>
|
94
gui/firefox-hg/build.sh
Normal file
94
gui/firefox-hg/build.sh
Normal file
|
@ -0,0 +1,94 @@
|
||||||
|
pkgname=firefox
|
||||||
|
pkgver=26726cd430955db041e5de33d9792bb816c57608
|
||||||
|
mkdeps="cbindgen:rust"
|
||||||
|
|
||||||
|
fetch() {
|
||||||
|
#curl "https://ftp.mozilla.org/pub/firefox/releases/${pkgver}esr/source/firefox-${pkgver}esr.source.tar.xz" -o $pkgname-$pkgver.tar.xz
|
||||||
|
curl "https://hg.mozilla.org/mozilla-unified/archive/26726cd430955db041e5de33d9792bb816c57608.zip" -o $pkgname-$pkgver.zip
|
||||||
|
unzip
|
||||||
|
mv mozilla-unified-$pkgver $pkgname-$pkgver
|
||||||
|
cd $pkgname-$pkgver
|
||||||
|
# patch -p1 < ../../no-x11.patch
|
||||||
|
# patch -p1 < ../../fix-clang-as.patch
|
||||||
|
patch -p1 < ../../avoid-redefinition.patch
|
||||||
|
patch -p1 < ../../libcxx.patch
|
||||||
|
patch -p1 < ../../grefptr.patch
|
||||||
|
# patch -p1 < ../../sandbox-fork.patch
|
||||||
|
# patch -p1 < ../../sandbox-sched.patch
|
||||||
|
}
|
||||||
|
|
||||||
|
build() {
|
||||||
|
cd $pkgname-$pkgver
|
||||||
|
ulimit -n 4096
|
||||||
|
|
||||||
|
|
||||||
|
export MACH_USE_SYSTEM_PYTHON=1
|
||||||
|
export CXXSTDLIB=c++
|
||||||
|
export LDFLAGS="$LDFLAGS -Wl,-rpath=/usr/lib/firefox/,--enable-new-dtags"
|
||||||
|
|
||||||
|
cat > .mozconfig << EOF
|
||||||
|
ac_add_options --enable-default-toolkit=cairo-gtk3-wayland
|
||||||
|
ac_add_options --prefix=/usr
|
||||||
|
ac_add_options --libdir=/usr/lib
|
||||||
|
ac_add_options --disable-alsa
|
||||||
|
ac_add_options --enable-dbus
|
||||||
|
ac_add_options --enable-strip
|
||||||
|
ac_add_options --enable-release
|
||||||
|
ac_add_options --enable-rust-simd
|
||||||
|
ac_add_options --enable-install-strip
|
||||||
|
ac_add_options --enable-official-branding
|
||||||
|
ac_add_options --enable-application=browser
|
||||||
|
ac_add_options --enable-optimize="-O3 -w"
|
||||||
|
ac_add_options --without-system-libvpx
|
||||||
|
ac_add_options --without-system-ffi
|
||||||
|
ac_add_options --without-system-png
|
||||||
|
ac_add_options --without-system-jpeg
|
||||||
|
ac_add_options --without-system-zlib
|
||||||
|
ac_add_options --without-system-pixman
|
||||||
|
ac_add_options --without-system-nss
|
||||||
|
ac_add_options --without-system-nspr
|
||||||
|
ac_add_options --enable-linker=lld
|
||||||
|
ac_add_options --disable-tests
|
||||||
|
ac_add_options --disable-vtune
|
||||||
|
ac_add_options --disable-updater
|
||||||
|
ac_add_options --disable-jemalloc
|
||||||
|
ac_add_options --disable-callgrind
|
||||||
|
ac_add_options --disable-profiling
|
||||||
|
ac_add_options --disable-necko-wifi
|
||||||
|
ac_add_options --disable-crashreporter
|
||||||
|
ac_add_options --enable-pulseaudio
|
||||||
|
ac_add_options --disable-accessibility
|
||||||
|
ac_add_options --disable-debug
|
||||||
|
ac_add_options --disable-debug-symbols
|
||||||
|
ac_add_options --disable-parental-controls
|
||||||
|
ac_add_options --disable-system-extension-dirs
|
||||||
|
ac_add_options --enable-webrtc
|
||||||
|
ac_add_options --disable-elf-hack
|
||||||
|
ac_add_options --without-wasm-sandboxed-libraries
|
||||||
|
#ac_add_options MOZ_PGO=1
|
||||||
|
EOF
|
||||||
|
|
||||||
|
bad --gmake --gm4 --autoconf ./mach clobber
|
||||||
|
bad --gmake --gm4 --autoconf ./mach build
|
||||||
|
}
|
||||||
|
|
||||||
|
package() {
|
||||||
|
cd $pkgname-$pkgver
|
||||||
|
|
||||||
|
export MACH_USE_SYSTEM_PYTHON=1
|
||||||
|
export CXXSTDLIB=c++
|
||||||
|
export RUSTFLAGS='-C target-feature=-crt-static'
|
||||||
|
export LDFLAGS="$LDFLAGS -Wl,-rpath=/usr/lib/firefox/,--enable-new-dtags"
|
||||||
|
|
||||||
|
DESTDIR=$pkgdir bad --gmake --gm4 --autoconf ./mach install
|
||||||
|
}
|
||||||
|
|
||||||
|
backup() {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
license() {
|
||||||
|
cd $pkgname-$pkgver
|
||||||
|
cat LICENSE
|
||||||
|
# cat COPYING
|
||||||
|
}
|
10
gui/firefox-hg/grefptr.patch
Normal file
10
gui/firefox-hg/grefptr.patch
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
--- a/widget/gtk/nsClipboard.cpp
|
||||||
|
+++ b/widget/gtk/nsClipboard.cpp
|
||||||
|
@@ -31,6 +31,7 @@
|
||||||
|
#include "nsIObserverService.h"
|
||||||
|
#include "mozilla/Services.h"
|
||||||
|
#include "mozilla/RefPtr.h"
|
||||||
|
+#include "GRefPtr.h"
|
||||||
|
#include "mozilla/SchedulerGroup.h"
|
||||||
|
#include "mozilla/StaticPrefs_widget.h"
|
||||||
|
#include "mozilla/TimeStamp.h"
|
69
gui/firefox-hg/libcxx.patch
Normal file
69
gui/firefox-hg/libcxx.patch
Normal file
|
@ -0,0 +1,69 @@
|
||||||
|
--- a/memory/mozalloc/throw_gcc.h
|
||||||
|
+++ b/memory/mozalloc/throw_gcc.h
|
||||||
|
@@ -74,50 +74,66 @@ __throw_bad_function_call(void) {
|
||||||
|
mozalloc_abort("fatal: STL threw bad_function_call");
|
||||||
|
}
|
||||||
|
|
||||||
|
+#if !defined(_LIBCPP_VERSION)
|
||||||
|
MOZ_THROW_NORETURN MOZ_THROW_EXPORT MOZ_THROW_INLINE void __throw_logic_error(
|
||||||
|
const char* msg) {
|
||||||
|
mozalloc_abort(msg);
|
||||||
|
}
|
||||||
|
+#endif // _LIBCPP_VERSION
|
||||||
|
|
||||||
|
+#if !defined(_LIBCPP_VERSION)
|
||||||
|
MOZ_THROW_NORETURN MOZ_THROW_EXPORT MOZ_THROW_INLINE void __throw_domain_error(
|
||||||
|
const char* msg) {
|
||||||
|
mozalloc_abort(msg);
|
||||||
|
}
|
||||||
|
+#endif // _LIBCPP_VERSION
|
||||||
|
|
||||||
|
+#if !defined(_LIBCPP_VERSION)
|
||||||
|
MOZ_THROW_NORETURN MOZ_THROW_EXPORT MOZ_THROW_INLINE void
|
||||||
|
__throw_invalid_argument(const char* msg) {
|
||||||
|
mozalloc_abort(msg);
|
||||||
|
}
|
||||||
|
+#endif // _LIBCPP_VERSION
|
||||||
|
|
||||||
|
+#if !defined(_LIBCPP_VERSION)
|
||||||
|
MOZ_THROW_NORETURN MOZ_THROW_EXPORT MOZ_THROW_INLINE void __throw_length_error(
|
||||||
|
const char* msg) {
|
||||||
|
mozalloc_abort(msg);
|
||||||
|
}
|
||||||
|
+#endif // _LIBCPP_VERSION
|
||||||
|
|
||||||
|
+#if !defined(_LIBCPP_VERSION)
|
||||||
|
MOZ_THROW_NORETURN MOZ_THROW_EXPORT MOZ_THROW_INLINE void __throw_out_of_range(
|
||||||
|
const char* msg) {
|
||||||
|
mozalloc_abort(msg);
|
||||||
|
}
|
||||||
|
+#endif // _LIBCPP_VERSION
|
||||||
|
|
||||||
|
MOZ_THROW_NORETURN MOZ_THROW_EXPORT MOZ_THROW_INLINE void __throw_runtime_error(
|
||||||
|
const char* msg) {
|
||||||
|
mozalloc_abort(msg);
|
||||||
|
}
|
||||||
|
|
||||||
|
+#if !defined(_LIBCPP_VERSION)
|
||||||
|
MOZ_THROW_NORETURN MOZ_THROW_EXPORT MOZ_THROW_INLINE void __throw_range_error(
|
||||||
|
const char* msg) {
|
||||||
|
mozalloc_abort(msg);
|
||||||
|
}
|
||||||
|
+#endif // _LIBCPP_VERSION
|
||||||
|
|
||||||
|
+#if !defined(_LIBCPP_VERSION)
|
||||||
|
MOZ_THROW_NORETURN MOZ_THROW_EXPORT MOZ_THROW_INLINE void
|
||||||
|
__throw_overflow_error(const char* msg) {
|
||||||
|
mozalloc_abort(msg);
|
||||||
|
}
|
||||||
|
+#endif // _LIBCPP_VERSION
|
||||||
|
|
||||||
|
+#if !defined(_LIBCPP_VERSION)
|
||||||
|
MOZ_THROW_NORETURN MOZ_THROW_EXPORT MOZ_THROW_INLINE void
|
||||||
|
__throw_underflow_error(const char* msg) {
|
||||||
|
mozalloc_abort(msg);
|
||||||
|
}
|
||||||
|
+#endif // _LIBCPP_VERSION
|
||||||
|
|
||||||
|
MOZ_THROW_NORETURN MOZ_THROW_EXPORT MOZ_THROW_INLINE void __throw_ios_failure(
|
||||||
|
const char* msg) {
|
Loading…
Reference in a new issue