[arch-commits] Commit in firefox/repos/extra-x86_64 (10 files)

Jan Steffens heftig at archlinux.org
Thu Sep 24 18:49:13 UTC 2020


    Date: Thursday, September 24, 2020 @ 18:49:13
  Author: heftig
Revision: 396481

archrelease: copy trunk to extra-x86_64

Added:
  firefox/repos/extra-x86_64/0001-Use-remoting-name-for-GDK-application-names.patch
    (from rev 396480, firefox/trunk/0001-Use-remoting-name-for-GDK-application-names.patch)
  firefox/repos/extra-x86_64/0002-Bug-1660901-Support-the-fstat-like-subset-of-fstatat.patch
    (from rev 396480, firefox/trunk/0002-Bug-1660901-Support-the-fstat-like-subset-of-fstatat.patch)
  firefox/repos/extra-x86_64/0003-Bug-1660901-ignore-AT_NO_AUTOMOUNT-in-fstatat-system.patch
    (from rev 396480, firefox/trunk/0003-Bug-1660901-ignore-AT_NO_AUTOMOUNT-in-fstatat-system.patch)
  firefox/repos/extra-x86_64/PKGBUILD
    (from rev 396480, firefox/trunk/PKGBUILD)
  firefox/repos/extra-x86_64/firefox.desktop
    (from rev 396480, firefox/trunk/firefox.desktop)
  firefox/repos/extra-x86_64/upload-symbol-archive
    (from rev 396480, firefox/trunk/upload-symbol-archive)
Deleted:
  firefox/repos/extra-x86_64/0001-Use-remoting-name-for-GDK-application-names.patch
  firefox/repos/extra-x86_64/PKGBUILD
  firefox/repos/extra-x86_64/firefox.desktop
  firefox/repos/extra-x86_64/upload-symbol-archive

-----------------------------------------------------------------+
 0001-Use-remoting-name-for-GDK-application-names.patch          |  115 -
 0002-Bug-1660901-Support-the-fstat-like-subset-of-fstatat.patch |   46 
 0003-Bug-1660901-ignore-AT_NO_AUTOMOUNT-in-fstatat-system.patch |   31 
 PKGBUILD                                                        |  443 +++---
 firefox.desktop                                                 |  680 +++++-----
 upload-symbol-archive                                           |   50 
 6 files changed, 724 insertions(+), 641 deletions(-)

Deleted: 0001-Use-remoting-name-for-GDK-application-names.patch
===================================================================
--- 0001-Use-remoting-name-for-GDK-application-names.patch	2020-09-24 18:48:47 UTC (rev 396480)
+++ 0001-Use-remoting-name-for-GDK-application-names.patch	2020-09-24 18:49:13 UTC (rev 396481)
@@ -1,59 +0,0 @@
-From 5025aab61517c8608b555ba929c61eb0706bd6bd Mon Sep 17 00:00:00 2001
-From: "Jan Alexander Steffens (heftig)" <jan.steffens at gmail.com>
-Date: Mon, 25 Mar 2019 20:30:11 +0100
-Subject: [PATCH] Use remoting name for GDK application names
-
----
- toolkit/xre/nsAppRunner.cpp |  6 +-----
- widget/gtk/nsAppShell.cpp   | 11 ++++-------
- 2 files changed, 5 insertions(+), 12 deletions(-)
-
-diff --git a/toolkit/xre/nsAppRunner.cpp b/toolkit/xre/nsAppRunner.cpp
-index da8289200e72..452195b146f3 100644
---- a/toolkit/xre/nsAppRunner.cpp
-+++ b/toolkit/xre/nsAppRunner.cpp
-@@ -3785,11 +3785,7 @@ int XREMain::XRE_mainStartup(bool* aExitFlag) {
-   // consistently.
- 
-   // Set program name to the one defined in application.ini.
--  {
--    nsAutoCString program(gAppData->name);
--    ToLowerCase(program);
--    g_set_prgname(program.get());
--  }
-+  g_set_prgname(gAppData->remotingName);
- 
-   // Initialize GTK here for splash.
- 
-diff --git a/widget/gtk/nsAppShell.cpp b/widget/gtk/nsAppShell.cpp
-index 163a93e2d1a4..4b6d45217671 100644
---- a/widget/gtk/nsAppShell.cpp
-+++ b/widget/gtk/nsAppShell.cpp
-@@ -24,6 +24,7 @@
- #  include "WakeLockListener.h"
- #endif
- #include "gfxPlatform.h"
-+#include "nsAppRunner.h"
- #include "ScreenHelperGTK.h"
- #include "HeadlessScreenHelper.h"
- #include "mozilla/widget/ScreenManager.h"
-@@ -175,13 +176,9 @@ nsresult nsAppShell::Init() {
-       // See https://bugzilla.gnome.org/show_bug.cgi?id=747634
-       //
-       // Only bother doing this for the parent process, since it's the one
--      // creating top-level windows. (At this point, a child process hasn't
--      // received the list of registered chrome packages, so the
--      // GetBrandShortName call would fail anyway.)
--      nsAutoString brandName;
--      mozilla::widget::WidgetUtils::GetBrandShortName(brandName);
--      if (!brandName.IsEmpty()) {
--        gdk_set_program_class(NS_ConvertUTF16toUTF8(brandName).get());
-+      // creating top-level windows.
-+      if (gAppData) {
-+        gdk_set_program_class(gAppData->remotingName);
-       }
-     }
-   }
--- 
-2.26.1
-

Copied: firefox/repos/extra-x86_64/0001-Use-remoting-name-for-GDK-application-names.patch (from rev 396480, firefox/trunk/0001-Use-remoting-name-for-GDK-application-names.patch)
===================================================================
--- 0001-Use-remoting-name-for-GDK-application-names.patch	                        (rev 0)
+++ 0001-Use-remoting-name-for-GDK-application-names.patch	2020-09-24 18:49:13 UTC (rev 396481)
@@ -0,0 +1,56 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: "Jan Alexander Steffens (heftig)" <jan.steffens at gmail.com>
+Date: Mon, 25 Mar 2019 20:30:11 +0100
+Subject: [PATCH] Use remoting name for GDK application names
+
+---
+ toolkit/xre/nsAppRunner.cpp |  6 +-----
+ widget/gtk/nsAppShell.cpp   | 11 ++++-------
+ 2 files changed, 5 insertions(+), 12 deletions(-)
+
+diff --git a/toolkit/xre/nsAppRunner.cpp b/toolkit/xre/nsAppRunner.cpp
+index 49e2c73986ab..43ebcac381c7 100644
+--- a/toolkit/xre/nsAppRunner.cpp
++++ b/toolkit/xre/nsAppRunner.cpp
+@@ -3822,11 +3822,7 @@ int XREMain::XRE_mainStartup(bool* aExitFlag) {
+   // consistently.
+ 
+   // Set program name to the one defined in application.ini.
+-  {
+-    nsAutoCString program(gAppData->name);
+-    ToLowerCase(program);
+-    g_set_prgname(program.get());
+-  }
++  g_set_prgname(gAppData->remotingName);
+ 
+   // Initialize GTK here for splash.
+ 
+diff --git a/widget/gtk/nsAppShell.cpp b/widget/gtk/nsAppShell.cpp
+index cfe022e65d82..06325264dbb1 100644
+--- a/widget/gtk/nsAppShell.cpp
++++ b/widget/gtk/nsAppShell.cpp
+@@ -24,6 +24,7 @@
+ #  include "WakeLockListener.h"
+ #endif
+ #include "gfxPlatform.h"
++#include "nsAppRunner.h"
+ #include "ScreenHelperGTK.h"
+ #include "HeadlessScreenHelper.h"
+ #include "mozilla/widget/ScreenManager.h"
+@@ -159,13 +160,9 @@ nsresult nsAppShell::Init() {
+       // See https://bugzilla.gnome.org/show_bug.cgi?id=747634
+       //
+       // Only bother doing this for the parent process, since it's the one
+-      // creating top-level windows. (At this point, a child process hasn't
+-      // received the list of registered chrome packages, so the
+-      // GetBrandShortName call would fail anyway.)
+-      nsAutoString brandName;
+-      mozilla::widget::WidgetUtils::GetBrandShortName(brandName);
+-      if (!brandName.IsEmpty()) {
+-        gdk_set_program_class(NS_ConvertUTF16toUTF8(brandName).get());
++      // creating top-level windows.
++      if (gAppData) {
++        gdk_set_program_class(gAppData->remotingName);
+       }
+     }
+   }

Copied: firefox/repos/extra-x86_64/0002-Bug-1660901-Support-the-fstat-like-subset-of-fstatat.patch (from rev 396480, firefox/trunk/0002-Bug-1660901-Support-the-fstat-like-subset-of-fstatat.patch)
===================================================================
--- 0002-Bug-1660901-Support-the-fstat-like-subset-of-fstatat.patch	                        (rev 0)
+++ 0002-Bug-1660901-Support-the-fstat-like-subset-of-fstatat.patch	2020-09-24 18:49:13 UTC (rev 396481)
@@ -0,0 +1,46 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Jed Davis <jld at mozilla.com>
+Date: Fri, 28 Aug 2020 09:23:58 +0000
+Subject: [PATCH] Bug 1660901 - Support the fstat-like subset of fstatat in the
+ Linux sandbox policies. r=gcp
+
+Differential Revision: https://phabricator.services.mozilla.com/D88499
+---
+ security/sandbox/linux/SandboxFilter.cpp           | 6 ++++++
+ security/sandbox/linux/broker/SandboxBrokerUtils.h | 2 ++
+ 2 files changed, 8 insertions(+)
+
+diff --git a/security/sandbox/linux/SandboxFilter.cpp b/security/sandbox/linux/SandboxFilter.cpp
+index e522d61e065c..4087bdc07e01 100644
+--- a/security/sandbox/linux/SandboxFilter.cpp
++++ b/security/sandbox/linux/SandboxFilter.cpp
+@@ -243,6 +243,12 @@ class SandboxPolicyCommon : public SandboxPolicyBase {
+     auto path = reinterpret_cast<const char*>(aArgs.args[1]);
+     auto buf = reinterpret_cast<statstruct*>(aArgs.args[2]);
+     auto flags = static_cast<int>(aArgs.args[3]);
++
++    if (fd != AT_FDCWD && (flags & AT_EMPTY_PATH) != 0 &&
++        strcmp(path, "") == 0) {
++      return ConvertError(fstatsyscall(fd, buf));
++    }
++
+     if (fd != AT_FDCWD && path[0] != '/') {
+       SANDBOX_LOG_ERROR("unsupported fd-relative fstatat(%d, \"%s\", %p, %d)",
+                         fd, path, buf, flags);
+diff --git a/security/sandbox/linux/broker/SandboxBrokerUtils.h b/security/sandbox/linux/broker/SandboxBrokerUtils.h
+index 85a006740c2c..db33b5028e77 100644
+--- a/security/sandbox/linux/broker/SandboxBrokerUtils.h
++++ b/security/sandbox/linux/broker/SandboxBrokerUtils.h
+@@ -19,10 +19,12 @@
+ typedef struct stat64 statstruct;
+ #  define statsyscall stat64
+ #  define lstatsyscall lstat64
++#  define fstatsyscall fstat64
+ #elif defined(__NR_stat)
+ typedef struct stat statstruct;
+ #  define statsyscall stat
+ #  define lstatsyscall lstat
++#  define fstatsyscall fstat
+ #else
+ #  error Missing stat syscall include.
+ #endif

Copied: firefox/repos/extra-x86_64/0003-Bug-1660901-ignore-AT_NO_AUTOMOUNT-in-fstatat-system.patch (from rev 396480, firefox/trunk/0003-Bug-1660901-ignore-AT_NO_AUTOMOUNT-in-fstatat-system.patch)
===================================================================
--- 0003-Bug-1660901-ignore-AT_NO_AUTOMOUNT-in-fstatat-system.patch	                        (rev 0)
+++ 0003-Bug-1660901-ignore-AT_NO_AUTOMOUNT-in-fstatat-system.patch	2020-09-24 18:49:13 UTC (rev 396481)
@@ -0,0 +1,31 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Julien Cristau <jcristau at mozilla.com>
+Date: Sun, 6 Sep 2020 20:20:39 +0000
+Subject: [PATCH] Bug 1660901 - ignore AT_NO_AUTOMOUNT in fstatat system call.
+ r=jld
+
+Per the manpage "Both stat() and lstat() act as though AT_NO_AUTOMOUNT
+was set.", so don't bail if it's set in a call to fstatat.
+
+Differential Revision: https://phabricator.services.mozilla.com/D89121
+---
+ security/sandbox/linux/SandboxFilter.cpp | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/security/sandbox/linux/SandboxFilter.cpp b/security/sandbox/linux/SandboxFilter.cpp
+index 4087bdc07e01..c4f6c318ad1c 100644
+--- a/security/sandbox/linux/SandboxFilter.cpp
++++ b/security/sandbox/linux/SandboxFilter.cpp
+@@ -254,9 +254,10 @@ class SandboxPolicyCommon : public SandboxPolicyBase {
+                         fd, path, buf, flags);
+       return BlockedSyscallTrap(aArgs, nullptr);
+     }
+-    if ((flags & ~AT_SYMLINK_NOFOLLOW) != 0) {
++    if ((flags & ~(AT_SYMLINK_NOFOLLOW | AT_NO_AUTOMOUNT)) != 0) {
+       SANDBOX_LOG_ERROR("unsupported flags %d in fstatat(%d, \"%s\", %p, %d)",
+-                        (flags & ~AT_SYMLINK_NOFOLLOW), fd, path, buf, flags);
++                        (flags & ~(AT_SYMLINK_NOFOLLOW | AT_NO_AUTOMOUNT)), fd,
++                        path, buf, flags);
+       return BlockedSyscallTrap(aArgs, nullptr);
+     }
+     return (flags & AT_SYMLINK_NOFOLLOW) == 0 ? broker->Stat(path, buf)

Deleted: PKGBUILD
===================================================================
--- PKGBUILD	2020-09-24 18:48:47 UTC (rev 396480)
+++ PKGBUILD	2020-09-24 18:49:13 UTC (rev 396481)
@@ -1,217 +0,0 @@
-# Maintainer: Jan Alexander Steffens (heftig) <heftig at archlinux.org>
-# Contributor: Ionut Biru <ibiru at archlinux.org>
-# Contributor: Jakub Schmidtke <sjakub at gmail.com>
-
-pkgname=firefox
-pkgver=81.0
-pkgrel=1
-pkgdesc="Standalone web browser from mozilla.org"
-arch=(x86_64)
-license=(MPL GPL LGPL)
-url="https://www.mozilla.org/firefox/"
-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 gtk2 nodejs cbindgen nasm
-             python-setuptools python-psutil python-zstandard lld)
-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')
-options=(!emptydirs !makeflags !strip)
-source=(https://archive.mozilla.org/pub/firefox/releases/$pkgver/source/firefox-$pkgver.source.tar.xz{,.asc}
-        0001-Use-remoting-name-for-GDK-application-names.patch
-        $pkgname.desktop)
-sha256sums=('9328745012178aee5a4f47c833539f7872cc6e0f20a853568a313e60cabd1ec8'
-            'SKIP'
-            '3bb7463471fb43b2163a705a79a13a3003d70fff4bbe44f467807ca056de9a75'
-            '298eae9de76ec53182f38d5c549d0379569916eebf62149f9d7f4a7edef36abf')
-validpgpkeys=('14F26682D0916CDD81E37B6D61B7B526D98F0353') # Mozilla Software Releases <release at 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 at 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 at archlinux.org for
-# more information.
-_mozilla_api_key=e05d56db0a694edc8b5aaebda3f2db6a
-
-prepare() {
-  mkdir mozbuild
-  cd firefox-$pkgver
-
-  # https://bugzilla.mozilla.org/show_bug.cgi?id=1530052
-  patch -Np1 -i ../0001-Use-remoting-name-for-GDK-application-names.patch
-
-  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 at 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
-export CC='clang --target=x86_64-unknown-linux-gnu'
-export CXX='clang++ --target=x86_64-unknown-linux-gnu'
-export AR=llvm-ar
-export NM=llvm-nm
-export RANLIB=llvm-ranlib
-
-# Branding
-ac_add_options --enable-official-branding
-ac_add_options --enable-update-channel=release
-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//-/}
-export MOZ_TELEMETRY_REPORTING=1
-export MOZ_REQUIRE_SIGNING=1
-
-# Keys
-ac_add_options --with-google-location-service-api-keyfile=${PWD at Q}/google-api-key
-ac_add_options --with-google-safebrowsing-api-keyfile=${PWD at Q}/google-api-key
-ac_add_options --with-mozilla-api-keyfile=${PWD at Q}/mozilla-api-key
-
-# System libraries
-ac_add_options --with-system-nspr
-ac_add_options --with-system-nss
-
-# 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 firefox-$pkgver
-
-  export MOZ_NOSPAM=1
-  export MOZBUILD_STATE_PATH="$srcdir/mozbuild"
-  export MOZ_ENABLE_FULL_SYMBOLS=1
-  export MACH_USE_SYSTEM_PYTHON=1
-
-  # 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 at Q}/merged.profdata
-ac_add_options --with-pgo-jarlog=${PWD at Q}/jarlog
-END
-  ./mach build
-
-  echo "Building symbol archive..."
-  ./mach buildsymbols
-}
-
-package() {
-  cd firefox-$pkgver
-  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=official
-  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 at 2x.png \
-    "$pkgdir/usr/share/icons/hicolor/384x384/apps/$pkgname.png"
-  install -Dvm644 browser/branding/$theme/content/identity-icons-brand.svg \
-    "$pkgdir/usr/share/icons/hicolor/symbolic/apps/$pkgname-symbolic.svg"
-
-  install -Dvm644 ../$pkgname.desktop \
-    "$pkgdir/usr/share/applications/$pkgname.desktop"
-
-  # 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:

Copied: firefox/repos/extra-x86_64/PKGBUILD (from rev 396480, firefox/trunk/PKGBUILD)
===================================================================
--- PKGBUILD	                        (rev 0)
+++ PKGBUILD	2020-09-24 18:49:13 UTC (rev 396481)
@@ -0,0 +1,226 @@
+# Maintainer: Jan Alexander Steffens (heftig) <heftig at archlinux.org>
+# Contributor: Ionut Biru <ibiru at archlinux.org>
+# Contributor: Jakub Schmidtke <sjakub at gmail.com>
+
+pkgname=firefox
+pkgver=81.0
+pkgrel=2
+pkgdesc="Standalone web browser from mozilla.org"
+arch=(x86_64)
+license=(MPL GPL LGPL)
+url="https://www.mozilla.org/firefox/"
+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 gtk2 nodejs cbindgen nasm
+             python-setuptools python-psutil python-zstandard lld)
+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')
+options=(!emptydirs !makeflags !strip)
+source=(https://archive.mozilla.org/pub/firefox/releases/$pkgver/source/firefox-$pkgver.source.tar.xz{,.asc}
+        0001-Use-remoting-name-for-GDK-application-names.patch
+        0002-Bug-1660901-Support-the-fstat-like-subset-of-fstatat.patch
+        0003-Bug-1660901-ignore-AT_NO_AUTOMOUNT-in-fstatat-system.patch
+        $pkgname.desktop)
+sha256sums=('9328745012178aee5a4f47c833539f7872cc6e0f20a853568a313e60cabd1ec8'
+            'SKIP'
+            'e0eaec8ddd24bbebf4956563ebc6d7a56f8dada5835975ee4d320dd3d0c9c442'
+            'c2489a4ad3bfb65c064e07180a1de9a2fbc3b1b72d6bc4cd3985484d1b6b7b29'
+            '52cc26cda4117f79fae1a0ad59e1404b299191a1c53d38027ceb178dab91f3dc'
+            '298eae9de76ec53182f38d5c549d0379569916eebf62149f9d7f4a7edef36abf')
+validpgpkeys=('14F26682D0916CDD81E37B6D61B7B526D98F0353') # Mozilla Software Releases <release at 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 at 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 at archlinux.org for
+# more information.
+_mozilla_api_key=e05d56db0a694edc8b5aaebda3f2db6a
+
+prepare() {
+  mkdir mozbuild
+  cd firefox-$pkgver
+
+  # https://bugzilla.mozilla.org/show_bug.cgi?id=1530052
+  patch -Np1 -i ../0001-Use-remoting-name-for-GDK-application-names.patch
+
+  # https://bugs.archlinux.org/task/67978
+  # https://bugzilla.mozilla.org/show_bug.cgi?id=1660901
+  patch -Np1 -i ../0002-Bug-1660901-Support-the-fstat-like-subset-of-fstatat.patch
+  patch -Np1 -i ../0003-Bug-1660901-ignore-AT_NO_AUTOMOUNT-in-fstatat-system.patch
+
+  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 at 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
+export CC='clang --target=x86_64-unknown-linux-gnu'
+export CXX='clang++ --target=x86_64-unknown-linux-gnu'
+export AR=llvm-ar
+export NM=llvm-nm
+export RANLIB=llvm-ranlib
+
+# Branding
+ac_add_options --enable-official-branding
+ac_add_options --enable-update-channel=release
+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//-/}
+export MOZ_TELEMETRY_REPORTING=1
+export MOZ_REQUIRE_SIGNING=1
+
+# Keys
+ac_add_options --with-google-location-service-api-keyfile=${PWD at Q}/google-api-key
+ac_add_options --with-google-safebrowsing-api-keyfile=${PWD at Q}/google-api-key
+ac_add_options --with-mozilla-api-keyfile=${PWD at Q}/mozilla-api-key
+
+# System libraries
+ac_add_options --with-system-nspr
+ac_add_options --with-system-nss
+
+# 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 firefox-$pkgver
+
+  export MOZ_NOSPAM=1
+  export MOZBUILD_STATE_PATH="$srcdir/mozbuild"
+  export MOZ_ENABLE_FULL_SYMBOLS=1
+  export MACH_USE_SYSTEM_PYTHON=1
+
+  # 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 at Q}/merged.profdata
+ac_add_options --with-pgo-jarlog=${PWD at Q}/jarlog
+END
+  ./mach build
+
+  echo "Building symbol archive..."
+  ./mach buildsymbols
+}
+
+package() {
+  cd firefox-$pkgver
+  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=official
+  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 at 2x.png \
+    "$pkgdir/usr/share/icons/hicolor/384x384/apps/$pkgname.png"
+  install -Dvm644 browser/branding/$theme/content/identity-icons-brand.svg \
+    "$pkgdir/usr/share/icons/hicolor/symbolic/apps/$pkgname-symbolic.svg"
+
+  install -Dvm644 ../$pkgname.desktop \
+    "$pkgdir/usr/share/applications/$pkgname.desktop"
+
+  # 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:

Deleted: firefox.desktop
===================================================================
--- firefox.desktop	2020-09-24 18:48:47 UTC (rev 396480)
+++ firefox.desktop	2020-09-24 18:49:13 UTC (rev 396481)
@@ -1,340 +0,0 @@
-[Desktop Entry]
-Version=1.0
-Name=Firefox
-GenericName=Web Browser
-GenericName[ar]=متصفح ويب
-GenericName[ast]=Restolador Web
-GenericName[bn]=ওয়েব ব্রাউজার
-GenericName[ca]=Navegador web
-GenericName[cs]=Webový prohlížeč
-GenericName[da]=Webbrowser
-GenericName[de]=Webbrowser
-GenericName[el]=Περιηγητής διαδικτύου
-GenericName[es]=Navegador web
-GenericName[et]=Veebibrauser
-GenericName[fa]=مرورگر اینترنتی
-GenericName[fi]=WWW-selain
-GenericName[fr]=Navigateur Web
-GenericName[gl]=Navegador Web
-GenericName[he]=דפדפן אינטרנט
-GenericName[hr]=Web preglednik
-GenericName[hu]=Webböngésző
-GenericName[it]=Browser web
-GenericName[ja]=ウェブ・ブラウザ
-GenericName[ko]=웹 브라우저
-GenericName[ku]=Geroka torê
-GenericName[lt]=Interneto naršyklė
-GenericName[nb]=Nettleser
-GenericName[nl]=Webbrowser
-GenericName[nn]=Nettlesar
-GenericName[no]=Nettleser
-GenericName[pl]=Przeglądarka WWW
-GenericName[pt]=Navegador Web
-GenericName[pt_BR]=Navegador Web
-GenericName[ro]=Navigator Internet
-GenericName[ru]=Веб-браузер
-GenericName[sk]=Internetový prehliadač
-GenericName[sl]=Spletni brskalnik
-GenericName[sv]=Webbläsare
-GenericName[tr]=Web Tarayıcı
-GenericName[ug]=توركۆرگۈ
-GenericName[uk]=Веб-браузер
-GenericName[vi]=Trình duyệt Web
-GenericName[zh_CN]=网络浏览器
-GenericName[zh_TW]=網路瀏覽器
-Comment=Browse the World Wide Web
-Comment[ar]=تصفح الشبكة العنكبوتية العالمية
-Comment[ast]=Restola pela Rede
-Comment[bn]=ইন্টারনেট ব্রাউজ করুন
-Comment[ca]=Navegueu per el web
-Comment[cs]=Prohlížení stránek World Wide Webu
-Comment[da]=Surf på internettet
-Comment[de]=Im Internet surfen
-Comment[el]=Μπορείτε να περιηγηθείτε στο διαδίκτυο (Web)
-Comment[es]=Navegue por la web
-Comment[et]=Lehitse veebi
-Comment[fa]=صفحات شبکه جهانی اینترنت را مرور نمایید
-Comment[fi]=Selaa Internetin WWW-sivuja
-Comment[fr]=Naviguer sur le Web
-Comment[gl]=Navegar pola rede
-Comment[he]=גלישה ברחבי האינטרנט
-Comment[hr]=Pretražite web
-Comment[hu]=A világháló böngészése
-Comment[it]=Esplora il web
-Comment[ja]=ウェブを閲覧します
-Comment[ko]=웹을 돌아 다닙니다
-Comment[ku]=Li torê bigere
-Comment[lt]=Naršykite internete
-Comment[nb]=Surf på nettet
-Comment[nl]=Verken het internet
-Comment[nn]=Surf på nettet
-Comment[no]=Surf på nettet
-Comment[pl]=Przeglądanie stron WWW
-Comment[pt]=Navegue na Internet
-Comment[pt_BR]=Navegue na Internet
-Comment[ro]=Navigați pe Internet
-Comment[ru]=Доступ в Интернет
-Comment[sk]=Prehliadanie internetu
-Comment[sl]=Brskajte po spletu
-Comment[sv]=Surfa på webben
-Comment[tr]=İnternet'te Gezinin
-Comment[ug]=دۇنيادىكى توربەتلەرنى كۆرگىلى بولىدۇ
-Comment[uk]=Перегляд сторінок Інтернету
-Comment[vi]=Để duyệt các trang web
-Comment[zh_CN]=浏览互联网
-Comment[zh_TW]=瀏覽網際網路
-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/firefox %u
-Icon=firefox
-Terminal=false
-X-MultipleArgs=false
-Type=Application
-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
-Categories=Network;WebBrowser;
-Actions=new-window;new-private-window;
-
-[Desktop Action new-window]
-Name=New Window
-Name[ach]=Dirica manyen
-Name[af]=Nuwe venster
-Name[an]=Nueva finestra
-Name[ar]=نافذة جديدة
-Name[as]=নতুন উইন্ডো
-Name[ast]=Ventana nueva
-Name[az]=Yeni Pəncərə
-Name[be]=Новае акно
-Name[bg]=Нов прозорец
-Name[bn_BD]=নতুন উইন্ডো (N)
-Name[bn_IN]=নতুন উইন্ডো
-Name[br]=Prenestr nevez
-Name[brx]=गोदान उइन्ड'(N)
-Name[bs]=Novi prozor
-Name[ca]=Finestra nova
-Name[cak]=K'ak'a' tzuwäch
-Name[cs]=Nové okno
-Name[cy]=Ffenestr Newydd
-Name[da]=Nyt vindue
-Name[de]=Neues Fenster
-Name[dsb]=Nowe wokno
-Name[el]=Νέο παράθυρο
-Name[en_GB]=New Window
-Name[en_US]=New Window
-Name[en_ZA]=New Window
-Name[eo]=Nova fenestro
-Name[es_AR]=Nueva ventana
-Name[es_CL]=Nueva ventana
-Name[es_ES]=Nueva ventana
-Name[es_MX]=Nueva ventana
-Name[et]=Uus aken
-Name[eu]=Leiho berria
-Name[fa]=پنجره جدید
-Name[ff]=Henorde Hesere
-Name[fi]=Uusi ikkuna
-Name[fr]=Nouvelle fenêtre
-Name[fy_NL]=Nij finster
-Name[ga_IE]=Fuinneog Nua
-Name[gd]=Uinneag ùr
-Name[gl]=Nova xanela
-Name[gn]=Ovetã pyahu
-Name[gu_IN]=નવી વિન્ડો
-Name[he]=חלון חדש
-Name[hi_IN]=नया विंडो
-Name[hr]=Novi prozor
-Name[hsb]=Nowe wokno
-Name[hu]=Új ablak
-Name[hy_AM]=Նոր Պատուհան
-Name[id]=Jendela Baru
-Name[is]=Nýr gluggi
-Name[it]=Nuova finestra
-Name[ja]=新しいウィンドウ
-Name[ja_JP-mac]=新規ウインドウ
-Name[ka]=ახალი ფანჯარა
-Name[kk]=Жаңа терезе
-Name[km]=បង្អួចថ្មី
-Name[kn]=ಹೊಸ ಕಿಟಕಿ
-Name[ko]=새 창
-Name[kok]=नवें जनेल
-Name[ks]=نئئ وِنڈو
-Name[lij]=Neuvo barcon
-Name[lo]=ຫນ້າຕ່າງໃຫມ່
-Name[lt]=Naujas langas
-Name[ltg]=Jauns lūgs
-Name[lv]=Jauns logs
-Name[mai]=नव विंडो
-Name[mk]=Нов прозорец
-Name[ml]=പുതിയ ജാലകം
-Name[mr]=नवीन पटल
-Name[ms]=Tetingkap Baru
-Name[my]=ဝင်းဒိုးအသစ်
-Name[nb_NO]=Nytt vindu
-Name[ne_NP]=नयाँ सञ्झ्याल
-Name[nl]=Nieuw venster
-Name[nn_NO]=Nytt vindauge
-Name[or]=ନୂତନ ୱିଣ୍ଡୋ
-Name[pa_IN]=ਨਵੀਂ ਵਿੰਡੋ
-Name[pl]=Nowe okno
-Name[pt_BR]=Nova janela
-Name[pt_PT]=Nova janela
-Name[rm]=Nova fanestra
-Name[ro]=Fereastră nouă
-Name[ru]=Новое окно
-Name[sat]=नावा विंडो (N)
-Name[si]=නව කවුළුවක්
-Name[sk]=Nové okno
-Name[sl]=Novo okno
-Name[son]=Zanfun taaga
-Name[sq]=Dritare e Re
-Name[sr]=Нови прозор
-Name[sv_SE]=Nytt fönster
-Name[ta]=புதிய சாளரம்
-Name[te]=కొత్త విండో
-Name[th]=หน้าต่างใหม่
-Name[tr]=Yeni pencere
-Name[tsz]=Eraatarakua jimpani
-Name[uk]=Нове вікно
-Name[ur]=نیا دریچہ
-Name[uz]=Yangi oyna
-Name[vi]=Cửa sổ mới
-Name[wo]=Palanteer bu bees
-Name[xh]=Ifestile entsha
-Name[zh_CN]=新建窗口
-Name[zh_TW]=開新視窗
-Exec=/usr/lib/firefox/firefox --new-window %u
-
-[Desktop Action new-private-window]
-Name=New Private Window
-Name[ach]=Dirica manyen me mung
-Name[af]=Nuwe privaatvenster
-Name[an]=Nueva finestra privada
-Name[ar]=نافذة خاصة جديدة
-Name[as]=নতুন ব্যক্তিগত উইন্ডো
-Name[ast]=Ventana privada nueva
-Name[az]=Yeni Məxfi Pəncərə
-Name[be]=Новае акно адасаблення
-Name[bg]=Нов прозорец за поверително сърфиране
-Name[bn_BD]=নতুন ব্যক্তিগত উইন্ডো
-Name[bn_IN]=নতুন ব্যক্তিগত উইন্ডো
-Name[br]=Prenestr merdeiñ prevez nevez
-Name[brx]=गोदान प्राइभेट उइन्ड'
-Name[bs]=Novi privatni prozor
-Name[ca]=Finestra privada nova
-Name[cak]=K'ak'a' ichinan tzuwäch
-Name[cs]=Nové anonymní okno
-Name[cy]=Ffenestr Breifat Newydd
-Name[da]=Nyt privat vindue
-Name[de]=Neues privates Fenster
-Name[dsb]=Nowe priwatne wokno
-Name[el]=Νέο παράθυρο ιδιωτικής περιήγησης
-Name[en_GB]=New Private Window
-Name[en_US]=New Private Window
-Name[en_ZA]=New Private Window
-Name[eo]=Nova privata fenestro
-Name[es_AR]=Nueva ventana privada
-Name[es_CL]=Nueva ventana privada
-Name[es_ES]=Nueva ventana privada
-Name[es_MX]=Nueva ventana privada
-Name[et]=Uus privaatne aken
-Name[eu]=Leiho pribatu berria
-Name[fa]=پنجره ناشناس جدید
-Name[ff]=Henorde Suturo Hesere
-Name[fi]=Uusi yksityinen ikkuna
-Name[fr]=Nouvelle fenêtre de navigation privée
-Name[fy_NL]=Nij priveefinster
-Name[ga_IE]=Fuinneog Nua Phríobháideach
-Name[gd]=Uinneag phrìobhaideach ùr
-Name[gl]=Nova xanela privada
-Name[gn]=Ovetã ñemi pyahu
-Name[gu_IN]=નવી ખાનગી વિન્ડો
-Name[he]=חלון פרטי חדש
-Name[hi_IN]=नयी निजी विंडो
-Name[hr]=Novi privatni prozor
-Name[hsb]=Nowe priwatne wokno
-Name[hu]=Új privát ablak
-Name[hy_AM]=Սկսել Գաղտնի դիտարկում
-Name[id]=Jendela Mode Pribadi Baru
-Name[is]=Nýr huliðsgluggi
-Name[it]=Nuova finestra anonima
-Name[ja]=新しいプライベートウィンドウ
-Name[ja_JP-mac]=新規プライベートウインドウ
-Name[ka]=ახალი პირადი ფანჯარა
-Name[kk]=Жаңа жекелік терезе
-Name[km]=បង្អួចឯកជនថ្មី
-Name[kn]=ಹೊಸ ಖಾಸಗಿ ಕಿಟಕಿ
-Name[ko]=새 사생활 보호 모드
-Name[kok]=नवो खाजगी विंडो
-Name[ks]=نْو پرایوٹ وینڈو
-Name[lij]=Nêuvo barcón privòu
-Name[lo]=ເປີດຫນ້າຕ່າງສວນຕົວຂື້ນມາໃຫມ່
-Name[lt]=Naujas privataus naršymo langas
-Name[ltg]=Jauns privatais lūgs
-Name[lv]=Jauns privātais logs
-Name[mai]=नया निज विंडो (W)
-Name[mk]=Нов приватен прозорец
-Name[ml]=പുതിയ സ്വകാര്യ ജാലകം
-Name[mr]=नवीन वैयक्तिक पटल
-Name[ms]=Tetingkap Persendirian Baharu
-Name[my]=New Private Window
-Name[nb_NO]=Nytt privat vindu
-Name[ne_NP]=नयाँ निजी सञ्झ्याल
-Name[nl]=Nieuw privévenster
-Name[nn_NO]=Nytt privat vindauge
-Name[or]=ନୂତନ ବ୍ୟକ୍ତିଗତ ୱିଣ୍ଡୋ
-Name[pa_IN]=ਨਵੀਂ ਪ੍ਰਾਈਵੇਟ ਵਿੰਡੋ
-Name[pl]=Nowe okno prywatne
-Name[pt_BR]=Nova janela privativa
-Name[pt_PT]=Nova janela privada
-Name[rm]=Nova fanestra privata
-Name[ro]=Fereastră privată nouă
-Name[ru]=Новое приватное окно
-Name[sat]=नावा निजेराक् विंडो (W )
-Name[si]=නව පුද්ගලික කවුළුව (W)
-Name[sk]=Nové okno v režime Súkromné prehliadanie
-Name[sl]=Novo zasebno okno
-Name[son]=Sutura zanfun taaga
-Name[sq]=Dritare e Re Private
-Name[sr]=Нови приватан прозор
-Name[sv_SE]=Nytt privat fönster
-Name[ta]=புதிய தனிப்பட்ட சாளரம்
-Name[te]=కొత్త ఆంతరంగిక విండో
-Name[th]=หน้าต่างส่วนตัวใหม่
-Name[tr]=Yeni gizli pencere
-Name[tsz]=Juchiiti eraatarakua jimpani
-Name[uk]=Приватне вікно
-Name[ur]=نیا نجی دریچہ
-Name[uz]=Yangi maxfiy oyna
-Name[vi]=Cửa sổ riêng tư mới
-Name[wo]=Panlanteeru biir bu bees
-Name[xh]=Ifestile yangasese entsha
-Name[zh_CN]=新建隐私浏览窗口
-Name[zh_TW]=新增隱私視窗
-Exec=/usr/lib/firefox/firefox --private-window %u

Copied: firefox/repos/extra-x86_64/firefox.desktop (from rev 396480, firefox/trunk/firefox.desktop)
===================================================================
--- firefox.desktop	                        (rev 0)
+++ firefox.desktop	2020-09-24 18:49:13 UTC (rev 396481)
@@ -0,0 +1,340 @@
+[Desktop Entry]
+Version=1.0
+Name=Firefox
+GenericName=Web Browser
+GenericName[ar]=متصفح ويب
+GenericName[ast]=Restolador Web
+GenericName[bn]=ওয়েব ব্রাউজার
+GenericName[ca]=Navegador web
+GenericName[cs]=Webový prohlížeč
+GenericName[da]=Webbrowser
+GenericName[de]=Webbrowser
+GenericName[el]=Περιηγητής διαδικτύου
+GenericName[es]=Navegador web
+GenericName[et]=Veebibrauser
+GenericName[fa]=مرورگر اینترنتی
+GenericName[fi]=WWW-selain
+GenericName[fr]=Navigateur Web
+GenericName[gl]=Navegador Web
+GenericName[he]=דפדפן אינטרנט
+GenericName[hr]=Web preglednik
+GenericName[hu]=Webböngésző
+GenericName[it]=Browser web
+GenericName[ja]=ウェブ・ブラウザ
+GenericName[ko]=웹 브라우저
+GenericName[ku]=Geroka torê
+GenericName[lt]=Interneto naršyklė
+GenericName[nb]=Nettleser
+GenericName[nl]=Webbrowser
+GenericName[nn]=Nettlesar
+GenericName[no]=Nettleser
+GenericName[pl]=Przeglądarka WWW
+GenericName[pt]=Navegador Web
+GenericName[pt_BR]=Navegador Web
+GenericName[ro]=Navigator Internet
+GenericName[ru]=Веб-браузер
+GenericName[sk]=Internetový prehliadač
+GenericName[sl]=Spletni brskalnik
+GenericName[sv]=Webbläsare
+GenericName[tr]=Web Tarayıcı
+GenericName[ug]=توركۆرگۈ
+GenericName[uk]=Веб-браузер
+GenericName[vi]=Trình duyệt Web
+GenericName[zh_CN]=网络浏览器
+GenericName[zh_TW]=網路瀏覽器
+Comment=Browse the World Wide Web
+Comment[ar]=تصفح الشبكة العنكبوتية العالمية
+Comment[ast]=Restola pela Rede
+Comment[bn]=ইন্টারনেট ব্রাউজ করুন
+Comment[ca]=Navegueu per el web
+Comment[cs]=Prohlížení stránek World Wide Webu
+Comment[da]=Surf på internettet
+Comment[de]=Im Internet surfen
+Comment[el]=Μπορείτε να περιηγηθείτε στο διαδίκτυο (Web)
+Comment[es]=Navegue por la web
+Comment[et]=Lehitse veebi
+Comment[fa]=صفحات شبکه جهانی اینترنت را مرور نمایید
+Comment[fi]=Selaa Internetin WWW-sivuja
+Comment[fr]=Naviguer sur le Web
+Comment[gl]=Navegar pola rede
+Comment[he]=גלישה ברחבי האינטרנט
+Comment[hr]=Pretražite web
+Comment[hu]=A világháló böngészése
+Comment[it]=Esplora il web
+Comment[ja]=ウェブを閲覧します
+Comment[ko]=웹을 돌아 다닙니다
+Comment[ku]=Li torê bigere
+Comment[lt]=Naršykite internete
+Comment[nb]=Surf på nettet
+Comment[nl]=Verken het internet
+Comment[nn]=Surf på nettet
+Comment[no]=Surf på nettet
+Comment[pl]=Przeglądanie stron WWW
+Comment[pt]=Navegue na Internet
+Comment[pt_BR]=Navegue na Internet
+Comment[ro]=Navigați pe Internet
+Comment[ru]=Доступ в Интернет
+Comment[sk]=Prehliadanie internetu
+Comment[sl]=Brskajte po spletu
+Comment[sv]=Surfa på webben
+Comment[tr]=İnternet'te Gezinin
+Comment[ug]=دۇنيادىكى توربەتلەرنى كۆرگىلى بولىدۇ
+Comment[uk]=Перегляд сторінок Інтернету
+Comment[vi]=Để duyệt các trang web
+Comment[zh_CN]=浏览互联网
+Comment[zh_TW]=瀏覽網際網路
+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/firefox %u
+Icon=firefox
+Terminal=false
+X-MultipleArgs=false
+Type=Application
+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
+Categories=Network;WebBrowser;
+Actions=new-window;new-private-window;
+
+[Desktop Action new-window]
+Name=New Window
+Name[ach]=Dirica manyen
+Name[af]=Nuwe venster
+Name[an]=Nueva finestra
+Name[ar]=نافذة جديدة
+Name[as]=নতুন উইন্ডো
+Name[ast]=Ventana nueva
+Name[az]=Yeni Pəncərə
+Name[be]=Новае акно
+Name[bg]=Нов прозорец
+Name[bn_BD]=নতুন উইন্ডো (N)
+Name[bn_IN]=নতুন উইন্ডো
+Name[br]=Prenestr nevez
+Name[brx]=गोदान उइन्ड'(N)
+Name[bs]=Novi prozor
+Name[ca]=Finestra nova
+Name[cak]=K'ak'a' tzuwäch
+Name[cs]=Nové okno
+Name[cy]=Ffenestr Newydd
+Name[da]=Nyt vindue
+Name[de]=Neues Fenster
+Name[dsb]=Nowe wokno
+Name[el]=Νέο παράθυρο
+Name[en_GB]=New Window
+Name[en_US]=New Window
+Name[en_ZA]=New Window
+Name[eo]=Nova fenestro
+Name[es_AR]=Nueva ventana
+Name[es_CL]=Nueva ventana
+Name[es_ES]=Nueva ventana
+Name[es_MX]=Nueva ventana
+Name[et]=Uus aken
+Name[eu]=Leiho berria
+Name[fa]=پنجره جدید
+Name[ff]=Henorde Hesere
+Name[fi]=Uusi ikkuna
+Name[fr]=Nouvelle fenêtre
+Name[fy_NL]=Nij finster
+Name[ga_IE]=Fuinneog Nua
+Name[gd]=Uinneag ùr
+Name[gl]=Nova xanela
+Name[gn]=Ovetã pyahu
+Name[gu_IN]=નવી વિન્ડો
+Name[he]=חלון חדש
+Name[hi_IN]=नया विंडो
+Name[hr]=Novi prozor
+Name[hsb]=Nowe wokno
+Name[hu]=Új ablak
+Name[hy_AM]=Նոր Պատուհան
+Name[id]=Jendela Baru
+Name[is]=Nýr gluggi
+Name[it]=Nuova finestra
+Name[ja]=新しいウィンドウ
+Name[ja_JP-mac]=新規ウインドウ
+Name[ka]=ახალი ფანჯარა
+Name[kk]=Жаңа терезе
+Name[km]=បង្អួចថ្មី
+Name[kn]=ಹೊಸ ಕಿಟಕಿ
+Name[ko]=새 창
+Name[kok]=नवें जनेल
+Name[ks]=نئئ وِنڈو
+Name[lij]=Neuvo barcon
+Name[lo]=ຫນ້າຕ່າງໃຫມ່
+Name[lt]=Naujas langas
+Name[ltg]=Jauns lūgs
+Name[lv]=Jauns logs
+Name[mai]=नव विंडो
+Name[mk]=Нов прозорец
+Name[ml]=പുതിയ ജാലകം
+Name[mr]=नवीन पटल
+Name[ms]=Tetingkap Baru
+Name[my]=ဝင်းဒိုးအသစ်
+Name[nb_NO]=Nytt vindu
+Name[ne_NP]=नयाँ सञ्झ्याल
+Name[nl]=Nieuw venster
+Name[nn_NO]=Nytt vindauge
+Name[or]=ନୂତନ ୱିଣ୍ଡୋ
+Name[pa_IN]=ਨਵੀਂ ਵਿੰਡੋ
+Name[pl]=Nowe okno
+Name[pt_BR]=Nova janela
+Name[pt_PT]=Nova janela
+Name[rm]=Nova fanestra
+Name[ro]=Fereastră nouă
+Name[ru]=Новое окно
+Name[sat]=नावा विंडो (N)
+Name[si]=නව කවුළුවක්
+Name[sk]=Nové okno
+Name[sl]=Novo okno
+Name[son]=Zanfun taaga
+Name[sq]=Dritare e Re
+Name[sr]=Нови прозор
+Name[sv_SE]=Nytt fönster
+Name[ta]=புதிய சாளரம்
+Name[te]=కొత్త విండో
+Name[th]=หน้าต่างใหม่
+Name[tr]=Yeni pencere
+Name[tsz]=Eraatarakua jimpani
+Name[uk]=Нове вікно
+Name[ur]=نیا دریچہ
+Name[uz]=Yangi oyna
+Name[vi]=Cửa sổ mới
+Name[wo]=Palanteer bu bees
+Name[xh]=Ifestile entsha
+Name[zh_CN]=新建窗口
+Name[zh_TW]=開新視窗
+Exec=/usr/lib/firefox/firefox --new-window %u
+
+[Desktop Action new-private-window]
+Name=New Private Window
+Name[ach]=Dirica manyen me mung
+Name[af]=Nuwe privaatvenster
+Name[an]=Nueva finestra privada
+Name[ar]=نافذة خاصة جديدة
+Name[as]=নতুন ব্যক্তিগত উইন্ডো
+Name[ast]=Ventana privada nueva
+Name[az]=Yeni Məxfi Pəncərə
+Name[be]=Новае акно адасаблення
+Name[bg]=Нов прозорец за поверително сърфиране
+Name[bn_BD]=নতুন ব্যক্তিগত উইন্ডো
+Name[bn_IN]=নতুন ব্যক্তিগত উইন্ডো
+Name[br]=Prenestr merdeiñ prevez nevez
+Name[brx]=गोदान प्राइभेट उइन्ड'
+Name[bs]=Novi privatni prozor
+Name[ca]=Finestra privada nova
+Name[cak]=K'ak'a' ichinan tzuwäch
+Name[cs]=Nové anonymní okno
+Name[cy]=Ffenestr Breifat Newydd
+Name[da]=Nyt privat vindue
+Name[de]=Neues privates Fenster
+Name[dsb]=Nowe priwatne wokno
+Name[el]=Νέο παράθυρο ιδιωτικής περιήγησης
+Name[en_GB]=New Private Window
+Name[en_US]=New Private Window
+Name[en_ZA]=New Private Window
+Name[eo]=Nova privata fenestro
+Name[es_AR]=Nueva ventana privada
+Name[es_CL]=Nueva ventana privada
+Name[es_ES]=Nueva ventana privada
+Name[es_MX]=Nueva ventana privada
+Name[et]=Uus privaatne aken
+Name[eu]=Leiho pribatu berria
+Name[fa]=پنجره ناشناس جدید
+Name[ff]=Henorde Suturo Hesere
+Name[fi]=Uusi yksityinen ikkuna
+Name[fr]=Nouvelle fenêtre de navigation privée
+Name[fy_NL]=Nij priveefinster
+Name[ga_IE]=Fuinneog Nua Phríobháideach
+Name[gd]=Uinneag phrìobhaideach ùr
+Name[gl]=Nova xanela privada
+Name[gn]=Ovetã ñemi pyahu
+Name[gu_IN]=નવી ખાનગી વિન્ડો
+Name[he]=חלון פרטי חדש
+Name[hi_IN]=नयी निजी विंडो
+Name[hr]=Novi privatni prozor
+Name[hsb]=Nowe priwatne wokno
+Name[hu]=Új privát ablak
+Name[hy_AM]=Սկսել Գաղտնի դիտարկում
+Name[id]=Jendela Mode Pribadi Baru
+Name[is]=Nýr huliðsgluggi
+Name[it]=Nuova finestra anonima
+Name[ja]=新しいプライベートウィンドウ
+Name[ja_JP-mac]=新規プライベートウインドウ
+Name[ka]=ახალი პირადი ფანჯარა
+Name[kk]=Жаңа жекелік терезе
+Name[km]=បង្អួចឯកជនថ្មី
+Name[kn]=ಹೊಸ ಖಾಸಗಿ ಕಿಟಕಿ
+Name[ko]=새 사생활 보호 모드
+Name[kok]=नवो खाजगी विंडो
+Name[ks]=نْو پرایوٹ وینڈو
+Name[lij]=Nêuvo barcón privòu
+Name[lo]=ເປີດຫນ້າຕ່າງສວນຕົວຂື້ນມາໃຫມ່
+Name[lt]=Naujas privataus naršymo langas
+Name[ltg]=Jauns privatais lūgs
+Name[lv]=Jauns privātais logs
+Name[mai]=नया निज विंडो (W)
+Name[mk]=Нов приватен прозорец
+Name[ml]=പുതിയ സ്വകാര്യ ജാലകം
+Name[mr]=नवीन वैयक्तिक पटल
+Name[ms]=Tetingkap Persendirian Baharu
+Name[my]=New Private Window
+Name[nb_NO]=Nytt privat vindu
+Name[ne_NP]=नयाँ निजी सञ्झ्याल
+Name[nl]=Nieuw privévenster
+Name[nn_NO]=Nytt privat vindauge
+Name[or]=ନୂତନ ବ୍ୟକ୍ତିଗତ ୱିଣ୍ଡୋ
+Name[pa_IN]=ਨਵੀਂ ਪ੍ਰਾਈਵੇਟ ਵਿੰਡੋ
+Name[pl]=Nowe okno prywatne
+Name[pt_BR]=Nova janela privativa
+Name[pt_PT]=Nova janela privada
+Name[rm]=Nova fanestra privata
+Name[ro]=Fereastră privată nouă
+Name[ru]=Новое приватное окно
+Name[sat]=नावा निजेराक् विंडो (W )
+Name[si]=නව පුද්ගලික කවුළුව (W)
+Name[sk]=Nové okno v režime Súkromné prehliadanie
+Name[sl]=Novo zasebno okno
+Name[son]=Sutura zanfun taaga
+Name[sq]=Dritare e Re Private
+Name[sr]=Нови приватан прозор
+Name[sv_SE]=Nytt privat fönster
+Name[ta]=புதிய தனிப்பட்ட சாளரம்
+Name[te]=కొత్త ఆంతరంగిక విండో
+Name[th]=หน้าต่างส่วนตัวใหม่
+Name[tr]=Yeni gizli pencere
+Name[tsz]=Juchiiti eraatarakua jimpani
+Name[uk]=Приватне вікно
+Name[ur]=نیا نجی دریچہ
+Name[uz]=Yangi maxfiy oyna
+Name[vi]=Cửa sổ riêng tư mới
+Name[wo]=Panlanteeru biir bu bees
+Name[xh]=Ifestile yangasese entsha
+Name[zh_CN]=新建隐私浏览窗口
+Name[zh_TW]=新增隱私視窗
+Exec=/usr/lib/firefox/firefox --private-window %u

Deleted: upload-symbol-archive
===================================================================
--- upload-symbol-archive	2020-09-24 18:48:47 UTC (rev 396480)
+++ upload-symbol-archive	2020-09-24 18:49:13 UTC (rev 396481)
@@ -1,25 +0,0 @@
-#!/bin/bash -e
-
-die() {
-  echo >&2 "$@"
-  exit 1
-}
-
-(( $# >= 2 )) || die "Usage: $0 TOKEN-FILE SYMBOL-ARCHIVE..."
-token="$1"
-shift
-
-[[ -f $token && -s $token ]] || die "Invalid TOKEN-FILE ${token at Q}"
-
-for zip; do
-  [[ $(file -SEbi "$zip") == application/zip* ]] || die "Invalid SYMBOL-ARCHIVE ${zip at Q}"
-done
-
-for zip; do
-  echo >&2 "Uploading ${zip at Q} ..."
-  curl -X POST -H "Auth-Token: $(<"$token")" -F "${zip##*/}=@$zip" \
-    --retry 4 --retry-connrefused --connect-timeout 120 \
-    https://symbols.mozilla.org/upload/
-  echo
-  mv -v "$zip" "$zip.uploaded"
-done

Copied: firefox/repos/extra-x86_64/upload-symbol-archive (from rev 396480, firefox/trunk/upload-symbol-archive)
===================================================================
--- upload-symbol-archive	                        (rev 0)
+++ upload-symbol-archive	2020-09-24 18:49:13 UTC (rev 396481)
@@ -0,0 +1,25 @@
+#!/bin/bash -e
+
+die() {
+  echo >&2 "$@"
+  exit 1
+}
+
+(( $# >= 2 )) || die "Usage: $0 TOKEN-FILE SYMBOL-ARCHIVE..."
+token="$1"
+shift
+
+[[ -f $token && -s $token ]] || die "Invalid TOKEN-FILE ${token at Q}"
+
+for zip; do
+  [[ $(file -SEbi "$zip") == application/zip* ]] || die "Invalid SYMBOL-ARCHIVE ${zip at Q}"
+done
+
+for zip; do
+  echo >&2 "Uploading ${zip at Q} ..."
+  curl -X POST -H "Auth-Token: $(<"$token")" -F "${zip##*/}=@$zip" \
+    --retry 4 --retry-connrefused --connect-timeout 120 \
+    https://symbols.mozilla.org/upload/
+  echo
+  mv -v "$zip" "$zip.uploaded"
+done


More information about the arch-commits mailing list