2
0
mirror of https://codeberg.org/kiss-community/repo synced 2024-07-02 14:02:27 +00:00

firefox [testing]: 104.0b1

This commit is contained in:
Owen Rafferty 2022-07-25 18:48:46 -05:00
parent 0c9aef392a
commit c249d9e65f
No known key found for this signature in database
GPG Key ID: A68B10E2554DEBCB
11 changed files with 455 additions and 0 deletions

123
testing/firefox/README Normal file
View File

@ -0,0 +1,123 @@
firefox
________________________________________________________________________________
Mozilla Firefox or simply Firefox, is a free and open-source web browser
developed by the Mozilla Foundation and its subsidiary, the Mozilla Corporation.
Firefox uses the Gecko rendering engine to display web pages. [0]
Upstream: https://www.mozilla.org/firefox
[000] Index
________________________________________________________________________________
* Installation ........................................................... [001]
* Runtime Dependencies ................................................. [002]
* Privacy Package ...................................................... [003]
* Setup .................................................................. [004]
* Enable VAAPI Acceleration ............................................ [005]
* Usage .................................................................. [006]
* References ............................................................. [007]
[001] Installation
________________________________________________________________________________
+------------------------------------------------------------------------------+
| |
| $ kiss b firefox |
| |
+------------------------------------------------------------------------------+
--[002] Runtime Dependencies ---------------------------------------------------
Firefox needs a few additional things to be fully functional. One is an icon
theme and the other is a font. If you have already installed the fonts and
icon theme of your choosing, this step can be skipped.
+----------------------------------------------------------------------------+
| |
| $ kiss b [hicolor-icon-theme|adwaita-icon-theme] |
| $ kiss b ttf-croscore |
| |
+----------------------------------------------------------------------------+
--[003] Privacy Package --------------------------------------------------------
Provided is also an optional privacy package which makes Firefox perform zero
unsolicited network requests. More information can be found in the
documentation (@/firefox-privacy) Expect some website breakage when using this
privacy package YMMV.
+----------------------------------------------------------------------------+
| |
| $ kiss b firefox-privacy |
| |
+----------------------------------------------------------------------------+
[004] Setup
________________________________________________________________________________
As of Firefox 91. There is no need to set special environment variables to
enable Wayland support (in a Wayland only environment like ours). The browser
should start with no further configuration.
--[005] Enable VAAPI Acceleration ----------------------------------------------
As of Firefox 102, only the following modification to about:config should be
required, with no need to disable any sandbox features.
+------------------------------------------------------------------------------+
| |
| about:config |
| |
| media.ffmpeg.vaapi.enabled=true |
| |
+------------------------------------------------------------------------------+
If using AMDGPU, the following kernel option must be enabled. [1]
+------------------------------------------------------------------------------+
| |
| .config |
| |
| CONFIG_CHECKPOINT_RESTORE=y |
| |
+------------------------------------------------------------------------------+
You may also need to set the following environment variable.
+------------------------------------------------------------------------------+
| |
| .profile |
| |
| export MOZ_WAYLAND_DRM_DEVICE=/dev/dri/renderD128 |
| |
+------------------------------------------------------------------------------+
To verify that VAAPI is working, launch Firefox with the following argument and
attempt to watch a video. Pay attention for errors in the output.
+------------------------------------------------------------------------------+
| |
| $ firefox --MOZ_LOG=PlatformDecoderModule:4 |
| |
+------------------------------------------------------------------------------+
[006] Usage
________________________________________________________________________________
Refer to the browser's help output and online documentation for further
information.
[007] References
________________________________________________________________________________
[0] https://en.wikipedia.org/wiki/Firefox

114
testing/firefox/build Executable file
View File

@ -0,0 +1,114 @@
#!/bin/sh -e
for p in *.patch; do
patch -p1 < "$p"
done
# Build yasm for Firefox's sole use. Firefox is the only package which needs it
# and upstream is kinda dead.
(
cd yasm
./configure \
--prefix=/
make
make DESTDIR="$PWD/../junk" install
)
# Build zip/unzip for Firefox's sole use.
for f in zip unzip; do (
cd "$f"
make \
CC="$CC $CFLAGS $CXXFLAGS" \
-f unix/Makefile generic
make \
prefix="$PWD/../junk" \
-f unix/Makefile install
) done
export PATH="$PWD/junk/bin:$PATH"
for p in \
audioipc \
audioipc-client \
audioipc-server
do
sed 's/\("files":{\)[^}]*/\1/' \
"third_party/rust/$p/.cargo-checksum.json" > _
mv -f _ "third_party/rust/$p/.cargo-checksum.json"
done
# If using libc++, CXXSTDLIB needs to be set manually.
case $("$CC" -print-file-name=libc++.so) in */*)
export CXXSTDLIB=c++
esac
export CFLAGS="$CFLAGS -w"
export CXXFLAGS="$CXXFLAGS -w"
# Instruct the compiler to trim absolute paths in resulting binaries and instead
# change them to relative paths ($PWD/... ./...).
export RUSTFLAGS="$RUSTFLAGS --remap-path-prefix=$PWD=."
export LDFLAGS="$LDFLAGS -Wl,-rpath=/usr/lib/firefox,--enable-new-dtags"
export RUSTFLAGS="$RUSTFLAGS -Cdebuginfo=0"
export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=system
export MOZ_DEBUG_FLAGS=-g0
export MOZBUILD_STATE_PATH="$PWD/state"
export MOZ_NOSPAM=1
cat > .mozconfig << EOF
ac_add_options --prefix=/usr
ac_add_options --libdir=/usr/lib
ac_add_options --enable-default-toolkit=cairo-gtk3-wayland-only
ac_add_options --enable-strip
ac_add_options --enable-release
ac_add_options --enable-rust-simd
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
ac_add_options --with-system-libvpx
ac_add_options --with-system-ffi
ac_add_options --with-system-png
ac_add_options --with-system-jpeg
ac_add_options --with-system-zlib
ac_add_options --with-system-pixman
ac_add_options --without-system-nss
ac_add_options --without-system-nspr
ac_add_options --without-wasm-sandboxed-libraries
ac_add_options --disable-eme
ac_add_options --disable-dbus
ac_add_options --disable-tests
ac_add_options --disable-vtune
ac_add_options --disable-updater
ac_add_options --disable-jemalloc
ac_add_options --disable-elf-hack
ac_add_options --disable-callgrind
ac_add_options --disable-profiling
ac_add_options --disable-necko-wifi
ac_add_options --disable-crashreporter
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
EOF
./mach build
./mach install
# Remove a lot of uneeded "stuff".
rm -rf \
"$1/usr/include" \
"$1/usr/lib/firefox-devel" \
"$1/usr/share/idl" \
"$1/usr/lib/firefox/browser/features/fxmonitor@mozilla.org.xpi" \
"$1/usr/lib/firefox/browser/features/screenshots@mozilla.org.xpi" \
"$1/usr/lib/firefox/browser/features/webcompat-reporter@mozilla.org.xpi" \
"$1/usr/lib/firefox/browser/features/webcompat@mozilla.org.xpi" \
"$1/usr/lib/firefox/browser/features/doh-rollout@mozilla.org.xpi"

View File

@ -0,0 +1,8 @@
4d0132babf56ef3709e31c17d41b62b3bb52df38d13eaa2fe37acd66f09db310
3dce6601b495f5b3d45b59f7d2492a340ee7e84b5beca17e48f862502bd5603f
f0e8bb1f9b7eb0b01285495a2699df3a4b766784c1765a8f1aeedf63c0806369
036d96991646d0449ed0aa952e4fbe21b476ce994abc276e49d30e686708bd37
ba6e380bc3d2cbd1b3a505ab97687498335c334d8a4be7f465ad30ee366806c7
86ce49e650dd117f0f2928a7f810a58df526b1087c274d35eeb9c5bbf09eac5b
bed3f4e39dcb8065dba174d37fb15f2a75887a6dd7ce6b872e5ab287c8bc386f
4a232e3aa3973894a58c126b9e901c924d4e1ca3e00c4fc82d08de4b880183a9

31
testing/firefox/depends Normal file
View File

@ -0,0 +1,31 @@
alsa-lib
bzip2
cairo
cbindgen make
clang make
expat
ffmpeg
fontconfig
freetype-harfbuzz
gdk-pixbuf
glib
gtk+3
libdrm
libffi
libjpeg-turbo
libpng
libvpx
llvm make
m4 make
mesa
nasm make
nodejs make
pango
perl make
pixman
pkgconf make
python make
rust make
wayland
wayland-protocols make
zlib

View File

@ -0,0 +1,48 @@
diff --git a/security/nss/lib/freebl/Makefile b/security/nss/lib/freebl/Makefile
--- a/security/nss/lib/freebl/Makefile
+++ b/security/nss/lib/freebl/Makefile
@@ -753,7 +753,6 @@ $(OBJDIR)/$(PROG_PREFIX)intel-gcm-wrap$(OBJ_SUFFIX): CFLAGS += -mssse3
# .set Htbl, %rdi
# So we can't use Clang's integrated assembler with intel-gcm.s.
ifdef CC_IS_CLANG
-$(OBJDIR)/$(PROG_PREFIX)intel-gcm$(OBJ_SUFFIX): CFLAGS += -no-integrated-as
endif
endif
diff --git a/security/nss/lib/freebl/freebl.gyp b/security/nss/lib/freebl/freebl.gyp
--- a/security/nss/lib/freebl/freebl.gyp
+++ b/security/nss/lib/freebl/freebl.gyp
@@ -19,13 +19,10 @@
'conditions': [
[ 'cc_is_clang==1 and force_integrated_as!=1', {
'cflags': [
- '-no-integrated-as',
],
'cflags_mozilla': [
- '-no-integrated-as',
],
'asflags_mozilla': [
- '-no-integrated-as',
],
}],
],
diff --git a/security/nss/lib/freebl/freebl_base.gypi b/security/nss/lib/freebl/freebl_base.gypi
--- a/security/nss/lib/freebl/freebl_base.gypi
+++ b/security/nss/lib/freebl/freebl_base.gypi
@@ -74,13 +74,10 @@
'conditions': [
[ 'cc_is_clang==1 and fuzz!=1 and coverage!=1 and force_integrated_as!=1', {
'cflags': [
- '-no-integrated-as',
],
'cflags_mozilla': [
- '-no-integrated-as',
],
'asflags_mozilla': [
- '-no-integrated-as',
],
}],
],
--
2.35.1

View File

@ -0,0 +1,12 @@
diff --git a/dom/media/webrtc/transport/third_party/nICEr/src/stun/addrs-netlink.c b/dom/media/webrtc/transport/third_party/nICEr/src/stun/addrs-netlink.c
index 73e85c6ccc..9eca548638 100644
--- a/dom/media/webrtc/transport/third_party/nICEr/src/stun/addrs-netlink.c
+++ b/dom/media/webrtc/transport/third_party/nICEr/src/stun/addrs-netlink.c
@@ -31,6 +31,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#if defined(LINUX)
+#include <net/if.h>
#include "addrs-netlink.h"
#include <csi_platform.h>
#include <assert.h>

View File

@ -0,0 +1,86 @@
diff -r fc5ee47dac3e third_party/rust/audioipc-client/Cargo.toml
--- a/third_party/rust/audioipc-client/Cargo.toml Tue Jun 28 12:00:27 2022 -0500
+++ b/third_party/rust/audioipc-client/Cargo.toml Thu Jun 30 00:35:24 2022 -0500
@@ -19,3 +19,5 @@
[dependencies.audio_thread_priority]
version = "0.26.1"
+default_features = false
+features = ["winapi"]
diff -r fc5ee47dac3e third_party/rust/audioipc-server/Cargo.toml
--- a/third_party/rust/audioipc-server/Cargo.toml Tue Jun 28 12:00:27 2022 -0500
+++ b/third_party/rust/audioipc-server/Cargo.toml Thu Jun 30 00:35:24 2022 -0500
@@ -24,3 +24,5 @@
[dependencies.audio_thread_priority]
version = "0.26.1"
+default_features = false
+features = ["winapi"]
diff -r fc5ee47dac3e third_party/rust/audioipc/Cargo.toml
--- a/third_party/rust/audioipc/Cargo.toml Tue Jun 28 12:00:27 2022 -0500
+++ b/third_party/rust/audioipc/Cargo.toml Thu Jun 30 00:35:24 2022 -0500
@@ -30,6 +30,8 @@
[target.'cfg(target_os = "linux")'.dependencies.audio_thread_priority]
version = "0.26.1"
+default_features = false
+features = ["winapi"]
[target.'cfg(windows)'.dependencies]
mio = "0.6.19"
diff -r fc5ee47dac3e toolkit/components/remote/moz.build
--- a/toolkit/components/remote/moz.build Tue Jun 28 12:00:27 2022 -0500
+++ b/toolkit/components/remote/moz.build Thu Jun 30 00:35:24 2022 -0500
@@ -26,7 +26,7 @@
"nsUnixRemoteServer.h",
"RemoteUtils.h",
]
- else:
+ elif CONFIG["MOZ_X11"]:
SOURCES += [
"nsGTKRemoteServer.cpp",
"nsXRemoteClient.cpp",
diff -r fc5ee47dac3e toolkit/components/remote/nsRemoteService.cpp
--- a/toolkit/components/remote/nsRemoteService.cpp Tue Jun 28 12:00:27 2022 -0500
+++ b/toolkit/components/remote/nsRemoteService.cpp Thu Jun 30 00:35:24 2022 -0500
@@ -6,12 +6,14 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#ifdef MOZ_WIDGET_GTK
-# ifdef MOZ_ENABLE_DBUS
+# if defined(MOZ_ENABLE_DBUS)
# include "nsDBusRemoteServer.h"
# include "nsDBusRemoteClient.h"
-# else
+# elif defined(MOZ_X11)
# include "nsGTKRemoteServer.h"
# include "nsXRemoteClient.h"
+# else
+# include "nsRemoteClient.h"
# endif
#elif defined(XP_WIN)
# include "nsWinRemoteServer.h"
@@ -94,8 +96,10 @@
#ifdef MOZ_WIDGET_GTK
# if defined(MOZ_ENABLE_DBUS)
client = MakeUnique<nsDBusRemoteClient>();
+# elif defined(MOZ_X11)
+ client = MakeUnique<nsXRemoteClient>();
# else
- client = MakeUnique<nsXRemoteClient>();
+ return REMOTE_NOT_FOUND;
# endif
#elif defined(XP_WIN)
client = MakeUnique<nsWinRemoteClient>();
@@ -138,8 +142,10 @@
#ifdef MOZ_WIDGET_GTK
# if defined(MOZ_ENABLE_DBUS)
mRemoteServer = MakeUnique<nsDBusRemoteServer>();
+# elif defined(MOZ_X11)
+ mRemoteServer = MakeUnique<nsGTKRemoteServer>();
# else
- mRemoteServer = MakeUnique<nsGTKRemoteServer>();
+ return;
# endif
#elif defined(XP_WIN)
mRemoteServer = MakeUnique<nsWinRemoteServer>();

View File

@ -0,0 +1,12 @@
diff --git a/config/system-headers.mozbuild b/config/system-headers.mozbuild
index a1b58eb59b..d35da57db3 100644
--- a/config/system-headers.mozbuild
+++ b/config/system-headers.mozbuild
@@ -267,7 +267,6 @@ system_headers = [
'freetype/t1tables.h',
'freetype/ttnameid.h',
'freetype/tttables.h',
- 'fribidi/fribidi.h',
'FSp_fopen.h',
'fstream',
'fstream.h',

12
testing/firefox/post-install Executable file
View File

@ -0,0 +1,12 @@
#!/bin/sh
cat <<EOF
Run 'kiss help firefox' for setup
information and general troubleshooting.
Also available here:
https://kisslinux.org/wiki/software/firefox
EOF

8
testing/firefox/sources Normal file
View File

@ -0,0 +1,8 @@
https://ftp.mozilla.org/pub/firefox/releases/VERSION/source/firefox-VERSION.source.tar.xz
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
patches/fix-clang-as.patch
patches/fix-linux-header.patch
patches/no-dbus.patch
patches/no-fribidi.patch

1
testing/firefox/version Normal file
View File

@ -0,0 +1 @@
104.0b1 1