pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/www



Module Name:    pkgsrc
Committed By:   nia
Date:           Wed Sep  8 22:19:51 UTC 2021

Modified Files:
        pkgsrc/www: Makefile
Added Files:
        pkgsrc/www/firefox91: DESCR Makefile PLIST PLIST.Linux distinfo
            mozilla-common.mk options.mk
        pkgsrc/www/firefox91-l10n: DESCR Makefile PLIST distinfo
        pkgsrc/www/firefox91/files: desktop.in nodejs-output-91.0.1.tgz
        pkgsrc/www/firefox91/patches: patch-aa
            patch-browser_app_profile_firefox.js
            patch-build_moz.configure_rust.configure
            patch-config_gcc-stl-wrapper.template.h
            patch-config_makefiles_rust.mk patch-dom_base_nsAttrName.h
            patch-gfx_angle_checkout_src_common_third__party_smhasher_src_PMurHash.cpp
            patch-gfx_angle_checkout_src_compiler_translator_InfoSink.h
            patch-gfx_cairo_cairo_src_cairo-type1-subset.c
            patch-gfx_skia_skia_src_core_SkCpu.cpp
            patch-gfx_thebes_gfxPlatform.cpp patch-gfx_wr_swgl_build.rs
            patch-ipc_chromium_src_base_message__pump__libevent.cc
            patch-ipc_chromium_src_base_platform__thread__posix.cc
            patch-ipc_glue_GeckoChildProcessHost.cpp
            patch-js_src_jit_ProcessExecutableMemory.cpp
            patch-js_src_jit_arm64_vixl_MozCpu-vixl.cpp
            patch-js_src_jsfriendapi.h patch-js_src_util_NativeStack.cpp
            patch-js_src_vm_ArrayBufferObject.cpp
            patch-media_ffvpx_libavutil_arm_bswap.h
            patch-media_libcubeb_src_cubeb__alsa.c
            patch-media_libcubeb_src_moz.build patch-media_libpng_pngpriv.h
            patch-media_libtheora_lib_info.c
            patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_device__info__linux.cc
            patch-mozglue_misc_Uptime.cpp
            patch-nsprpub_pr_src_pthreads_ptsynch.c
            patch-security_nss_lib_freebl_mpi_mpi.c
            patch-toolkit_components_terminator_nsTerminator.cpp
            patch-toolkit_modules_subprocess_subprocess__shared__unix.js
            patch-toolkit_moz.configure
            patch-toolkit_mozapps_installer_packager.mk
            patch-widget_gtk_DMABufSurface.cpp patch-xpcom_base_nscore.h
            patch-xpcom_reflect_xptcall_md_unix_moz.build

Log Message:
Add Firefox 91ESR as a starting point for the branch.


To generate a diff of this commit:
cvs rdiff -u -r1.1581 -r1.1582 pkgsrc/www/Makefile
cvs rdiff -u -r0 -r1.1 pkgsrc/www/firefox91/DESCR \
    pkgsrc/www/firefox91/Makefile pkgsrc/www/firefox91/PLIST \
    pkgsrc/www/firefox91/PLIST.Linux pkgsrc/www/firefox91/distinfo \
    pkgsrc/www/firefox91/mozilla-common.mk pkgsrc/www/firefox91/options.mk
cvs rdiff -u -r0 -r1.1 pkgsrc/www/firefox91-l10n/DESCR \
    pkgsrc/www/firefox91-l10n/Makefile pkgsrc/www/firefox91-l10n/PLIST \
    pkgsrc/www/firefox91-l10n/distinfo
cvs rdiff -u -r0 -r1.1 pkgsrc/www/firefox91/files/desktop.in \
    pkgsrc/www/firefox91/files/nodejs-output-91.0.1.tgz
cvs rdiff -u -r0 -r1.1 pkgsrc/www/firefox91/patches/patch-aa \
    pkgsrc/www/firefox91/patches/patch-browser_app_profile_firefox.js \
    pkgsrc/www/firefox91/patches/patch-build_moz.configure_rust.configure \
    pkgsrc/www/firefox91/patches/patch-config_gcc-stl-wrapper.template.h \
    pkgsrc/www/firefox91/patches/patch-config_makefiles_rust.mk \
    pkgsrc/www/firefox91/patches/patch-dom_base_nsAttrName.h \
    pkgsrc/www/firefox91/patches/patch-gfx_angle_checkout_src_common_third__party_smhasher_src_PMurHash.cpp \
    pkgsrc/www/firefox91/patches/patch-gfx_angle_checkout_src_compiler_translator_InfoSink.h \
    pkgsrc/www/firefox91/patches/patch-gfx_cairo_cairo_src_cairo-type1-subset.c \
    pkgsrc/www/firefox91/patches/patch-gfx_skia_skia_src_core_SkCpu.cpp \
    pkgsrc/www/firefox91/patches/patch-gfx_thebes_gfxPlatform.cpp \
    pkgsrc/www/firefox91/patches/patch-gfx_wr_swgl_build.rs \
    pkgsrc/www/firefox91/patches/patch-ipc_chromium_src_base_message__pump__libevent.cc \
    pkgsrc/www/firefox91/patches/patch-ipc_chromium_src_base_platform__thread__posix.cc \
    pkgsrc/www/firefox91/patches/patch-ipc_glue_GeckoChildProcessHost.cpp \
    pkgsrc/www/firefox91/patches/patch-js_src_jit_ProcessExecutableMemory.cpp \
    pkgsrc/www/firefox91/patches/patch-js_src_jit_arm64_vixl_MozCpu-vixl.cpp \
    pkgsrc/www/firefox91/patches/patch-js_src_jsfriendapi.h \
    pkgsrc/www/firefox91/patches/patch-js_src_util_NativeStack.cpp \
    pkgsrc/www/firefox91/patches/patch-js_src_vm_ArrayBufferObject.cpp \
    pkgsrc/www/firefox91/patches/patch-media_ffvpx_libavutil_arm_bswap.h \
    pkgsrc/www/firefox91/patches/patch-media_libcubeb_src_cubeb__alsa.c \
    pkgsrc/www/firefox91/patches/patch-media_libcubeb_src_moz.build \
    pkgsrc/www/firefox91/patches/patch-media_libpng_pngpriv.h \
    pkgsrc/www/firefox91/patches/patch-media_libtheora_lib_info.c \
    pkgsrc/www/firefox91/patches/patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_device__info__linux.cc \
    pkgsrc/www/firefox91/patches/patch-mozglue_misc_Uptime.cpp \
    pkgsrc/www/firefox91/patches/patch-nsprpub_pr_src_pthreads_ptsynch.c \
    pkgsrc/www/firefox91/patches/patch-security_nss_lib_freebl_mpi_mpi.c \
    pkgsrc/www/firefox91/patches/patch-toolkit_components_terminator_nsTerminator.cpp \
    pkgsrc/www/firefox91/patches/patch-toolkit_modules_subprocess_subprocess__shared__unix.js \
    pkgsrc/www/firefox91/patches/patch-toolkit_moz.configure \
    pkgsrc/www/firefox91/patches/patch-toolkit_mozapps_installer_packager.mk \
    pkgsrc/www/firefox91/patches/patch-widget_gtk_DMABufSurface.cpp \
    pkgsrc/www/firefox91/patches/patch-xpcom_base_nscore.h \
    pkgsrc/www/firefox91/patches/patch-xpcom_reflect_xptcall_md_unix_moz.build

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/www/Makefile
diff -u pkgsrc/www/Makefile:1.1581 pkgsrc/www/Makefile:1.1582
--- pkgsrc/www/Makefile:1.1581  Thu Sep  2 07:19:21 2021
+++ pkgsrc/www/Makefile Wed Sep  8 22:19:50 2021
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.1581 2021/09/02 07:19:21 wiz Exp $
+# $NetBSD: Makefile,v 1.1582 2021/09/08 22:19:50 nia Exp $
 #
 
 COMMENT=       Packages related to the World Wide Web
@@ -117,6 +117,8 @@ SUBDIR+=    firefox68
 SUBDIR+=       firefox68-l10n
 SUBDIR+=       firefox78
 SUBDIR+=       firefox78-l10n
+SUBDIR+=       firefox91
+SUBDIR+=       firefox91-l10n
 SUBDIR+=       firefox_decrypt
 SUBDIR+=       gallery
 SUBDIR+=       gallery2

Added files:

Index: pkgsrc/www/firefox91/DESCR
diff -u /dev/null pkgsrc/www/firefox91/DESCR:1.1
--- /dev/null   Wed Sep  8 22:19:51 2021
+++ pkgsrc/www/firefox91/DESCR  Wed Sep  8 22:19:50 2021
@@ -0,0 +1,12 @@
+Mozilla Firefox is a free, open-source and cross-platform web browser
+for Windows, Linux, MacOS X and many other operating systems.
+
+It is fast and easy to use, and offers many advantages over other web
+browsers, such as tabbed browsing and the ability to block pop-up
+windows.
+
+Firefox also offers excellent bookmark and history management, and it
+can be extended by developers using industry standards such as XML,
+CSS, JavaScript, C++, etc. Many extensions are available.
+
+This package provides Firefox 91 ESR.
Index: pkgsrc/www/firefox91/Makefile
diff -u /dev/null pkgsrc/www/firefox91/Makefile:1.1
--- /dev/null   Wed Sep  8 22:19:51 2021
+++ pkgsrc/www/firefox91/Makefile       Wed Sep  8 22:19:50 2021
@@ -0,0 +1,193 @@
+# $NetBSD: Makefile,v 1.1 2021/09/08 22:19:50 nia Exp $
+
+FIREFOX_VER=           ${MOZ_BRANCH}${MOZ_BRANCH_MINOR}
+MOZ_BRANCH=            91.0
+MOZ_BRANCH_MINOR=      .1esr
+
+DISTNAME=      firefox-${FIREFOX_VER}.source
+PKGNAME=       ${DISTNAME:S/.source//:S/b/beta/:S/esr//:S/firefox-/firefox91-/}
+CATEGORIES=    www
+MASTER_SITES+= ${MASTER_SITE_MOZILLA:=firefox/releases/${FIREFOX_VER}/source/}
+EXTRACT_SUFX=  .tar.xz
+
+DISTFILES=     ${DEFAULT_DISTFILES} nodejs-output-91.0.tgz
+SITES.nodejs-output-91.0.tgz=  ${MASTER_SITE_LOCAL}
+
+MAINTAINER=    ryoon%NetBSD.org@localhost
+HOMEPAGE=      https://www.mozilla.org/en-US/firefox/
+COMMENT=       Web browser with support for extensions (version ${FIREFOX_VER:tu:C/\\.[[:digit:]\.]*//})
+LICENSE=       mpl-1.1
+
+# -------- BEFORE UPDATING THIS PACKAGE PLEASE READ & UNDERSTAND: -------
+#
+# This package works around a (stupid) build time dependency on nodejs
+# (which is not available for all architectures and unnecessary for the
+# real build). To do this, it places some additional burden on the
+# maintainer.
+#
+# While working on the package, please make sure you have
+#
+#      FIREFOX_MAINTAINER=yes
+#
+# set in your build environment.
+# When the package is ready for commit (but before commit), do:
+#
+#      make maintainer-files
+#
+# This will do another round (depending on state of your work dir at this
+# moment) of one or two builds and generate a cache of all output that
+# nodejs generates during a build.
+#
+# When this is done, just commit the results (they will be in the files/
+# directory).
+#
+# -----------------------------------------------------------------------
+
+UNLIMIT_RESOURCES+=    datasize virtualsize
+
+WRKSRC=                ${WRKDIR}/firefox-${FIREFOX_VER:S/esr//}
+
+MOZILLA_DIR=   # empty
+
+# Note: when updating remember to conditionalise about-background.png in PLIST
+CONFIGURE_ARGS+=       --enable-application=browser
+
+ALL_ENV+=      MOZ_APP_NAME=${MOZILLA}
+
+#CFLAGS+=      -I${PREFIX}/include/nspr
+# for lang/gcc6
+CFLAGS+=       -D_GLIBCXX_INCLUDE_NEXT_C_HEADERS
+CFLAGS.SunOS+= -D_POSIX_PTHREAD_SEMANTICS
+
+LDFLAGS+=              ${COMPILER_RPATH_FLAG}${PREFIX}/lib/${PKGBASE}
+LDFLAGS+=              ${COMPILER_RPATH_FLAG}${PREFIX}/lib
+LDFLAGS.DragonFly+=    -lplc4 -lnspr4
+LDFLAGS.FreeBSD+=      -lplc4 -lnspr4
+LDFLAGS.Linux+=                -lnspr4
+LDFLAGS.SunOS+=                -lm
+
+# XXX not sure how to test this! likely unnecessary
+NOT_PAX_MPROTECT_SAFE+=        lib/${PKGBASE}/plugin-container
+
+# Avoid ld "invalid section index" errors.
+BUILDLINK_TRANSFORM.SunOS+=    rm:-fdata-sections
+BUILDLINK_TRANSFORM.SunOS+=    rm:-ffunction-sections
+BUILDLINK_TRANSFORM.SunOS+=    rm:-pie
+
+# Workaround for https://bugs.llvm.org/show_bug.cgi?id=46366
+BUILDLINK_TRANSFORM.NetBSD+=   rm:-fexperimental-new-pass-manager
+
+SUBST_CLASSES+=                        dfly_malloc_h
+SUBST_STAGE.dfly_malloc_h=     pre-configure
+SUBST_MESSAGE.dfly_malloc_h=   Dont include malloc.h on dragonflybsd
+SUBST_SED.dfly_malloc_h=       -e 's,HAVE_MALLOC_H,HAVE_MALLOC_H \&\& !defined(__DragonFly__),g'
+SUBST_FILES.dfly_malloc_h+=    media/ffvpx/libavutil/mem.c
+
+.include "mozilla-common.mk"
+.include "options.mk"
+
+CHECK_INTERPRETER_SKIP+=       lib/firefox-sdk/sdk/bin/header.py
+CHECK_INTERPRETER_SKIP+=       lib/firefox-sdk/sdk/bin/typelib.py
+CHECK_INTERPRETER_SKIP+=       lib/firefox-sdk/sdk/bin/xpidl.py
+CHECK_INTERPRETER_SKIP+=       lib/firefox-sdk/sdk/bin/xpt.py
+
+CHECK_WRKREF_SKIP+=    lib/${MOZILLA}/omni.ja
+
+MOZILLA=       ${PKGBASE}
+MOZILLA_ICON=  ${WRKSRC}/${OBJDIR}/dist/${MOZILLA}/browser/chrome/icons/default/default48.png
+.if !empty(PKG_OPTIONS:Mofficial-mozilla-branding)
+MOZILLA_NAME=  Firefox
+.else
+MOZILLA_NAME=  Browser
+.endif
+
+#
+# Generate list of subst entries for various .cargo-checksum.json files.  These
+# are all handled together in one big substitution to simplify things rather
+# than one substitution entry per file, but are kept separate below to ease
+# updating and verification.
+#
+
+#CKSUM_CRATES+=        third_party/rust/libc
+
+# patch-third__party_rust_libc_src_unix_bsd_netbsdlike_netbsd_mod.rs
+#CKSUMS+=      a3540eab4dbc52e006e84e288bad17e1dae3865fea49020e0ed8b5a7724a9532
+#CKSUMS+=      5e58a2109f5eff0f497dfac150c161c1d517a2227b49e086da96c3d66522ac3a
+
+#CKSUM_CRATES+=        third_party/rust/getrandom
+
+# patch-third__party_rust_getrandom_src_lib.rs
+#CKSUMS+=      0e52f6bde42d7bb05c297ce1c25b9879d61b28caba98f6226a152bff538db6c2
+#CKSUMS+=      394425b4ba03c21c494e64d993678f7014575b1e3d590b9ee452b5c2d83ec4ac
+
+#SUBST_CLASSES+=       cksum
+#SUBST_STAGE.cksum=    pre-configure
+#.for crate in ${CKSUM_CRATES}
+#SUBST_FILES.cksum+=   ${crate}/.cargo-checksum.json
+#.endfor
+#.for from to in ${CKSUMS}
+#SUBST_SED.cksum+=     -e 's,${from},${to},g'
+#.endfor
+
+pre-configure:
+       cd ${WRKSRC} && autoconf
+       cd ${WRKSRC}/js/src && autoconf
+       cd ${WRKSRC} && mkdir ${OBJDIR}
+       cd ${WRKSRC}/${OBJDIR} && touch old-configure.vars
+#      Do not fetch Rust Cargo file via network during build
+.if !defined(FIREFOX_MAINTAINER)
+       mv ${WRKDIR}/dist ${WRKSRC}/${OBJDIR}
+.endif
+
+.if defined(FIREFOX_MAINTAINER)
+# Create files needed only by the firefox maintainer when updating
+# the package
+# XXX - manually removing the .*_done files is wrong!
+.PHONY: build-list
+build-list:
+       cd ${WRKSRC}/${OBJDIR}/dist/bin/browser/chrome && \
+               find . -type f | sort > ${OUT:Q}
+
+NODE_LIST=     "${WRKDIR}/node.list"
+NO_NODE_LIST=  "${WRKDIR}/no-node.list"
+NODE_FILES=    "${WRKDIR}/node.flist"
+
+.PHONY: maintainer-files
+maintainer-files:
+       rm -f ${FILESDIR}/node-wrapper.sh
+       V=$$( node -v ) && \
+           printf '#! /bin/sh\n\nVERS=%s\n\nif [ "$$1" = "-v" ] || [ "$$1" = "--version" ]; then\n\tprintf "$${VERS}\\n"\nfi\n\nexit 0\n' $$V \
+           > ${FILESDIR}/node-wrapper.sh && \
+           chmod 0755 ${FILESDIR}/node-wrapper.sh
+       rm -f ${WRKDIR}/.build_done ${WRKDIR}/.configure_done
+       ${MAKE} MAINTAINER_INTERNAL=yes build
+       ${MAKE} MAINTAINER_INTERNAL=yes OUT="${NO_NODE_LIST}" build-list
+       ${MAKE} OUT="${NODE_LIST}" build-list
+       ${DIFF} -u "${NO_NODE_LIST}" "${NODE_LIST}" | \
+           ${AWK} \
+           '/^\+\.\//{ printf("dist/bin/browser/chrome/%s\n", gensub(/^\+\.\//, "", "")) }' \
+           > "${NODE_FILES}"
+       cd ${WRKSRC}/${OBJDIR} && tar -c -T "${NODE_FILES}" -z \
+           -f ${FILESDIR}/nodejs-output-${PKGVERSION_NOREV}.tgz
+.endif
+
+post-build:
+       ${SED} -e 's|@MOZILLA@|${MOZILLA}|g'                            \
+         -e 's|@MOZILLA_NAME@|${MOZILLA_NAME}|g'                       \
+         -e 's|@FIREFOX_ICON@|${MOZILLA}.png|g'                        \
+         < ${FILESDIR}/desktop.in                                      \
+         > ${WRKDIR}/desktop
+
+INSTALLATION_DIRS+=    share/applications share/pixmaps
+post-install:
+       ${ECHO} '#! /bin/sh' > ${DESTDIR}${PREFIX}/bin/${MOZILLA}
+       ${ECHO} '${PREFIX}/lib/${MOZILLA}/${MOZILLA} "$$@"' >> \
+               ${DESTDIR}${PREFIX}/bin/${MOZILLA}
+       ${CHMOD} 755 ${DESTDIR}${PREFIX}/bin/${MOZILLA}
+       ${INSTALL_DATA} ${WRKDIR}/desktop                               \
+         ${DESTDIR}${PREFIX}/share/applications/${MOZILLA}.desktop
+       ${INSTALL_DATA} ${MOZILLA_ICON}                                 \
+         ${DESTDIR}${PREFIX}/share/pixmaps/${MOZILLA}.png
+
+.include "../../sysutils/desktop-file-utils/desktopdb.mk"
+.include "../../mk/bsd.pkg.mk"
Index: pkgsrc/www/firefox91/PLIST
diff -u /dev/null pkgsrc/www/firefox91/PLIST:1.1
--- /dev/null   Wed Sep  8 22:19:51 2021
+++ pkgsrc/www/firefox91/PLIST  Wed Sep  8 22:19:50 2021
@@ -0,0 +1,36 @@
+@comment $NetBSD: PLIST,v 1.1 2021/09/08 22:19:50 nia Exp $
+bin/firefox91
+lib/firefox91/application.ini
+lib/firefox91/browser/chrome/icons/default/default128.png
+lib/firefox91/browser/chrome/icons/default/default16.png
+lib/firefox91/browser/chrome/icons/default/default32.png
+lib/firefox91/browser/chrome/icons/default/default48.png
+lib/firefox91/browser/chrome/icons/default/default64.png
+lib/firefox91/browser/features/doh-rollout%mozilla.org.xpi@localhost
+lib/firefox91/browser/features/formautofill%mozilla.org.xpi@localhost
+lib/firefox91/browser/features/pictureinpicture%mozilla.org.xpi@localhost
+lib/firefox91/browser/features/screenshots%mozilla.org.xpi@localhost
+lib/firefox91/browser/features/webcompat-reporter%mozilla.org.xpi@localhost
+lib/firefox91/browser/features/webcompat%mozilla.org.xpi@localhost
+lib/firefox91/browser/omni.ja
+lib/firefox91/defaults/pref/channel-prefs.js
+lib/firefox91/dependentlibs.list
+lib/firefox91/firefox91
+lib/firefox91/firefox91-bin
+lib/firefox91/fonts/TwemojiMozilla.ttf
+lib/firefox91/gmp-clearkey/0.1/libclearkey.so
+lib/firefox91/gmp-clearkey/0.1/manifest.json
+lib/firefox91/liblgpllibs.so
+${PLIST.ffvpx}lib/firefox91/libmozavcodec.so
+${PLIST.ffvpx}lib/firefox91/libmozavutil.so
+lib/firefox91/libmozgtk.so
+lib/firefox91/libmozsqlite3.so
+${PLIST.wayland}lib/firefox91/libmozwayland.so
+lib/firefox91/libxul.so
+lib/firefox91/omni.ja
+lib/firefox91/pingsender
+lib/firefox91/platform.ini
+lib/firefox91/plugin-container
+lib/firefox91/removed-files
+share/applications/firefox91.desktop
+share/pixmaps/firefox91.png
Index: pkgsrc/www/firefox91/PLIST.Linux
diff -u /dev/null pkgsrc/www/firefox91/PLIST.Linux:1.1
--- /dev/null   Wed Sep  8 22:19:51 2021
+++ pkgsrc/www/firefox91/PLIST.Linux    Wed Sep  8 22:19:50 2021
@@ -0,0 +1,2 @@
+@comment $NetBSD: PLIST.Linux,v 1.1 2021/09/08 22:19:50 nia Exp $
+lib/firefox/libmozsandbox.so
Index: pkgsrc/www/firefox91/distinfo
diff -u /dev/null pkgsrc/www/firefox91/distinfo:1.1
--- /dev/null   Wed Sep  8 22:19:51 2021
+++ pkgsrc/www/firefox91/distinfo       Wed Sep  8 22:19:50 2021
@@ -0,0 +1,46 @@
+$NetBSD: distinfo,v 1.1 2021/09/08 22:19:50 nia Exp $
+
+SHA1 (firefox-91.0.1esr.source.tar.xz) = 69da1e09a886a884578a772e31a39b7b127b333e
+RMD160 (firefox-91.0.1esr.source.tar.xz) = 95bb15e2454deae11b7ae762dbd592d0e1c63c02
+SHA512 (firefox-91.0.1esr.source.tar.xz) = 79703b3ec615d10957350719b2c034df10fd47d140c3557cd7de665ef4430973b97c1906d5408ddaf8855c1424e87eb9b1b568322ad8fbdb956fca219a865d66
+Size (firefox-91.0.1esr.source.tar.xz) = 382907312 bytes
+SHA1 (nodejs-output-91.0.tgz) = 4c5220054c1364ff679351c46206f5a4886c03bf
+RMD160 (nodejs-output-91.0.tgz) = b21fe976a919cd891a757eaba2f4006d8e4ab747
+SHA512 (nodejs-output-91.0.tgz) = 3a457101a4aaa5ae955b77c41ba6b0d98eb5dd0ae9d6d8cc77c0c7bc0e844238a9c0d86cd1838ffb6a37ad8851f871c21e4ca1bb59d11e58fc42c5fec88c298c
+Size (nodejs-output-91.0.tgz) = 201061 bytes
+SHA1 (patch-aa) = 15b8567cee2af9853f6949c80345ffcb1fd3852a
+SHA1 (patch-browser_app_profile_firefox.js) = 89cea0a66457c96ad0b94aaa524aa5942ad781d0
+SHA1 (patch-build_moz.configure_rust.configure) = 25ddfacd29cebbc6db005dbe61a2a7446d480678
+SHA1 (patch-config_gcc-stl-wrapper.template.h) = 9d88c7b1ccfdd3c6bd2dcd9530a36ad4a501d97a
+SHA1 (patch-config_makefiles_rust.mk) = 72d7e9ecee3ccf7ef5f741aac8e35509b41ab7b8
+SHA1 (patch-dom_base_nsAttrName.h) = ac7ba441a3b27df2855cf2673eea36b1cb44ad49
+SHA1 (patch-gfx_angle_checkout_src_common_third__party_smhasher_src_PMurHash.cpp) = e458c9c8dc66edc69c1874734af28a77fc5e3993
+SHA1 (patch-gfx_angle_checkout_src_compiler_translator_InfoSink.h) = 2f73c76c48852613e0c55c1680fcc2a9eb3cf4ef
+SHA1 (patch-gfx_cairo_cairo_src_cairo-type1-subset.c) = 89a9d934ef76706c552c0b81e6cbc0f45b1ffd2c
+SHA1 (patch-gfx_skia_skia_src_core_SkCpu.cpp) = 36218819254f3681b9c717d652ea78c9f20d49ad
+SHA1 (patch-gfx_thebes_gfxPlatform.cpp) = f6f8996f0818a1b890698c7cc5054d49cb1e8924
+SHA1 (patch-gfx_wr_swgl_build.rs) = df6ebfaabb4d27994e59a9d0eaf12c7cf08415fb
+SHA1 (patch-ipc_chromium_src_base_message__pump__libevent.cc) = 4a6606da590cfb8d855bde58b9c6f90e98d0870c
+SHA1 (patch-ipc_chromium_src_base_platform__thread__posix.cc) = 35d20981d33ccdb1d8ffb8039e48798777f11658
+SHA1 (patch-ipc_glue_GeckoChildProcessHost.cpp) = 260c29bacd8bf265951b7a412f850bf2b292c836
+SHA1 (patch-js_src_jit_ProcessExecutableMemory.cpp) = fad103cc698f9828ad58f742231984ec2bc27605
+SHA1 (patch-js_src_jit_arm64_vixl_MozCpu-vixl.cpp) = fdc522e3fb626b1b8a2ebf19ad60bfc25dfa4183
+SHA1 (patch-js_src_jsfriendapi.h) = b5cb687dbbda314fe0f16521c1c042c105c4bbe4
+SHA1 (patch-js_src_util_NativeStack.cpp) = a0a16d8d8d78d3cc3f4d2a508586f1a7821f7dba
+SHA1 (patch-js_src_vm_ArrayBufferObject.cpp) = 0501fdcae11568ae4ea78e0d2f6b3750b7a67d47
+SHA1 (patch-media_ffvpx_libavutil_arm_bswap.h) = de58daa0fd23d4fec50426602b65c9ea5862558a
+SHA1 (patch-media_libcubeb_src_cubeb__alsa.c) = 31536f36cb33f16da309527b50eda9b721608115
+SHA1 (patch-media_libcubeb_src_moz.build) = e4e64a1135cf4157ae5b6f7c1710ebd076953479
+SHA1 (patch-media_libpng_pngpriv.h) = c8084332560017cd7c9b519b61d125fa28af0dbc
+SHA1 (patch-media_libtheora_lib_info.c) = f6dbf536d73859a1ff78304c2e9f6a6f74dac01f
+SHA1 (patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_device__info__linux.cc) = f495b64d33db4940c0dfe8c36ddf82aa752b25d9
+SHA1 (patch-mozglue_misc_Uptime.cpp) = daefe25ef1ebc8e4d3735017b9e8ac68c4710a00
+SHA1 (patch-nsprpub_pr_src_pthreads_ptsynch.c) = 13e512c7ee9fa1e14ba415d62fa853e5fbfc91c0
+SHA1 (patch-security_nss_lib_freebl_mpi_mpi.c) = a7cd867916524770609d1c307a65b315b88456f4
+SHA1 (patch-toolkit_components_terminator_nsTerminator.cpp) = 1c1397f6177728cf9deb2b74708069b9d09509c3
+SHA1 (patch-toolkit_modules_subprocess_subprocess__shared__unix.js) = 22a39e54e042ab2270a3cb54e4e307c8900cad12
+SHA1 (patch-toolkit_moz.configure) = bb6b7a358302e254e31016c3053088e6ed089f5a
+SHA1 (patch-toolkit_mozapps_installer_packager.mk) = 706635b76a7b525794aba95e95544f09e18bb662
+SHA1 (patch-widget_gtk_DMABufSurface.cpp) = 72bc9554f075734df12e1748fb8965dce8318de5
+SHA1 (patch-xpcom_base_nscore.h) = 1ac4d34d3c9e80bc1ac966c6c84cb320bc0fa1ec
+SHA1 (patch-xpcom_reflect_xptcall_md_unix_moz.build) = f7e491c7b62a5332066473bfc815e0050672a372
Index: pkgsrc/www/firefox91/mozilla-common.mk
diff -u /dev/null pkgsrc/www/firefox91/mozilla-common.mk:1.1
--- /dev/null   Wed Sep  8 22:19:51 2021
+++ pkgsrc/www/firefox91/mozilla-common.mk      Wed Sep  8 22:19:50 2021
@@ -0,0 +1,225 @@
+# $NetBSD: mozilla-common.mk,v 1.1 2021/09/08 22:19:50 nia Exp $
+#
+# common Makefile fragment for mozilla packages based on gecko 2.0.
+#
+# used by www/firefox91/Makefile
+
+.include "../../mk/bsd.prefs.mk"
+
+PYTHON_VERSIONS_INCOMPATIBLE=  27
+PYTHON_FOR_BUILD_ONLY=         tool
+ALL_ENV+=                      PYTHON3=${PYTHONBIN}
+
+HAS_CONFIGURE=         yes
+CONFIGURE_ARGS+=       --prefix=${PREFIX}
+USE_TOOLS+=            pkg-config perl gmake autoconf213 gm4 unzip zip
+UNLIMIT_RESOURCES+=    datasize virtualsize
+
+USE_LANGUAGES+=                c c++
+
+# ERROR: Only GCC 7.1 or newer is supported (found version 5.5.0).
+GCC_REQD+=             7
+
+TOOL_DEPENDS+=         cbindgen>=0.19.0:../../devel/cbindgen
+
+.if defined(FIREFOX_MAINTAINER) && !defined(MAINTAINER_INTERNAL)
+TOOL_DEPENDS+=         nodejs-[0-9]*:../../lang/nodejs
+USE_TOOLS+=            diff
+.else
+CONFIGURE_ENV+=                NODEJS="${FILESDIR}/node-wrapper.sh"
+.endif
+
+TOOL_DEPENDS+=         ${PYPKGPREFIX}-sqlite3-[0-9]*:../../databases/py-sqlite3
+TOOL_DEPENDS+=         ${PYPKGPREFIX}-expat-[0-9]*:../../textproc/py-expat
+
+.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64"
+TOOL_DEPENDS+=         nasm>=2.14:../../devel/nasm
+TOOL_DEPENDS+=         yasm>=1.1:../../devel/yasm
+.endif
+
+# This is to work around build failures where an upstream configuration script
+# is confused by having more than one approximate match to MACHINE_GNU_PLATFORM
+# "i486" when attempting to select the Rust compiler target.
+.if !empty(MACHINE_PLATFORM:MNetBSD-*-i386)
+CONFIGURE_ARGS+=       --target=i586-unknown-netbsd
+CONFIGURE_ARGS+=       --host=i586-unknown-netbsd
+.else
+CONFIGURE_ARGS+=       --target=${MACHINE_GNU_PLATFORM}
+CONFIGURE_ARGS+=       --host=${MACHINE_GNU_PLATFORM}
+.endif
+
+CONFIGURE_ENV+=                BINDGEN_CFLAGS="-isystem${PREFIX}/include/nspr \
+                       -isystem${X11BASE}/include/pixman-1"
+
+test:
+       cd ${WRKSRC}/${OBJDIR}/dist/bin &&      \
+            ./run-mozilla.sh ${WRKSRC}/mach check-spidermonkey
+
+# tar(1) of OpenBSD 5.5 has no --exclude command line option.
+.if ${OPSYS} == "OpenBSD"
+TOOLS_PLATFORM.tar=    ${TOOLS_PATH.bsdtar}
+USE_TOOLS+=            bsdtar
+.endif
+
+PLIST_VARS+=   i386
+.if ${MACHINE_ARCH} == "i386"
+# This is required for SSE2 code under i386.
+CXXFLAGS+=             -mstackrealign
+PLIST.i386=            yes
+.endif
+
+CHECK_PORTABILITY_SKIP+=       ${MOZILLA_DIR}security/nss/tests/libpkix/libpkix.sh
+CHECK_PORTABILITY_SKIP+=       ${MOZILLA_DIR}security/nss/tests/multinit/multinit.sh
+CHECK_PORTABILITY_SKIP+=       ${MOZILLA_DIR}js/src/tests/update-test262.sh
+CHECK_PORTABILITY_SKIP+=       ${MOZILLA_DIR}intl/icu/source/configure
+CHECK_PORTABILITY_SKIP+=       ${MOZILLA_DIR}browser/components/loop/run-all-loop-tests.sh
+CHECK_PORTABILITY_SKIP+=       ${MOZILLA_DIR}browser/extensions/loop/run-all-loop-tests.sh
+#CHECK_PORTABILITY_SKIP+=      ${MOZILLA_DIR}modules/pdfium/update.sh
+
+CONFIGURE_ARGS+=       --enable-default-toolkit=cairo-gtk3
+CONFIGURE_ARGS+=       --enable-release
+# Disable Rust SIMD option to fix build with lang/rust-1.33.0
+# This should be enabled later again.
+#CONFIGURE_ARGS+=      --enable-rust-simd
+CONFIGURE_ARGS+=       --disable-tests
+# Mozilla Bug 1432751
+#CONFIGURE_ARGS+=      --enable-system-cairo
+CONFIGURE_ARGS+=       --enable-system-pixman
+# webrtc option requires internal libvpx
+#CONFIGURE_ARGS+=      --with-system-libvpx
+CONFIGURE_ARGS+=       --enable-system-ffi
+CONFIGURE_ARGS+=       --with-system-icu
+CONFIGURE_ARGS+=       --with-system-nss
+CONFIGURE_ARGS+=       --with-system-nspr
+#CONFIGURE_ARGS+=      --with-system-jpeg
+CONFIGURE_ARGS+=       --with-system-zlib
+CONFIGURE_ARGS+=       --with-system-libevent=${BUILDLINK_PREFIX.libevent}
+CONFIGURE_ARGS+=       --disable-crashreporter
+CONFIGURE_ARGS+=       --disable-necko-wifi
+CONFIGURE_ARGS+=       --enable-chrome-format=omni
+CONFIGURE_ARGS+=       --with-system-webp
+
+#CONFIGURE_ARGS+=      --enable-readline
+CONFIGURE_ARGS+=       --disable-icf
+CONFIGURE_ARGS+=       --disable-updater
+
+#CONFIGURE_ARGS+=      --with-libclang-path=${PREFIX}/lib
+
+SUBST_CLASSES+=                        fix-paths
+SUBST_STAGE.fix-paths=         pre-configure
+SUBST_MESSAGE.fix-paths=       Fixing absolute paths.
+SUBST_FILES.fix-paths+=                ${MOZILLA_DIR}xpcom/io/nsAppFileLocationProvider.cpp
+SUBST_SED.fix-paths+=          -e 's,/usr/lib/mozilla/plugins,${PREFIX}/lib/netscape/plugins,g'
+
+CONFIG_GUESS_OVERRIDE+=                ${MOZILLA_DIR}build/autoconf/config.guess
+CONFIG_GUESS_OVERRIDE+=                ${MOZILLA_DIR}js/src/build/autoconf/config.guess
+CONFIG_GUESS_OVERRIDE+=                ${MOZILLA_DIR}nsprpub/build/autoconf/config.guess
+CONFIG_GUESS_OVERRIDE+=                ${MOZILLA_DIR}/js/ctypes/libffi/config.guess
+CONFIG_SUB_OVERRIDE+=          ${MOZILLA_DIR}build/autoconf/config.sub
+CONFIG_SUB_OVERRIDE+=          ${MOZILLA_DIR}js/src/build/autoconf/config.sub
+CONFIG_SUB_OVERRIDE+=          ${MOZILLA_DIR}nsprpub/build/autoconf/config.sub
+CONFIG_SUB_OVERRIDE+=          ${MOZILLA_DIR}/js/ctypes/libffi/config.sub
+
+CONFIGURE_ENV+=                CPP=${CPP:Q}
+ALL_ENV+=              SHELL=${CONFIG_SHELL:Q}
+
+# Build outside ${WRKSRC}
+# Try to avoid conflict with config/makefiles/xpidl/Makefile.in
+.if ${MAINTAINER_INTERNAL:Uno} == "yes
+OBJDIR=                        ../no-node-build
+.else
+OBJDIR=                        ../build
+.endif
+CONFIGURE_DIRS=                ${OBJDIR}
+CONFIGURE_SCRIPT=      ${WRKSRC}/configure
+
+PLIST_VARS+=   ffvpx
+
+.if ${MACHINE_ARCH} == "aarch64" || \
+    !empty(MACHINE_ARCH:M*arm*) || \
+    ${MACHINE_ARCH} == "i386" || \
+    ${MACHINE_ARCH} == "x86_64"
+PLIST.ffvpx=   yes     # see media/ffvpx/ffvpxcommon.mozbuild
+.endif
+
+# See ${WRKSRC}/security/sandbox/mac/Sandbox.mm: On Darwin, sandboxing
+# support is only available when the toolkit is cairo-cocoa.
+CONFIGURE_ARGS.Darwin+=        --disable-sandbox
+
+# Makefiles sometimes call "rm -f" without more arguments. Kludge around ...
+.PHONY: create-rm-wrapper
+pre-configure: create-rm-wrapper
+create-rm-wrapper:
+       printf '#!/bin/sh\n[ "$$*" = "-f" ] && exit 0\nexec /bin/rm $$@\n' > \
+         ${WRAPPER_DIR}/bin/rm
+       chmod +x ${WRAPPER_DIR}/bin/rm
+
+.PHONY: fix-clang-wrapper
+pre-configure: fix-clang-wrapper
+fix-clang-wrapper:
+.if empty(PKGSRC_COMPILER:M*clang*)
+# Firefox requires Clang during the build, even when building with GCC.
+# XXX: When using GCC, pkgsrc provides 'clang' wrappers that are actually gcc.
+# This breaks the build.
+# PR pkg/55647 https://gnats.netbsd.org/55647
+       ${LN} -sf ${PREFIX}/bin/clang ${WRKDIR}/.cwrapper/bin/clang
+       ${LN} -sf ${PREFIX}/bin/clang++ ${WRKDIR}/.cwrapper/bin/clang++
+       ${LN} -sf ${PREFIX}/bin/clang-cpp ${WRKDIR}/.cwrapper/bin/clang-cpp
+.endif
+
+# The configure test for __thread succeeds, but later we end up with:
+# dist/bin/libxul.so: undefined reference to `__tls_get_addr'
+CONFIGURE_ENV.NetBSD+= ac_cv_thread_keyword=no
+# In unspecified case, clock_gettime(CLOCK_MONOTONIC, ...) fails.
+CONFIGURE_ENV.NetBSD+= ac_cv_clock_monotonic=
+
+.include "../../mk/atomic64.mk"
+BUILDLINK_API_DEPENDS.libevent+=       libevent>=1.1
+.include "../../devel/libevent/buildlink3.mk"
+.include "../../devel/libffi/buildlink3.mk"
+BUILDLINK_API_DEPENDS.nspr+=   nspr>=4.32
+.include "../../devel/nspr/buildlink3.mk"
+.include "../../textproc/icu/buildlink3.mk"
+BUILDLINK_API_DEPENDS.nss+=    nss>=3.68
+.include "../../devel/nss/buildlink3.mk"
+.include "../../devel/zlib/buildlink3.mk"
+#.include "../../mk/jpeg.buildlink3.mk"
+.include "../../graphics/MesaLib/buildlink3.mk"
+#BUILDLINK_API_DEPENDS.cairo+= cairo>=1.10.2nb4
+#.include "../../graphics/cairo/buildlink3.mk"
+BUILDLINK_API_DEPENDS.libwebp+=        libwebp>=1.0.2
+.include "../../graphics/libwebp/buildlink3.mk"
+BUILDLINK_DEPMETHOD.clang=     build
+.include "../../lang/clang/buildlink3.mk"
+.if !empty(MACHINE_PLATFORM:MNetBSD-8.*-*)
+BUILDLINK_DEPMETHOD.gcc8=      full
+.include "../../lang/gcc8/buildlink3.mk"
+CWRAPPERS_PREPEND.cxx+= \
+       -L${BUILDLINK_PREFIX.gcc8}/gcc8/lib \
+       ${COMPILER_RPATH_FLAG}${BUILDLINK_PREFIX.gcc8}/gcc8/lib \
+       -stdlib++-isystem \
+       ${BUILDLINK_PREFIX.gcc8}/gcc8/include/c++ \
+       -stdlib++-isystem \
+       ${BUILDLINK_PREFIX.gcc8}/gcc8/include/c++/${MACHINE_GNU_PLATFORM} \
+       -stdlib++-isystem \
+       ${BUILDLINK_PREFIX.gcc8}/gcc8/include/c++/backward
+.endif
+RUST_REQ=      1.51.0
+.include "../../lang/rust/rust.mk"
+# webrtc option requires internal libvpx
+#BUILDLINK_API_DEPENDS.libvpx+=        libvpx>=1.3.0
+#.include "../../multimedia/libvpx/buildlink3.mk"
+.include "../../net/libIDL/buildlink3.mk"
+# textproc/hunspell 1.3 is too old
+#.include "../../textproc/hunspell/buildlink3.mk"
+.include "../../multimedia/ffmpeg4/buildlink3.mk"
+.include "../../x11/libXt/buildlink3.mk"
+BUILDLINK_API_DEPENDS.pixman+= pixman>=0.25.2
+.include "../../x11/pixman/buildlink3.mk"
+.include "../../x11/gtk2/buildlink3.mk"
+.include "../../x11/gtk3/buildlink3.mk"
+PLIST_VARS+=           wayland
+.if ${PKG_BUILD_OPTIONS.gtk3:Mwayland}
+PLIST.wayland=         yes
+.endif
+.include "../../lang/python/pyversion.mk"
Index: pkgsrc/www/firefox91/options.mk
diff -u /dev/null pkgsrc/www/firefox91/options.mk:1.1
--- /dev/null   Wed Sep  8 22:19:51 2021
+++ pkgsrc/www/firefox91/options.mk     Wed Sep  8 22:19:50 2021
@@ -0,0 +1,80 @@
+# $NetBSD: options.mk,v 1.1 2021/09/08 22:19:50 nia Exp $
+
+PKG_OPTIONS_VAR=       PKG_OPTIONS.firefox
+
+PKG_SUPPORTED_OPTIONS= official-mozilla-branding
+PKG_SUPPORTED_OPTIONS+=        debug debug-info mozilla-jemalloc webrtc
+PKG_SUPPORTED_OPTIONS+=        alsa pulseaudio dbus
+
+.if ${OPSYS} == "Linux"
+PKG_SUGGESTED_OPTIONS+=        pulseaudio mozilla-jemalloc dbus webrtc
+.else
+PKG_SUGGESTED_OPTIONS+=        dbus
+.endif
+
+.if ${OPSYS} == "NetBSD" && empty(OS_VERSION:M[0-8].*)
+PKG_SUGGESTED_OPTIONS+=        webrtc
+.endif
+
+.include "../../mk/bsd.options.mk"
+
+.if !empty(PKG_OPTIONS:Malsa)
+CONFIGURE_ARGS+=       --enable-alsa
+.include "../../audio/alsa-lib/buildlink3.mk"
+.else
+CONFIGURE_ARGS+=       --disable-alsa
+.endif
+
+.if !empty(PKG_OPTIONS:Mmozilla-jemalloc)
+CONFIGURE_ARGS+=       --enable-jemalloc
+CONFIGURE_ARGS+=       --enable-replace-malloc
+.else
+CONFIGURE_ARGS+=       --disable-jemalloc
+.endif
+
+.if !empty(PKG_OPTIONS:Mdebug)
+CONFIGURE_ARGS+=       --enable-debug="-g -Og"
+CONFIGURE_ARGS+=       --disable-optimize
+CONFIGURE_ARGS+=       --enable-debug-js-modules
+CONFIGURE_ARGS+=       --disable-install-strip
+.else
+.  if !empty(PKG_OPTIONS:Mdebug-info)
+CONFIGURE_ARGS+=       --enable-debug-symbols
+CONFIGURE_ARGS+=       --enable-optimize=-O2
+CONFIGURE_ARGS+=       --disable-install-strip
+.  else
+CONFIGURE_ARGS+=       --disable-debug-symbols
+CONFIGURE_ARGS+=       --enable-optimize=-O2
+CONFIGURE_ARGS+=       --enable-install-strip
+.  endif
+CONFIGURE_ARGS+=       --disable-debug
+.endif
+
+.if !empty(PKG_OPTIONS:Mpulseaudio)
+.include "../../audio/pulseaudio/buildlink3.mk"
+CONFIGURE_ARGS+=       --enable-pulseaudio
+.else
+CONFIGURE_ARGS+=       --disable-pulseaudio
+.endif
+
+.if !empty(PKG_OPTIONS:Mdbus)
+.include "../../sysutils/dbus-glib/buildlink3.mk"
+CONFIGURE_ARGS+=       --enable-dbus
+.else
+CONFIGURE_ARGS+=       --disable-dbus
+.endif
+
+.if !empty(PKG_OPTIONS:Mofficial-mozilla-branding)
+CONFIGURE_ARGS+=       --enable-official-branding
+LICENSE=               mozilla-trademark-license
+RESTRICTED=            Trademark holder prohibits distribution of modified versions.
+NO_BIN_ON_CDROM=       ${RESTRICTED}
+NO_BIN_ON_FTP=         ${RESTRICTED}
+.endif
+
+.if !empty(PKG_OPTIONS:Mwebrtc)
+.include "../../graphics/libv4l/buildlink3.mk"
+CONFIGURE_ARGS+=       --enable-webrtc
+.else
+CONFIGURE_ARGS+=       --disable-webrtc
+.endif

Index: pkgsrc/www/firefox91-l10n/DESCR
diff -u /dev/null pkgsrc/www/firefox91-l10n/DESCR:1.1
--- /dev/null   Wed Sep  8 22:19:51 2021
+++ pkgsrc/www/firefox91-l10n/DESCR     Wed Sep  8 22:19:50 2021
@@ -0,0 +1 @@
+This package contains language packs for www/firefox91.
Index: pkgsrc/www/firefox91-l10n/Makefile
diff -u /dev/null pkgsrc/www/firefox91-l10n/Makefile:1.1
--- /dev/null   Wed Sep  8 22:19:51 2021
+++ pkgsrc/www/firefox91-l10n/Makefile  Wed Sep  8 22:19:50 2021
@@ -0,0 +1,42 @@
+# $NetBSD: Makefile,v 1.1 2021/09/08 22:19:50 nia Exp $
+
+FIREFOX_VER=   91.0.1esr
+PKGNAME=       firefox91-l10n-${FIREFOX_VER:S/esr//}
+DISTNAME=      # empty
+CATEGORIES=    www
+MASTER_SITES=  ${MASTER_SITE_MOZILLA:=firefox/releases/${FIREFOX_VER}/linux-i686/xpi/}
+
+MAINTAINER=    pkgsrc-users%NetBSD.org@localhost
+HOMEPAGE=      https://www.mozilla.com/en-US/firefox/
+COMMENT=       Language packs for www/firefox (version ${PKGVERSION_NOREV:C/\..*//})
+
+DEPENDS+=      firefox91>=${PKGVERSION_NOREV}:../../www/firefox91
+
+DIST_SUBDIR=   ${PKGNAME_NOREV}
+DISTFILES=     ${XPI_FILES}
+
+NO_BUILD=      yes
+
+INSTALLATION_DIRS=     lib/firefox91/browser/extensions
+
+FIREFOX_LOCALES=       ach af an ar ast az be bg bn br bs ca cak       \
+                       cs cy da de dsb el en-CA en-GB en-US eo es-AR   \
+                       es-CL es-ES     \
+                       es-MX et eu fa ff fi fr fy-NL ga-IE gd gl gn gu-IN      \
+                       he hi-IN hr hsb hu hy-AM ia id is it ja ka kab kk km kn \
+                       ko      \
+                       lij lt lv mk mr ms my nb-NO ne-NP nl nn-NO oc \
+                       pa-IN pl        \
+                       pt-BR pt-PT rm ro ru si sk sl son sq sr sv-SE ta te th  \
+                       tr uk uz vi xh zh-CN zh-TW
+
+EXTENSIONS_DIR=                ${PREFIX}/lib/firefox91/browser/extensions
+XPI_FILES=             ${FIREFOX_LOCALES:=.xpi}
+
+do-install:
+.for f in ${FIREFOX_LOCALES}
+       ${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/${f}.xpi \
+       ${DESTDIR}${EXTENSIONS_DIR}/langpack-${f}@firefox.mozilla.org.xpi
+.endfor
+
+.include "../../mk/bsd.pkg.mk"
Index: pkgsrc/www/firefox91-l10n/PLIST
diff -u /dev/null pkgsrc/www/firefox91-l10n/PLIST:1.1
--- /dev/null   Wed Sep  8 22:19:51 2021
+++ pkgsrc/www/firefox91-l10n/PLIST     Wed Sep  8 22:19:50 2021
@@ -0,0 +1,93 @@
+@comment $NetBSD: PLIST,v 1.1 2021/09/08 22:19:50 nia Exp $
+lib/firefox91/browser/extensions/langpack-ach%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-af%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-an%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-ar%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-ast%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-az%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-be%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-bg%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-bn%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-br%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-bs%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-ca%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-cak%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-cs%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-cy%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-da%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-de%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-dsb%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-el%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-en-CA%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-en-GB%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-en-US%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-eo%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-es-AR%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-es-CL%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-es-ES%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-es-MX%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-et%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-eu%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-fa%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-ff%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-fi%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-fr%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-fy-NL%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-ga-IE%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-gd%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-gl%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-gn%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-gu-IN%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-he%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-hi-IN%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-hr%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-hsb%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-hu%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-hy-AM%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-ia%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-id%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-is%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-it%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-ja%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-ka%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-kab%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-kk%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-km%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-kn%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-ko%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-lij%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-lt%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-lv%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-mk%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-mr%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-ms%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-my%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-nb-NO%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-ne-NP%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-nl%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-nn-NO%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-oc%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-pa-IN%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-pl%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-pt-BR%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-pt-PT%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-rm%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-ro%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-ru%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-si%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-sk%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-sl%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-son%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-sq%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-sr%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-sv-SE%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-ta%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-te%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-th%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-tr%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-uk%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-uz%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-vi%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-xh%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-zh-CN%firefox.mozilla.org.xpi@localhost
+lib/firefox91/browser/extensions/langpack-zh-TW%firefox.mozilla.org.xpi@localhost
Index: pkgsrc/www/firefox91-l10n/distinfo
diff -u /dev/null pkgsrc/www/firefox91-l10n/distinfo:1.1
--- /dev/null   Wed Sep  8 22:19:51 2021
+++ pkgsrc/www/firefox91-l10n/distinfo  Wed Sep  8 22:19:50 2021
@@ -0,0 +1,370 @@
+$NetBSD: distinfo,v 1.1 2021/09/08 22:19:50 nia Exp $
+
+SHA1 (firefox91-l10n-91.0.1/ach.xpi) = 883c122245c9695bfe112c824efe0c28c322c401
+RMD160 (firefox91-l10n-91.0.1/ach.xpi) = 38f7e3f2b15923edbd1fcc378b46ebb09aaea8f2
+SHA512 (firefox91-l10n-91.0.1/ach.xpi) = e5e9cd4ccdebf6cb5c8e502bcaf1a4293e90df6e8dc910dedca792e244312fa5362c2130ada22f562f5715029efeb00ad10ddf487ca120751d6dc516ba1abcd2
+Size (firefox91-l10n-91.0.1/ach.xpi) = 465295 bytes
+SHA1 (firefox91-l10n-91.0.1/af.xpi) = 46b7f996b365a8fe3289e658c60d348391caeb33
+RMD160 (firefox91-l10n-91.0.1/af.xpi) = cd51df828a91cdc29ef27919de5782f357b6dc0b
+SHA512 (firefox91-l10n-91.0.1/af.xpi) = af6bef9d8c470da7baec859cc77e0cf6a782120c60d2be4e9fe68e0b9e5355f0fb7fe245c33b5050ac629caf88c6e41246472c194a4c7c324abc3d057cd2ff59
+Size (firefox91-l10n-91.0.1/af.xpi) = 433159 bytes
+SHA1 (firefox91-l10n-91.0.1/an.xpi) = 81f56757a5935d46fd522f7a4606a11829c3d7b1
+RMD160 (firefox91-l10n-91.0.1/an.xpi) = c9ae5ceb1d20c55f6b1428657a9621c167b9c99f
+SHA512 (firefox91-l10n-91.0.1/an.xpi) = 2377d30169cefbaf93a2e521874b1d40e53e521d4c8f9a7255b2fac349a709004eaceb9bb93095fa902fe6b284430cb0e65912eb5ecca6915e3366f5cc4d352f
+Size (firefox91-l10n-91.0.1/an.xpi) = 511815 bytes
+SHA1 (firefox91-l10n-91.0.1/ar.xpi) = 99e110bbcdecb4ac2db84e3a3a72d8142d0e1096
+RMD160 (firefox91-l10n-91.0.1/ar.xpi) = 2fe423548995f955ec64777bda576fd1f46944de
+SHA512 (firefox91-l10n-91.0.1/ar.xpi) = 97a8d01b230f2a12dee9a4ebe28f2731b23f392322e3fbafbe41c2082b3ace1f78bf3f726a9f58233297a02da20bfd8a3d998ff053f439124fff535da0e3bff7
+Size (firefox91-l10n-91.0.1/ar.xpi) = 573967 bytes
+SHA1 (firefox91-l10n-91.0.1/ast.xpi) = 914e208f677443fc74b7f84264e99c7d694be09b
+RMD160 (firefox91-l10n-91.0.1/ast.xpi) = 6d0265b0de195ac99e69ffe28cb6687ae6142b23
+SHA512 (firefox91-l10n-91.0.1/ast.xpi) = 444c8fb40d4248c6fe5694286e5089b61564ff19fb53836558c36adc727007cf85d047bc977a9eb25d6551d5b5c31007550d6794f233d5cdf7f359f64ee84e00
+Size (firefox91-l10n-91.0.1/ast.xpi) = 502942 bytes
+SHA1 (firefox91-l10n-91.0.1/az.xpi) = 676963e83c83fc8b1871be2ef988130165fc748d
+RMD160 (firefox91-l10n-91.0.1/az.xpi) = 9ca39fda2c0644c5e8153d3ff91382859de4284b
+SHA512 (firefox91-l10n-91.0.1/az.xpi) = 5f5f5d7f003ca1d375b32fcab09a731b3abc3dae163971c681ea9b94bdd43a59737ef7cfe007ed1d15e0bdbdd3f5e21528ee7d9461831bea63b0557ad21ff959
+Size (firefox91-l10n-91.0.1/az.xpi) = 500885 bytes
+SHA1 (firefox91-l10n-91.0.1/be.xpi) = f41aa283e2887554ea7af59f3dfedeb8f21e983e
+RMD160 (firefox91-l10n-91.0.1/be.xpi) = cbdc55ee5e84d1cd6c0266970c87c0adcb1a7c9d
+SHA512 (firefox91-l10n-91.0.1/be.xpi) = 6cd21cac69410171c952a7679d3efcbee53d092961d320708ebc79640a0718c41b9854b45d95498327987958ea2fdc8f3863e346f11895c87b73515fd8f431f3
+Size (firefox91-l10n-91.0.1/be.xpi) = 630152 bytes
+SHA1 (firefox91-l10n-91.0.1/bg.xpi) = 2be1fad1b707b8ad9d0b4ff6d738059dc59333cd
+RMD160 (firefox91-l10n-91.0.1/bg.xpi) = af7b6985df520f4ba396e34978d124757754e405
+SHA512 (firefox91-l10n-91.0.1/bg.xpi) = 0f091c01609b34032bbc9760998658874cd2908cfd2d8e360147e683abded43f48f5277b882428db53d81e0a95df2c9da4ba33f37da4ded1dcfd92ff8511fb5c
+Size (firefox91-l10n-91.0.1/bg.xpi) = 585090 bytes
+SHA1 (firefox91-l10n-91.0.1/bn.xpi) = ba86e42f318945c74ef45bb1e45ed232e0437d8d
+RMD160 (firefox91-l10n-91.0.1/bn.xpi) = 2e3430730f922d5861748a74bc314916ad675efb
+SHA512 (firefox91-l10n-91.0.1/bn.xpi) = e003ca647adcecd6dac2bc4614fc17bc4a369594f92b746ded5bfd18d3fb8f36d1e2cb5666f57cace96f35df9b28de46d96416cc57d4243431edf740deb535a7
+Size (firefox91-l10n-91.0.1/bn.xpi) = 576476 bytes
+SHA1 (firefox91-l10n-91.0.1/br.xpi) = f2d28a36a4cee3b2755c9ebc58cefb98ab738d23
+RMD160 (firefox91-l10n-91.0.1/br.xpi) = af32329f2ca7527f9f473a6f23e797fe36c14c62
+SHA512 (firefox91-l10n-91.0.1/br.xpi) = 71e37e312e244c2d1f99c80dbbba48211b230405bffa6873433dd49aa26518a8e4a086c91fefc227ed60fa518dbb7bf631bbcc4547c5020552b8c4a25d2154a6
+Size (firefox91-l10n-91.0.1/br.xpi) = 534800 bytes
+SHA1 (firefox91-l10n-91.0.1/bs.xpi) = 05b37d39335b1d4482f4fd5d27416552ffcb02ab
+RMD160 (firefox91-l10n-91.0.1/bs.xpi) = e1aaab580ebd10ac548f014869ccc70b4e300dd3
+SHA512 (firefox91-l10n-91.0.1/bs.xpi) = 852a8848df61b7a7c9c7c681bbec3189b2b82f1bb2d963a8b5e2022160d8a576a786293583970e98b12da1172be5d982d2e6ff24a4ef8e3482099d3c73a356fd
+Size (firefox91-l10n-91.0.1/bs.xpi) = 473112 bytes
+SHA1 (firefox91-l10n-91.0.1/ca.xpi) = e5b0f41b59555e4f17c123233c3db66619cdd1cb
+RMD160 (firefox91-l10n-91.0.1/ca.xpi) = 52901b4ae21380d0b96372f0ff8b1830ffc37024
+SHA512 (firefox91-l10n-91.0.1/ca.xpi) = 2669d6e554bf81211f3da07ec8a8c9f24393add9456937d6222f8a119e1103cab321f6d8d701feff21e8adf3e05833010edb7c3904a246f9f2a5f40932e5f2a1
+Size (firefox91-l10n-91.0.1/ca.xpi) = 541001 bytes
+SHA1 (firefox91-l10n-91.0.1/cak.xpi) = 7b7b3aa05360914145635529e318343ac48d8077
+RMD160 (firefox91-l10n-91.0.1/cak.xpi) = 5220a157ee143119f150b442f29c32bc312e7560
+SHA512 (firefox91-l10n-91.0.1/cak.xpi) = d52f7ec257f26037fa36e10cdaad5a49020d383489c47c7599f80994a36aa652443ec66d26150b8bfddc17a4c91500fa325570dedd2aadc16d41e1bfbda58b8a
+Size (firefox91-l10n-91.0.1/cak.xpi) = 568047 bytes
+SHA1 (firefox91-l10n-91.0.1/cs.xpi) = f5fbc34770431189bc4f6a6b30b9a9d618ce0533
+RMD160 (firefox91-l10n-91.0.1/cs.xpi) = d9e2fda8845923f3a78b8231b057a1e4e294eee2
+SHA512 (firefox91-l10n-91.0.1/cs.xpi) = b5a25143c283b2e70f1a0a1427459b144aa4c0d6be655173eb587e1e3fd17f1043c9d9b4b51a9ece422585bf366b81279d5e132fd707325a2a181ccb737efbb9
+Size (firefox91-l10n-91.0.1/cs.xpi) = 571513 bytes
+SHA1 (firefox91-l10n-91.0.1/cy.xpi) = e50017e9150bc7784176efbd58c28cd9f5e71cd9
+RMD160 (firefox91-l10n-91.0.1/cy.xpi) = 0ed1af1aae5bbec4554106e35da1ba7d23ec0f93
+SHA512 (firefox91-l10n-91.0.1/cy.xpi) = 966a80ff8fd7334b8c2211ec87b6e41ece51eddcbd418409f39ec3ca6fdf4a33fb81f66b9c1464761edd678f9f6c6a32504a64b1217dbd0232a0aee84327b85c
+Size (firefox91-l10n-91.0.1/cy.xpi) = 548300 bytes
+SHA1 (firefox91-l10n-91.0.1/da.xpi) = 6ba38727e61250aa1cc06047112faa6d7fa41061
+RMD160 (firefox91-l10n-91.0.1/da.xpi) = 14441fa5807b5307a21ccc6fbe7c0a96794f406c
+SHA512 (firefox91-l10n-91.0.1/da.xpi) = 125425ae745e3e2711f063b010e266f4a0b71c970314e8afa99f5bc049a5313998f47aa5be6ef862ee24b0cb5352d2219e39a7716051f8cc623419b850b177dd
+Size (firefox91-l10n-91.0.1/da.xpi) = 540524 bytes
+SHA1 (firefox91-l10n-91.0.1/de.xpi) = 97fbbc2bae470c9733b2e965434c4415a040f887
+RMD160 (firefox91-l10n-91.0.1/de.xpi) = fe7c501d0291b2e6833d90c8220147053b03831c
+SHA512 (firefox91-l10n-91.0.1/de.xpi) = 4b4f4ed0e81e8dd36e115e361e1c223cfe3788a6a39fd0d6bd9d63afe29a6317e027cd0b4cef8e4a33d2ee797fb4b7585cf8374b1c77b28ba364fec3c738f154
+Size (firefox91-l10n-91.0.1/de.xpi) = 560088 bytes
+SHA1 (firefox91-l10n-91.0.1/dsb.xpi) = 725f95ddd0c335245d1e8fc1dd3dbe2c7322b428
+RMD160 (firefox91-l10n-91.0.1/dsb.xpi) = db0c38cd67bd6e554a96a4145f6cee11f03de25f
+SHA512 (firefox91-l10n-91.0.1/dsb.xpi) = ccbc3eae3f5ce46376ea12bb259fdc66a51df0f8b8655af6a1ce82014cdc70357db4f5058156a71637ebb2628e8d8ce2f70f7664280dac7ecf77c64a97ffdc78
+Size (firefox91-l10n-91.0.1/dsb.xpi) = 572855 bytes
+SHA1 (firefox91-l10n-91.0.1/el.xpi) = 7582c2616b1f3fcf443c5518ade7ea6399fe8aeb
+RMD160 (firefox91-l10n-91.0.1/el.xpi) = 8f47dbc7fed4370a2c6b537cd5f5fbf182554a1d
+SHA512 (firefox91-l10n-91.0.1/el.xpi) = 389992022404d69f944de08360518f460e92d56472848b967036615fc8d2d9186956e6ca0f8c756b2d75d974cb5b45dc08b2481aa525de9adad2186a20b56de3
+Size (firefox91-l10n-91.0.1/el.xpi) = 646568 bytes
+SHA1 (firefox91-l10n-91.0.1/en-CA.xpi) = 6290ae2581c902a7803cae1260b7159264b0894d
+RMD160 (firefox91-l10n-91.0.1/en-CA.xpi) = 928e87fd2f04131cb96d43d991040c2dde9c83c7
+SHA512 (firefox91-l10n-91.0.1/en-CA.xpi) = 02d915c87bce7c3e2f6f2821fbee74419f189a9f1f8be3fb35c9490d7f028257641c005452130a85f64987f791d38cee7f26e077e4758c2fe9d5dd5e66dac2c0
+Size (firefox91-l10n-91.0.1/en-CA.xpi) = 515731 bytes
+SHA1 (firefox91-l10n-91.0.1/en-GB.xpi) = 2a897ff88e9692de836f4ed26a79895afb69b8ee
+RMD160 (firefox91-l10n-91.0.1/en-GB.xpi) = e8a1b62e37bdef7db356a2e22b70466cf588bd79
+SHA512 (firefox91-l10n-91.0.1/en-GB.xpi) = 02b411ff44145d5852954d60198ec58ee91347a2daad0aa2a7d422af0c7fa1e45af6545648242b675dc4830b8e609bd2625c016313d2ffbc09f188e2112d52de
+Size (firefox91-l10n-91.0.1/en-GB.xpi) = 515984 bytes
+SHA1 (firefox91-l10n-91.0.1/en-US.xpi) = a5441b759626b9624cea83e9c650faa02dd4576a
+RMD160 (firefox91-l10n-91.0.1/en-US.xpi) = 3f60c8171fcbfbc1eac216c1adfa2af45130dc62
+SHA512 (firefox91-l10n-91.0.1/en-US.xpi) = 9bb25cc98d54d973a8ba378d362d970be5706a30a0ad3d3a68775be30f39dfcae207ea75f3edb8ac2953c5f4256c7088260d002e73827a4cc184056b99f24b3d
+Size (firefox91-l10n-91.0.1/en-US.xpi) = 489822 bytes
+SHA1 (firefox91-l10n-91.0.1/eo.xpi) = c5c9a2fc7ce460d16821d9a7a64a79daa656e32d
+RMD160 (firefox91-l10n-91.0.1/eo.xpi) = 3ab22eef1d5b1feacc606dcd93f6d705941a0446
+SHA512 (firefox91-l10n-91.0.1/eo.xpi) = 18e6fbe2b0e5a7f51220ead48c1b7f5a2554eeee76462193dc5ea9054741be4f8ae3a453e325ffbb99f5c9e17ef0a4acdfd1ad785ce543b466204e54175c88d4
+Size (firefox91-l10n-91.0.1/eo.xpi) = 542048 bytes
+SHA1 (firefox91-l10n-91.0.1/es-AR.xpi) = 8b902e2d8823f4a204f98d7a67323d834791b3ee
+RMD160 (firefox91-l10n-91.0.1/es-AR.xpi) = aef4a2dcfce08b3e6b22fe767548a40593e8e548
+SHA512 (firefox91-l10n-91.0.1/es-AR.xpi) = c5131093876429afe8cadb09775b776227f0295ffd4543d2e0ac66d410b1ab20d38e98290667f714d790dd2d56abddc266ddc5de2fabac72ffb878050d8b4d25
+Size (firefox91-l10n-91.0.1/es-AR.xpi) = 553519 bytes
+SHA1 (firefox91-l10n-91.0.1/es-CL.xpi) = 21bd2ba3be617da600cbde0d1b22587c589f18bb
+RMD160 (firefox91-l10n-91.0.1/es-CL.xpi) = db073a1ea46b1dca95f049ac4b7b7ec60fe4d742
+SHA512 (firefox91-l10n-91.0.1/es-CL.xpi) = 0a002ab6ace7f4d85b1128ebd82abe77cba1a4e1a27a402c40b19764b99dd14c26ed118e4ea71760d62214afd8699ee3984e12354d0c41f3d2266bb5ed227125
+Size (firefox91-l10n-91.0.1/es-CL.xpi) = 552534 bytes
+SHA1 (firefox91-l10n-91.0.1/es-ES.xpi) = ea7cb84d86b343641bb0371e4891dbe882ef01e4
+RMD160 (firefox91-l10n-91.0.1/es-ES.xpi) = 59dd1c1804988f07befbed73e85c24e78ba6ccae
+SHA512 (firefox91-l10n-91.0.1/es-ES.xpi) = 40108ac3ff7f77703a5799c3c578916ea255090aeb603c2e8b9f67b38b4b1b928f5d230d5805bd6f5a3a9f2f35c293e9d684f3bacc767dbbfb2c04f99e71b880
+Size (firefox91-l10n-91.0.1/es-ES.xpi) = 542531 bytes
+SHA1 (firefox91-l10n-91.0.1/es-MX.xpi) = bcee87675ee6c8686d98a5e812cbfbcd3bc4d75f
+RMD160 (firefox91-l10n-91.0.1/es-MX.xpi) = e6fd3661c71d651cc6a4e48503aa282b14cd004e
+SHA512 (firefox91-l10n-91.0.1/es-MX.xpi) = 634475bc89a8ace8fe30371cbfc6f7d05efd65537d18bd998feb813e8c414719c3b7a140d4252c6b9158264167847b7a42693ff9260f3e3077ccede8c9aa18a0
+Size (firefox91-l10n-91.0.1/es-MX.xpi) = 556672 bytes
+SHA1 (firefox91-l10n-91.0.1/et.xpi) = 58cec0311d999191ed6f340cf9e8ee474bd10197
+RMD160 (firefox91-l10n-91.0.1/et.xpi) = f4ee84c3a19504dc85f57207b9341b8701fdccb3
+SHA512 (firefox91-l10n-91.0.1/et.xpi) = dfea573567df7105c727563930ad73a352e7d06bdbb0278ac25d54268b0a9e6089b50bc62582576ba5088de8984efb36c1c1c2611ff70d633ae7ff719aca54dd
+Size (firefox91-l10n-91.0.1/et.xpi) = 494144 bytes
+SHA1 (firefox91-l10n-91.0.1/eu.xpi) = c7e404d3b16567b073cd2073aad8edbfde229407
+RMD160 (firefox91-l10n-91.0.1/eu.xpi) = caa704cc2eec290e0f4fef9ebd81b2d027a73930
+SHA512 (firefox91-l10n-91.0.1/eu.xpi) = 8f724b63accee768cbdc77973975e3237e4e4bf79c5886b5d01320b7da9be9695a1e0cd6e5945f45a136ff3d8d56c4c6af02a5e05220f5591138d7b0a0aa7f06
+Size (firefox91-l10n-91.0.1/eu.xpi) = 539047 bytes
+SHA1 (firefox91-l10n-91.0.1/fa.xpi) = 79409512503e5a66df18200fd5a740fe2f1795a7
+RMD160 (firefox91-l10n-91.0.1/fa.xpi) = c3085811441d4ba44b0a233a019fddf54ad7fff8
+SHA512 (firefox91-l10n-91.0.1/fa.xpi) = 82118507d416a14616ddc3310a6f59ce280cc4edb265cf773451b8ee4964f6269da9ce33742f879e511214b30cbd20cb6450dc4d7729d1bd418d50e760875963
+Size (firefox91-l10n-91.0.1/fa.xpi) = 561635 bytes
+SHA1 (firefox91-l10n-91.0.1/ff.xpi) = 3d37fa76ba18fb3d9175d39471f2c25bd2bab48d
+RMD160 (firefox91-l10n-91.0.1/ff.xpi) = c54e40c591463a282a6fb17135b6288db2219c44
+SHA512 (firefox91-l10n-91.0.1/ff.xpi) = c7cb5205957fadae2775d319432d1bd3a15d23af69feef9d001e35609dc39a7f3b1d9b9703edec64779325f61c46ff8fa1cf716ea2ea5f5a7da7239fdcc1b797
+Size (firefox91-l10n-91.0.1/ff.xpi) = 485705 bytes
+SHA1 (firefox91-l10n-91.0.1/fi.xpi) = f31920094ce2a3f802e991e48ee3025e8319fc5a
+RMD160 (firefox91-l10n-91.0.1/fi.xpi) = 261103684167a0ae4cf048cad1d9f68627cfc306
+SHA512 (firefox91-l10n-91.0.1/fi.xpi) = 0a098f2c608b3d957fb4a8de0a66610fabaafcb17b94c0c2da991030e8f98e62ea76dfd977bd774494886488b84783fc9a36f7835435fd60fb24b45c06b9ce52
+Size (firefox91-l10n-91.0.1/fi.xpi) = 539815 bytes
+SHA1 (firefox91-l10n-91.0.1/fr.xpi) = fb803dcbaa20a63da1795047375deaceeb6895a1
+RMD160 (firefox91-l10n-91.0.1/fr.xpi) = 8148c2fdce8813bd0c9302cf7edf30f1ed138dbc
+SHA512 (firefox91-l10n-91.0.1/fr.xpi) = c3dc2bd1bf7ca729deac9cb8263bce831b91de50926107b82e1d477e53696fd50acfbc5e5c709ed7aa94a68d8302dec1c273374aa7915b780b6b7a99771059fd
+Size (firefox91-l10n-91.0.1/fr.xpi) = 564056 bytes
+SHA1 (firefox91-l10n-91.0.1/fy-NL.xpi) = 566bfc72fd187c70e202a173c8827d38729352ba
+RMD160 (firefox91-l10n-91.0.1/fy-NL.xpi) = 2c53844b54f8c3a78cb7c58b9c1eb5c9c1c430a0
+SHA512 (firefox91-l10n-91.0.1/fy-NL.xpi) = 972db6a07e368414eb33fea3e2577de8004a4673d3d496b958bd36eff30979f59941e6947cd2dd3dd564372650efaa1d44496c1d14954601ee7170cd83a43dfa
+Size (firefox91-l10n-91.0.1/fy-NL.xpi) = 549204 bytes
+SHA1 (firefox91-l10n-91.0.1/ga-IE.xpi) = 27a0f193450d1022bfa48e98d7d46e3bce52bf42
+RMD160 (firefox91-l10n-91.0.1/ga-IE.xpi) = ae5c693d755f4070e83250c8784d2b2147433ad6
+SHA512 (firefox91-l10n-91.0.1/ga-IE.xpi) = 875291d9674c12d339c588fc195fb3c5cce64ff7e054892ee60aa1fe182c11254456004bacd6ec40832533047927c03ec5693d021a18008fb346d82a694e0793
+Size (firefox91-l10n-91.0.1/ga-IE.xpi) = 470706 bytes
+SHA1 (firefox91-l10n-91.0.1/gd.xpi) = 5aac1a613c34fddbd39d6f731d8881604092b658
+RMD160 (firefox91-l10n-91.0.1/gd.xpi) = b08cd1437f95e4aaab401706dd11f845a97fe560
+SHA512 (firefox91-l10n-91.0.1/gd.xpi) = 2878c21e255c5b46a232f0e7fb766350839be44f302ef740ea241a85f9fe2f99b6a492f93a0590b64c55e326f56d150b4c7c5d2a9abbceffd56e0e03b2fc2c6b
+Size (firefox91-l10n-91.0.1/gd.xpi) = 545682 bytes
+SHA1 (firefox91-l10n-91.0.1/gl.xpi) = 7cab0d34fc4cf816d0a6ca82c8aa512e6acf12ce
+RMD160 (firefox91-l10n-91.0.1/gl.xpi) = 6cc5826d2266548d6b7e7efc681cd7e0d5910a0d
+SHA512 (firefox91-l10n-91.0.1/gl.xpi) = f2cb2e9ce3597e34fe0b9d1b891be754227f4ce760500f85098fd67145c28f713c46b6d5b4614e6b47aa37e4c8851f07ab5edc94f802c6b4fcb87bd049679cff
+Size (firefox91-l10n-91.0.1/gl.xpi) = 548387 bytes
+SHA1 (firefox91-l10n-91.0.1/gn.xpi) = 64b5f362f8e7de5193e9818381bfedaddec9bfa3
+RMD160 (firefox91-l10n-91.0.1/gn.xpi) = 49fea572d7b9a031e900d9c8949130a9693ec1ae
+SHA512 (firefox91-l10n-91.0.1/gn.xpi) = afba542fe50e794567213042520f95ef3c6ce517c61a0698e04ca9e62a163e9c9b57b293367510c1bc958e5b9a33ad2f9a54fc18b64ca4d9a0c99412298f6325
+Size (firefox91-l10n-91.0.1/gn.xpi) = 565279 bytes
+SHA1 (firefox91-l10n-91.0.1/gu-IN.xpi) = e6f2c9920c8197863d5e76da32c7bcc26533e236
+RMD160 (firefox91-l10n-91.0.1/gu-IN.xpi) = 51f330e8316d14c3a784d90f1f4b69f225954201
+SHA512 (firefox91-l10n-91.0.1/gu-IN.xpi) = c16d8524f6cc0d7f15f1b02df6d7422d9e6f97debf8622b9e6778fbb950903d5f1805d40ab43155e921446ae81afd04a08c75b5af138f657d935e5b536bb6ffb
+Size (firefox91-l10n-91.0.1/gu-IN.xpi) = 544518 bytes
+SHA1 (firefox91-l10n-91.0.1/he.xpi) = ff5ae872984ac48728e8d1ed0a3199ec0432eaa9
+RMD160 (firefox91-l10n-91.0.1/he.xpi) = 75ad67fc94e8c244339abbb4d64b7b835a77684f
+SHA512 (firefox91-l10n-91.0.1/he.xpi) = c01cea1ccac0049ad4f5aaf610fe68b2bb3491ca29652cdd5d6a7fa57560392ffb10f4854f88bf671e5cec8210db685b026e457da5a2cfb271810e76b3023865
+Size (firefox91-l10n-91.0.1/he.xpi) = 563137 bytes
+SHA1 (firefox91-l10n-91.0.1/hi-IN.xpi) = 1c7172565ad05081a122d7eea764a50bc02838d2
+RMD160 (firefox91-l10n-91.0.1/hi-IN.xpi) = d1d4b47fdc7a487827cfa5807d9ac7cf51be9653
+SHA512 (firefox91-l10n-91.0.1/hi-IN.xpi) = 396d51eb433162c9b42457e3ae6256ab7d7ecd7904d24927be9117adfecf59d1b9aad33d07d51dfee5096cbeb1d6a9010ab608077b553ec9999bb67344338cad
+Size (firefox91-l10n-91.0.1/hi-IN.xpi) = 575688 bytes
+SHA1 (firefox91-l10n-91.0.1/hr.xpi) = a14765df155e2a5c4d09e51d79421c2c9ebeadd3
+RMD160 (firefox91-l10n-91.0.1/hr.xpi) = bad41ebcfde142a04c1ba5d190fc8c241cc6311e
+SHA512 (firefox91-l10n-91.0.1/hr.xpi) = b8b2b37a722230e796818a69b84d242d7cfd38a38d84b75582dbf7dc0f9ab7d3687a87e75110d372ba741c4c126d1f302d9768fa80cdcb103091320ca27e8e90
+Size (firefox91-l10n-91.0.1/hr.xpi) = 544089 bytes
+SHA1 (firefox91-l10n-91.0.1/hsb.xpi) = a50b31af6b3eadee792e25d082b7c388d5f56aa5
+RMD160 (firefox91-l10n-91.0.1/hsb.xpi) = 2fb30b545c2e062898a9d5c839b70f4bf8cda992
+SHA512 (firefox91-l10n-91.0.1/hsb.xpi) = 697f82f085425b31c5df7d1ea102864309d3993f0d533b533beb1ad66b06c10ad2186df5d69fe9020ad9d67b03228b16cb7c76ae6f8ce17512818c465e57b0c8
+Size (firefox91-l10n-91.0.1/hsb.xpi) = 568934 bytes
+SHA1 (firefox91-l10n-91.0.1/hu.xpi) = eda2c0e8fc92189ba9af364a4a8d496708aa2423
+RMD160 (firefox91-l10n-91.0.1/hu.xpi) = 4ddf73f16580282011f05e3cf05e1a244ad07c43
+SHA512 (firefox91-l10n-91.0.1/hu.xpi) = 6f8539b6b1c58b33d21a6a0eaada9e94bacee4f4ee2a37bbb345c001c3a7c2e41c7e609e1fb813204d2c91373b805572dcfe08d3cfbc4c440d9901437c55eb77
+Size (firefox91-l10n-91.0.1/hu.xpi) = 572767 bytes
+SHA1 (firefox91-l10n-91.0.1/hy-AM.xpi) = 013da81ef5e597bef02bdce2c9fd306f9b3ff636
+RMD160 (firefox91-l10n-91.0.1/hy-AM.xpi) = fb945d1846eb31b4d6f90c7fe2eba0cce93064e7
+SHA512 (firefox91-l10n-91.0.1/hy-AM.xpi) = f1e212fa56d1a16d9e2cc1ca6b64bc6995646b10b7645d292e6ed60d5c668cf9ee35d4013d4821f6097cbff6985d12aa2ea4ce5d683ef9de043302611911f16e
+Size (firefox91-l10n-91.0.1/hy-AM.xpi) = 599008 bytes
+SHA1 (firefox91-l10n-91.0.1/ia.xpi) = 0300294eda9d8d780d12841177435131149566bb
+RMD160 (firefox91-l10n-91.0.1/ia.xpi) = 4a359720bb031dc1c767a7bf2a0a19ab3b7e3d4b
+SHA512 (firefox91-l10n-91.0.1/ia.xpi) = addd8e31f2ac2fa53e85695e4b935ff1b13efa19ec5bc22a3da2e7d74498b12ba4d573b2bc6df83c7cfd14c30e8922306a64cfe648a8afee28e6ce9c1c08fe3b
+Size (firefox91-l10n-91.0.1/ia.xpi) = 538522 bytes
+SHA1 (firefox91-l10n-91.0.1/id.xpi) = 7cdb1ebb66673e5291d68f0cd54a83dc50986595
+RMD160 (firefox91-l10n-91.0.1/id.xpi) = 09adbb2cca4f20f06d5cee907390b33bd942dbcd
+SHA512 (firefox91-l10n-91.0.1/id.xpi) = 940df2531b4deb86a92a58d1e674e64e412d1a2f6977ab5e40e8493f8db79f89b89ed357ff692ff69fdeefbe89dc47046de65a7b7df96d2bd6cccc8e9ad6ef7d
+Size (firefox91-l10n-91.0.1/id.xpi) = 533886 bytes
+SHA1 (firefox91-l10n-91.0.1/is.xpi) = 43b8e0c5bdcf2ffe68857f400841aa4cacb6e5c1
+RMD160 (firefox91-l10n-91.0.1/is.xpi) = 4c9455ebc4cef22cdaeef4720a3d88e01dc128e5
+SHA512 (firefox91-l10n-91.0.1/is.xpi) = 057e2f3b8da8a8a30f628f4038e5241255b5e77a0703c761dd32ad71b498f3a7af00269e48c962b8c2db01d6891aad43b426d5ac8cd2ef1fbf615cad05cacd32
+Size (firefox91-l10n-91.0.1/is.xpi) = 481335 bytes
+SHA1 (firefox91-l10n-91.0.1/it.xpi) = 05748d2a8f667feee36ec66e9f36add17236ffbe
+RMD160 (firefox91-l10n-91.0.1/it.xpi) = 3a8cfc8800688c74012991e16eb47c0d00f504f9
+SHA512 (firefox91-l10n-91.0.1/it.xpi) = be37d73cf650326b22c8777dbbc609de01700173faa55f72a59d7413a1ba021cb2fbc0c4ff5c0c48818776dc3c4f1e4ace409da4e84c0db64932402e714bf254
+Size (firefox91-l10n-91.0.1/it.xpi) = 467046 bytes
+SHA1 (firefox91-l10n-91.0.1/ja.xpi) = 7a96ee8ca3522f90b0e8049b37d5ab1012564054
+RMD160 (firefox91-l10n-91.0.1/ja.xpi) = 18e928bae45b87a7c90f99ec2b31d7ac9a3ed9b5
+SHA512 (firefox91-l10n-91.0.1/ja.xpi) = efa83084f45299f0e99657e78ddc361c1f1f6f87fc22f6f602e912f118cc654f92cc59653fdbb5419cb90febf6213c51ed63902f87b7bd231ec1a78aa9323523
+Size (firefox91-l10n-91.0.1/ja.xpi) = 599319 bytes
+SHA1 (firefox91-l10n-91.0.1/ka.xpi) = 519e7716a1c0dee20aef7cfb96939cbfc96c9dbd
+RMD160 (firefox91-l10n-91.0.1/ka.xpi) = fb69020c975861f9fde5f4a813c27db67f0dd709
+SHA512 (firefox91-l10n-91.0.1/ka.xpi) = fb9e6f27b03b9c5831cde7d89b3234ad14b45beb680cb59286244f9916311facbb41ec6495042c46abf292cca25e23a49c110e933a72f544d8dc0910b7befc44
+Size (firefox91-l10n-91.0.1/ka.xpi) = 600148 bytes
+SHA1 (firefox91-l10n-91.0.1/kab.xpi) = f6c1261db3ac872b52664b4a254237ab80ee0aae
+RMD160 (firefox91-l10n-91.0.1/kab.xpi) = 8163f6f78164d70824737fe502597088a44bc5a9
+SHA512 (firefox91-l10n-91.0.1/kab.xpi) = 808698204064166ef4936cee077aa89e513d7eef0583969c63cf04b5ff3da485357e993ce406d1f48a43727e83b96d7e6aaeb9a9a2a1444a1395cd75e6d3a090
+Size (firefox91-l10n-91.0.1/kab.xpi) = 557808 bytes
+SHA1 (firefox91-l10n-91.0.1/kk.xpi) = 70fb0cf896138d3eaeea76cf02fe817680e5f583
+RMD160 (firefox91-l10n-91.0.1/kk.xpi) = 5bd6b391b09db395cd90f49d13d2af1d3effbd97
+SHA512 (firefox91-l10n-91.0.1/kk.xpi) = bdf85742c24ec8ae9f110cff85d57f00f2243fd62c8343b8951ec7a7ce4c66964c5a533a5520bba6516859a61a691d4bd18c4d2577412658ed41793f5628ee27
+Size (firefox91-l10n-91.0.1/kk.xpi) = 614352 bytes
+SHA1 (firefox91-l10n-91.0.1/km.xpi) = 85a421cea21c6a5a174b5d4a77bb24926a49fce6
+RMD160 (firefox91-l10n-91.0.1/km.xpi) = f28ad1d5adb533397d4ba1efa3c36094dea34ae6
+SHA512 (firefox91-l10n-91.0.1/km.xpi) = aed6ea0206c26fec6dab127b6db238c98618627919b04984714df4b0afebefa13f998e425604ff2830e6817ca815d36bf6b6d207aa9d79cfa24cf92b3649e59f
+Size (firefox91-l10n-91.0.1/km.xpi) = 544988 bytes
+SHA1 (firefox91-l10n-91.0.1/kn.xpi) = 4edbe9c533c72da3842975af04c3aeb63ae5d565
+RMD160 (firefox91-l10n-91.0.1/kn.xpi) = 1838a1c6085fb58bc5b95b459e08df364f747f46
+SHA512 (firefox91-l10n-91.0.1/kn.xpi) = f832445bdaeef14c4cbf8ac85ef35b038ba0130f815d72905c19c390b1248c7a6482a27071fb3f5634dffb35bbe5ba0f5062ee6565789d626dfb701061ca2a39
+Size (firefox91-l10n-91.0.1/kn.xpi) = 508518 bytes
+SHA1 (firefox91-l10n-91.0.1/ko.xpi) = d2232204cf9da7868c99b4fd9c9b1ef2aa076bc2
+RMD160 (firefox91-l10n-91.0.1/ko.xpi) = 59fe465fe741a171ea45fee76b4ea9dccb1b4a43
+SHA512 (firefox91-l10n-91.0.1/ko.xpi) = 0564e1affa33851c99d7beb93e1b83ce53185128e6346bd4702cb43c7cb8d8c8bb8a275a154b6efb29499cd78a75518367db502a754ea507e8ea84679d45961d
+Size (firefox91-l10n-91.0.1/ko.xpi) = 584345 bytes
+SHA1 (firefox91-l10n-91.0.1/lij.xpi) = ab001743ce2d84b440c7a6d6f1c22100b99171f0
+RMD160 (firefox91-l10n-91.0.1/lij.xpi) = 5cd09a8a0409ec6f5b74d28670627ad4bc98489e
+SHA512 (firefox91-l10n-91.0.1/lij.xpi) = 0be479a63796f784b073a966800b607e57d473081c3357fbf25757bb956335677b91174dff2d4ff13c1baa5a28f3fffebfbb219475545f501dd756f6482e710a
+Size (firefox91-l10n-91.0.1/lij.xpi) = 481939 bytes
+SHA1 (firefox91-l10n-91.0.1/lt.xpi) = e773a1c9fe256e976b8abeb6fa8ff7133a5c9a6a
+RMD160 (firefox91-l10n-91.0.1/lt.xpi) = 70264e63998281471725ffef0ec8923f67060a7b
+SHA512 (firefox91-l10n-91.0.1/lt.xpi) = da398d38b26fff83620ae5d7b77f0980ad9091a10bd32681be7a364ab23cadde8d38df74edf92fea10252a4f20e4735d7c4e77232d9e7ca59f8dc460733e4c6a
+Size (firefox91-l10n-91.0.1/lt.xpi) = 567595 bytes
+SHA1 (firefox91-l10n-91.0.1/lv.xpi) = 05c608fc13e04ae6e79effcb47b6a49ab9e44fab
+RMD160 (firefox91-l10n-91.0.1/lv.xpi) = efc081ace27ec8a465548ba52e1bc4f6d935d356
+SHA512 (firefox91-l10n-91.0.1/lv.xpi) = 1e0681ecc916a2ade1ec5b1191f508110274bb19b092ce5c502e1ef3799172c2e6755c837ab3cc70fda892fee3e5c686c635bf48211aace2bd27bb1ad1751098
+Size (firefox91-l10n-91.0.1/lv.xpi) = 473330 bytes
+SHA1 (firefox91-l10n-91.0.1/mk.xpi) = 4b9cbe7aac371e772637cfb2b73975dcbf749d39
+RMD160 (firefox91-l10n-91.0.1/mk.xpi) = f9e81227c0d0d761747fbb8fa5f818d788120053
+SHA512 (firefox91-l10n-91.0.1/mk.xpi) = 3536aa8934935aa365b4c4cd9a287ca03995f3e2f5df73c7e5289094d29f943d70cffdfaa8f296e5001fd76661d7df19aceeb4dc0f9a148402c46d36040bc1cd
+Size (firefox91-l10n-91.0.1/mk.xpi) = 473480 bytes
+SHA1 (firefox91-l10n-91.0.1/mr.xpi) = e89399a090cdb02999141922c3c1db03babb381e
+RMD160 (firefox91-l10n-91.0.1/mr.xpi) = 565e2e0c48e7ba213389da80192b430bf5dcf883
+SHA512 (firefox91-l10n-91.0.1/mr.xpi) = fb9eea7bbd72449944cd1dc35cc1d3982de90baaf53be346abfc1178a8979a8593fc67d9ddc374523dab9d17dcc4cf9ac58715b6d5d593358a2e97858e61b946
+Size (firefox91-l10n-91.0.1/mr.xpi) = 544865 bytes
+SHA1 (firefox91-l10n-91.0.1/ms.xpi) = 2d566f06852b7dd515fc12ce0cfee16eeccceed9
+RMD160 (firefox91-l10n-91.0.1/ms.xpi) = 5f347c3d9f1c82ce9db38fc32976c3717d07b487
+SHA512 (firefox91-l10n-91.0.1/ms.xpi) = 328781f236ad6f4c01015d77b699e47fa327230adb577ce0c7e3b775db175fc9c51ed1aaa2a8f226d4a581b4deb7585e6c05e343e65d557d945efa7c035a6eac
+Size (firefox91-l10n-91.0.1/ms.xpi) = 457203 bytes
+SHA1 (firefox91-l10n-91.0.1/my.xpi) = f58562e422b7699d03a390354c0afede8575fa13
+RMD160 (firefox91-l10n-91.0.1/my.xpi) = b7e10814b408a99a981a72bcfdc309109c4d5101
+SHA512 (firefox91-l10n-91.0.1/my.xpi) = 70bf08566cd53be2be527f485d4ba7fdb354f364cf3868ab4d23b4012d359b6720a3e2d62d8d4a3886da0d97a7a6ec8e9e268fa734aa9f6868b1247fcdee6e26
+Size (firefox91-l10n-91.0.1/my.xpi) = 530140 bytes
+SHA1 (firefox91-l10n-91.0.1/nb-NO.xpi) = 08c7e0ed2d289e37855e98ec540ab15155965e45
+RMD160 (firefox91-l10n-91.0.1/nb-NO.xpi) = f2027f13f71cd14625cbb8b31dcec9ae10ddbc27
+SHA512 (firefox91-l10n-91.0.1/nb-NO.xpi) = 00f90d560a59c7c8016c73b394d609c4182be133193c762278e9f8425fc89fe5f7c5e18518b1a9616dae7c26ae88d775f03c8bd26d9219f03d7f4e958cdb1da3
+Size (firefox91-l10n-91.0.1/nb-NO.xpi) = 534988 bytes
+SHA1 (firefox91-l10n-91.0.1/ne-NP.xpi) = e460d8473094ff9e120545d0f5df5bb0b58552aa
+RMD160 (firefox91-l10n-91.0.1/ne-NP.xpi) = e71cc7628f0618e6959ba3b75ed703e722e6a24a
+SHA512 (firefox91-l10n-91.0.1/ne-NP.xpi) = ddcf5915af377348ebe99a087f7ba47444a194b66382952597ceb1dc663f7ada23ea1f1d4afeeb384a38c0785ed07b2b84218dfdc261422fa2f787377ebdfd44
+Size (firefox91-l10n-91.0.1/ne-NP.xpi) = 486181 bytes
+SHA1 (firefox91-l10n-91.0.1/nl.xpi) = 67f5d22b96c18ebe65fc8c9a144318d1997f8ad9
+RMD160 (firefox91-l10n-91.0.1/nl.xpi) = 19bb7feefc39941f198e0a5d44a375ff6df73483
+SHA512 (firefox91-l10n-91.0.1/nl.xpi) = a62a66a5bffe843de71cd461247b83dfdf8fba83a5c002ac75e6408f4fe8f529df3e9fec0ddc1e662c235805e9775d7ad4f57e4d8e6e4e9e1bf93e801819d37e
+Size (firefox91-l10n-91.0.1/nl.xpi) = 543374 bytes
+SHA1 (firefox91-l10n-91.0.1/nn-NO.xpi) = 707d05807678b911ab593a369470ef2e42259080
+RMD160 (firefox91-l10n-91.0.1/nn-NO.xpi) = 4cfcad57d67fe08813f6af443bf497237f28e0e4
+SHA512 (firefox91-l10n-91.0.1/nn-NO.xpi) = bb8a0677c06c9be54c04c7db4ba6b1ce2abc44ead26cb4b091ec9272276457827e306bbca28f24ab93aedae74f0717f5d29e95a52bf592ce0de0f98b1a453d2f
+Size (firefox91-l10n-91.0.1/nn-NO.xpi) = 537548 bytes
+SHA1 (firefox91-l10n-91.0.1/oc.xpi) = 54ebc1f2e7a366663343ea8061a75a6238ecec6d
+RMD160 (firefox91-l10n-91.0.1/oc.xpi) = 2514859339baa01da9ceab74c0e9bc1701e0f1d2
+SHA512 (firefox91-l10n-91.0.1/oc.xpi) = a47910a6af8f7b96faf6292ef5d1787ebfeda636ae31fb8d0ee68848c6f0ee0cd2d87eadaf6c50ea4e936bad2876b496ca43c7ec76706aa21d711b5e51d3efc3
+Size (firefox91-l10n-91.0.1/oc.xpi) = 559028 bytes
+SHA1 (firefox91-l10n-91.0.1/pa-IN.xpi) = 0f920079941c7f6689d4171a9de3a1caab24a07b
+RMD160 (firefox91-l10n-91.0.1/pa-IN.xpi) = 49af8721af99a9e0dd2ca1b1bb2944808efade6a
+SHA512 (firefox91-l10n-91.0.1/pa-IN.xpi) = 36492a418fc0c1ba33700e803cb23906bae4ed0fca8da4420aadf631c8ee9c982f7e13f652e4d113e0c6cf09a2761bfb0b3872d6ee798b4e4c5dd844c7b5b0a2
+Size (firefox91-l10n-91.0.1/pa-IN.xpi) = 605090 bytes
+SHA1 (firefox91-l10n-91.0.1/pl.xpi) = 716a44937c916db86065f421b323b8aa7c998f30
+RMD160 (firefox91-l10n-91.0.1/pl.xpi) = 1b9d8f72bdfb171be924f0859b247fa05f5a011b
+SHA512 (firefox91-l10n-91.0.1/pl.xpi) = eb823dcd3a62766797f4dfd4c06b24d642459bd86d19f00934bab2e48c639bcc86a1d119e6fa24abcc10605111d018d76b93b64110d6341c913a9f9649747ac5
+Size (firefox91-l10n-91.0.1/pl.xpi) = 562846 bytes
+SHA1 (firefox91-l10n-91.0.1/pt-BR.xpi) = 4bbaee4d6ed6ecf5c8677f6bd163cb909648649c
+RMD160 (firefox91-l10n-91.0.1/pt-BR.xpi) = 73bd71cc4e3481dc145401e33c8f72313754a0ec
+SHA512 (firefox91-l10n-91.0.1/pt-BR.xpi) = 51f3d49383105772046d6e7010b1f30256233124d70f8221643fc279a4eea72f100e55c9abed8442b5c120c727e01b0ea9ab54307776a11334bf7a3ef25e52ba
+Size (firefox91-l10n-91.0.1/pt-BR.xpi) = 549003 bytes
+SHA1 (firefox91-l10n-91.0.1/pt-PT.xpi) = e0df42a131c1165624f5af56e44e3fca3896da52
+RMD160 (firefox91-l10n-91.0.1/pt-PT.xpi) = d754a4d4812abff136308235b71c6f2569d26760
+SHA512 (firefox91-l10n-91.0.1/pt-PT.xpi) = 845887bb208f59daa180466cf19fa089f8e98804893fa61ec5a1b1f1ae7c458f712d304ac26fbca2f1a0b022796c9ee3949edda8604378ac12bc3d850e65165e
+Size (firefox91-l10n-91.0.1/pt-PT.xpi) = 552662 bytes
+SHA1 (firefox91-l10n-91.0.1/rm.xpi) = d63d458a93cfb3ddcf86a9c667e25a830563a64a
+RMD160 (firefox91-l10n-91.0.1/rm.xpi) = f6669524313db42cb26ee50317350d622f4ab173
+SHA512 (firefox91-l10n-91.0.1/rm.xpi) = 5751a0162534e69dcd2dfe182b80d837762573c869688089d5cacf39d4d579d443cd782c1867493f529f62701bbc3673e4685864b171e65cfba8454a1963bbc2
+Size (firefox91-l10n-91.0.1/rm.xpi) = 543751 bytes
+SHA1 (firefox91-l10n-91.0.1/ro.xpi) = 438472619c9cef262283e742426d9825c9728006
+RMD160 (firefox91-l10n-91.0.1/ro.xpi) = 70ccbc28e4fe3b2501dcb8bd15b59c3be7488093
+SHA512 (firefox91-l10n-91.0.1/ro.xpi) = e6da0b69576d21c7770612c89367e679323f1294f301006a10be593528a282941e8c646225349fbdd4a6304339e85221cb19a3b766ad02559e67d72e4da50344
+Size (firefox91-l10n-91.0.1/ro.xpi) = 544855 bytes
+SHA1 (firefox91-l10n-91.0.1/ru.xpi) = a580f909e3183b50085fc7827eb5f62c6a8ddd0b
+RMD160 (firefox91-l10n-91.0.1/ru.xpi) = 6bb75fe886efde313bd48a43e045fdd075f197b4
+SHA512 (firefox91-l10n-91.0.1/ru.xpi) = d1d5960e487b75f8486becc1935718e568279a6cb208ab6797871f8d65ae8949960c65e73a3134e4f2dc6c959c567c92f854de04a8ad0e50b34ceff8b2a08f0d
+Size (firefox91-l10n-91.0.1/ru.xpi) = 635035 bytes
+SHA1 (firefox91-l10n-91.0.1/si.xpi) = 1b7c48d42e734da3c6f633f69baf637a90c65424
+RMD160 (firefox91-l10n-91.0.1/si.xpi) = 420dff291bc4f5795188bfd6051a97ae56fe2991
+SHA512 (firefox91-l10n-91.0.1/si.xpi) = a8f13e114398d69de06ebcd8390b9819539115f0be4936954ca888f6ee46b5e3f3131836a4ca6d38e44cd1145bb2af6d216767666c51f12ef9bf5c94732d393f
+Size (firefox91-l10n-91.0.1/si.xpi) = 496836 bytes
+SHA1 (firefox91-l10n-91.0.1/sk.xpi) = 5615ddcfd41460638a2d3c9b35679f67b6378081
+RMD160 (firefox91-l10n-91.0.1/sk.xpi) = cef18b109229ff2aebe971f7b0801c2399070ade
+SHA512 (firefox91-l10n-91.0.1/sk.xpi) = 70eaa37cf66a04ebe1b49657d1b365ecce63a228e2b8ab80c44eb1c96dcc0af9ea22f6a8fd9aa72ea81d1fb82384f3a771585a4c3fd913b673904157520a1d49
+Size (firefox91-l10n-91.0.1/sk.xpi) = 572090 bytes
+SHA1 (firefox91-l10n-91.0.1/sl.xpi) = 68aa40981ac43e5289900cacb1ef6e04f67fe267
+RMD160 (firefox91-l10n-91.0.1/sl.xpi) = c333e1eb90fee344bb4e6292b2776357d8456c31
+SHA512 (firefox91-l10n-91.0.1/sl.xpi) = f5af4d69b3f9bb5b388f336c130df11af066eb86e62272d4eac20272c787004000dec9e0baaa2cda1ec85766879a75a3911bdd4e1449daf168d757dea827ffe3
+Size (firefox91-l10n-91.0.1/sl.xpi) = 542788 bytes
+SHA1 (firefox91-l10n-91.0.1/son.xpi) = 7cfe5105f4c21e273c418ca879d03e9adeb3d431
+RMD160 (firefox91-l10n-91.0.1/son.xpi) = 9bdc08ba8c188afc20ad842b6aa6b11766c1fd52
+SHA512 (firefox91-l10n-91.0.1/son.xpi) = c357bf04dedfbe62088db50d88606ebdf7ab1211bf70b62a621d4a32839d67b1381ce4f9cfe2bf6d921da554b178a152da5e547e5cf38480aa8032d0289feedc
+Size (firefox91-l10n-91.0.1/son.xpi) = 432934 bytes
+SHA1 (firefox91-l10n-91.0.1/sq.xpi) = feb5385d7f1a8871ba2343578ed5fbdb29ef60e2
+RMD160 (firefox91-l10n-91.0.1/sq.xpi) = 0106f0832b0106d506dcd6d095b9caf6c800f703
+SHA512 (firefox91-l10n-91.0.1/sq.xpi) = d7eaaa7b0dfd9b2bcda39f8a67dac946a8429bd86edfbd87f937b0dd3c60830d999358e7f7e11887f92dd45316107cda7de21d30a09eebaacca6f7dd411209a3
+Size (firefox91-l10n-91.0.1/sq.xpi) = 562222 bytes
+SHA1 (firefox91-l10n-91.0.1/sr.xpi) = de03fcfd8daad4079db14042bb77c9909801c495
+RMD160 (firefox91-l10n-91.0.1/sr.xpi) = 0478c4cfdfa311a21abb2b63a11f4e8904c865c0
+SHA512 (firefox91-l10n-91.0.1/sr.xpi) = 77ab61c5efd7f72e74d056dd22427d745612467370ef2f67fdf09a5d1dd0f32f0e04cd620286eaa2ff10a37b2327425f5531d3986725dc9885315cbefc15b9b4
+Size (firefox91-l10n-91.0.1/sr.xpi) = 596029 bytes
+SHA1 (firefox91-l10n-91.0.1/sv-SE.xpi) = 4b432791352115ed193766d6a250f791ac9f1a49
+RMD160 (firefox91-l10n-91.0.1/sv-SE.xpi) = 66b6743d634dfb8e1ce9b4f573385ac536287057
+SHA512 (firefox91-l10n-91.0.1/sv-SE.xpi) = d7edfdf2b9e8b585554a23cd27130c436d30f8237d991a0acaaf782462aa24455b2d3f7686c2a87b93cbe2e8dbd167672e9d78436467e7a45f25c0f0a8b0a4c8
+Size (firefox91-l10n-91.0.1/sv-SE.xpi) = 546379 bytes
+SHA1 (firefox91-l10n-91.0.1/ta.xpi) = 95a0eddda26e703ae0b7e665d0568735d39eb07b
+RMD160 (firefox91-l10n-91.0.1/ta.xpi) = aadd73a4bfc5e56043875e1461b60ad2d1c3e06a
+SHA512 (firefox91-l10n-91.0.1/ta.xpi) = 0886351934758aec95ca130a08fc2ddc6354fa697de0d9c45ab6ea8e99277e3d80463d2e7625f1ab25142f3edc0aed357b9e6a6a896c3b19e2b64cea30d10b7b
+Size (firefox91-l10n-91.0.1/ta.xpi) = 523951 bytes
+SHA1 (firefox91-l10n-91.0.1/te.xpi) = 7f904d4877b6816af4d87e0bc1479440a998f895
+RMD160 (firefox91-l10n-91.0.1/te.xpi) = 48c1274c64e2a1b1082ddbf812dbfd2e72906bb4
+SHA512 (firefox91-l10n-91.0.1/te.xpi) = 80cde7f887804f6df5049ec8377205b03385b46ea07cdd7dbff358a85b64b7ee4fdb104cb6f197634cb9afcdc9f21e3e3962da447db9572b57c538aa20df1f8f
+Size (firefox91-l10n-91.0.1/te.xpi) = 564758 bytes
+SHA1 (firefox91-l10n-91.0.1/th.xpi) = e8c99c68945efa5a28fe7831e2d66790a041bd60
+RMD160 (firefox91-l10n-91.0.1/th.xpi) = d8bd473f97773ce7efe1863bb36363607f1f833b
+SHA512 (firefox91-l10n-91.0.1/th.xpi) = 87f32a72a35a91d412a8e397701c9a8d3b2b382576ab379d0063b684ba62f9e528587cb957135b9d93b603947a611f2f61664c2cc78972a2c427a5ca607c9475
+Size (firefox91-l10n-91.0.1/th.xpi) = 614158 bytes
+SHA1 (firefox91-l10n-91.0.1/tr.xpi) = bb6fae12d39ed46e736558b4616a20942051b390
+RMD160 (firefox91-l10n-91.0.1/tr.xpi) = 3adc2c828ef4a304cf0d7e31e508f756c7695817
+SHA512 (firefox91-l10n-91.0.1/tr.xpi) = d262bf9fec9e81477b6ad33dfb11434d063b6471c946b8e87c9e0c73c5549cd643ceddd4858958095100a6a6bc125aba4491f343ce36c3f44f93bab13b549ea9
+Size (firefox91-l10n-91.0.1/tr.xpi) = 558475 bytes
+SHA1 (firefox91-l10n-91.0.1/uk.xpi) = e95294beea53a1c2133e7acb82f1dd20ee27e1f8
+RMD160 (firefox91-l10n-91.0.1/uk.xpi) = 53fba226022b16a8b85505a4aa54b55f8463675d
+SHA512 (firefox91-l10n-91.0.1/uk.xpi) = 5eade328a9076785ed6925fc6aec2c293b6eb4b894aa8b4adcf6fceebe2adfbb765f1afb1b825d16ed1a9231ab118934f4bc9da608d19b933f3b24a42296108a
+Size (firefox91-l10n-91.0.1/uk.xpi) = 628578 bytes
+SHA1 (firefox91-l10n-91.0.1/uz.xpi) = 91366084b5e1e6d33f7945731c0d041ddf008a93
+RMD160 (firefox91-l10n-91.0.1/uz.xpi) = b1303dbaf30060058caf4341fd9c64b59488106c
+SHA512 (firefox91-l10n-91.0.1/uz.xpi) = 4484ba7b9d63d3fe805fce4d88c85c01308b3abd930831c20d3e9feaea751b25d0898e7584f6a16421dd377a24e377a0d1856c20c612a01735bd230931b52ef6
+Size (firefox91-l10n-91.0.1/uz.xpi) = 480955 bytes
+SHA1 (firefox91-l10n-91.0.1/vi.xpi) = 204c57b4ec328585b6e342d239472a57475b6d23
+RMD160 (firefox91-l10n-91.0.1/vi.xpi) = 3b4783f3aa02b6888e7fef6be43eefb1b19bcc0a
+SHA512 (firefox91-l10n-91.0.1/vi.xpi) = bc5d472f68558f937b5364f74f787aa754bc3b132479270e902ac1b41e6c3d370a9da10bb35078071e6c2f3c6d6a90ab813fccde891063d95df2b72204fe5158
+Size (firefox91-l10n-91.0.1/vi.xpi) = 580502 bytes
+SHA1 (firefox91-l10n-91.0.1/xh.xpi) = d3c02207a66c76330ae2b9e29f4f41078242a4ac
+RMD160 (firefox91-l10n-91.0.1/xh.xpi) = 2ff9a583004590a094171a07f97d819ebcc68fe9
+SHA512 (firefox91-l10n-91.0.1/xh.xpi) = 79bcdbae25d3aa2506b5c59915433d24d79a95b50412f12aa678d7937adfab63349263bf7f6f449fd04c9be13b4f37fdad89883edbb641d2aed182b042c87aa0
+Size (firefox91-l10n-91.0.1/xh.xpi) = 435042 bytes
+SHA1 (firefox91-l10n-91.0.1/zh-CN.xpi) = 2600c2f6f5b79fd6c0e4cab2ee3f8080285d27cb
+RMD160 (firefox91-l10n-91.0.1/zh-CN.xpi) = 4ecf7b850fe63d94235745ba4221a8507aa1afbe
+SHA512 (firefox91-l10n-91.0.1/zh-CN.xpi) = 4e219a60e0a52de7f37702524a1636dbe951d27a7e1cd244f87885d218cadb62a2aae5c66e924abc99d3840d07567ee713ce7b3fb6fef8b7439c71029c437878
+Size (firefox91-l10n-91.0.1/zh-CN.xpi) = 581942 bytes
+SHA1 (firefox91-l10n-91.0.1/zh-TW.xpi) = ffe73429d359c3039585a7029254c64d64fd5104
+RMD160 (firefox91-l10n-91.0.1/zh-TW.xpi) = 26955eef6cc6558cce9423c41e5d8f30a7b86c54
+SHA512 (firefox91-l10n-91.0.1/zh-TW.xpi) = 5ef853583d1def19d1967196480e1878f6d088a2ebfea1c25965766c1380a77edf210f203ccc0941b4b99efd4f527e3029e97711f6c043ffd85e1fef89140e62
+Size (firefox91-l10n-91.0.1/zh-TW.xpi) = 582118 bytes

Index: pkgsrc/www/firefox91/files/desktop.in
diff -u /dev/null pkgsrc/www/firefox91/files/desktop.in:1.1
--- /dev/null   Wed Sep  8 22:19:51 2021
+++ pkgsrc/www/firefox91/files/desktop.in       Wed Sep  8 22:19:50 2021
@@ -0,0 +1,191 @@
+[Desktop Entry]
+Encoding=UTF-8
+Name=@MOZILLA_NAME@ Web Browser
+Name[am]=
+Name[ar]=
+Name[az]=@MOZILLA_NAME@ Veb Səyyahı
+Name[be]=
+Name[bg]=Интернет браузър @MOZILLA_NAME@
+Name[bn]=
+Name[bs]=@MOZILLA_NAME@ web preglednik
+Name[ca]=Navegador web @MOZILLA_NAME@
+Name[cs]=Prohlížeč WWW @MOZILLA_NAME@
+Name[cy]=Y Porwr Gwe @MOZILLA_NAME@
+Name[da]=@MOZILLA_NAME@ - internetsurfning
+Name[de]=@MOZILLA_NAME@ Webbrowser
+Name[el]=Περιηγητής Διαδικτύου @MOZILLA_NAME@
+Name[en_CA]=@MOZILLA_NAME@ Web Browser
+Name[en_GB]=@MOZILLA_NAME@ Web Browser
+Name[es]=Navegador Web @MOZILLA_NAME@
+Name[et]=@MOZILLA_NAME@ veebibrauser
+Name[eu]=@MOZILLA_NAME@ web arakatzailea
+Name[fi]=@MOZILLA_NAME@, WWW-selain
+Name[fr]=Navigateur Web @MOZILLA_NAME@
+Name[ga]=Brabhsálaí Lín @MOZILLA_NAME@
+Name[gu]=એપીફની વૅબ બ્રાઉઝર
+Name[he]=דפדפן @MOZILLA_NAME@
+Name[hi]=
+Name[hr]=@MOZILLA_NAME@ Web preglednik
+Name[hu]=@MOZILLA_NAME@ webböngésző
+Name[id]=Web Browser @MOZILLA_NAME@
+Name[it]=Browser web @MOZILLA_NAME@
+Name[ja]=@MOZILLA_NAME@ ウェブ・ブラウザ
+Name[ko]=@MOZILLA_NAME@ 웹 브라우저
+Name[li]=@MOZILLA_NAME@ Web Browser
+Name[lt]=@MOZILLA_NAME@ web naršyklė
+Name[mk]=@MOZILLA_NAME@ веб прелистувач
+Name[ml]=എപ്പിഫാനി വെബ്ബ് ബ്രൌസ‌ര്
+Name[mn]=@MOZILLA_NAME@ веб хөтөч
+Name[ms]=Pelungsur Web @MOZILLA_NAME@
+Name[nb]=@MOZILLA_NAME@ nettleser
+Name[nl]=@MOZILLA_NAME@ Webbrowser
+Name[nn]=@MOZILLA_NAME@ nettlesar
+Name[no]=@MOZILLA_NAME@ nettleser
+Name[pa]=ਏਪੀਫਾਨੀ ਵੈੱਬ ਬਰਾਊਜ਼ਰ
+Name[pl]=Przeglądarka WWW @MOZILLA_NAME@
+Name[pt]=Navegador Web @MOZILLA_NAME@
+Name[pt_BR]=Navegador Web @MOZILLA_NAME@
+Name[ro]=Navigatorul @MOZILLA_NAME@
+Name[ru]=Веб-браузер @MOZILLA_NAME@
+Name[sk]=
+Name[sl]=Spletni brskalnik @MOZILLA_NAME@
+Name[sq]=@MOZILLA_NAME@ - Shfletuesi Web
+Name[sr]=
+Name[sr@Latn]=Veb čitač Spoznaja
+Name[sv]=Webbläsaren @MOZILLA_NAME@
+Name[ta]=எபிபனி வலை உலாவி
+Name[tk]=@MOZILLA_NAME@ Web Ahtarçisi
+Name[tr]=@MOZILLA_NAME@ Web Tarayıcı
+Name[uk]=Переглядач web @MOZILLA_NAME@
+Name[vi]=Trình Duyệt Web @MOZILLA_NAME@
+Name[wa]=Betchteu waibe epiphany
+Name[zh_CN]=@MOZILLA_NAME@ Web 浏览器
+Name[zh_TW]=@MOZILLA_NAME@ 網頁瀏覽器
+GenericName=Web Browser
+GenericName[ar]=متصفّح الانترنت
+GenericName[az]=Veb Səyyahı
+GenericName[be]=Вандроўнік па павуціньню
+GenericName[bg]=Браузър
+GenericName[bn]=ওয়েব ব্রাউজার
+GenericName[bs]=Web preglednik
+GenericName[ca]=Navegador web
+GenericName[cs]=Prohlížeč WWW
+GenericName[cy]=Porwr Gwe
+GenericName[da]=Internetsurfning
+GenericName[de]=Webbrowser
+GenericName[el]=Περιηγητής Ιστοσελίδων
+GenericName[en_CA]=Web Browser
+GenericName[en_GB]=Web Browser
+GenericName[es]=Navegador web
+GenericName[et]=Veebilehitseja
+GenericName[eu]=Web arakatzailea
+GenericName[fi]=WWW-selain
+GenericName[fr]=Navigateur Web @MOZILLA_NAME@
+GenericName[ga]=Brabhsálaí Lín
+GenericName[gu]=વેબ બ્રાઉઝર
+GenericName[he]=דפדפן אינטרנט
+GenericName[hi]=वेब ब्राउज़र
+GenericName[hr]=Web preglednik
+GenericName[hu]=Webböngésző
+GenericName[id]=Browser Web
+GenericName[it]=Browser web
+GenericName[ja]=GNOME ウェブ・ブラウザ
+GenericName[ko]=웹 브라우저
+GenericName[li]=Wèb Browser
+GenericName[lt]=Web naršyklė
+GenericName[mk]=Веб прелистувач
+GenericName[mn]=Веб хөтөч
+GenericName[ms]=Pelungsur Web
+GenericName[nb]=Nettleser
+GenericName[nl]=Web-browser
+GenericName[nn]=Nettlesar
+GenericName[no]=Nettleser
+GenericName[pa]=ਵੈਬ ਬਰਾਊਜ਼
+GenericName[pl]=Przeglądarka WWW
+GenericName[pt]=Navegador Web
+GenericName[pt_BR]=Navegador Web
+GenericName[ro]=Navigator Internet
+GenericName[ru]=Веб-браузер
+GenericName[sk]=WWW prehliadač
+GenericName[sl]=Spletni brskalnik
+GenericName[sq]=Shfletuesi Web
+GenericName[sr]=Веб читач
+GenericName[sr@Latn]=Veb čitač
+GenericName[sv]=Webbläsare
+GenericName[ta]=வலை உலாவி
+GenericName[th]=เว็บบราวเซอร์
+GenericName[tk]=Web Ahtarçysy
+GenericName[tr]=Web Tarayıcı
+GenericName[uk]=Переглядач web-сторінок
+GenericName[vi]=Trình duyệt Web
+GenericName[wa]=Betchteu waibe
+GenericName[zh_CN]=Web 浏览器
+GenericName[zh_TW]=網頁瀏覽器
+Comment=Browse the web
+Comment[ar]=تصفح الانترنت
+Comment[az]=Vebi gəzin
+Comment[be]=Вандраваць па павуціньню
+Comment[bg]=Сърфиране в интернет
+Comment[bn]=ওয়েব ব্রাউজ করুন
+Comment[bs]=Pregledaj na internetu
+Comment[ca]=Navegueu per la web
+Comment[cs]=Prohlížet WWW
+Comment[cy]=Pori'r we
+Comment[da]=Surf på internettet
+Comment[de]=Im Web surfen
+Comment[el]=Περιήγηση στον παγκόσμιο ιστό
+Comment[en_CA]=Browse the web
+Comment[en_GB]=Browse the web
+Comment[es]=Navegar por la web
+Comment[et]=Sirvi veebi
+Comment[eu]=Arakatu web-a
+Comment[fi]=Selaa WWW:tä
+Comment[fr]=Naviguer sur Internet
+Comment[ga]=Brabhsáil an Líon
+Comment[gu]=વેબમાં શોધો
+Comment[he]=גלוש ברשת
+Comment[hi]=वेब ब्राउज़ करें
+Comment[hr]=Pregledaj Web
+Comment[hu]=A világháló böngészése
+Comment[id]=Jelajah web
+Comment[it]=Esplora il web
+Comment[ja]=ウェブを閲覧します
+Comment[ko]=웹을 돌아 다닙니다
+Comment[li]=Blajere op internet
+Comment[lt]=Naršyti internete
+Comment[mk]=Прелистувајте на веб
+Comment[ml]=വലക്കെട്ട് തിരയുക
+Comment[mn]=Веб броузе хийх
+Comment[ms]=Layari web
+Comment[nb]=Surf på nettet
+Comment[nl]=Websurfen
+Comment[nn]=Surf på nettet
+Comment[no]=Surf på nettet
+Comment[pa]=ਵੈਬ ਬਰਾਊਜ਼
+Comment[pl]=Przeglądanie stron WWW
+Comment[pt]=Navegar na web
+Comment[pt_BR]=Navegar na web
+Comment[ro]=Navigare Internet
+Comment[ru]=Веб-браузер
+Comment[sk]=Prehliadať internet
+Comment[sl]=Brskaj po spletu
+Comment[sq]=Eksploro web-in
+Comment[sr]=Прегледај веб
+Comment[sr@Latn]=Pregledaj veb
+Comment[sv]=Surfa på nätet
+Comment[ta]=வலையில் உலாவு
+Comment[th]=ใช้งานเว็บบราวเซอร์ @MOZILLA_NAME@
+Comment[tk]=Webi Ahtar
+Comment[tr]=Web'e Gözat
+Comment[uk]=Програма перегляду web-сторінок
+Comment[vi]=Duyệt web
+Comment[wa]=Naivyî avå les waibes
+Comment[zh_CN]=浏览 Web
+Comment[zh_TW]=瀏覽網頁
+Exec=@MOZILLA@ %u
+Icon=@FIREFOX_ICON@
+StartupNotify=false
+Terminal=false
+Type=Application
+Categories=Application;Network;
+MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;
Index: pkgsrc/www/firefox91/files/nodejs-output-91.0.1.tgz
Binary files are different

Index: pkgsrc/www/firefox91/patches/patch-aa
diff -u /dev/null pkgsrc/www/firefox91/patches/patch-aa:1.1
--- /dev/null   Wed Sep  8 22:19:51 2021
+++ pkgsrc/www/firefox91/patches/patch-aa       Wed Sep  8 22:19:50 2021
@@ -0,0 +1,26 @@
+$NetBSD: patch-aa,v 1.1 2021/09/08 22:19:50 nia Exp $
+
+* Add Sun audio support
+
+--- old-configure.in.orig      Tue Jan  7 17:23:36 2020
++++ old-configure.in   Fri Jan 17 16:03:40 2020
+@@ -1960,6 +1960,19 @@
+ AC_DEFINE(MOZ_WEBM_ENCODER)
+ AC_SUBST(MOZ_WEBM_ENCODER)
+ 
++dnl ==================================
++dnl = Check sunaudio availability
++dnl ==================================
++
++dnl If using Solaris or NetBSD, ensure that sunaudio is available
++case "$OS_TARGET" in
++SunOS|NetBSD)
++    MOZ_SUNAUDIO=1
++    ;;
++esac
++
++AC_SUBST(MOZ_SUNAUDIO)
++
+ dnl ========================================================
+ dnl NegotiateAuth
+ dnl ========================================================
Index: pkgsrc/www/firefox91/patches/patch-browser_app_profile_firefox.js
diff -u /dev/null pkgsrc/www/firefox91/patches/patch-browser_app_profile_firefox.js:1.1
--- /dev/null   Wed Sep  8 22:19:51 2021
+++ pkgsrc/www/firefox91/patches/patch-browser_app_profile_firefox.js   Wed Sep  8 22:19:50 2021
@@ -0,0 +1,17 @@
+$NetBSD: patch-browser_app_profile_firefox.js,v 1.1 2021/09/08 22:19:50 nia Exp $
+
+--- browser/app/profile/firefox.js.orig        2019-07-06 01:48:29.000000000 +0000
++++ browser/app/profile/firefox.js
+@@ -1851,6 +1851,12 @@ pref("fission.frontend.simulate-messages
+ pref("toolkit.coverage.enabled", false);
+ pref("toolkit.coverage.endpoint.base", "https://coverage.mozilla.org";);
+ 
++// Select UI locale from LANG/LC_MESSAGE environmental variables
++pref("intl.locale.requested", "");
++
++// Enable system addons, for example langpacks from www/firefox-l10n
++pref("extensions.autoDisableScopes", 11);
++
+ // Discovery prefs
+ pref("browser.discovery.enabled", true);
+ pref("browser.discovery.containers.enabled", true);
Index: pkgsrc/www/firefox91/patches/patch-build_moz.configure_rust.configure
diff -u /dev/null pkgsrc/www/firefox91/patches/patch-build_moz.configure_rust.configure:1.1
--- /dev/null   Wed Sep  8 22:19:51 2021
+++ pkgsrc/www/firefox91/patches/patch-build_moz.configure_rust.configure       Wed Sep  8 22:19:50 2021
@@ -0,0 +1,15 @@
+$NetBSD: patch-build_moz.configure_rust.configure,v 1.1 2021/09/08 22:19:50 nia Exp $
+
+* Do not match rumprun toolchain for NetBSD,
+  narrowed should be one not two.
+
+--- build/moz.configure/rust.configure.orig    2020-12-03 23:12:39.000000000 +0000
++++ build/moz.configure/rust.configure
+@@ -371,6 +371,7 @@ def detect_rustc_target(
+             for c in candidates
+             if c.target.raw_os == host_or_target.raw_os
+             and c.target.raw_cpu == host_or_target.raw_cpu
++            and not c.rust_target.endswith("-rumprun-netbsd")
+         ]
+         if len(narrowed) == 1:
+             return narrowed[0].rust_target
Index: pkgsrc/www/firefox91/patches/patch-config_gcc-stl-wrapper.template.h
diff -u /dev/null pkgsrc/www/firefox91/patches/patch-config_gcc-stl-wrapper.template.h:1.1
--- /dev/null   Wed Sep  8 22:19:51 2021
+++ pkgsrc/www/firefox91/patches/patch-config_gcc-stl-wrapper.template.h        Wed Sep  8 22:19:50 2021
@@ -0,0 +1,31 @@
+$NetBSD: patch-config_gcc-stl-wrapper.template.h,v 1.1 2021/09/08 22:19:50 nia Exp $
+
+--- config/gcc-stl-wrapper.template.h.orig     2021-04-08 21:20:01.000000000 +0000
++++ config/gcc-stl-wrapper.template.h
+@@ -32,8 +32,8 @@
+ // bug 1694575 (iosfwd).
+ // Please be careful when adding more exceptions, especially regarding
+ // the header not directly or indirectly including <new>.
+-#ifndef moz_dont_include_mozalloc_for_cstdlib
+-#  define moz_dont_include_mozalloc_for_cstdlib
++#ifndef moz_dont_include_mozalloc_for_${HEADER}
++#  define moz_dont_include_mozalloc_for_${HEADER}
+ #endif
+ 
+ #ifndef moz_dont_include_mozalloc_for_type_traits
+@@ -51,7 +51,7 @@
+ // Include mozalloc after the STL header and all other headers it includes
+ // have been preprocessed.
+ #if !defined(MOZ_INCLUDE_MOZALLOC_H) && \
+-    !defined(moz_dont_include_mozalloc_for_${HEADER})
++    !defined(moz_dont_include_mozalloc_for_cstdlib)
+ #  define MOZ_INCLUDE_MOZALLOC_H
+ #  define MOZ_INCLUDE_MOZALLOC_H_FROM_${HEADER}
+ #endif
+@@ -80,4 +80,6 @@
+ #  include "mozilla/throw_gcc.h"
+ #endif
+ 
++#undef moz_dont_include_mzalloc_for_${HEADER}
++
+ #endif  // if mozilla_${HEADER}_h
Index: pkgsrc/www/firefox91/patches/patch-config_makefiles_rust.mk
diff -u /dev/null pkgsrc/www/firefox91/patches/patch-config_makefiles_rust.mk:1.1
--- /dev/null   Wed Sep  8 22:19:51 2021
+++ pkgsrc/www/firefox91/patches/patch-config_makefiles_rust.mk Wed Sep  8 22:19:50 2021
@@ -0,0 +1,17 @@
+$NetBSD: patch-config_makefiles_rust.mk,v 1.1 2021/09/08 22:19:50 nia Exp $
+
+NetBSD doesn't get along with parallel rust builds (it causes issues
+with ld.so) which are the default. Force -j1.
+
+--- config/makefiles/rust.mk.orig      2021-01-14 21:11:33.000000000 +0000
++++ config/makefiles/rust.mk
+@@ -52,6 +52,9 @@ endif
+ ifeq (1,$(MOZ_PARALLEL_BUILD))
+ cargo_build_flags += -j1
+ endif
++ifeq ($(OS_ARCH),NetBSD)
++cargo_build_flags += -j1
++endif
+ 
+ # We also need to rebuild the rust stdlib so that it's instrumented. Because
+ # build-std is still pretty experimental, we need to explicitly request
Index: pkgsrc/www/firefox91/patches/patch-dom_base_nsAttrName.h
diff -u /dev/null pkgsrc/www/firefox91/patches/patch-dom_base_nsAttrName.h:1.1
--- /dev/null   Wed Sep  8 22:19:51 2021
+++ pkgsrc/www/firefox91/patches/patch-dom_base_nsAttrName.h    Wed Sep  8 22:19:50 2021
@@ -0,0 +1,18 @@
+$NetBSD: patch-dom_base_nsAttrName.h,v 1.1 2021/09/08 22:19:50 nia Exp $
+
+cbindgen gets confused by NetBSD's types being macros too
+https://mail-index.netbsd.org/tech-pkg/2018/10/25/msg020395.html
+
+--- dom/base/nsAttrName.h.orig 2019-01-18 00:20:23.000000000 +0000
++++ dom/base/nsAttrName.h
+@@ -16,6 +16,10 @@
+ #include "mozilla/dom/NodeInfo.h"
+ #include "nsAtom.h"
+ #include "nsDOMString.h"
++#ifdef __NetBSD__
++/* This is also a macro which causes problems with cbindgen */
++#undef uintptr_t
++#endif
+ 
+ #define NS_ATTRNAME_NODEINFO_BIT 1
+ class nsAttrName {
Index: pkgsrc/www/firefox91/patches/patch-gfx_angle_checkout_src_common_third__party_smhasher_src_PMurHash.cpp
diff -u /dev/null pkgsrc/www/firefox91/patches/patch-gfx_angle_checkout_src_common_third__party_smhasher_src_PMurHash.cpp:1.1
--- /dev/null   Wed Sep  8 22:19:51 2021
+++ pkgsrc/www/firefox91/patches/patch-gfx_angle_checkout_src_common_third__party_smhasher_src_PMurHash.cpp     Wed Sep  8 22:19:50 2021
@@ -0,0 +1,17 @@
+$NetBSD: patch-gfx_angle_checkout_src_common_third__party_smhasher_src_PMurHash.cpp,v 1.1 2021/09/08 22:19:50 nia Exp $
+
+Fix build where _LITTLE_ENDIAN is not an integer.
+
+--- gfx/angle/checkout/src/common/third_party/smhasher/src/PMurHash.cpp.orig   2019-07-06 01:48:31.000000000 +0000
++++ gfx/angle/checkout/src/common/third_party/smhasher/src/PMurHash.cpp
+@@ -91,8 +91,8 @@ on big endian machines, or a byte-by-byt
+ /* gcc 'may' define __LITTLE_ENDIAN__ or __BIG_ENDIAN__ to 1 (Note the trailing __),
+  * or even _LITTLE_ENDIAN or _BIG_ENDIAN (Note the single _ prefix) */
+ #if !defined(__BYTE_ORDER)
+-#    if defined(__LITTLE_ENDIAN__) && __LITTLE_ENDIAN__ == 1 || \
+-        defined(_LITTLE_ENDIAN) && _LITTLE_ENDIAN == 1
++#    if defined(__LITTLE_ENDIAN__) && __LITTLE_ENDIAN__-0 == 1 || \
++        defined(_LITTLE_ENDIAN) && _LITTLE_ENDIAN-0 == 1
+ #        define __BYTE_ORDER __LITTLE_ENDIAN
+ #    elif defined(__BIG_ENDIAN__) && __BIG_ENDIAN__ == 1 || defined(_BIG_ENDIAN) && _BIG_ENDIAN == 1
+ #        define __BYTE_ORDER __BIG_ENDIAN
Index: pkgsrc/www/firefox91/patches/patch-gfx_angle_checkout_src_compiler_translator_InfoSink.h
diff -u /dev/null pkgsrc/www/firefox91/patches/patch-gfx_angle_checkout_src_compiler_translator_InfoSink.h:1.1
--- /dev/null   Wed Sep  8 22:19:51 2021
+++ pkgsrc/www/firefox91/patches/patch-gfx_angle_checkout_src_compiler_translator_InfoSink.h    Wed Sep  8 22:19:50 2021
@@ -0,0 +1,16 @@
+$NetBSD: patch-gfx_angle_checkout_src_compiler_translator_InfoSink.h,v 1.1 2021/09/08 22:19:50 nia Exp $
+
+* isinf/isnan in make.h is defined as macro. Use non-macro version
+  to fix build.
+
+--- gfx/angle/checkout/src/compiler/translator/InfoSink.h.orig 2018-10-18 20:06:05.000000000 +0000
++++ gfx/angle/checkout/src/compiler/translator/InfoSink.h
+@@ -7,7 +7,7 @@
+ #ifndef COMPILER_TRANSLATOR_INFOSINK_H_
+ #define COMPILER_TRANSLATOR_INFOSINK_H_
+ 
+-#include <math.h>
++#include <cmath>
+ #include <stdlib.h>
+ #include "compiler/translator/Common.h"
+ #include "compiler/translator/Severity.h"
Index: pkgsrc/www/firefox91/patches/patch-gfx_cairo_cairo_src_cairo-type1-subset.c
diff -u /dev/null pkgsrc/www/firefox91/patches/patch-gfx_cairo_cairo_src_cairo-type1-subset.c:1.1
--- /dev/null   Wed Sep  8 22:19:51 2021
+++ pkgsrc/www/firefox91/patches/patch-gfx_cairo_cairo_src_cairo-type1-subset.c Wed Sep  8 22:19:50 2021
@@ -0,0 +1,19 @@
+$NetBSD: patch-gfx_cairo_cairo_src_cairo-type1-subset.c,v 1.1 2021/09/08 22:19:50 nia Exp $
+
+Fix undefined behavior when calling <ctype.h> functions with illegal values.
+
+gfx/cairo/cairo/src/cairo-type1-subset.c:273:11: error: array subscript is of type 'char' [-Werror,-Wchar-subscripts]
+
+https://bugzilla.mozilla.org/show_bug.cgi?id=1642081
+
+--- gfx/cairo/cairo/src/cairo-type1-subset.c.orig      2020-05-07 18:34:10.000000000 +0000
++++ gfx/cairo/cairo/src/cairo-type1-subset.c
+@@ -270,7 +270,7 @@ cairo_type1_font_subset_find_segments (c
+       font->eexec_segment = (char *) p + font->header_segment_size;
+       font->eexec_segment_is_ascii = TRUE;
+       for (i = 0; i < 4; i++) {
+-          if (!isxdigit(font->eexec_segment[i]))
++          if (!isxdigit((unsigned char) font->eexec_segment[i]))
+               font->eexec_segment_is_ascii = FALSE;
+       }
+     }
Index: pkgsrc/www/firefox91/patches/patch-gfx_skia_skia_src_core_SkCpu.cpp
diff -u /dev/null pkgsrc/www/firefox91/patches/patch-gfx_skia_skia_src_core_SkCpu.cpp:1.1
--- /dev/null   Wed Sep  8 22:19:51 2021
+++ pkgsrc/www/firefox91/patches/patch-gfx_skia_skia_src_core_SkCpu.cpp Wed Sep  8 22:19:50 2021
@@ -0,0 +1,15 @@
+$NetBSD: patch-gfx_skia_skia_src_core_SkCpu.cpp,v 1.1 2021/09/08 22:19:50 nia Exp $
+
+NetBSD/aarch64 doesn't have <sys/auxv.h>.
+
+--- gfx/skia/skia/src/core/SkCpu.cpp.orig      2019-03-05 00:32:47.658232017 +0900
++++ gfx/skia/skia/src/core/SkCpu.cpp   2019-03-05 00:33:10.203589997 +0900
+@@ -70,7 +70,7 @@
+         return features;
+     }
+ 
+-#elif defined(SK_CPU_ARM64) && __has_include(<sys/auxv.h>)
++#elif defined(SK_CPU_ARM64) && __has_include(<sys/auxv.h>) && !defined(__NetBSD__)
+     #include <sys/auxv.h>
+ 
+     static uint32_t read_cpu_features() {
Index: pkgsrc/www/firefox91/patches/patch-gfx_thebes_gfxPlatform.cpp
diff -u /dev/null pkgsrc/www/firefox91/patches/patch-gfx_thebes_gfxPlatform.cpp:1.1
--- /dev/null   Wed Sep  8 22:19:51 2021
+++ pkgsrc/www/firefox91/patches/patch-gfx_thebes_gfxPlatform.cpp       Wed Sep  8 22:19:50 2021
@@ -0,0 +1,28 @@
+$NetBSD: patch-gfx_thebes_gfxPlatform.cpp,v 1.1 2021/09/08 22:19:50 nia Exp $
+
+Don't rely on CrossProcessSemaphore on NetBSD. It has some implementation
+issues that cause issues (kern/55386, not available on NetBSD<9)
+
+This idea is borrowed from macOS which has the same limitation.
+
+--- gfx/thebes/gfxPlatform.cpp.orig    2020-06-03 01:04:50.000000000 +0000
++++ gfx/thebes/gfxPlatform.cpp
+@@ -2922,6 +2922,10 @@ bool gfxPlatform::UsesOffMainThreadCompo
+ }
+ 
+ bool gfxPlatform::UsesTiling() const {
++#ifdef __NetBSD__
++  // Avoid relying on CrossProcessSemaphore
++  return true;
++#else
+   bool usesSkia = GetDefaultContentBackend() == BackendType::SKIA;
+ 
+   // We can't just test whether the PaintThread is initialized here because
+@@ -2934,6 +2938,7 @@ bool gfxPlatform::UsesTiling() const {
+   return StaticPrefs::layers_enable_tiles_AtStartup() ||
+          (StaticPrefs::layers_enable_tiles_if_skia_pomtp_AtStartup() &&
+           usesSkia && usesPOMTP);
++#endif
+ }
+ 
+ bool gfxPlatform::ContentUsesTiling() const {
Index: pkgsrc/www/firefox91/patches/patch-gfx_wr_swgl_build.rs
diff -u /dev/null pkgsrc/www/firefox91/patches/patch-gfx_wr_swgl_build.rs:1.1
--- /dev/null   Wed Sep  8 22:19:51 2021
+++ pkgsrc/www/firefox91/patches/patch-gfx_wr_swgl_build.rs     Wed Sep  8 22:19:50 2021
@@ -0,0 +1,27 @@
+$NetBSD: patch-gfx_wr_swgl_build.rs,v 1.1 2021/09/08 22:19:50 nia Exp $
+
+Work around an internal compiler error on i386 when optimization is enabled:
+
+  cargo:warning=In file included from src/gl.cc:2637:0:
+  cargo:warning=src/rasterize.h: In function 'void draw_quad_spans(int, Point2D*, uint32_t, glsl::Interpolants*, Texture&, Texture&, const ClipRect&) [with P = unsigned char]':
+  cargo:warning=src/rasterize.h:782:20: internal compiler error: in convert_move, at expr.c:231
+  cargo:warning= static inline void draw_quad_spans(int nump, Point2D p[4], uint32_t z,
+  cargo:warning=                    ^~~~~~~~~~~~~~~
+
+
+--- gfx/wr/swgl/build.rs.orig  2021-08-23 14:57:16.000000000 +0000
++++ gfx/wr/swgl/build.rs
+@@ -196,6 +196,13 @@ fn main() {
+         }
+     }
+ 
++    // Work around a compiler bug
++    let target_triple = std::env::var("TARGET").expect("The TARGET environment variable must be set");
++    let target_name = target_triple.split('-').next().unwrap();
++    if ["i386", "i586", "i686"].contains(&target_name) { 
++        build.flag("-O0");
++    }
++
+     build.file("src/gl.cc")
+         .define("_GLIBCXX_USE_CXX11_ABI", Some("0"))
+         .include(shader_dir)
Index: pkgsrc/www/firefox91/patches/patch-ipc_chromium_src_base_message__pump__libevent.cc
diff -u /dev/null pkgsrc/www/firefox91/patches/patch-ipc_chromium_src_base_message__pump__libevent.cc:1.1
--- /dev/null   Wed Sep  8 22:19:51 2021
+++ pkgsrc/www/firefox91/patches/patch-ipc_chromium_src_base_message__pump__libevent.cc Wed Sep  8 22:19:50 2021
@@ -0,0 +1,22 @@
+$NetBSD: patch-ipc_chromium_src_base_message__pump__libevent.cc,v 1.1 2021/09/08 22:19:50 nia Exp $
+
+Allow older libevent
+
+--- ipc/chromium/src/base/message_pump_libevent.cc.orig        2019-03-07 16:53:35.000000000 +0000
++++ ipc/chromium/src/base/message_pump_libevent.cc
+@@ -22,6 +22,7 @@
+ 
+ // This macro checks that the _EVENT_SIZEOF_* constants defined in
+ // ipc/chromiume/src/third_party/<platform>/event2/event-config.h are correct.
++#if 0
+ #if defined(_EVENT_SIZEOF_SHORT)
+ #  define CHECK_EVENT_SIZEOF(TYPE, type)                \
+     static_assert(_EVENT_SIZEOF_##TYPE == sizeof(type), \
+@@ -41,6 +42,7 @@ CHECK_EVENT_SIZEOF(PTHREAD_T, pthread_t)
+ CHECK_EVENT_SIZEOF(SHORT, short);
+ CHECK_EVENT_SIZEOF(SIZE_T, size_t);
+ CHECK_EVENT_SIZEOF(VOID_P, void*);
++#endif
+ 
+ // Lifecycle of struct event
+ // Libevent uses two main data structures:
Index: pkgsrc/www/firefox91/patches/patch-ipc_chromium_src_base_platform__thread__posix.cc
diff -u /dev/null pkgsrc/www/firefox91/patches/patch-ipc_chromium_src_base_platform__thread__posix.cc:1.1
--- /dev/null   Wed Sep  8 22:19:51 2021
+++ pkgsrc/www/firefox91/patches/patch-ipc_chromium_src_base_platform__thread__posix.cc Wed Sep  8 22:19:50 2021
@@ -0,0 +1,18 @@
+$NetBSD: patch-ipc_chromium_src_base_platform__thread__posix.cc,v 1.1 2021/09/08 22:19:50 nia Exp $
+
+* Support NetBSD
+* Support Solaris (we can't rely on pthread_setname_np so ignore it).
+
+--- ipc/chromium/src/base/platform_thread_posix.cc.orig        2019-03-07 16:53:35.000000000 +0000
++++ ipc/chromium/src/base/platform_thread_posix.cc
+@@ -12,7 +12,9 @@
+ #if defined(OS_MACOSX)
+ #  include <mach/mach.h>
+ #elif defined(OS_NETBSD)
+-#  include <lwp.h>
++_Pragma("GCC visibility push(default)")
++#include <lwp.h>
++_Pragma("GCC visibility pop")
+ #elif defined(OS_LINUX)
+ #  include <sys/syscall.h>
+ #  include <sys/prctl.h>
Index: pkgsrc/www/firefox91/patches/patch-ipc_glue_GeckoChildProcessHost.cpp
diff -u /dev/null pkgsrc/www/firefox91/patches/patch-ipc_glue_GeckoChildProcessHost.cpp:1.1
--- /dev/null   Wed Sep  8 22:19:51 2021
+++ pkgsrc/www/firefox91/patches/patch-ipc_glue_GeckoChildProcessHost.cpp       Wed Sep  8 22:19:50 2021
@@ -0,0 +1,21 @@
+$NetBSD: patch-ipc_glue_GeckoChildProcessHost.cpp,v 1.1 2021/09/08 22:19:50 nia Exp $
+
+* Support Solaris
+* Fix NetBSD linking
+
+--- ipc/glue/GeckoChildProcessHost.cpp.orig    2017-07-31 16:20:47.000000000 +0000
++++ ipc/glue/GeckoChildProcessHost.cpp
+@@ -4,7 +4,13 @@
+  * License, v. 2.0. If a copy of the MPL was not distributed with this
+  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+ 
++#if defined(__NetBSD__)
++_Pragma("GCC visibility push(default)")
++#endif
+ #include "GeckoChildProcessHost.h"
++#if defined(__NetBSD__)
++_Pragma("GCC visibility pop")
++#endif
+ 
+ #include "base/command_line.h"
+ #include "base/string_util.h"
Index: pkgsrc/www/firefox91/patches/patch-js_src_jit_ProcessExecutableMemory.cpp
diff -u /dev/null pkgsrc/www/firefox91/patches/patch-js_src_jit_ProcessExecutableMemory.cpp:1.1
--- /dev/null   Wed Sep  8 22:19:51 2021
+++ pkgsrc/www/firefox91/patches/patch-js_src_jit_ProcessExecutableMemory.cpp   Wed Sep  8 22:19:50 2021
@@ -0,0 +1,38 @@
+$NetBSD: patch-js_src_jit_ProcessExecutableMemory.cpp,v 1.1 2021/09/08 22:19:50 nia Exp $
+
+PaX MPROTECT safety for NetBSD.
+
+--- js/src/jit/ProcessExecutableMemory.cpp.orig        2021-02-11 21:17:13.000000000 +0000
++++ js/src/jit/ProcessExecutableMemory.cpp
+@@ -362,9 +362,16 @@ static void* ReserveProcessExecutableMem
+   // Note that randomAddr is just a hint: if the address is not available
+   // mmap will pick a different address.
+   void* randomAddr = ComputeRandomAllocationAddress();
++#ifdef PROT_MPROTECT
++  void* p = MozTaggedAnonymousMmap(randomAddr, bytes,
++                                   PROT_MPROTECT(PROT_EXEC | PROT_WRITE | PROT_READ),
++                                   MAP_PRIVATE | MAP_ANON, -1, 0,
++                                   "js-executable-memory");
++#else
+   void* p = MozTaggedAnonymousMmap(randomAddr, bytes, PROT_NONE,
+                                    MAP_NORESERVE | MAP_PRIVATE | MAP_ANON, -1,
+                                    0, "js-executable-memory");
++#endif
+   if (p == MAP_FAILED) {
+     return nullptr;
+   }
+@@ -409,8 +416,12 @@ static unsigned ProtectionSettingToFlags
+ 
+ [[nodiscard]] static bool CommitPages(void* addr, size_t bytes,
+                                       ProtectionSetting protection) {
+-  void* p = MozTaggedAnonymousMmap(
+-      addr, bytes, ProtectionSettingToFlags(protection),
++  void* p = MozTaggedAnonymousMmap(addr, bytes,
++#ifdef PROT_MPROTECT
++      ProtectionSettingToFlags(protection) | PROT_MPROTECT(PROT_EXEC | PROT_WRITE | PROT_READ),
++#else
++      ProtectionSettingToFlags(protection),
++#endif
+       MAP_FIXED | MAP_PRIVATE | MAP_ANON, -1, 0, "js-executable-memory");
+   if (p == MAP_FAILED) {
+     return false;
Index: pkgsrc/www/firefox91/patches/patch-js_src_jit_arm64_vixl_MozCpu-vixl.cpp
diff -u /dev/null pkgsrc/www/firefox91/patches/patch-js_src_jit_arm64_vixl_MozCpu-vixl.cpp:1.1
--- /dev/null   Wed Sep  8 22:19:51 2021
+++ pkgsrc/www/firefox91/patches/patch-js_src_jit_arm64_vixl_MozCpu-vixl.cpp    Wed Sep  8 22:19:50 2021
@@ -0,0 +1,38 @@
+$NetBSD: patch-js_src_jit_arm64_vixl_MozCpu-vixl.cpp,v 1.1 2021/09/08 22:19:50 nia Exp $
+
+NetBSD/aarch64 does not have the Linux-specific membarrier(2) syscall.
+
+--- js/src/jit/arm64/vixl/MozCpu-vixl.cpp.orig 2020-11-12 18:04:48.000000000 +0000
++++ js/src/jit/arm64/vixl/MozCpu-vixl.cpp
+@@ -42,6 +42,8 @@
+ #   elif defined(__ANDROID__)
+ #    include <sys/syscall.h>
+ #    include <unistd.h>
++#   elif defined(__NetBSD__)
++     // nothing
+ #   else
+ #    error "Missing platform-specific declarations for membarrier syscall!"
+ #   endif // __linux__ / ANDROID
+@@ -49,7 +51,11 @@
+ #  include "vm/JSContext.h" // TlsContext
+ 
+ static int membarrier(int cmd, int flags) {
++#if defined(__NetBSD__)
++    return ENOSYS;
++#else
+     return syscall(__NR_membarrier, cmd, flags);
++#endif
+ }
+ 
+ // These definitions come from the Linux kernel source, for kernels before 4.16
+@@ -116,7 +122,9 @@ uint32_t CPU::GetCacheType() {
+ }
+ 
+ bool CPU::CanFlushICacheFromBackgroundThreads() {
+-#if defined(__aarch64__) && (defined(__linux__) || defined(__android__))
++#if defined(__NetBSD__) && defined(__aarch64__)
++  return false;
++#elif defined(__aarch64__) && (defined(__linux__) || defined(__android__))
+   // On linux, check the kernel supports membarrier(2), that is, it's a kernel
+   // above Linux 4.16 included.
+   //
Index: pkgsrc/www/firefox91/patches/patch-js_src_jsfriendapi.h
diff -u /dev/null pkgsrc/www/firefox91/patches/patch-js_src_jsfriendapi.h:1.1
--- /dev/null   Wed Sep  8 22:19:51 2021
+++ pkgsrc/www/firefox91/patches/patch-js_src_jsfriendapi.h     Wed Sep  8 22:19:50 2021
@@ -0,0 +1,14 @@
+$NetBSD: patch-js_src_jsfriendapi.h,v 1.1 2021/09/08 22:19:50 nia Exp $
+
+* Fix va_list error.
+
+--- js/src/jsfriendapi.h.orig  2020-09-17 00:32:45.000000000 +0000
++++ js/src/jsfriendapi.h
+@@ -10,6 +10,7 @@
+ #include "mozilla/MemoryReporting.h"
+ #include "mozilla/PodOperations.h"
+ 
++#include <stdarg.h>
+ #include "jspubtd.h"
+ 
+ #include "js/CallArgs.h"
Index: pkgsrc/www/firefox91/patches/patch-js_src_util_NativeStack.cpp
diff -u /dev/null pkgsrc/www/firefox91/patches/patch-js_src_util_NativeStack.cpp:1.1
--- /dev/null   Wed Sep  8 22:19:51 2021
+++ pkgsrc/www/firefox91/patches/patch-js_src_util_NativeStack.cpp      Wed Sep  8 22:19:50 2021
@@ -0,0 +1,32 @@
+$NetBSD: patch-js_src_util_NativeStack.cpp,v 1.1 2021/09/08 22:19:50 nia Exp $
+
+Support SunOS.
+
+--- js/src/util/NativeStack.cpp.orig   2020-04-03 19:34:51.000000000 +0000
++++ js/src/util/NativeStack.cpp
+@@ -13,7 +13,7 @@
+ #  if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__DragonFly__)
+ #    include <pthread_np.h>
+ #  endif
+-#  if defined(SOLARIS) || defined(AIX)
++#  if defined(__sun) || defined(AIX)
+ #    include <ucontext.h>
+ #  endif
+ #  if defined(ANDROID) && !defined(__aarch64__)
+@@ -40,7 +40,7 @@ void* js::GetNativeStackBaseImpl() {
+   return static_cast<void*>(pTib->StackBase);
+ }
+ 
+-#elif defined(SOLARIS)
++#elif defined(__sun)
+ 
+ static_assert(JS_STACK_GROWTH_DIRECTION < 0);
+ 
+@@ -128,6 +128,7 @@ void* js::GetNativeStackBaseImpl() {
+ #    elif defined(PTHREAD_NP_H) || defined(_PTHREAD_NP_H_) || defined(NETBSD)
+   /* e.g. on FreeBSD 4.8 or newer, neundorf%kde.org@localhost */
+   pthread_attr_get_np(thread, &sattr);
++#    elif defined(__sun)
+ #    else
+   /*
+    * FIXME: this function is non-portable;
Index: pkgsrc/www/firefox91/patches/patch-js_src_vm_ArrayBufferObject.cpp
diff -u /dev/null pkgsrc/www/firefox91/patches/patch-js_src_vm_ArrayBufferObject.cpp:1.1
--- /dev/null   Wed Sep  8 22:19:51 2021
+++ pkgsrc/www/firefox91/patches/patch-js_src_vm_ArrayBufferObject.cpp  Wed Sep  8 22:19:50 2021
@@ -0,0 +1,24 @@
+$NetBSD: patch-js_src_vm_ArrayBufferObject.cpp,v 1.1 2021/09/08 22:19:50 nia Exp $
+
+PaX MPROTECT safety for NetBSD.
+
+--- js/src/vm/ArrayBufferObject.cpp.orig       2021-05-20 21:29:34.000000000 +0000
++++ js/src/vm/ArrayBufferObject.cpp
+@@ -189,9 +189,17 @@ void* js::MapBufferMemory(size_t mappedS
+   MOZ_ASSERT(data);
+   memset(data, 0, mappedSize);
+ #else   // !XP_WIN && !__wasi__
++
++#ifdef PROT_MPROTECT
++  void* data =
++      MozTaggedAnonymousMmap(nullptr, mappedSize,
++                             PROT_MPROTECT(PROT_EXEC | PROT_WRITE | PROT_READ),
++                             MAP_PRIVATE | MAP_ANON, -1, 0, "wasm-reserved");
++#else
+   void* data =
+       MozTaggedAnonymousMmap(nullptr, mappedSize, PROT_NONE,
+                              MAP_PRIVATE | MAP_ANON, -1, 0, "wasm-reserved");
++#endif
+   if (data == MAP_FAILED) {
+     return nullptr;
+   }
Index: pkgsrc/www/firefox91/patches/patch-media_ffvpx_libavutil_arm_bswap.h
diff -u /dev/null pkgsrc/www/firefox91/patches/patch-media_ffvpx_libavutil_arm_bswap.h:1.1
--- /dev/null   Wed Sep  8 22:19:51 2021
+++ pkgsrc/www/firefox91/patches/patch-media_ffvpx_libavutil_arm_bswap.h        Wed Sep  8 22:19:50 2021
@@ -0,0 +1,22 @@
+$NetBSD: patch-media_ffvpx_libavutil_arm_bswap.h,v 1.1 2021/09/08 22:19:50 nia Exp $
+
+Fix NetBSD aarch64 build.
+
+--- media/ffvpx/libavutil/arm/bswap.h.orig     2019-10-30 17:35:56.000000000 +0000
++++ media/ffvpx/libavutil/arm/bswap.h
+@@ -23,6 +23,8 @@
+ #include "config.h"
+ #include "libavutil/attributes.h"
+ 
++#ifndef __aarch64__
++
+ #ifdef __ARMCC_VERSION
+ 
+ #if HAVE_ARMV6
+@@ -64,4 +66,6 @@ static av_always_inline av_const uint32_
+ 
+ #endif /* __ARMCC_VERSION */
+ 
++#endif /* __aarch64__ */
++
+ #endif /* AVUTIL_ARM_BSWAP_H */
Index: pkgsrc/www/firefox91/patches/patch-media_libcubeb_src_cubeb__alsa.c
diff -u /dev/null pkgsrc/www/firefox91/patches/patch-media_libcubeb_src_cubeb__alsa.c:1.1
--- /dev/null   Wed Sep  8 22:19:51 2021
+++ pkgsrc/www/firefox91/patches/patch-media_libcubeb_src_cubeb__alsa.c Wed Sep  8 22:19:50 2021
@@ -0,0 +1,12 @@
+$NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.1 2021/09/08 22:19:50 nia Exp $
+
+--- media/libcubeb/src/cubeb_alsa.c.orig       2019-12-02 12:23:28.000000000 +0000
++++ media/libcubeb/src/cubeb_alsa.c
+@@ -7,6 +7,7 @@
+ #undef NDEBUG
+ #define _DEFAULT_SOURCE
+ #define _BSD_SOURCE
++#define _NETBSD_SOURCE
+ #define _XOPEN_SOURCE 500
+ #include <pthread.h>
+ #include <sys/time.h>
Index: pkgsrc/www/firefox91/patches/patch-media_libcubeb_src_moz.build
diff -u /dev/null pkgsrc/www/firefox91/patches/patch-media_libcubeb_src_moz.build:1.1
--- /dev/null   Wed Sep  8 22:19:51 2021
+++ pkgsrc/www/firefox91/patches/patch-media_libcubeb_src_moz.build     Wed Sep  8 22:19:50 2021
@@ -0,0 +1,19 @@
+$NetBSD: patch-media_libcubeb_src_moz.build,v 1.1 2021/09/08 22:19:50 nia Exp $
+
+* Add Sun audio support
+
+--- media/libcubeb/src/moz.build.orig  2020-04-03 19:35:03.000000000 +0000
++++ media/libcubeb/src/moz.build
+@@ -23,6 +23,12 @@ if CONFIG['MOZ_ALSA']:
+     ]
+     DEFINES['USE_ALSA'] = True
+ 
++if CONFIG['MOZ_SUNAUDIO']:
++    SOURCES += [
++        'cubeb_sun.c',
++    ]
++    DEFINES['USE_SUN'] = True
++
+ if CONFIG['MOZ_PULSEAUDIO'] or CONFIG['MOZ_JACK']:
+     SOURCES += [
+         'cubeb_resampler.cpp',
Index: pkgsrc/www/firefox91/patches/patch-media_libpng_pngpriv.h
diff -u /dev/null pkgsrc/www/firefox91/patches/patch-media_libpng_pngpriv.h:1.1
--- /dev/null   Wed Sep  8 22:19:51 2021
+++ pkgsrc/www/firefox91/patches/patch-media_libpng_pngpriv.h   Wed Sep  8 22:19:50 2021
@@ -0,0 +1,17 @@
+$NetBSD: patch-media_libpng_pngpriv.h,v 1.1 2021/09/08 22:19:50 nia Exp $
+
+Fix _POSIX_SOURCE on SunOS.
+
+--- media/libpng/pngpriv.h.orig        2018-06-05 19:47:32.000000000 +0000
++++ media/libpng/pngpriv.h
+@@ -36,8 +36,10 @@
+  * still required (as of 2011-05-02.)
+  */
+ #ifndef _POSIX_SOURCE
++#if !defined(__sun) || (__STDC_VERSION__-0 < 199901L)
+ # define _POSIX_SOURCE 1 /* Just the POSIX 1003.1 and C89 APIs */
+ #endif
++#endif
+ 
+ #ifndef PNG_VERSION_INFO_ONLY
+ /* Standard library headers not required by png.h: */
Index: pkgsrc/www/firefox91/patches/patch-media_libtheora_lib_info.c
diff -u /dev/null pkgsrc/www/firefox91/patches/patch-media_libtheora_lib_info.c:1.1
--- /dev/null   Wed Sep  8 22:19:51 2021
+++ pkgsrc/www/firefox91/patches/patch-media_libtheora_lib_info.c       Wed Sep  8 22:19:50 2021
@@ -0,0 +1,19 @@
+$NetBSD: patch-media_libtheora_lib_info.c,v 1.1 2021/09/08 22:19:50 nia Exp $
+
+Fix undefined behavior when calling <ctype.h> functions with illegal values.
+
+media/libtheora/lib/info.c:32:8: error: array subscript is of type 'char' [-Werror,-Wchar-subscripts]
+
+https://bugzilla.mozilla.org/show_bug.cgi?id=1642081
+
+--- media/libtheora/lib/info.c.orig    2020-05-07 18:34:12.000000000 +0000
++++ media/libtheora/lib/info.c
+@@ -29,7 +29,7 @@
+ static int oc_tagcompare(const char *_s1,const char *_s2,int _n){
+   int c;
+   for(c=0;c<_n;c++){
+-    if(toupper(_s1[c])!=toupper(_s2[c]))return !0;
++    if(toupper((unsigned char)_s1[c])!=toupper((unsigned char)_s2[c]))return !0;
+   }
+   return _s1[c]!='=';
+ }
Index: pkgsrc/www/firefox91/patches/patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_device__info__linux.cc
diff -u /dev/null pkgsrc/www/firefox91/patches/patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_device__info__linux.cc:1.1
--- /dev/null   Wed Sep  8 22:19:51 2021
+++ pkgsrc/www/firefox91/patches/patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_device__info__linux.cc    Wed Sep  8 22:19:50 2021
@@ -0,0 +1,63 @@
+$NetBSD: patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_device__info__linux.cc,v 1.1 2021/09/08 22:19:50 nia Exp $
+
+* Fix buiuld under NetBSD.
+  NetBSD's sys/videoio.h does not have v4l2_capability.device_caps
+  and video capture does not work for me anyway.
+
+--- third_party/libwebrtc/webrtc/modules/video_capture/linux/device_info_linux.cc.orig 2021-05-20 21:30:20.000000000 +0000
++++ third_party/libwebrtc/webrtc/modules/video_capture/linux/device_info_linux.cc
+@@ -207,10 +207,12 @@ uint32_t DeviceInfoLinux::NumberOfDevice
+     sprintf(device, "/dev/video%d", n);
+     if ((fd = open(device, O_RDONLY)) != -1) {
+       // query device capabilities and make sure this is a video capture device
++#if !defined(__NetBSD__)
+       if (ioctl(fd, VIDIOC_QUERYCAP, &cap) < 0 || !IsVideoCaptureDevice(&cap)) {
+         close(fd);
+         continue;
+       }
++#endif
+ 
+       close(fd);
+       count++;
+@@ -241,10 +243,12 @@ int32_t DeviceInfoLinux::GetDeviceName(u
+     sprintf(device, "/dev/video%d", device_index);
+     if ((fd = open(device, O_RDONLY)) != -1) {
+       // query device capabilities and make sure this is a video capture device
++#if !defined(__NetBSD__)
+       if (ioctl(fd, VIDIOC_QUERYCAP, &cap) < 0 || !IsVideoCaptureDevice(&cap)) {
+         close(fd);
+         continue;
+       }
++#endif
+       if (count == deviceNumber) {
+         // Found the device
+         found = true;
+@@ -328,10 +332,12 @@ int32_t DeviceInfoLinux::CreateCapabilit
+     struct v4l2_capability cap;
+     if (ioctl(fd, VIDIOC_QUERYCAP, &cap) == 0) {
+       // skip devices without video capture capability
++#if !defined(__NetBSD__)
+       if (!IsVideoCaptureDevice(&cap)) {
+         close(fd);
+         continue;
+       }
++#endif
+ 
+       if (cap.bus_info[0] != 0) {
+         if (strncmp((const char*)cap.bus_info, (const char*)deviceUniqueIdUTF8,
+@@ -384,6 +390,7 @@ bool DeviceInfoLinux::IsDeviceNameMatche
+   return false;
+ }
+ 
++#ifndef __NetBSD__
+ bool DeviceInfoLinux::IsVideoCaptureDevice(struct v4l2_capability* cap)
+ {
+   if (cap->capabilities & V4L2_CAP_DEVICE_CAPS) {
+@@ -392,6 +399,7 @@ bool DeviceInfoLinux::IsVideoCaptureDevi
+     return cap->capabilities & V4L2_CAP_VIDEO_CAPTURE;
+   }
+ }
++#endif
+ 
+ int32_t DeviceInfoLinux::FillCapabilities(int fd) {
+   // set image format
Index: pkgsrc/www/firefox91/patches/patch-mozglue_misc_Uptime.cpp
diff -u /dev/null pkgsrc/www/firefox91/patches/patch-mozglue_misc_Uptime.cpp:1.1
--- /dev/null   Wed Sep  8 22:19:51 2021
+++ pkgsrc/www/firefox91/patches/patch-mozglue_misc_Uptime.cpp  Wed Sep  8 22:19:50 2021
@@ -0,0 +1,15 @@
+$NetBSD: patch-mozglue_misc_Uptime.cpp,v 1.1 2021/09/08 22:19:50 nia Exp $
+
+* Define uptime-related functions for NetBSD too.
+
+--- mozglue/misc/Uptime.cpp.orig       2021-05-20 21:29:40.000000000 +0000
++++ mozglue/misc/Uptime.cpp
+@@ -76,7 +76,7 @@ Maybe<uint64_t> NowIncludingSuspendMs() 
+   return Some(interrupt_time / kHNSperMS);
+ }
+ 
+-#elif defined(XP_LINUX)  // including Android
++#elif defined(OS_LINUX) || defined(XP_UNIX)  // including Android
+ #  include <time.h>
+ 
+ // Number of nanoseconds in a millisecond.
Index: pkgsrc/www/firefox91/patches/patch-nsprpub_pr_src_pthreads_ptsynch.c
diff -u /dev/null pkgsrc/www/firefox91/patches/patch-nsprpub_pr_src_pthreads_ptsynch.c:1.1
--- /dev/null   Wed Sep  8 22:19:51 2021
+++ pkgsrc/www/firefox91/patches/patch-nsprpub_pr_src_pthreads_ptsynch.c        Wed Sep  8 22:19:50 2021
@@ -0,0 +1,110 @@
+$NetBSD: patch-nsprpub_pr_src_pthreads_ptsynch.c,v 1.1 2021/09/08 22:19:50 nia Exp $
+
+firefox: Workaround broken pthread_equal() usage
+
+Switch to an internal version of pthread_equal() without sanity checks.
+
+Problems detected on NetBSD 9.99.46.
+
+--- nsprpub/pr/src/pthreads/ptsynch.c.orig     2020-01-17 21:34:42.000000000 +0000
++++ nsprpub/pr/src/pthreads/ptsynch.c
+@@ -25,6 +25,13 @@ static pthread_condattr_t _pt_cvar_attr;
+ extern PTDebug pt_debug;  /* this is shared between several modules */
+ #endif  /* defined(DEBUG) */
+ 
++/* XXX, pthread_equal() is misused to compare non-valid thread pointers */
++static int
++pt_pthread_equal(pthread_t t1, pthread_t t2)
++{
++      return t1 == t2;
++}
++
+ #if defined(FREEBSD)
+ /*
+  * On older versions of FreeBSD, pthread_mutex_trylock returns EDEADLK.
+@@ -197,9 +204,9 @@ PR_IMPLEMENT(PRStatus) PR_Unlock(PRLock 
+     PR_ASSERT(lock != NULL);
+     PR_ASSERT(_PT_PTHREAD_MUTEX_IS_LOCKED(lock->mutex));
+     PR_ASSERT(PR_TRUE == lock->locked);
+-    PR_ASSERT(pthread_equal(lock->owner, self));
++    PR_ASSERT(pt_pthread_equal(lock->owner, self));
+ 
+-    if (!lock->locked || !pthread_equal(lock->owner, self)) {
++    if (!lock->locked || !pt_pthread_equal(lock->owner, self)) {
+         return PR_FAILURE;
+     }
+ 
+@@ -225,7 +232,7 @@ PR_IMPLEMENT(void) PR_AssertCurrentThrea
+      * to the correctness of PR_AssertCurrentThreadOwnsLock(), but
+      * this particular order makes the assertion more likely to
+      * catch errors. */
+-    PR_ASSERT(lock->locked && pthread_equal(lock->owner, pthread_self()));
++    PR_ASSERT(lock->locked && pt_pthread_equal(lock->owner, pthread_self()));
+ }
+ 
+ /**************************************************************/
+@@ -281,7 +288,7 @@ static void pt_PostNotifyToCvar(PRCondVa
+     _PT_Notified *notified = &cvar->lock->notified;
+ 
+     PR_ASSERT(PR_TRUE == cvar->lock->locked);
+-    PR_ASSERT(pthread_equal(cvar->lock->owner, pthread_self()));
++    PR_ASSERT(pt_pthread_equal(cvar->lock->owner, pthread_self()));
+     PR_ASSERT(_PT_PTHREAD_MUTEX_IS_LOCKED(cvar->lock->mutex));
+ 
+     while (1)
+@@ -369,7 +376,7 @@ PR_IMPLEMENT(PRStatus) PR_WaitCondVar(PR
+     PR_ASSERT(_PT_PTHREAD_MUTEX_IS_LOCKED(cvar->lock->mutex));
+     PR_ASSERT(PR_TRUE == cvar->lock->locked);
+     /* and it better be by us */
+-    PR_ASSERT(pthread_equal(cvar->lock->owner, pthread_self()));
++    PR_ASSERT(pt_pthread_equal(cvar->lock->owner, pthread_self()));
+ 
+     if (_PT_THREAD_INTERRUPTED(thred)) {
+         goto aborted;
+@@ -582,7 +589,7 @@ PR_IMPLEMENT(PRIntn) PR_GetMonitorEntryC
+ 
+     rv = pthread_mutex_lock(&mon->lock);
+     PR_ASSERT(0 == rv);
+-    if (pthread_equal(mon->owner, self)) {
++    if (pt_pthread_equal(mon->owner, self)) {
+         count = mon->entryCount;
+     }
+     rv = pthread_mutex_unlock(&mon->lock);
+@@ -598,7 +605,7 @@ PR_IMPLEMENT(void) PR_AssertCurrentThrea
+     rv = pthread_mutex_lock(&mon->lock);
+     PR_ASSERT(0 == rv);
+     PR_ASSERT(mon->entryCount != 0 &&
+-              pthread_equal(mon->owner, pthread_self()));
++              pt_pthread_equal(mon->owner, pthread_self()));
+     rv = pthread_mutex_unlock(&mon->lock);
+     PR_ASSERT(0 == rv);
+ #endif
+@@ -614,7 +621,7 @@ PR_IMPLEMENT(void) PR_EnterMonitor(PRMon
+     PR_ASSERT(0 == rv);
+     if (mon->entryCount != 0)
+     {
+-        if (pthread_equal(mon->owner, self)) {
++        if (pt_pthread_equal(mon->owner, self)) {
+             goto done;
+         }
+         while (mon->entryCount != 0)
+@@ -646,8 +653,8 @@ PR_IMPLEMENT(PRStatus) PR_ExitMonitor(PR
+     PR_ASSERT(0 == rv);
+     /* the entries should be > 0 and we'd better be the owner */
+     PR_ASSERT(mon->entryCount > 0);
+-    PR_ASSERT(pthread_equal(mon->owner, self));
+-    if (mon->entryCount == 0 || !pthread_equal(mon->owner, self))
++    PR_ASSERT(pt_pthread_equal(mon->owner, self));
++    if (mon->entryCount == 0 || !pt_pthread_equal(mon->owner, self))
+     {
+         rv = pthread_mutex_unlock(&mon->lock);
+         PR_ASSERT(0 == rv);
+@@ -695,7 +702,7 @@ PR_IMPLEMENT(PRStatus) PR_Wait(PRMonitor
+     /* the entries better be positive */
+     PR_ASSERT(mon->entryCount > 0);
+     /* and it better be owned by us */
+-    PR_ASSERT(pthread_equal(mon->owner, pthread_self()));
++    PR_ASSERT(pt_pthread_equal(mon->owner, pthread_self()));
+ 
+     /* tuck these away 'till later */
+     saved_entries = mon->entryCount;
Index: pkgsrc/www/firefox91/patches/patch-security_nss_lib_freebl_mpi_mpi.c
diff -u /dev/null pkgsrc/www/firefox91/patches/patch-security_nss_lib_freebl_mpi_mpi.c:1.1
--- /dev/null   Wed Sep  8 22:19:51 2021
+++ pkgsrc/www/firefox91/patches/patch-security_nss_lib_freebl_mpi_mpi.c        Wed Sep  8 22:19:50 2021
@@ -0,0 +1,35 @@
+$NetBSD: patch-security_nss_lib_freebl_mpi_mpi.c,v 1.1 2021/09/08 22:19:50 nia Exp $
+
+Fix undefined behavior when calling <ctype.h> functions with illegal values.
+
+security/nss/lib/freebl/mpi/mpi.c:4565:15: error: array subscript is of type 'char' [-Werror,-Wchar-subscripts]
+        xch = toupper(ch);
+
+security/nss/lib/freebl/mpi/mpi.c:4611:14: error: array subscript is of type 'char' [-Werror,-Wchar-subscripts]
+        ch = tolower(ch);
+
+https://bugzilla.mozilla.org/show_bug.cgi?id=1642081
+
+--- security/nss/lib/freebl/mpi/mpi.c.orig     2020-05-07 18:35:01.000000000 +0000
++++ security/nss/lib/freebl/mpi/mpi.c
+@@ -4560,9 +4560,9 @@ s_mp_tovalue(char ch, int r)
+     int val, xch;
+ 
+     if (r > 36)
+-        xch = ch;
++        xch = (unsigned char) ch;
+     else
+-        xch = toupper(ch);
++        xch = toupper((unsigned char) ch);
+ 
+     if (isdigit(xch))
+         val = xch - '0';
+@@ -4608,7 +4608,7 @@ s_mp_todigit(mp_digit val, int r, int lo
+     ch = s_dmap_1[val];
+ 
+     if (r <= 36 && low)
+-        ch = tolower(ch);
++        ch = tolower((unsigned char) ch);
+ 
+     return ch;
+ 
Index: pkgsrc/www/firefox91/patches/patch-toolkit_components_terminator_nsTerminator.cpp
diff -u /dev/null pkgsrc/www/firefox91/patches/patch-toolkit_components_terminator_nsTerminator.cpp:1.1
--- /dev/null   Wed Sep  8 22:19:51 2021
+++ pkgsrc/www/firefox91/patches/patch-toolkit_components_terminator_nsTerminator.cpp   Wed Sep  8 22:19:50 2021
@@ -0,0 +1,27 @@
+$NetBSD: patch-toolkit_components_terminator_nsTerminator.cpp,v 1.1 2021/09/08 22:19:50 nia Exp $
+
+* Fix segfault on exit under NetBSD
+
+--- toolkit/components/terminator/nsTerminator.cpp.orig        2021-04-08 21:20:12.000000000 +0000
++++ toolkit/components/terminator/nsTerminator.cpp
+@@ -37,7 +37,7 @@
+ #if defined(XP_WIN)
+ #  include <windows.h>
+ #else
+-#  include <unistd.h>
++#  include <time.h>
+ #endif
+ 
+ #include "mozilla/AppShutdown.h"
+@@ -238,7 +238,10 @@ void RunWatchdog(void* arg) {
+ #if defined(XP_WIN)
+     Sleep(1000 /* ms */);
+ #else
+-    usleep(1000000 /* usec */);
++    struct timespec tickd;
++    tickd.tv_sec = 1;
++    tickd.tv_nsec = 0;
++    nanosleep(&tickd, NULL);
+ #endif
+ 
+     // If we are still alive then we just crash.
Index: pkgsrc/www/firefox91/patches/patch-toolkit_modules_subprocess_subprocess__shared__unix.js
diff -u /dev/null pkgsrc/www/firefox91/patches/patch-toolkit_modules_subprocess_subprocess__shared__unix.js:1.1
--- /dev/null   Wed Sep  8 22:19:51 2021
+++ pkgsrc/www/firefox91/patches/patch-toolkit_modules_subprocess_subprocess__shared__unix.js   Wed Sep  8 22:19:50 2021
@@ -0,0 +1,26 @@
+$NetBSD: patch-toolkit_modules_subprocess_subprocess__shared__unix.js,v 1.1 2021/09/08 22:19:50 nia Exp $
+
+Fix broken native messaging on NetBSD and possibly other BSDs too:
+https://bugzilla.mozilla.org/show_bug.cgi?id=1543602
+
+Please remove this patch when the upstream issue is resolved.
+
+--- toolkit/modules/subprocess/subprocess_shared_unix.js.orig  2019-07-06 01:49:01.000000000 +0000
++++ toolkit/modules/subprocess/subprocess_shared_unix.js
+@@ -12,7 +12,15 @@
+ 
+ const LIBC = OS.Constants.libc;
+ 
+-const LIBC_CHOICES = ["libc.so", "libSystem.B.dylib", "a.out"];
++/* libc.so isn't meant to be dlopen'ed. On Linux it's usually an ld
++ * script so one cannot dlopen it. On NetBSD (and possibly other
++ * BSDs too) dlopen'ing libc.so will succeed, but some global symbols,
++ * especially environ(7), are pointing to unused memory regions
++ * because they are meant to be overridden by the main executable.
++ * So the most portable way to access libc symbols is to do it through
++ * the NULL handle, i.e. the one which NSPR calls "a.out".
++ */
++const LIBC_CHOICES = ["a.out"];
+ 
+ const unix = {
+   pid_t: ctypes.int32_t,
Index: pkgsrc/www/firefox91/patches/patch-toolkit_moz.configure
diff -u /dev/null pkgsrc/www/firefox91/patches/patch-toolkit_moz.configure:1.1
--- /dev/null   Wed Sep  8 22:19:51 2021
+++ pkgsrc/www/firefox91/patches/patch-toolkit_moz.configure    Wed Sep  8 22:19:50 2021
@@ -0,0 +1,23 @@
+$NetBSD: patch-toolkit_moz.configure,v 1.1 2021/09/08 22:19:50 nia Exp $
+
+* skia part: support bigendian architectures
+
+--- toolkit/moz.configure.orig 2020-12-03 23:14:21.000000000 +0000
++++ toolkit/moz.configure
+@@ -927,11 +927,11 @@ set_config("MOZ_IPDL_TESTS", depends_if(
+ option("--disable-skia", help="Disable use of Skia")
+ 
+ 
+-@depends("--disable-skia")
+-def skia(value):
+-    if not value:
+-        die("--disable-skia is not supported anymore")
+-    else:
++@depends('--disable-skia', target)
++def skia(value, target):
++    if value.origin == 'default' and target.endianness == 'big':
++        return None
++    if value:
+         return True
+ 
+ 
Index: pkgsrc/www/firefox91/patches/patch-toolkit_mozapps_installer_packager.mk
diff -u /dev/null pkgsrc/www/firefox91/patches/patch-toolkit_mozapps_installer_packager.mk:1.1
--- /dev/null   Wed Sep  8 22:19:51 2021
+++ pkgsrc/www/firefox91/patches/patch-toolkit_mozapps_installer_packager.mk    Wed Sep  8 22:19:50 2021
@@ -0,0 +1,15 @@
+$NetBSD: patch-toolkit_mozapps_installer_packager.mk,v 1.1 2021/09/08 22:19:50 nia Exp $
+
+* Symbolic link to lib/firefox/firefox causes 'Couldn't load XPCOM.' error.
+
+--- toolkit/mozapps/installer/packager.mk.orig 2020-01-29 07:05:13.000000000 +0000
++++ toolkit/mozapps/installer/packager.mk
+@@ -145,7 +145,7 @@ endif
+         (cd $(DESTDIR)$(installdir) && tar -xf -)
+       $(NSINSTALL) -D $(DESTDIR)$(bindir)
+       $(RM) -f $(DESTDIR)$(bindir)/$(MOZ_APP_NAME)
+-      ln -s $(installdir)/$(MOZ_APP_NAME) $(DESTDIR)$(bindir)
++      #ln -s $(installdir)/$(MOZ_APP_NAME) $(DESTDIR)$(bindir)
+ 
+ upload:
+       $(PYTHON3) -u $(MOZILLA_DIR)/build/upload.py --base-path $(DIST) $(UPLOAD_FILES)
Index: pkgsrc/www/firefox91/patches/patch-widget_gtk_DMABufSurface.cpp
diff -u /dev/null pkgsrc/www/firefox91/patches/patch-widget_gtk_DMABufSurface.cpp:1.1
--- /dev/null   Wed Sep  8 22:19:51 2021
+++ pkgsrc/www/firefox91/patches/patch-widget_gtk_DMABufSurface.cpp     Wed Sep  8 22:19:50 2021
@@ -0,0 +1,32 @@
+$NetBSD: patch-widget_gtk_DMABufSurface.cpp,v 1.1 2021/09/08 22:19:50 nia Exp $
+
+No eventfd on netbsd, fix build
+
+--- widget/gtk/DMABufSurface.cpp.orig  2021-04-08 21:20:12.000000000 +0000
++++ widget/gtk/DMABufSurface.cpp
+@@ -18,7 +18,9 @@
+ #include <sys/time.h>
+ #include <dlfcn.h>
+ #include <sys/mman.h>
++#ifndef __NetBSD__
+ #include <sys/eventfd.h>
++#endif
+ #include <poll.h>
+ #include <sys/ioctl.h>
+ 
+@@ -97,6 +99,7 @@ void DMABufSurface::GlobalRefAdd() {
+ }
+ 
+ void DMABufSurface::GlobalRefCountCreate() {
++#ifndef __NetBSD__
+   MOZ_ASSERT(!mGlobalRefCountFd);
+   mGlobalRefCountFd = eventfd(0, EFD_CLOEXEC | EFD_NONBLOCK | EFD_SEMAPHORE);
+   if (mGlobalRefCountFd < 0) {
+@@ -106,6 +109,7 @@ void DMABufSurface::GlobalRefCountCreate
+     mGlobalRefCountFd = 0;
+     return;
+   }
++#endif
+ }
+ 
+ void DMABufSurface::GlobalRefCountImport(int aFd) {
Index: pkgsrc/www/firefox91/patches/patch-xpcom_base_nscore.h
diff -u /dev/null pkgsrc/www/firefox91/patches/patch-xpcom_base_nscore.h:1.1
--- /dev/null   Wed Sep  8 22:19:51 2021
+++ pkgsrc/www/firefox91/patches/patch-xpcom_base_nscore.h      Wed Sep  8 22:19:50 2021
@@ -0,0 +1,15 @@
+$NetBSD: patch-xpcom_base_nscore.h,v 1.1 2021/09/08 22:19:50 nia Exp $
+
+* Support llvm/clang
+
+--- xpcom/base/nscore.h.orig   2019-03-07 16:53:44.000000000 +0000
++++ xpcom/base/nscore.h
+@@ -76,7 +76,7 @@
+  *           NS_HIDDEN_(int) NS_FASTCALL func2(char *foo);
+  */
+ 
+-#if defined(__i386__) && defined(__GNUC__)
++#if defined(__i386__) && defined(__GNUC__) && !(defined(__clang__) && __clang_major__ == 3 && __clang_minor__ == 4 && __clang_patchlevel__ == 0)
+ #  define NS_FASTCALL __attribute__((regparm(3), stdcall))
+ #  define NS_CONSTRUCTOR_FASTCALL __attribute__((regparm(3), stdcall))
+ #elif defined(XP_WIN) && !defined(_WIN64)
Index: pkgsrc/www/firefox91/patches/patch-xpcom_reflect_xptcall_md_unix_moz.build
diff -u /dev/null pkgsrc/www/firefox91/patches/patch-xpcom_reflect_xptcall_md_unix_moz.build:1.1
--- /dev/null   Wed Sep  8 22:19:51 2021
+++ pkgsrc/www/firefox91/patches/patch-xpcom_reflect_xptcall_md_unix_moz.build  Wed Sep  8 22:19:50 2021
@@ -0,0 +1,15 @@
+$NetBSD: patch-xpcom_reflect_xptcall_md_unix_moz.build,v 1.1 2021/09/08 22:19:50 nia Exp $
+
+Make NetBSD/sparc64 use the same xptcall bindings as all other sparc64 ports
+
+--- xpcom/reflect/xptcall/md/unix/moz.build.orig       2020-12-03 23:14:25.000000000 +0000
++++ xpcom/reflect/xptcall/md/unix/moz.build
+@@ -225,7 +225,7 @@ if CONFIG["OS_ARCH"] == "OpenBSD" and CO
+     ]
+ 
+ if (
+-    CONFIG["OS_ARCH"] in ("OpenBSD", "FreeBSD", "Linux", "SunOS")
++    CONFIG["OS_ARCH"] in ("OpenBSD", "FreeBSD", "NetBSD", "Linux", "SunOS")
+     and CONFIG["CPU_ARCH"] == "sparc64"
+ ):
+     SOURCES += [



Home | Main Index | Thread Index | Old Index