Sun May 1 00:36:11 2022 UTC ()
Let Articfox run on NetBSD PowerPC ports
This was tested on NetBSD-9.2/macppc

Patches submitted upstream at
https://github.com/wicknix/Arctic-Fox/pull/101


(manu)
diff -r1.5 -r1.6 pkgsrc/www/arcticfox/Makefile
diff -r1.1 -r1.2 pkgsrc/www/arcticfox/PLIST
diff -r1.1 -r1.2 pkgsrc/www/arcticfox/distinfo
diff -r0 -r1.1 pkgsrc/www/arcticfox/patches/patch-xpcom_reflect_xptcall_genstubs.pl
diff -r0 -r1.1 pkgsrc/www/arcticfox/patches/patch-xpcom_reflect_xptcall_md_unix_moz.build
diff -r0 -r1.1 pkgsrc/www/arcticfox/patches/patch-xpcom_reflect_xptcall_md_unix_xptcinvoke_arm_netbsd.cpp
diff -r0 -r1.1 pkgsrc/www/arcticfox/patches/patch-xpcom_reflect_xptcall_md_unix_xptcinvoke_ppc_netbsd.cpp
diff -r0 -r1.1 pkgsrc/www/arcticfox/patches/patch-xpcom_reflect_xptcall_md_unix_xptcstubs_arm_netbsd.cpp
diff -r0 -r1.1 pkgsrc/www/arcticfox/patches/patch-xpcom_reflect_xptcall_md_unix_xptcstubs_netbsd_m68k.cpp
diff -r0 -r1.1 pkgsrc/www/arcticfox/patches/patch-xpcom_reflect_xptcall_md_unix_xptcstubs_ppc_linux.cpp
diff -r0 -r1.1 pkgsrc/www/arcticfox/patches/patch-xpcom_reflect_xptcall_md_unix_xptcstubs_ppc_netbsd.cpp
diff -r0 -r1.1 pkgsrc/www/arcticfox/patches/patch-xpcom_reflect_xptcall_md_unix_xptcstubs_sparc_netbsd.cpp
diff -r0 -r1.1 pkgsrc/www/arcticfox/patches/patch-xpcom_reflect_xptcall_md_unix_xptcstubs_sparc_openbsd.cpp
diff -r0 -r1.1 pkgsrc/www/arcticfox/patches/patch-xpcom_reflect_xptcall_xptcprivate.h
diff -r0 -r1.1 pkgsrc/www/arcticfox/patches/patch-xpcom_reflect_xptcall_xptcstubsdecl.inc

cvs diff -r1.5 -r1.6 pkgsrc/www/arcticfox/Makefile (expand / switch to unified diff)

--- pkgsrc/www/arcticfox/Makefile 2022/04/18 19:12:16 1.5
+++ pkgsrc/www/arcticfox/Makefile 2022/05/01 00:36:10 1.6
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1# $NetBSD: Makefile,v 1.5 2022/04/18 19:12:16 adam Exp $ 1# $NetBSD: Makefile,v 1.6 2022/05/01 00:36:10 manu Exp $
2 2
3DISTNAME= arcticfox-39.0 3DISTNAME= arcticfox-39.0
4PKGREVISION= 2 4PKGREVISION= 2
5CATEGORIES= www 5CATEGORIES= www
6MASTER_SITES= ${MASTER_SITE_GITHUB:=wicknix/} 6MASTER_SITES= ${MASTER_SITE_GITHUB:=wicknix/}
7GITHUB_PROJECT= Arctic-Fox 7GITHUB_PROJECT= Arctic-Fox
8GITHUB_TAG= v${PKGVERSION_NOREV} 8GITHUB_TAG= v${PKGVERSION_NOREV}
9 9
10MAINTAINER= pkgsrc-users@NetBSD.org 10MAINTAINER= pkgsrc-users@NetBSD.org
11HOMEPAGE= https://github.com/wicknix/Arctic-Fox 11HOMEPAGE= https://github.com/wicknix/Arctic-Fox
12COMMENT= Web browser for aging systems, forked from Firefox 12COMMENT= Web browser for aging systems, forked from Firefox
13LICENSE= mpl-1.1 13LICENSE= mpl-1.1
14 14
@@ -50,26 +50,31 @@ CONFIGURE_ARGS+= --with-system-bz2 @@ -50,26 +50,31 @@ CONFIGURE_ARGS+= --with-system-bz2
50# CONFIGURE_ARGS+= --with-system-icu 50# CONFIGURE_ARGS+= --with-system-icu
51CONFIGURE_ARGS+= --with-system-libevent=${BUILDLINK_PREFIX.libevent} 51CONFIGURE_ARGS+= --with-system-libevent=${BUILDLINK_PREFIX.libevent}
52CONFIGURE_ARGS+= --with-system-libvpx 52CONFIGURE_ARGS+= --with-system-libvpx
53CONFIGURE_ARGS+= --with-system-nss 53CONFIGURE_ARGS+= --with-system-nss
54CONFIGURE_ARGS+= --with-system-nspr 54CONFIGURE_ARGS+= --with-system-nspr
55CONFIGURE_ARGS+= --with-system-zlib 55CONFIGURE_ARGS+= --with-system-zlib
56 56
57.include "../../mk/bsd.prefs.mk" 57.include "../../mk/bsd.prefs.mk"
58 58
59.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64" 59.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64"
60TOOL_DEPENDS+= yasm>=1.1:../../devel/yasm 60TOOL_DEPENDS+= yasm>=1.1:../../devel/yasm
61.endif 61.endif
62 62
 63PLIST_VARS+= nopowerpc
 64.if ${MACHINE_ARCH} != "powerpc"
 65PLIST.nopowerpc= yes
 66.endif
 67
63CONFIGURE_DIRS= ${WRKDIR}/build 68CONFIGURE_DIRS= ${WRKDIR}/build
64CONFIGURE_SCRIPT= ${WRKSRC}/configure 69CONFIGURE_SCRIPT= ${WRKSRC}/configure
65 70
66LDFLAGS+= ${COMPILER_RPATH_FLAG}${PREFIX}/lib/${PKGNAME_NOREV} 71LDFLAGS+= ${COMPILER_RPATH_FLAG}${PREFIX}/lib/${PKGNAME_NOREV}
67LDFLAGS+= ${COMPILER_RPATH_FLAG}${PREFIX}/lib 72LDFLAGS+= ${COMPILER_RPATH_FLAG}${PREFIX}/lib
68 73
69INSTALLATION_DIRS+= share/applications 74INSTALLATION_DIRS+= share/applications
70INSTALLATION_DIRS+= share/icons/hicolor/16x16/apps 75INSTALLATION_DIRS+= share/icons/hicolor/16x16/apps
71INSTALLATION_DIRS+= share/icons/hicolor/32x32/apps 76INSTALLATION_DIRS+= share/icons/hicolor/32x32/apps
72INSTALLATION_DIRS+= share/icons/hicolor/48x48/apps 77INSTALLATION_DIRS+= share/icons/hicolor/48x48/apps
73INSTALLATION_DIRS+= share/icons/hicolor/128x128/apps 78INSTALLATION_DIRS+= share/icons/hicolor/128x128/apps
74 79
75CHECK_PORTABILITY_SKIP+= intl/icu/source/configure 80CHECK_PORTABILITY_SKIP+= intl/icu/source/configure
@@ -119,14 +124,15 @@ BUILDLINK_API_DEPENDS.libevent+= libeven @@ -119,14 +124,15 @@ BUILDLINK_API_DEPENDS.libevent+= libeven
119.include "../../graphics/hicolor-icon-theme/buildlink3.mk" 124.include "../../graphics/hicolor-icon-theme/buildlink3.mk"
120.include "../../graphics/libwebp/buildlink3.mk" 125.include "../../graphics/libwebp/buildlink3.mk"
121.include "../../graphics/png/buildlink3.mk" 126.include "../../graphics/png/buildlink3.mk"
122.include "../../lang/python/application.mk" 127.include "../../lang/python/application.mk"
123.include "../../lang/python/tool.mk" 128.include "../../lang/python/tool.mk"
124.include "../../multimedia/libvpx/buildlink3.mk" 129.include "../../multimedia/libvpx/buildlink3.mk"
125.include "../../sysutils/desktop-file-utils/desktopdb.mk" 130.include "../../sysutils/desktop-file-utils/desktopdb.mk"
126.include "../../textproc/hunspell/buildlink3.mk" 131.include "../../textproc/hunspell/buildlink3.mk"
127#.include "../../textproc/icu/buildlink3.mk" 132#.include "../../textproc/icu/buildlink3.mk"
128.include "../../x11/gtk2/buildlink3.mk" 133.include "../../x11/gtk2/buildlink3.mk"
129.include "../../x11/libXt/buildlink3.mk" 134.include "../../x11/libXt/buildlink3.mk"
130.include "../../x11/pixman/buildlink3.mk" 135.include "../../x11/pixman/buildlink3.mk"
131#.include "../../mk/jpeg.buildlink3.mk" 136#.include "../../mk/jpeg.buildlink3.mk"
 137.include "../../mk/atomic64.mk"
132.include "../../mk/bsd.pkg.mk" 138.include "../../mk/bsd.pkg.mk"

cvs diff -r1.1 -r1.2 pkgsrc/www/arcticfox/PLIST (expand / switch to unified diff)

--- pkgsrc/www/arcticfox/PLIST 2022/02/05 20:51:07 1.1
+++ pkgsrc/www/arcticfox/PLIST 2022/05/01 00:36:10 1.2
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1@comment $NetBSD: PLIST,v 1.1 2022/02/05 20:51:07 nia Exp $ 1@comment $NetBSD: PLIST,v 1.2 2022/05/01 00:36:10 manu Exp $
2bin/arcticfox 2bin/arcticfox
3include/${PKGNAME}/AbstractMediaDecoder.h 3include/${PKGNAME}/AbstractMediaDecoder.h
4include/${PKGNAME}/ActiveLayerTracker.h 4include/${PKGNAME}/ActiveLayerTracker.h
5include/${PKGNAME}/AlignedTArray.h 5include/${PKGNAME}/AlignedTArray.h
6include/${PKGNAME}/AndroidNativeWindow.h 6include/${PKGNAME}/AndroidNativeWindow.h
7include/${PKGNAME}/AndroidSurfaceTexture.h 7include/${PKGNAME}/AndroidSurfaceTexture.h
8include/${PKGNAME}/AnimationCommon.h 8include/${PKGNAME}/AnimationCommon.h
9include/${PKGNAME}/AsyncEventRunner.h 9include/${PKGNAME}/AsyncEventRunner.h
10include/${PKGNAME}/AsyncScrollBase.h 10include/${PKGNAME}/AsyncScrollBase.h
11include/${PKGNAME}/AudioBufferUtils.h 11include/${PKGNAME}/AudioBufferUtils.h
12include/${PKGNAME}/AudioChannelAgent.h 12include/${PKGNAME}/AudioChannelAgent.h
13include/${PKGNAME}/AudioChannelFormat.h 13include/${PKGNAME}/AudioChannelFormat.h
14include/${PKGNAME}/AudioChannelService.h 14include/${PKGNAME}/AudioChannelService.h
@@ -245,27 +245,27 @@ include/${PKGNAME}/SandboxPrivate.h @@ -245,27 +245,27 @@ include/${PKGNAME}/SandboxPrivate.h
245include/${PKGNAME}/ScopedGLHelpers.h 245include/${PKGNAME}/ScopedGLHelpers.h
246include/${PKGNAME}/ScopedNSSTypes.h 246include/${PKGNAME}/ScopedNSSTypes.h
247include/${PKGNAME}/ScrollbarActivity.h 247include/${PKGNAME}/ScrollbarActivity.h
248include/${PKGNAME}/ScrollbarStyles.h 248include/${PKGNAME}/ScrollbarStyles.h
249include/${PKGNAME}/Selection.h 249include/${PKGNAME}/Selection.h
250include/${PKGNAME}/SelfRef.h 250include/${PKGNAME}/SelfRef.h
251include/${PKGNAME}/SerializedLoadContext.h 251include/${PKGNAME}/SerializedLoadContext.h
252include/${PKGNAME}/SharedBuffer.h 252include/${PKGNAME}/SharedBuffer.h
253include/${PKGNAME}/SharedCertVerifier.h 253include/${PKGNAME}/SharedCertVerifier.h
254include/${PKGNAME}/SharedDecoderManager.h 254include/${PKGNAME}/SharedDecoderManager.h
255include/${PKGNAME}/SharedSurface.h 255include/${PKGNAME}/SharedSurface.h
256include/${PKGNAME}/SharedSurfaceEGL.h 256include/${PKGNAME}/SharedSurfaceEGL.h
257include/${PKGNAME}/SharedSurfaceGL.h 257include/${PKGNAME}/SharedSurfaceGL.h
258include/${PKGNAME}/SkiaGLGlue.h 258${PLIST.nopowerpc}include/${PKGNAME}/SkiaGLGlue.h
259include/${PKGNAME}/SoftwareVsyncSource.h 259include/${PKGNAME}/SoftwareVsyncSource.h
260include/${PKGNAME}/SoftwareWebMVideoDecoder.h 260include/${PKGNAME}/SoftwareWebMVideoDecoder.h
261include/${PKGNAME}/SourceBufferContentManager.h 261include/${PKGNAME}/SourceBufferContentManager.h
262include/${PKGNAME}/SpecialSystemDirectory.h 262include/${PKGNAME}/SpecialSystemDirectory.h
263include/${PKGNAME}/StackArena.h 263include/${PKGNAME}/StackArena.h
264include/${PKGNAME}/StreamBuffer.h 264include/${PKGNAME}/StreamBuffer.h
265include/${PKGNAME}/SurfaceCache.h 265include/${PKGNAME}/SurfaceCache.h
266include/${PKGNAME}/SurfaceTypes.h 266include/${PKGNAME}/SurfaceTypes.h
267include/${PKGNAME}/TextureGarbageBin.h 267include/${PKGNAME}/TextureGarbageBin.h
268include/${PKGNAME}/TexturePoolOGL.h 268include/${PKGNAME}/TexturePoolOGL.h
269include/${PKGNAME}/ThreadPoolCOMListener.h 269include/${PKGNAME}/ThreadPoolCOMListener.h
270include/${PKGNAME}/ThreadSafeRefcountingWithMainThreadDestruction.h 270include/${PKGNAME}/ThreadSafeRefcountingWithMainThreadDestruction.h
271include/${PKGNAME}/ThreeDPoint.h 271include/${PKGNAME}/ThreeDPoint.h
@@ -2279,27 +2279,27 @@ include/${PKGNAME}/mozilla/gfx/BaseMargi @@ -2279,27 +2279,27 @@ include/${PKGNAME}/mozilla/gfx/BaseMargi
2279include/${PKGNAME}/mozilla/gfx/BasePoint.h 2279include/${PKGNAME}/mozilla/gfx/BasePoint.h
2280include/${PKGNAME}/mozilla/gfx/BasePoint3D.h 2280include/${PKGNAME}/mozilla/gfx/BasePoint3D.h
2281include/${PKGNAME}/mozilla/gfx/BasePoint4D.h 2281include/${PKGNAME}/mozilla/gfx/BasePoint4D.h
2282include/${PKGNAME}/mozilla/gfx/BaseRect.h 2282include/${PKGNAME}/mozilla/gfx/BaseRect.h
2283include/${PKGNAME}/mozilla/gfx/BaseSize.h 2283include/${PKGNAME}/mozilla/gfx/BaseSize.h
2284include/${PKGNAME}/mozilla/gfx/Blur.h 2284include/${PKGNAME}/mozilla/gfx/Blur.h
2285include/${PKGNAME}/mozilla/gfx/BorrowedContext.h 2285include/${PKGNAME}/mozilla/gfx/BorrowedContext.h
2286include/${PKGNAME}/mozilla/gfx/Coord.h 2286include/${PKGNAME}/mozilla/gfx/Coord.h
2287include/${PKGNAME}/mozilla/gfx/DataSurfaceHelpers.h 2287include/${PKGNAME}/mozilla/gfx/DataSurfaceHelpers.h
2288include/${PKGNAME}/mozilla/gfx/DrawTargetTiled.h 2288include/${PKGNAME}/mozilla/gfx/DrawTargetTiled.h
2289include/${PKGNAME}/mozilla/gfx/Filters.h 2289include/${PKGNAME}/mozilla/gfx/Filters.h
2290include/${PKGNAME}/mozilla/gfx/Helpers.h 2290include/${PKGNAME}/mozilla/gfx/Helpers.h
2291include/${PKGNAME}/mozilla/gfx/HelpersCairo.h 2291include/${PKGNAME}/mozilla/gfx/HelpersCairo.h
2292include/${PKGNAME}/mozilla/gfx/HelpersSkia.h 2292${PLIST.nopowerpc}include/${PKGNAME}/mozilla/gfx/HelpersSkia.h
2293include/${PKGNAME}/mozilla/gfx/Logging.h 2293include/${PKGNAME}/mozilla/gfx/Logging.h
2294include/${PKGNAME}/mozilla/gfx/Matrix.h 2294include/${PKGNAME}/mozilla/gfx/Matrix.h
2295include/${PKGNAME}/mozilla/gfx/NumericTools.h 2295include/${PKGNAME}/mozilla/gfx/NumericTools.h
2296include/${PKGNAME}/mozilla/gfx/PathHelpers.h 2296include/${PKGNAME}/mozilla/gfx/PathHelpers.h
2297include/${PKGNAME}/mozilla/gfx/PatternHelpers.h 2297include/${PKGNAME}/mozilla/gfx/PatternHelpers.h
2298include/${PKGNAME}/mozilla/gfx/Point.h 2298include/${PKGNAME}/mozilla/gfx/Point.h
2299include/${PKGNAME}/mozilla/gfx/Quaternion.h 2299include/${PKGNAME}/mozilla/gfx/Quaternion.h
2300include/${PKGNAME}/mozilla/gfx/Rect.h 2300include/${PKGNAME}/mozilla/gfx/Rect.h
2301include/${PKGNAME}/mozilla/gfx/RegionTyped.h 2301include/${PKGNAME}/mozilla/gfx/RegionTyped.h
2302include/${PKGNAME}/mozilla/gfx/Scale.h 2302include/${PKGNAME}/mozilla/gfx/Scale.h
2303include/${PKGNAME}/mozilla/gfx/ScaleFactor.h 2303include/${PKGNAME}/mozilla/gfx/ScaleFactor.h
2304include/${PKGNAME}/mozilla/gfx/ScaleFactors2D.h 2304include/${PKGNAME}/mozilla/gfx/ScaleFactors2D.h
2305include/${PKGNAME}/mozilla/gfx/SharedDIB.h 2305include/${PKGNAME}/mozilla/gfx/SharedDIB.h

cvs diff -r1.1 -r1.2 pkgsrc/www/arcticfox/distinfo (expand / switch to unified diff)

--- pkgsrc/www/arcticfox/distinfo 2022/02/05 20:51:07 1.1
+++ pkgsrc/www/arcticfox/distinfo 2022/05/01 00:36:10 1.2
@@ -1,9 +1,21 @@ @@ -1,9 +1,21 @@
1$NetBSD: distinfo,v 1.1 2022/02/05 20:51:07 nia Exp $ 1$NetBSD: distinfo,v 1.2 2022/05/01 00:36:10 manu Exp $
2 2
3BLAKE2s (arcticfox-39.0.tar.gz) = 87d8ae46ac9b5f0acebbad1962150804781f29fc9eb2bf1f77442624e4a4fea0 3BLAKE2s (arcticfox-39.0.tar.gz) = 87d8ae46ac9b5f0acebbad1962150804781f29fc9eb2bf1f77442624e4a4fea0
4SHA512 (arcticfox-39.0.tar.gz) = 38fc4fa73c5c7d3ea692b2411580c519f6296622ea7f1cd86e784a3cc4d630a76ee699bb7f679a8dabd302c90bb4b7d786e853bed459b6e3b1efac59740db564 4SHA512 (arcticfox-39.0.tar.gz) = 38fc4fa73c5c7d3ea692b2411580c519f6296622ea7f1cd86e784a3cc4d630a76ee699bb7f679a8dabd302c90bb4b7d786e853bed459b6e3b1efac59740db564
5Size (arcticfox-39.0.tar.gz) = 186594664 bytes 5Size (arcticfox-39.0.tar.gz) = 186594664 bytes
6SHA1 (patch-configure.in) = a5c3c9534a776e61d761139161617ca6279db838 6SHA1 (patch-configure.in) = a5c3c9534a776e61d761139161617ca6279db838
7SHA1 (patch-ipc_chromium_src_base_message__pump__libevent.cc) = 38cf700d07d468526e16cfe63d434c4752da8cc5 7SHA1 (patch-ipc_chromium_src_base_message__pump__libevent.cc) = 38cf700d07d468526e16cfe63d434c4752da8cc5
8SHA1 (patch-media_libcubeb_src_cubeb.c) = b3c4bd8146e2f7146baf1c2050260f7629cdb09a 8SHA1 (patch-media_libcubeb_src_cubeb.c) = b3c4bd8146e2f7146baf1c2050260f7629cdb09a
9SHA1 (patch-media_libcubeb_src_moz.build) = e98b39b6272b58d4183c526f36987ea239fadd5d 9SHA1 (patch-media_libcubeb_src_moz.build) = e98b39b6272b58d4183c526f36987ea239fadd5d
 10SHA1 (patch-xpcom_reflect_xptcall_genstubs.pl) = f120ff2d52f6875505da477b12e32c40bbf005a2
 11SHA1 (patch-xpcom_reflect_xptcall_md_unix_moz.build) = 0c6b7851dce1d3554be6fa4d11032e7bc0d47b19
 12SHA1 (patch-xpcom_reflect_xptcall_md_unix_xptcinvoke_arm_netbsd.cpp) = a8f9e48088a09479fe510ca5be584ad71ecaa2f4
 13SHA1 (patch-xpcom_reflect_xptcall_md_unix_xptcinvoke_ppc_netbsd.cpp) = 42a82f3fe496b49afada33537b1b1d3dda2e5bf5
 14SHA1 (patch-xpcom_reflect_xptcall_md_unix_xptcstubs_arm_netbsd.cpp) = e576e939f7acb44bd7c0fc07d0dddf5bf745d6a6
 15SHA1 (patch-xpcom_reflect_xptcall_md_unix_xptcstubs_netbsd_m68k.cpp) = 47bc75f3991964b50f0b2bdb615004cbdcae145f
 16SHA1 (patch-xpcom_reflect_xptcall_md_unix_xptcstubs_ppc_linux.cpp) = 60cb1b77d6737663ff4509ef00348ee32ba81e2d
 17SHA1 (patch-xpcom_reflect_xptcall_md_unix_xptcstubs_ppc_netbsd.cpp) = 879f5d69d3c52a8ce6bea9373bd32f7c7762c03b
 18SHA1 (patch-xpcom_reflect_xptcall_md_unix_xptcstubs_sparc_netbsd.cpp) = e8d15f754261c5e0f99b49b63ba01e339625eb59
 19SHA1 (patch-xpcom_reflect_xptcall_md_unix_xptcstubs_sparc_openbsd.cpp) = ef5b28501ebc4e462998f2f28edd883353579789
 20SHA1 (patch-xpcom_reflect_xptcall_xptcprivate.h) = 42d708c26969b6749fa14ed790c17dd96ca879d4
 21SHA1 (patch-xpcom_reflect_xptcall_xptcstubsdecl.inc) = 0747a1b666494dec8d6005ade8cae8f33e6c928d

File Added: pkgsrc/www/arcticfox/patches/patch-xpcom_reflect_xptcall_genstubs.pl
$NetBSD: patch-xpcom_reflect_xptcall_genstubs.pl,v 1.1 2022/05/01 00:36:10 manu Exp $

Bring NetBSD in line with other BSDs. 
Not sure abut the impact, but there is no reason to single it out

--- xpcom/reflect/xptcall/genstubs.pl.orig	2022-04-18 02:30:50.477763337 +0000
+++ xpcom/reflect/xptcall/genstubs.pl	2022-04-17 05:04:03.346183732 +0000
@@ -43,9 +43,9 @@
 print OUTFILE "*  0 is QueryInterface\n";
 print OUTFILE "*  1 is AddRef\n";
 print OUTFILE "*  2 is Release\n";
 print OUTFILE "*/\n";
-print OUTFILE "#if !defined(__ia64) || (!defined(__hpux) && !defined(__linux__) && !defined(__FreeBSD__))\n";
+print OUTFILE "#if !defined(__ia64) || (!defined(__hpux) && !defined(__linux__) && !defined(__FreeBSD__) && !defined(__NetBSD__))\n";
 for($i = 0; $i < $entry_count; $i++) {
     print OUTFILE "NS_IMETHOD Stub",$i+3,"();\n";
 }
 print OUTFILE "#else\n";

File Added: pkgsrc/www/arcticfox/patches/patch-xpcom_reflect_xptcall_md_unix_moz.build
$NetBSD: patch-xpcom_reflect_xptcall_md_unix_moz.build,v 1.1 2022/05/01 00:36:10 manu Exp $

- NetBSD/macppc reports OS_TEST as powerpc and not macppc
- Use OpenBSD/powerpc MD stubs for NetBSD/powerpc

--- xpcom/reflect/xptcall/md/unix/moz.build.orig	2022-04-18 02:30:50.487997116 +0000
+++ xpcom/reflect/xptcall/md/unix/moz.build	2022-04-23 01:07:48.540922360 +0000
@@ -214,15 +214,16 @@
               'xptcstubs_asm_ppc64_linux.S',
               'xptcstubs_ppc64_linux.cpp',
           ]
 
-if CONFIG['OS_TEST'] in ('macppc', 'bebox', 'ofppc', 'prep', 'amigappc'):
+# OpenBSD/powerpc MD code is up to date and fits NetBSD
+if CONFIG['OS_TEST'] in ('powerpc', 'macppc', 'bebox', 'ofppc', 'prep', 'amigappc'):
     if CONFIG['OS_ARCH'] == 'NetBSD':
         SOURCES += [
-            'xptcinvoke_asm_ppc_netbsd.s',
-            'xptcinvoke_ppc_netbsd.cpp',
-            'xptcstubs_asm_ppc_netbsd.s',
-            'xptcstubs_ppc_netbsd.cpp',
+            'xptcinvoke_asm_ppc_openbsd.S',
+            'xptcinvoke_ppc_openbsd.cpp',
+            'xptcstubs_asm_ppc_openbsd.S',
+            'xptcstubs_ppc_openbsd.cpp',
         ]
 
 if CONFIG['OS_ARCH'] == 'OpenBSD' and CONFIG['OS_TEST'] == 'powerpc':
     SOURCES += [

File Added: pkgsrc/www/arcticfox/patches/patch-xpcom_reflect_xptcall_md_unix_xptcinvoke_arm_netbsd.cpp
$NetBSD: patch-xpcom_reflect_xptcall_md_unix_xptcinvoke_arm_netbsd.cpp,v 1.1 2022/05/01 00:36:10 manu Exp $

Update to fit current code

--- xpcom/reflect/xptcall/md/unix/xptcinvoke_arm_netbsd.cpp.orig	2022-04-18 02:30:50.498239249 +0000
+++ xpcom/reflect/xptcall/md/unix/xptcinvoke_arm_netbsd.cpp	2022-04-18 01:08:05.177311630 +0000
@@ -100,9 +100,10 @@
     uint32_t fn_count;     
     uint32_t fn_copy;      
 };
 
-XPTC_PUBLIC_API(nsresult)
+
+EXPORT_XPCOM_API(nsresult)
 XPTC_InvokeByIndex(nsISupports* that, uint32_t methodIndex,
                    uint32_t paramCount, nsXPTCVariant* params)
 {
     uint32_t result;

File Added: pkgsrc/www/arcticfox/patches/patch-xpcom_reflect_xptcall_md_unix_xptcinvoke_ppc_netbsd.cpp
$NetBSD: patch-xpcom_reflect_xptcall_md_unix_xptcinvoke_ppc_netbsd.cpp,v 1.1 2022/05/01 00:36:11 manu Exp $

Update to fit current code

--- xpcom/reflect/xptcall/md/unix/xptcinvoke_ppc_netbsd.cpp.orig	2022-04-18 02:30:50.508558042 +0000
+++ xpcom/reflect/xptcall/md/unix/xptcinvoke_ppc_netbsd.cpp	2022-04-17 06:36:22.117064855 +0000
@@ -109,7 +109,7 @@
     }
 }
 
 extern "C"
-XPTC_PUBLIC_API(nsresult)
+EXPORT_XPCOM_API(nsresult)
 XPTC_InvokeByIndex(nsISupports* that, uint32_t methodIndex,
                    uint32_t paramCount, nsXPTCVariant* params);

File Added: pkgsrc/www/arcticfox/patches/patch-xpcom_reflect_xptcall_md_unix_xptcstubs_arm_netbsd.cpp
$NetBSD: patch-xpcom_reflect_xptcall_md_unix_xptcstubs_arm_netbsd.cpp,v 1.1 2022/05/01 00:36:11 manu Exp $

Update to fit current code

--- xpcom/reflect/xptcall/md/unix/xptcstubs_arm_netbsd.cpp.orig	2022-04-18 02:30:50.518733769 +0000
+++ xpcom/reflect/xptcall/md/unix/xptcstubs_arm_netbsd.cpp	2022-04-18 01:57:51.824233012 +0000
@@ -5,29 +5,28 @@
 
 /* Implement shared vtbl methods. */
 
 #include "xptcprivate.h"
+#include "xptiprivate.h"
 
 nsresult ATTRIBUTE_USED
 PrepareAndDispatch(nsXPTCStubBase* self, uint32_t methodIndex, uint32_t* args)
 {
 #define PARAM_BUFFER_COUNT     16
 
     nsXPTCMiniVariant paramBuffer[PARAM_BUFFER_COUNT];
     nsXPTCMiniVariant* dispatchParams = nullptr;
-    nsIInterfaceInfo* iface_info = nullptr;
-    const nsXPTMethodInfo* info;
+    const nsXPTMethodInfo* info = nullptr;
     uint8_t paramCount;
     uint8_t i;
     nsresult result = NS_ERROR_FAILURE;
 
     NS_ASSERTION(self,"no self");
 
-    self->GetInterfaceInfo(&iface_info);
-    NS_ASSERTION(iface_info,"no interface info");
-
-    iface_info->GetMethodInfo(uint16_t(methodIndex), &info);
-    NS_ASSERTION(info,"no interface info");
+    self->mEntry->GetMethodInfo(uint16_t(methodIndex), &info);
+    NS_ASSERTION(info,"no method info");
+    if (!info)
+        return NS_ERROR_UNEXPECTED;
 
     paramCount = info->GetParamCount();
 
     // setup variant array pointer
@@ -70,11 +69,9 @@
             break;
         }
     }
 
-    result = self->CallMethod((uint16_t)methodIndex, info, dispatchParams);
-
-    NS_RELEASE(iface_info);
+    result = self->mOuter->CallMethod((uint16_t)methodIndex, info, dispatchParams);
 
     if(dispatchParams != paramBuffer)
         delete [] dispatchParams;
 

File Added: pkgsrc/www/arcticfox/patches/patch-xpcom_reflect_xptcall_md_unix_xptcstubs_netbsd_m68k.cpp
$NetBSD: patch-xpcom_reflect_xptcall_md_unix_xptcstubs_netbsd_m68k.cpp,v 1.1 2022/05/01 00:36:11 manu Exp $

Update to fit current code

--- xpcom/reflect/xptcall/md/unix/xptcstubs_netbsd_m68k.cpp.orig	2022-04-18 02:30:50.528949644 +0000
+++ xpcom/reflect/xptcall/md/unix/xptcstubs_netbsd_m68k.cpp	2022-04-18 01:58:14.671629551 +0000
@@ -5,8 +5,9 @@
 
 /* Implement shared vtbl methods. */
 
 #include "xptcprivate.h"
+#include "xptiprivate.h"
 
 #if !defined(__NetBSD__) || !defined(__m68k__)
 #error This code is for NetBSD/m68k only
 #endif
@@ -18,21 +19,19 @@
 #define PARAM_BUFFER_COUNT     16
 
         nsXPTCMiniVariant paramBuffer[PARAM_BUFFER_COUNT];
         nsXPTCMiniVariant* dispatchParams = nullptr;
-        nsIInterfaceInfo* iface_info = nullptr;
-        const nsXPTMethodInfo* info;
+        const nsXPTMethodInfo* info = nullptr;
         uint8_t paramCount;
         uint8_t i;
         nsresult result = NS_ERROR_FAILURE;
 
         NS_ASSERTION(self,"no self");
 
-        self->GetInterfaceInfo(&iface_info);
-        NS_ASSERTION(iface_info,"no interface info");
-
-        iface_info->GetMethodInfo(uint16_t(methodIndex), &info);
-        NS_ASSERTION(info,"no interface info");
+        self->mEntry->GetMethodInfo(uint16_t(methodIndex), &info);
+        NS_ASSERTION(info,"no method info");
+        if (!info)
+            return NS_ERROR_UNEXPECTED;
 
         paramCount = info->GetParamCount();
 
         // setup variant array pointer
@@ -79,11 +78,9 @@
                 break;
             }
         }
 
-        result = self->CallMethod((uint16_t)methodIndex, info, dispatchParams);
-
-        NS_RELEASE(iface_info);
+        result = self->mOuter->CallMethod((uint16_t)methodIndex, info, dispatchParams);
 
         if(dispatchParams != paramBuffer)
             delete [] dispatchParams;
 

File Added: pkgsrc/www/arcticfox/patches/patch-xpcom_reflect_xptcall_md_unix_xptcstubs_ppc_linux.cpp
$NetBSD: patch-xpcom_reflect_xptcall_md_unix_xptcstubs_ppc_linux.cpp,v 1.1 2022/05/01 00:36:11 manu Exp $

Update to fit current code

--- xpcom/reflect/xptcall/md/unix/xptcstubs_ppc_linux.cpp.orig	2022-04-18 02:30:50.539220748 +0000
+++ xpcom/reflect/xptcall/md/unix/xptcstubs_ppc_linux.cpp	2022-04-18 01:42:03.669133784 +0000
@@ -48,8 +48,13 @@
     NS_ASSERTION(self,"no self");
 
     self->mEntry->GetMethodInfo(uint16_t(methodIndex), &info);
     NS_ASSERTION(info,"no method info");
+    if (!info)
+        return NS_ERROR_UNEXPECTED;
+
+    iface_info->GetMethodInfo(uint16_t(methodIndex), &info);
+    NS_ASSERTION(info,"no method info");
     if (! info)
         return NS_ERROR_UNEXPECTED;
 
     paramCount = info->GetParamCount();

File Added: pkgsrc/www/arcticfox/patches/patch-xpcom_reflect_xptcall_md_unix_xptcstubs_ppc_netbsd.cpp
$NetBSD: patch-xpcom_reflect_xptcall_md_unix_xptcstubs_ppc_netbsd.cpp,v 1.1 2022/05/01 00:36:11 manu Exp $

Update to fit current code

--- xpcom/reflect/xptcall/md/unix/xptcstubs_ppc_netbsd.cpp.orig	2022-04-18 02:30:50.549401901 +0000
+++ xpcom/reflect/xptcall/md/unix/xptcstubs_ppc_netbsd.cpp	2022-04-18 01:58:29.047568136 +0000
@@ -5,8 +5,9 @@
 
 // Implement shared vtbl methods.
 
 #include "xptcprivate.h"
+#include "xptiprivate.h"
 
 // The Linux/PPC ABI (aka PPC/SYSV ABI) passes the first 8 integral
 // parameters and the first 8 floating point parameters in registers
 // (r3-r10 and f1-f8), no stack space is allocated for these by the
@@ -35,24 +36,18 @@
                    double *fprData)
 {
     nsXPTCMiniVariant paramBuffer[PARAM_BUFFER_COUNT];
     nsXPTCMiniVariant* dispatchParams = nullptr;
-    nsIInterfaceInfo* iface_info = nullptr;
-    const nsXPTMethodInfo* info;
+    const nsXPTMethodInfo* info = nullptr;
     uint32_t paramCount;
     uint32_t i;
     nsresult result = NS_ERROR_FAILURE;
 
     NS_ASSERTION(self,"no self");
 
-    self->GetInterfaceInfo(&iface_info);
-    NS_ASSERTION(iface_info,"no interface info");
-    if (! iface_info)
-        return NS_ERROR_UNEXPECTED;
-
-    iface_info->GetMethodInfo(uint16_t(methodIndex), &info);
+    self->mEntry->GetMethodInfo(uint16_t(methodIndex), &info);
     NS_ASSERTION(info,"no method info");
-    if (! info)
+    if (!info)
         return NS_ERROR_UNEXPECTED;
 
     paramCount = info->GetParamCount();
 
@@ -143,11 +138,9 @@
             break;
         }
     }
 
-    result = self->CallMethod((uint16_t) methodIndex, info, dispatchParams);
-
-    NS_RELEASE(iface_info);
+    result = self->mOuter->CallMethod((uint16_t) methodIndex, info, dispatchParams);
 
     if (dispatchParams != paramBuffer)
         delete [] dispatchParams;
 

File Added: pkgsrc/www/arcticfox/patches/patch-xpcom_reflect_xptcall_md_unix_xptcstubs_sparc_netbsd.cpp
$NetBSD: patch-xpcom_reflect_xptcall_md_unix_xptcstubs_sparc_netbsd.cpp,v 1.1 2022/05/01 00:36:11 manu Exp $

Update to fit current code

--- xpcom/reflect/xptcall/md/unix/xptcstubs_sparc_netbsd.cpp.orig	2022-04-18 02:30:50.559501293 +0000
+++ xpcom/reflect/xptcall/md/unix/xptcstubs_sparc_netbsd.cpp	2022-04-18 01:58:41.453538297 +0000
@@ -5,8 +5,9 @@
 
 /* Implement shared vtbl methods. */
 
 #include "xptcprivate.h"
+#include "xptiprivate.h"
 
 #if defined(sparc) || defined(__sparc__)
 
 extern "C" nsresult ATTRIBUTE_USED
@@ -22,21 +23,19 @@
 #define PARAM_BUFFER_COUNT     16
 
     nsXPTCMiniVariant paramBuffer[PARAM_BUFFER_COUNT];
     nsXPTCMiniVariant* dispatchParams = nullptr;
-    nsIInterfaceInfo* iface_info = nullptr;
-    const nsXPTMethodInfo* info;
+    const nsXPTMethodInfo* info = nullptr;
     uint8_t paramCount;
     uint8_t i;
     nsresult result = NS_ERROR_FAILURE;
 
     NS_ASSERTION(self,"no self");
 
-    self->GetInterfaceInfo(&iface_info);
-    NS_ASSERTION(iface_info,"no interface info");
-
-    iface_info->GetMethodInfo(uint16_t(methodIndex), &info);
-    NS_ASSERTION(info,"no interface info");
+    self->mEntry->GetMethodInfo(uint16_t(methodIndex), &info);
+    NS_ASSERTION(info,"no method info");
+    if (!info)
+        return NS_ERROR_UNEXPECTED;
 
     paramCount = info->GetParamCount();
 
     // setup variant array pointer
@@ -82,11 +81,9 @@
             break;
         }
     }
 
-    result = self->CallMethod((uint16_t)methodIndex, info, dispatchParams);
-
-    NS_RELEASE(iface_info);
+    result = self->oMouter->CallMethod((uint16_t)methodIndex, info, dispatchParams);
 
     if(dispatchParams != paramBuffer)
         delete [] dispatchParams;
 

File Added: pkgsrc/www/arcticfox/patches/patch-xpcom_reflect_xptcall_md_unix_xptcstubs_sparc_openbsd.cpp
$NetBSD: patch-xpcom_reflect_xptcall_md_unix_xptcstubs_sparc_openbsd.cpp,v 1.1 2022/05/01 00:36:11 manu Exp $

Update to fit current code

--- xpcom/reflect/xptcall/md/unix/xptcstubs_sparc_openbsd.cpp.orig	2022-04-18 02:30:50.569629711 +0000
+++ xpcom/reflect/xptcall/md/unix/xptcstubs_sparc_openbsd.cpp	2022-04-18 01:58:53.309449484 +0000
@@ -5,8 +5,9 @@
 
 /* Implement shared vtbl methods. */
 
 #include "xptcprivate.h"
+#include "xptiprivate.h"
 
 #if defined(sparc) || defined(__sparc__)
 
 extern "C" nsresult ATTRIBUTE_USED
@@ -22,21 +23,19 @@
 #define PARAM_BUFFER_COUNT     16
 
     nsXPTCMiniVariant paramBuffer[PARAM_BUFFER_COUNT];
     nsXPTCMiniVariant* dispatchParams = nullptr;
-    nsIInterfaceInfo* iface_info = nullptr;
-    const nsXPTMethodInfo* info;
+    const nsXPTMethodInfo* info = nullptr;
     uint8_t paramCount;
     uint8_t i;
     nsresult result = NS_ERROR_FAILURE;
 
     NS_ASSERTION(self,"no self");
 
-    self->GetInterfaceInfo(&iface_info);
-    NS_ASSERTION(iface_info,"no interface info");
-
-    iface_info->GetMethodInfo(uint16_t(methodIndex), &info);
-    NS_ASSERTION(info,"no interface info");
+    self->mEntry->GetMethodInfo(uint16_t(methodIndex), &info);
+    NS_ASSERTION(info,"no method info");
+    if (!info)
+        return NS_ERROR_UNEXPECTED;
 
     paramCount = info->GetParamCount();
 
     // setup variant array pointer
@@ -85,11 +84,9 @@
             break;
         }
     }
 
-    result = self->CallMethod((uint16_t)methodIndex, info, dispatchParams);
-
-    NS_RELEASE(iface_info);
+    result = self->mOuter->CallMethod((uint16_t)methodIndex, info, dispatchParams);
 
     if(dispatchParams != paramBuffer)
         delete [] dispatchParams;
 

File Added: pkgsrc/www/arcticfox/patches/patch-xpcom_reflect_xptcall_xptcprivate.h
$NetBSD: patch-xpcom_reflect_xptcall_xptcprivate.h,v 1.1 2022/05/01 00:36:11 manu Exp $

Bring NetBSD in line with other BSDs. 
Not sure abut the impact, but there is no reason to single it out

--- xpcom/reflect/xptcall/xptcprivate.h.orig	2022-04-18 02:30:50.579699047 +0000
+++ xpcom/reflect/xptcall/xptcprivate.h	2022-04-17 05:04:46.979926191 +0000
@@ -13,9 +13,9 @@
 #include "mozilla/Attributes.h"
 
 class xptiInterfaceEntry;
 
-#if !defined(__ia64) || (!defined(__hpux) && !defined(__linux__) && !defined(__FreeBSD__))
+#if !defined(__ia64) || (!defined(__hpux) && !defined(__linux__) && !defined(__FreeBSD__) && !defined(__NetBSD__))
 #define STUB_ENTRY(n) NS_IMETHOD Stub##n() = 0;
 #else
 #define STUB_ENTRY(n) NS_IMETHOD Stub##n(uint64_t,uint64_t,uint64_t,uint64_t,uint64_t,uint64_t,uint64_t,uint64_t) = 0;
 #endif
@@ -30,9 +30,9 @@
 
 #undef STUB_ENTRY
 #undef SENTINEL_ENTRY
 
-#if !defined(__ia64) || (!defined(__hpux) && !defined(__linux__) && !defined(__FreeBSD__))
+#if !defined(__ia64) || (!defined(__hpux) && !defined(__linux__) && !defined(__FreeBSD__) && !defined(__NetBSD__))
 #define STUB_ENTRY(n) NS_IMETHOD Stub##n() override;
 #else
 #define STUB_ENTRY(n) NS_IMETHOD Stub##n(uint64_t,uint64_t,uint64_t,uint64_t,uint64_t,uint64_t,uint64_t,uint64_t) override;
 #endif

File Added: pkgsrc/www/arcticfox/patches/patch-xpcom_reflect_xptcall_xptcstubsdecl.inc
$NetBSD: patch-xpcom_reflect_xptcall_xptcstubsdecl.inc,v 1.1 2022/05/01 00:36:11 manu Exp $

Bring NetBSD in line with other BSDs. 
Not sure abut the impact, but there is no reason to single it out

--- xpcom/reflect/xptcall/xptcstubsdecl.inc.orig	2022-04-18 02:30:50.590253192 +0000
+++ xpcom/reflect/xptcall/xptcstubsdecl.inc	2022-04-17 07:00:09.391086988 +0000
@@ -7,9 +7,9 @@
 *  0 is QueryInterface
 *  1 is AddRef
 *  2 is Release
 */
-#if !defined(__ia64) || (!defined(__hpux) && !defined(__linux__) && !defined(__FreeBSD__))
+#if !defined(__ia64) || (!defined(__hpux) && !defined(__linux__) && !defined(__FreeBSD__) || !defined(__NetBSD__))
 NS_IMETHOD Stub3();
 NS_IMETHOD Stub4();
 NS_IMETHOD Stub5();
 NS_IMETHOD Stub6();