Mozilla Firefox is a free and open source web browser descended from the
Mozilla Application Suite. It is small, fast and easy to use, and offers
many advanced features:
o Popup Blocking
o Tabbed Browsing
o Live Bookmarks (ie. RSS)
o Extensions
o Themes
o FastFind
o Improved Security
===> The following configuration options are available for firefox-158.0_1,2:
CANBERRA=off: Sound theme alerts
DBUS=on: D-Bus IPC system support
DEBUG=off: Build with debugging support
FFMPEG=on: FFmpeg support (WMA, AIFF, AC3, APE...)
LIBPROXY=off: Proxy support via libproxy
LTO=off: Use Link-Time Optimization
OPTIMIZED_CFLAGS=on: Use extra compiler optimizations
PROFILE=on: Build with profiling support
TEST=off: Build and/or run tests
====> Extra cubeb audio backends (OSS is always available)
ALSA=off: ALSA audio architecture support
JACK=on: JACK audio server support
PULSEAUDIO=on: PulseAudio sound server support
SNDIO=on: Sndio audio support
===> Use 'make config' to modify these settings
## Missing features
Some features found on Windows, macOS and Linux are not implemented:
- Encrypted Media Extensions (requires Widevine CDM binary)
- Process sandboxing (requires Capsicum backend)
- Reduced memory usage (requires mozjemalloc)
- Crash Reporter (requires Google Breakpad and reproducible builds)
- WebVR (requires open source runtime)
- TCP fast open
- `about:networking#networkid` (requires link state notification)
## Cursors
From Firefox 142 on, this port defaults to using the new (themed)
cursor selection. On the upside, this makes Firefox respect the
desktop environment's theme, on the downside this breaks compatibility
with the legacy X cursor names. If you experience issues (i.e. the
mouse cursor not changing to the pointer ("hand") when hovering over
links), your desktop environment is most likely still set to the legacy
default/builtin "theme". To remedy this, either
- set about:config variable "widget.gtk.legacy-cursors.enabled" to "true"
to re-enable the legacy cursors, or
- use the Xcursor framework to set a cursor theme (e.g. X resource
item Xcursor.theme), see Xcursor(3) for details. The Adwaita theme
will have been installed as a dependency of gtk3 and does work.
The latter option is only available for X environments.
## Audio backend
Currently used audio backend can be inspected on `about:support` page.
Supported backends and default probing order is as follows:
- `pulse-rust` if `pulseaudio` package is installed (PULSEAUDIO option)
- `jack` if `jackit` package is installed (JACK option)
- `sndio` if `sndio` package is installed (SNDIO option)
- `alsa` if `alsa-lib` package is installed (ALSA option)
- `oss` (always available)
To force a specific backend open `about:config` page and create
`media.cubeb.backend` preference.
Microphone selection only works in `oss`, `pulse-rust` backends.
Other backends are limited to `default` which is usually `/dev/dsp`,
so use virtual_oss to reroute microphones from non-default devices.
## Gamepad API
Requires evdev(4) joystick support. On FreeBSD 13 and later enable hgame(4)
while older versions can use sysutils/iichid or multimedia/webcamd.
## smb:// issues
Network group, machine, and share browsing does not work correctly.
## sftp://
Only sftp access using public key authentication works. To easily
setup public key authentication to `remote_host`:
$ ssh-keygen
$ cat ~/.ssh/id_rsa.pub | ssh remote_host "cat >> .ssh/authorized_keys"
The SSH server on `remote_host` must allow pub key authentication.
www/firefox: depend on libepoll-shim
libxul.so clearly links against libepoll-shim, and we have reports
of firefox failing to start without libepoll-shim. this also affects
mail/thunderbird (once we land it), so fix the problem in bsd.gecko.mk.
First reports are against firefox 90, set the version cutoff
accordingly.
PR: 257490
Reported by: Maxim Filimonov
audio/jack: Update to Jack2: 0.125.0 -> 1.9.16
Big thank you to Florian Walpen <dev@submerge.ch> and
Goran Mekić <meka@tilda.center> for working on Jack2.
PR: 251125
Submitted by: Florian Walpen <dev@submerge.ch> (original version)
graphics/mesa-libs: Bump reverse deps for libglvnd
Per discussion with bapt on helping pkg handle the changing of these
deps and avoiding impossible upgrade senarios.
PR: 246767
Reviewed by: manu, bapt
Approved by: x11
Differential Revision: https://reviews.freebsd.org/D30824
www/firefox: depend on libpci to qualify for WebRender by default
On Intel Skylake this enables WebRender for Xorg and Wayland (wlroots).
Xwayland isn't qualified yet but Firefox can be tricked by unsetting
WAYLAND_DISPLAY or simply switching to native via MOZ_ENABLE_WAYLAND.
PR: 255344
Reported by: Evgeniy Khramtsov (via gecko@ list)
www/firefox: fix dependency version information
According to:
build/moz.configure/nspr.configure (NSPR, sets minimum version)
build/moz.configure/nss.configure (NSS, sets minimum version)
gfx/harfbuzz/README.mozilla (harfbuzz embedded copy, we use our own)
gfx/graphite2/README.mozilla (graphite2 embedded copy, we use our own)
media/libpng/README (libpng embedded copy, we use our own)
media/libvpx/config/vpx_version.h (libvpx embedded copy, we use our own)
may this help me when I touch it next time
www/firefox: tentatively enable LTO by default on aarch64
Untested but LTO on aarch64 works fine in other ports.
Waiting for the package cluster to confirm (on -CURRENT).
Add CFLAGS_powerpc64le=-DSQLITE_BYTEORDER=1234 to Gecko ports. This is because
sqlite is bundled there and not defining SQLITE_BYTEORDER makes sqlite think all
PPC are big-endian, which breaks history and bookmarks.
gecko: bump LLVM_DEFAULT to 11
Detach from tree-wide default as coordinating with other maintainers
is expensive for little gain. User's choice is still respected.
llvm11 has better Tier2 support, more optimizations, reduces package size
and aligns with what contributors dogfood.
www/firefox: fixes for some color issues on powerpc64
Some image formats still suffer from endianness issues, fix it partially by
removing one obsolete patch and adding another.
gecko: add native OSS support, replacing ALSA as fallback
OSS is always built but during runtime only selected by default if
neither pulseaudio, jackit or sndio are installed. In particular,
Gnome and KDE users would still be offered PulseAudio by default due
to integration with multi-app volume widgets, current song bars,
screensharing with audio, etc. that prefer to talk over DBus.
Those can opt out via media.cubeb.backend=oss in about:config.
Submitted by: Ka Ho Ng <khng300@gmail.com> (based on)
www/firefox: fix build on powerpc64
Error:
/tmp/usr/ports/www/firefox/work/firefox-80.0/dom/media/flac/FlacDecoder.cpp:21:37:
error: use of undeclared identifier 'NS_LITERAL_CSTRING'
lang/rust: Update to 1.45.0
- This Rust release comes with LLVM 10. Drop the LLVM patches we
no longer need.
- On FreeBSD 13.0 powerpc64 set the elfv2 ABI explicitly in the
Rust target instead of patching LLVM.
- Build LLVM with Ninja. It can shorten the build time slightly.
- Force rebuild all consumers to catch regressions early
Changes: https://blog.rust-lang.org/2020/07/16/Rust-1.45.0.html
Tested by: mikael, pkubaj, tobik
With hat: rust
Differential Revision: https://reviews.freebsd.org/D25658