summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorBruno Pagani2022-07-27 18:50:40 +0200
committerBruno Pagani2022-07-27 18:50:40 +0200
commit61884b2f87ad3ed972ce9bf9857d02dca15c9272 (patch)
tree66cc6de477e58e0ceb38fa37fd64222eb28b022b
parent8a59b94baa93644cd827cbadaa17149335dff54e (diff)
downloadaur-61884b2f87ad3ed972ce9bf9857d02dca15c9272.tar.gz
Move to heftig source build PKGBUILD
-rw-r--r--.SRCINFO81
-rw-r--r--PKGBUILD286
-rw-r--r--firefox-install-dir.patch38
-rw-r--r--firefox-nightly.desktop50
-rw-r--r--identity-icons-brand.svg3
-rw-r--r--zstandard-0.18.0.diff10
6 files changed, 372 insertions, 96 deletions
diff --git a/.SRCINFO b/.SRCINFO
index fb084f2c96bf..641e995a8f76 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,41 +1,66 @@
pkgbase = firefox-nightly
- pkgdesc = Standalone Web Browser from Mozilla — Nightly build (en-US)
- pkgver = 103.0a1.20220604213903+h490469b53dbe
+ pkgdesc = Development version of the popular Firefox web browser
+ pkgver = 103.0a1+20220626.1+h8256997a5472
pkgrel = 1
- url = https://www.mozilla.org/en-US/firefox/nightly
- arch = i686
+ url = https://www.mozilla.org/firefox/channel/#nightly
arch = x86_64
license = MPL
license = GPL
license = LGPL
- depends = dbus-glib
+ makedepends = unzip
+ makedepends = zip
+ makedepends = diffutils
+ makedepends = yasm
+ makedepends = mesa
+ makedepends = imake
+ makedepends = inetutils
+ makedepends = xorg-server-xvfb
+ makedepends = autoconf2.13
+ makedepends = rust
+ makedepends = clang
+ makedepends = llvm
+ makedepends = jack
+ makedepends = nodejs
+ makedepends = cbindgen
+ makedepends = nasm
+ makedepends = python-setuptools
+ makedepends = python-zstandard
+ makedepends = lld
+ makedepends = dump_syms
+ makedepends = wasi-compiler-rt
+ makedepends = wasi-libc
+ makedepends = wasi-libc++
+ makedepends = wasi-libc++abi
+ makedepends = mercurial
depends = gtk3
depends = libxt
- depends = nss
depends = mime-types
- optdepends = pulseaudio: audio support
- optdepends = ffmpeg: h.264 video
- optdepends = hunspell: spell checking
- optdepends = hyphen: hyphenation
- optdepends = libnotify: notification integration
- optdepends = networkmanager: location detection via available WiFi networks
- optdepends = speech-dispatcher: text-to-speech
+ depends = dbus-glib
+ depends = ffmpeg
+ depends = nss
+ depends = ttf-font
+ depends = libpulse
+ optdepends = networkmanager: Location detection via available WiFi networks
+ optdepends = libnotify: Notification integration
+ optdepends = pulseaudio: Audio support
+ optdepends = speech-dispatcher: Text-to-Speech
+ optdepends = hunspell-en_US: Spell checking, American English
+ optdepends = xdg-desktop-portal: Screensharing with Wayland
+ options = !emptydirs
+ options = !makeflags
+ options = !strip
+ options = !lto
+ options = !debug
+ source = hg+https://hg.mozilla.org/mozilla-central
+ source = firefox-install-dir.patch
+ source = zstandard-0.18.0.diff
source = firefox-nightly.desktop
- source = policies.json
+ source = identity-icons-brand.svg
validpgpkeys = 14F26682D0916CDD81E37B6D61B7B526D98F0353
- sha512sums = 87c181628c3be0762000ff3b5cb841ed2c2371937e4aab7f8f441c608dd08d349085036880c8e8aaed40d01fe258ea9be159741e9fad9f493c96fb9be4cc0de3
- sha512sums = 5ed67bde39175d4d10d50ba5b12063961e725e94948eadb354c0588b30d3f97d2178b66c1af466a6e7bd208ab694227a1391c4141f88d3da1a1178454eba5308
- source_i686 = 20220605-firefox-103.0a1.en-US.linux-i686.tar.bz2::https://download-installer.cdn.mozilla.net/pub/firefox/nightly/latest-mozilla-central/firefox-103.0a1.en-US.linux-i686.tar.bz2
- source_i686 = 20220605-firefox-103.0a1.en-US.linux-i686.tar.bz2.asc::https://download-installer.cdn.mozilla.net/pub/firefox/nightly/latest-mozilla-central/firefox-103.0a1.en-US.linux-i686.tar.bz2.asc
- source_i686 = 20220605-firefox-103.0a1.en-US.linux-i686.txt::https://download-installer.cdn.mozilla.net/pub/firefox/nightly/latest-mozilla-central/firefox-103.0a1.en-US.linux-i686.txt
- sha512sums_i686 = SKIP
- sha512sums_i686 = SKIP
- sha512sums_i686 = SKIP
- source_x86_64 = 20220605-firefox-103.0a1.en-US.linux-x86_64.tar.bz2::https://download-installer.cdn.mozilla.net/pub/firefox/nightly/latest-mozilla-central/firefox-103.0a1.en-US.linux-x86_64.tar.bz2
- source_x86_64 = 20220605-firefox-103.0a1.en-US.linux-x86_64.tar.bz2.asc::https://download-installer.cdn.mozilla.net/pub/firefox/nightly/latest-mozilla-central/firefox-103.0a1.en-US.linux-x86_64.tar.bz2.asc
- source_x86_64 = 20220605-firefox-103.0a1.en-US.linux-x86_64.txt::https://download-installer.cdn.mozilla.net/pub/firefox/nightly/latest-mozilla-central/firefox-103.0a1.en-US.linux-x86_64.txt
- sha512sums_x86_64 = SKIP
- sha512sums_x86_64 = SKIP
- sha512sums_x86_64 = SKIP
+ sha256sums = SKIP
+ sha256sums = c80937969086550237b0e89a02330d438ce17c3764e43cc5d030cb21c2abce5f
+ sha256sums = a6857ad2f2e2091c6c4fdcde21a59fbeb0138914c0e126df64b50a5af5ff63be
+ sha256sums = 7d90a9abacb5cc9870a31323ef31e361f620538c56609001d6d9e789b99b5e97
+ sha256sums = a9b8b4a0a1f4a7b4af77d5fc70c2686d624038909263c795ecc81e0aec7711e9
pkgname = firefox-nightly
diff --git a/PKGBUILD b/PKGBUILD
index 34eb977d248e..828139a83fe5 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,69 +1,239 @@
-# Maintainer: Bruno Pagani (a.k.a. ArchangeGabriel) <bruno.n.pagani@gmail.com>
-# Contributor: Cedric MATHIEU <me.xenom @ gmail.com>
-
-_name=firefox
-_channel=nightly
-_lang=en-US
-pkgname=${_name}-${_channel}
-pkgdesc="Standalone Web Browser from Mozilla — Nightly build (${_lang})"
-url="https://www.mozilla.org/${_lang}/${_name}/${_channel}"
-_version=103.0a1
-pkgver=103.0a1.20220604213903+h490469b53dbe
+# Maintainer: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
+# Contributor: Ionut Biru <ibiru@archlinux.org>
+# Contributor: Jakub Schmidtke <sjakub@gmail.com>
+
+pkgname=firefox-nightly
+pkgver=103.0a1+20220626.1+h8256997a5472
pkgrel=1
-arch=(i686 x86_64)
+pkgdesc="Development version of the popular Firefox web browser"
+arch=(x86_64)
license=(MPL GPL LGPL)
-depends=(dbus-glib gtk3 libxt nss mime-types)
-optdepends=('pulseaudio: audio support'
- 'ffmpeg: h.264 video'
- 'hunspell: spell checking'
- 'hyphen: hyphenation'
- 'libnotify: notification integration'
- 'networkmanager: location detection via available WiFi networks'
- 'speech-dispatcher: text-to-speech')
-_url="https://download-installer.cdn.mozilla.net/pub/${_name}/nightly/latest-mozilla-central"
-_src="${_name}-${_version}.${_lang}.linux"
-_filename="$(date -u +%Y%m%d)-${_src}"
-source=("${pkgname}.desktop" 'policies.json')
-source_i686=("${_filename}-i686.tar.bz2"::"${_url}/${_src}-i686.tar.bz2"
- "${_filename}-i686.tar.bz2.asc"::"${_url}/${_src}-i686.tar.bz2.asc"
- "${_filename}-i686.txt"::"${_url}/${_src}-i686.txt")
-source_x86_64=("${_filename}-x86_64.tar.bz2"::"${_url}/${_src}-x86_64.tar.bz2"
- "${_filename}-x86_64.tar.bz2.asc"::"${_url}/${_src}-x86_64.tar.bz2.asc"
- "${_filename}-x86_64.txt"::"${_url}/${_src}-x86_64.txt")
-sha512sums=('87c181628c3be0762000ff3b5cb841ed2c2371937e4aab7f8f441c608dd08d349085036880c8e8aaed40d01fe258ea9be159741e9fad9f493c96fb9be4cc0de3'
- '5ed67bde39175d4d10d50ba5b12063961e725e94948eadb354c0588b30d3f97d2178b66c1af466a6e7bd208ab694227a1391c4141f88d3da1a1178454eba5308')
-sha512sums_i686=(SKIP SKIP SKIP)
-sha512sums_x86_64=(SKIP SKIP SKIP)
-validpgpkeys=(14F26682D0916CDD81E37B6D61B7B526D98F0353) # Mozilla’s GnuPG release key
+url="https://www.mozilla.org/firefox/channel/#nightly"
+depends=(gtk3 libxt mime-types dbus-glib ffmpeg nss ttf-font libpulse)
+makedepends=(unzip zip diffutils yasm mesa imake inetutils xorg-server-xvfb
+ autoconf2.13 rust clang llvm jack nodejs cbindgen nasm
+ python-setuptools python-zstandard lld dump_syms
+ wasi-compiler-rt wasi-libc wasi-libc++ wasi-libc++abi
+ mercurial)
+optdepends=('networkmanager: Location detection via available WiFi networks'
+ 'libnotify: Notification integration'
+ 'pulseaudio: Audio support'
+ 'speech-dispatcher: Text-to-Speech'
+ 'hunspell-en_US: Spell checking, American English'
+ 'xdg-desktop-portal: Screensharing with Wayland')
+options=(!emptydirs !makeflags !strip !lto !debug)
+_repo=https://hg.mozilla.org/mozilla-central
+source=("hg+$_repo"
+ firefox-install-dir.patch
+ zstandard-0.18.0.diff
+ $pkgname.desktop identity-icons-brand.svg)
+sha256sums=('SKIP'
+ 'c80937969086550237b0e89a02330d438ce17c3764e43cc5d030cb21c2abce5f'
+ 'a6857ad2f2e2091c6c4fdcde21a59fbeb0138914c0e126df64b50a5af5ff63be'
+ '7d90a9abacb5cc9870a31323ef31e361f620538c56609001d6d9e789b99b5e97'
+ 'a9b8b4a0a1f4a7b4af77d5fc70c2686d624038909263c795ecc81e0aec7711e9')
+validpgpkeys=('14F26682D0916CDD81E37B6D61B7B526D98F0353') # Mozilla Software Releases <release@mozilla.com>
+
+# Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
+# Note: These are for Arch Linux use ONLY. For your own distribution, please
+# get your own set of keys. Feel free to contact foutrelis@archlinux.org for
+# more information.
+_google_api_key=AIzaSyDwr302FpOSkGRpLlUpPThNTDPbXcIn_FM
+
+# Mozilla API keys (see https://location.services.mozilla.com/api)
+# Note: These are for Arch Linux use ONLY. For your own distribution, please
+# get your own set of keys. Feel free to contact heftig@archlinux.org for
+# more information.
+_mozilla_api_key=e05d56db0a694edc8b5aaebda3f2db6a
pkgver() {
- echo "${_version}.$(head -n1 ${_filename}-${CARCH}.txt)+h$(tail -n1 ${_filename}-${CARCH}.txt | cut -c 44-55)"
+ cd mozilla-central
+
+ local version=$(<browser/config/version_display.txt)
+ local date=$(date +%Y%m%d) # Without TZ=UTC, to match systemd timer
+ local counter=1
+ local rev=$(hg id -i -r. | sed 's/+$//')
+
+ local last_rev=${pkgver##*+h} tmp=${pkgver#*+}; tmp=${tmp%+*}
+ local last_date=${tmp%.*} last_counter=${tmp#*.}
+ if [[ $date == $last_date ]]; then
+ if [[ $rev == $last_rev ]]; then
+ counter=$last_counter
+ else
+ counter=$((last_counter + 1))
+ fi
+ fi
+
+ echo $version+$date.$counter+h$rev
+}
+
+prepare() {
+ mkdir mozbuild
+ cd mozilla-central
+ patch -Np1 -i ../firefox-install-dir.patch
+
+ # Unbreak build with python-zstandard 0.18.0
+ patch -Np1 -i ../zstandard-0.18.0.diff
+
+ echo -n "$_google_api_key" >google-api-key
+ echo -n "$_mozilla_api_key" >mozilla-api-key
+
+ cat >../mozconfig <<END
+ac_add_options --enable-application=browser
+mk_add_options MOZ_OBJDIR=${PWD@Q}/obj
+
+ac_add_options --prefix=/usr
+ac_add_options --enable-release
+ac_add_options --enable-hardening
+ac_add_options --enable-optimize
+ac_add_options --enable-rust-simd
+ac_add_options --enable-linker=lld
+ac_add_options --disable-elf-hack
+ac_add_options --disable-bootstrap
+ac_add_options --with-wasi-sysroot=/usr/share/wasi-sysroot
+
+# Branding
+ac_add_options --with-branding=browser/branding/nightly
+ac_add_options --enable-update-channel=nightly
+ac_add_options --with-distribution-id=org.archlinux
+ac_add_options --with-unsigned-addon-scopes=app,system
+ac_add_options --allow-addon-sideload
+export MOZILLA_OFFICIAL=1
+export MOZ_APP_REMOTINGNAME=${pkgname//-/}
+
+# Keys
+ac_add_options --with-google-location-service-api-keyfile=${PWD@Q}/google-api-key
+ac_add_options --with-google-safebrowsing-api-keyfile=${PWD@Q}/google-api-key
+ac_add_options --with-mozilla-api-keyfile=${PWD@Q}/mozilla-api-key
+
+# Features
+ac_add_options --enable-alsa
+ac_add_options --enable-jack
+ac_add_options --enable-crashreporter
+ac_add_options --disable-updater
+ac_add_options --disable-tests
+END
+}
+
+build() {
+ cd mozilla-central
+
+ export MOZ_SOURCE_REPO="$_repo"
+ export MOZ_NOSPAM=1
+ export MOZBUILD_STATE_PATH="$srcdir/mozbuild"
+ export MOZ_ENABLE_FULL_SYMBOLS=1
+ export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=system
+
+ # LTO needs more open files
+ ulimit -n 4096
+
+ # Do 3-tier PGO
+ echo "Building instrumented browser..."
+ cat >.mozconfig ../mozconfig - <<END
+ac_add_options --enable-profile-generate=cross
+END
+ ./mach build
+
+ echo "Profiling instrumented browser..."
+ ./mach package
+ LLVM_PROFDATA=llvm-profdata \
+ JARLOG_FILE="$PWD/jarlog" \
+ xvfb-run -s "-screen 0 1920x1080x24 -nolisten local" \
+ ./mach python build/pgo/profileserver.py
+
+ stat -c "Profile data found (%s bytes)" merged.profdata
+ test -s merged.profdata
+
+ stat -c "Jar log found (%s bytes)" jarlog
+ test -s jarlog
+
+ echo "Removing instrumented browser..."
+ ./mach clobber
+
+ echo "Building optimized browser..."
+ cat >.mozconfig ../mozconfig - <<END
+ac_add_options --enable-lto=cross
+ac_add_options --enable-profile-use=cross
+ac_add_options --with-pgo-profile-path=${PWD@Q}/merged.profdata
+ac_add_options --with-pgo-jarlog=${PWD@Q}/jarlog
+END
+ ./mach build
+
+ echo "Building symbol archive..."
+ ./mach buildsymbols
}
package() {
- OPT_PATH="opt/${pkgname}"
-
- # Install the package files
- install -d "${pkgdir}"/{usr/bin,opt}
- cp -r ${_name} "${pkgdir}"/${OPT_PATH}
- ln -s "/${OPT_PATH}/${_name}" "${pkgdir}"/usr/bin/${pkgname}
-
- # Install .desktop files
- install -Dm644 "${srcdir}"/${pkgname}.desktop -t "${pkgdir}"/usr/share/applications
-
- # Install icons
- SRC_LOC="${srcdir}"/${_name}/browser
- DEST_LOC="${pkgdir}"/usr/share/icons/hicolor
- for i in 16 32 48 64 128
- do
- install -Dm644 "${SRC_LOC}"/chrome/icons/default/default${i}.png "${DEST_LOC}"/${i}x${i}/apps/${pkgname}.png
+ cd mozilla-central
+ DESTDIR="$pkgdir" ./mach install
+
+ local vendorjs="$pkgdir/usr/lib/$pkgname/browser/defaults/preferences/vendor.js"
+ install -Dvm644 /dev/stdin "$vendorjs" <<END
+// Use LANG environment variable to choose locale
+pref("intl.locale.requested", "");
+
+// Use system-provided dictionaries
+pref("spellchecker.dictionary_path", "/usr/share/hunspell");
+
+// Disable default browser checking.
+pref("browser.shell.checkDefaultBrowser", false);
+
+// Don't disable extensions in the application directory
+pref("extensions.autoDisableScopes", 11);
+END
+
+ local distini="$pkgdir/usr/lib/$pkgname/distribution/distribution.ini"
+ install -Dvm644 /dev/stdin "$distini" <<END
+[Global]
+id=archlinux
+version=1.0
+about=Mozilla Firefox for Arch Linux
+
+[Preferences]
+app.distributor=archlinux
+app.distributor.channel=$pkgname
+app.partner.archlinux=archlinux
+END
+
+ local i theme=nightly
+ for i in 16 22 24 32 48 64 128 256; do
+ install -Dvm644 browser/branding/$theme/default$i.png \
+ "$pkgdir/usr/share/icons/hicolor/${i}x${i}/apps/$pkgname.png"
done
+ install -Dvm644 browser/branding/$theme/content/about-logo.png \
+ "$pkgdir/usr/share/icons/hicolor/192x192/apps/$pkgname.png"
+ install -Dvm644 browser/branding/$theme/content/about-logo@2x.png \
+ "$pkgdir/usr/share/icons/hicolor/384x384/apps/$pkgname.png"
+ install -Dvm644 browser/branding/$theme/content/about-logo.svg \
+ "$pkgdir/usr/share/icons/hicolor/scalable/apps/$pkgname.svg"
+ install -Dvm644 ../identity-icons-brand.svg \
+ "$pkgdir/usr/share/icons/hicolor/symbolic/apps/$pkgname-symbolic.svg"
- # Disable auto-updates
- install -Dm644 "${srcdir}"/policies.json -t "${pkgdir}"/${OPT_PATH}/distribution
+ install -Dvm644 ../$pkgname.desktop \
+ "$pkgdir/usr/share/applications/$pkgname.desktop"
- # Use system-provided dictionaries
- rm -rf "${pkgdir}"/${OPT_PATH}/{dictionaries,hyphenation}
- ln -sf /usr/share/hunspell "${pkgdir}"/${OPT_PATH}/dictionaries
- ln -sf /usr/share/hyphen "${pkgdir}"/${OPT_PATH}/hyphenation
+ # Install a wrapper to avoid confusion about binary path
+ install -Dvm755 /dev/stdin "$pkgdir/usr/bin/$pkgname" <<END
+#!/bin/sh
+exec /usr/lib/$pkgname/firefox "\$@"
+END
+
+ # Replace duplicate binary with wrapper
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=658850
+ ln -srfv "$pkgdir/usr/bin/$pkgname" "$pkgdir/usr/lib/$pkgname/firefox-bin"
+
+ # Use system certificates
+ local nssckbi="$pkgdir/usr/lib/$pkgname/libnssckbi.so"
+ if [[ -e $nssckbi ]]; then
+ ln -srfv "$pkgdir/usr/lib/libnssckbi.so" "$nssckbi"
+ fi
+
+ export SOCORRO_SYMBOL_UPLOAD_TOKEN_FILE="$startdir/.crash-stats-api.token"
+ if [[ -f $SOCORRO_SYMBOL_UPLOAD_TOKEN_FILE ]]; then
+ make -C obj uploadsymbols
+ else
+ cp -fvt "$startdir" obj/dist/*crashreporter-symbols-full.tar.zst
+ fi
}
+
+# vim:set sw=2 et:
diff --git a/firefox-install-dir.patch b/firefox-install-dir.patch
new file mode 100644
index 000000000000..961166506311
--- /dev/null
+++ b/firefox-install-dir.patch
@@ -0,0 +1,38 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
+Date: Wed, 10 Feb 2021 00:56:05 +0100
+Subject: [PATCH] Install as firefox-nightly
+
+---
+ config/baseconfig.mk | 2 +-
+ toolkit/mozapps/installer/packager.mk | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/config/baseconfig.mk b/config/baseconfig.mk
+index 8f3e920516c7..38b1fd6a69ad 100644
+--- a/config/baseconfig.mk
++++ b/config/baseconfig.mk
+@@ -2,7 +2,7 @@
+ # directly in python/mozbuild/mozbuild/base.py for gmake validation.
+ # We thus use INCLUDED_AUTOCONF_MK to enable/disable some parts depending
+ # whether a normal build is happening or whether the check is running.
+-installdir = $(libdir)/$(MOZ_APP_NAME)
++installdir = $(libdir)/$(MOZ_APP_NAME)-nightly
+ ifeq (.,$(DEPTH))
+ DIST = dist
+ else
+diff --git a/toolkit/mozapps/installer/packager.mk b/toolkit/mozapps/installer/packager.mk
+index a4b87438f15a..474c8db637f9 100644
+--- a/toolkit/mozapps/installer/packager.mk
++++ b/toolkit/mozapps/installer/packager.mk
+@@ -155,8 +155,8 @@ endif
+ (cd $(DIST)/$(MOZ_PKG_DIR) && $(TAR) --exclude=precomplete $(TAR_CREATE_FLAGS) - .) | \
+ (cd $(DESTDIR)$(installdir) && tar -xf -)
+ $(NSINSTALL) -D $(DESTDIR)$(bindir)
+- $(RM) -f $(DESTDIR)$(bindir)/$(MOZ_APP_NAME)
+- ln -s $(installdir)/$(MOZ_APP_NAME) $(DESTDIR)$(bindir)
++ $(RM) -f $(DESTDIR)$(bindir)/$(MOZ_APP_NAME)-nightly
++ ln -s $(installdir)/$(MOZ_APP_NAME) $(DESTDIR)$(bindir)/$(MOZ_APP_NAME)-nightly
+
+ upload:
+ $(PYTHON3) -u $(MOZILLA_DIR)/build/upload.py --base-path $(DIST) $(UPLOAD_FILES)
diff --git a/firefox-nightly.desktop b/firefox-nightly.desktop
index a498568c0996..6b485d19369a 100644
--- a/firefox-nightly.desktop
+++ b/firefox-nightly.desktop
@@ -1,7 +1,8 @@
[Desktop Entry]
+Version=1.0
Name=Firefox Nightly
GenericName=Web Browser
-GenericName[ar]=متصفح وِب
+GenericName[ar]=متصفح ويب
GenericName[ast]=Restolador Web
GenericName[bn]=ওয়েব ব্রাউজার
GenericName[ca]=Navegador web
@@ -18,7 +19,7 @@ GenericName[gl]=Navegador Web
GenericName[he]=דפדפן אינטרנט
GenericName[hr]=Web preglednik
GenericName[hu]=Webböngésző
-GenericName[it]=Browser Web
+GenericName[it]=Browser web
GenericName[ja]=ウェブ・ブラウザ
GenericName[ko]=웹 브라우저
GenericName[ku]=Geroka torê
@@ -41,8 +42,8 @@ GenericName[uk]=Веб-браузер
GenericName[vi]=Trình duyệt Web
GenericName[zh_CN]=网络浏览器
GenericName[zh_TW]=網路瀏覽器
-Comment=Browse the Web
-Comment[ar]=تصفح الوِب
+Comment=Browse the World Wide Web
+Comment[ar]=تصفح الشبكة العنكبوتية العالمية
Comment[ast]=Restola pela Rede
Comment[bn]=ইন্টারনেট ব্রাউজ করুন
Comment[ca]=Navegueu per el web
@@ -82,15 +83,44 @@ Comment[uk]=Перегляд сторінок Інтернету
Comment[vi]=Để duyệt các trang web
Comment[zh_CN]=浏览互联网
Comment[zh_TW]=瀏覽網際網路
-Exec=/opt/firefox-nightly/firefox %u
+Keywords=Internet;WWW;Browser;Web;Explorer
+Keywords[ar]=انترنت;إنترنت;متصفح;ويب;وب
+Keywords[ast]=Internet;WWW;Restolador;Web;Esplorador
+Keywords[ca]=Internet;WWW;Navegador;Web;Explorador;Explorer
+Keywords[cs]=Internet;WWW;Prohlížeč;Web;Explorer
+Keywords[da]=Internet;Internettet;WWW;Browser;Browse;Web;Surf;Nettet
+Keywords[de]=Internet;WWW;Browser;Web;Explorer;Webseite;Site;surfen;online;browsen
+Keywords[el]=Internet;WWW;Browser;Web;Explorer;Διαδίκτυο;Περιηγητής;Firefox;Φιρεφοχ;Ιντερνετ
+Keywords[es]=Explorador;Internet;WWW
+Keywords[fi]=Internet;WWW;Browser;Web;Explorer;selain;Internet-selain;internetselain;verkkoselain;netti;surffaa
+Keywords[fr]=Internet;WWW;Browser;Web;Explorer;Fureteur;Surfer;Navigateur
+Keywords[he]=דפדפן;אינטרנט;רשת;אתרים;אתר;פיירפוקס;מוזילה;
+Keywords[hr]=Internet;WWW;preglednik;Web
+Keywords[hu]=Internet;WWW;Böngésző;Web;Háló;Net;Explorer
+Keywords[it]=Internet;WWW;Browser;Web;Navigatore
+Keywords[is]=Internet;WWW;Vafri;Vefur;Netvafri;Flakk
+Keywords[ja]=Internet;WWW;Web;インターネット;ブラウザ;ウェブ;エクスプローラ
+Keywords[nb]=Internett;WWW;Nettleser;Explorer;Web;Browser;Nettside
+Keywords[nl]=Internet;WWW;Browser;Web;Explorer;Verkenner;Website;Surfen;Online
+Keywords[pt]=Internet;WWW;Browser;Web;Explorador;Navegador
+Keywords[pt_BR]=Internet;WWW;Browser;Web;Explorador;Navegador
+Keywords[ru]=Internet;WWW;Browser;Web;Explorer;интернет;браузер;веб;файрфокс;огнелис
+Keywords[sk]=Internet;WWW;Prehliadač;Web;Explorer
+Keywords[sl]=Internet;WWW;Browser;Web;Explorer;Brskalnik;Splet
+Keywords[tr]=İnternet;WWW;Tarayıcı;Web;Gezgin;Web sitesi;Site;sörf;çevrimiçi;tara
+Keywords[uk]=Internet;WWW;Browser;Web;Explorer;Інтернет;мережа;переглядач;оглядач;браузер;веб;файрфокс;вогнелис;перегляд
+Keywords[vi]=Internet;WWW;Browser;Web;Explorer;Trình duyệt;Trang web
+Keywords[zh_CN]=Internet;WWW;Browser;Web;Explorer;网页;浏览;上网;火狐;Firefox;ff;互联网;网站;
+Keywords[zh_TW]=Internet;WWW;Browser;Web;Explorer;網際網路;網路;瀏覽器;上網;網頁;火狐
+Exec=/usr/lib/firefox-nightly/firefox %u
Icon=firefox-nightly
Terminal=false
+X-MultipleArgs=false
Type=Application
-MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https;
+MimeType=text/html;text/xml;application/xhtml+xml;x-scheme-handler/http;x-scheme-handler/https;application/x-xpinstall;application/pdf;application/json;
StartupNotify=true
-StartupWMClass=firefox-nightly
+StartupWMClass=firefoxnightly
Categories=Network;WebBrowser;
-Keywords=web;browser;internet;
Actions=new-window;new-private-window;
[Desktop Action new-window]
@@ -199,7 +229,7 @@ Name[wo]=Palanteer bu bees
Name[xh]=Ifestile entsha
Name[zh_CN]=新建窗口
Name[zh_TW]=開新視窗
-Exec=/opt/firefox-nightly/firefox --new-window %u
+Exec=/usr/lib/firefox-nightly/firefox --new-window %u
[Desktop Action new-private-window]
Name=New Private Window
@@ -307,4 +337,4 @@ Name[wo]=Panlanteeru biir bu bees
Name[xh]=Ifestile yangasese entsha
Name[zh_CN]=新建隐私浏览窗口
Name[zh_TW]=新增隱私視窗
-Exec=/opt/firefox-nightly/firefox --private-window %u
+Exec=/usr/lib/firefox-nightly/firefox --private-window %u
diff --git a/identity-icons-brand.svg b/identity-icons-brand.svg
new file mode 100644
index 000000000000..fc8b1a356768
--- /dev/null
+++ b/identity-icons-brand.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16">
+ <path fill="context-fill" fill-opacity="context-fill-opacity" d="M15.424 5.366A4.384 4.384 0 0 0 13.817 3.4a7.893 7.893 0 0 1 .811 2.353v.017c-.9-2.185-2.441-3.066-3.7-4.984l-.189-.3c-.035-.059-.063-.112-.088-.161a1.341 1.341 0 0 1-.119-.306.022.022 0 0 0-.013-.019.026.026 0 0 0-.019 0h-.006a5.629 5.629 0 0 0-2.755 4.308c.094-.006.187-.014.282-.014a4.069 4.069 0 0 1 3.51 1.983A2.838 2.838 0 0 0 9.6 5.824a3.2 3.2 0 0 1-1.885 6.013 3.651 3.651 0 0 1-1.042-.2c-.078-.028-.157-.059-.235-.093-.046-.02-.091-.04-.135-.062A3.282 3.282 0 0 1 4.415 8.95s.369-1.334 2.647-1.334a1.91 1.91 0 0 0 .964-.857 12.756 12.756 0 0 1-1.941-1.118c-.29-.277-.428-.411-.551-.511-.066-.054-.128-.1-.207-.152a3.481 3.481 0 0 1-.022-1.894 5.915 5.915 0 0 0-1.929 1.442A4.108 4.108 0 0 1 3.1 2.584a1.561 1.561 0 0 0-.267.138 5.767 5.767 0 0 0-.783.649 6.9 6.9 0 0 0-.748.868 6.446 6.446 0 0 0-1.08 2.348c0 .009-.076.325-.131.715l-.025.182c-.019.117-.033.245-.048.444v.023c-.005.076-.011.16-.016.258v.04A7.884 7.884 0 0 0 8.011 16a7.941 7.941 0 0 0 7.9-6.44l.036-.3a7.724 7.724 0 0 0-.523-3.894z" />
+</svg>
diff --git a/zstandard-0.18.0.diff b/zstandard-0.18.0.diff
new file mode 100644
index 000000000000..5dfa30557dcf
--- /dev/null
+++ b/zstandard-0.18.0.diff
@@ -0,0 +1,10 @@
+diff --git i/python/sites/mach.txt w/python/sites/mach.txt
+index 01f4f8c23da3b..85cfaf2b273ac 100644
+--- i/python/sites/mach.txt
++++ w/python/sites/mach.txt
+@@ -134,4 +134,4 @@ pypi-optional:glean-sdk==50.1.0:telemetry will not be collected
+ # We aren't (yet) able to pin packages in automation, so we have to
+ # support down to the oldest locally-installed version (5.4.2).
+ pypi-optional:psutil>=5.4.2,<=5.8.0:telemetry will be missing some data
+-pypi-optional:zstandard>=0.11.1,<=0.17.0:zstd archives will not be possible to extract
++pypi-optional:zstandard>=0.11.1,<=0.18.0:zstd archives will not be possible to extract