Port-macppc archive

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

Arcticfox for NetBSD/macppc



Hello

Attached is a patch against pkgsrc so that wwww/arcticfox builds and 
works on NetBSD/macppc, for whoever wants to give it a try.

I will not be able to commit that until sunday (I am away from my
keys).

-- 
Emmanuel Dreyfus
manu%netbsd.org@localhost
diff -r -N -U4 pkgsrc/www/arcticfox.orig/Makefile pkgsrc/www/arcticfox/Makefile
--- pkgsrc/www/arcticfox.orig/Makefile	2022-04-18 21:12:16.000000000 +0200
+++ pkgsrc/www/arcticfox/Makefile	2022-04-26 17:47:26.815902539 +0200
@@ -1,5 +1,5 @@
-# $NetBSD: Makefile,v 1.5 2022/04/18 19:12:16 adam Exp $
+# $NetBSD: Makefile,v 1.4 2022/03/28 10:59:30 tnn Exp $
 
 DISTNAME=	arcticfox-39.0
 PKGREVISION=	2
 CATEGORIES=	www
@@ -59,8 +59,13 @@
 .if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64"
 TOOL_DEPENDS+=		yasm>=1.1:../../devel/yasm
 .endif
 
+PLIST_VARS+=		nopowerpc
+.if ${MACHINE_ARCH} != "powerpc"
+PLIST.nopowerpc=	yes
+.endif
+
 CONFIGURE_DIRS=		${WRKDIR}/build
 CONFIGURE_SCRIPT=	${WRKSRC}/configure
 
 LDFLAGS+=		${COMPILER_RPATH_FLAG}${PREFIX}/lib/${PKGNAME_NOREV}
@@ -128,5 +133,6 @@
 .include "../../x11/gtk2/buildlink3.mk"
 .include "../../x11/libXt/buildlink3.mk"
 .include "../../x11/pixman/buildlink3.mk"
 #.include "../../mk/jpeg.buildlink3.mk"
+.include "../../mk/atomic64.mk"
 .include "../../mk/bsd.pkg.mk"
diff -r -N -U4 pkgsrc/www/arcticfox.orig/PLIST pkgsrc/www/arcticfox/PLIST
--- pkgsrc/www/arcticfox.orig/PLIST	2022-02-05 21:51:07.000000000 +0100
+++ pkgsrc/www/arcticfox/PLIST	2022-04-26 17:47:26.819304503 +0200
@@ -254,9 +254,9 @@
 include/${PKGNAME}/SharedDecoderManager.h
 include/${PKGNAME}/SharedSurface.h
 include/${PKGNAME}/SharedSurfaceEGL.h
 include/${PKGNAME}/SharedSurfaceGL.h
-include/${PKGNAME}/SkiaGLGlue.h
+${PLIST.nopowerpc}include/${PKGNAME}/SkiaGLGlue.h
 include/${PKGNAME}/SoftwareVsyncSource.h
 include/${PKGNAME}/SoftwareWebMVideoDecoder.h
 include/${PKGNAME}/SourceBufferContentManager.h
 include/${PKGNAME}/SpecialSystemDirectory.h
@@ -2288,9 +2288,9 @@
 include/${PKGNAME}/mozilla/gfx/DrawTargetTiled.h
 include/${PKGNAME}/mozilla/gfx/Filters.h
 include/${PKGNAME}/mozilla/gfx/Helpers.h
 include/${PKGNAME}/mozilla/gfx/HelpersCairo.h
-include/${PKGNAME}/mozilla/gfx/HelpersSkia.h
+${PLIST.nopowerpc}include/${PKGNAME}/mozilla/gfx/HelpersSkia.h
 include/${PKGNAME}/mozilla/gfx/Logging.h
 include/${PKGNAME}/mozilla/gfx/Matrix.h
 include/${PKGNAME}/mozilla/gfx/NumericTools.h
 include/${PKGNAME}/mozilla/gfx/PathHelpers.h
diff -r -N -U4 pkgsrc/www/arcticfox.orig/distinfo pkgsrc/www/arcticfox/distinfo
--- pkgsrc/www/arcticfox.orig/distinfo	2022-02-05 21:51:07.000000000 +0100
+++ pkgsrc/www/arcticfox/distinfo	2022-04-26 17:47:26.819824142 +0200
@@ -6,4 +6,16 @@
 SHA1 (patch-configure.in) = a5c3c9534a776e61d761139161617ca6279db838
 SHA1 (patch-ipc_chromium_src_base_message__pump__libevent.cc) = 38cf700d07d468526e16cfe63d434c4752da8cc5
 SHA1 (patch-media_libcubeb_src_cubeb.c) = b3c4bd8146e2f7146baf1c2050260f7629cdb09a
 SHA1 (patch-media_libcubeb_src_moz.build) = e98b39b6272b58d4183c526f36987ea239fadd5d
+SHA1 (patch-xpcom_reflect_xptcall_genstubs.pl) = f120ff2d52f6875505da477b12e32c40bbf005a2
+SHA1 (patch-xpcom_reflect_xptcall_md_unix_moz.build) = 0c6b7851dce1d3554be6fa4d11032e7bc0d47b19
+SHA1 (patch-xpcom_reflect_xptcall_md_unix_xptcinvoke_arm_netbsd.cpp) = a8f9e48088a09479fe510ca5be584ad71ecaa2f4
+SHA1 (patch-xpcom_reflect_xptcall_md_unix_xptcinvoke_ppc_netbsd.cpp) = 42a82f3fe496b49afada33537b1b1d3dda2e5bf5
+SHA1 (patch-xpcom_reflect_xptcall_md_unix_xptcstubs_arm_netbsd.cpp) = e576e939f7acb44bd7c0fc07d0dddf5bf745d6a6
+SHA1 (patch-xpcom_reflect_xptcall_md_unix_xptcstubs_netbsd_m68k.cpp) = 47bc75f3991964b50f0b2bdb615004cbdcae145f
+SHA1 (patch-xpcom_reflect_xptcall_md_unix_xptcstubs_ppc_linux.cpp) = 60cb1b77d6737663ff4509ef00348ee32ba81e2d
+SHA1 (patch-xpcom_reflect_xptcall_md_unix_xptcstubs_ppc_netbsd.cpp) = 879f5d69d3c52a8ce6bea9373bd32f7c7762c03b
+SHA1 (patch-xpcom_reflect_xptcall_md_unix_xptcstubs_sparc_netbsd.cpp) = e8d15f754261c5e0f99b49b63ba01e339625eb59
+SHA1 (patch-xpcom_reflect_xptcall_md_unix_xptcstubs_sparc_openbsd.cpp) = ef5b28501ebc4e462998f2f28edd883353579789
+SHA1 (patch-xpcom_reflect_xptcall_xptcprivate.h) = 42d708c26969b6749fa14ed790c17dd96ca879d4
+SHA1 (patch-xpcom_reflect_xptcall_xptcstubsdecl.inc) = 0747a1b666494dec8d6005ade8cae8f33e6c928d
diff -r -N -U4 pkgsrc/www/arcticfox.orig/patches/patch-xpcom_reflect_xptcall_genstubs.pl pkgsrc/www/arcticfox/patches/patch-xpcom_reflect_xptcall_genstubs.pl
--- pkgsrc/www/arcticfox.orig/patches/patch-xpcom_reflect_xptcall_genstubs.pl	1970-01-01 01:00:00.000000000 +0100
+++ pkgsrc/www/arcticfox/patches/patch-xpcom_reflect_xptcall_genstubs.pl	2022-04-26 17:47:46.520458854 +0200
@@ -0,0 +1,18 @@
+$NetBSD$
+
+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";
diff -r -N -U4 pkgsrc/www/arcticfox.orig/patches/patch-xpcom_reflect_xptcall_md_unix_moz.build pkgsrc/www/arcticfox/patches/patch-xpcom_reflect_xptcall_md_unix_moz.build
--- pkgsrc/www/arcticfox.orig/patches/patch-xpcom_reflect_xptcall_md_unix_moz.build	1970-01-01 01:00:00.000000000 +0100
+++ pkgsrc/www/arcticfox/patches/patch-xpcom_reflect_xptcall_md_unix_moz.build	2022-04-26 17:47:46.520739832 +0200
@@ -0,0 +1,29 @@
+$NetBSD$
+
+- 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 += [
diff -r -N -U4 pkgsrc/www/arcticfox.orig/patches/patch-xpcom_reflect_xptcall_md_unix_xptcinvoke_arm_netbsd.cpp pkgsrc/www/arcticfox/patches/patch-xpcom_reflect_xptcall_md_unix_xptcinvoke_arm_netbsd.cpp
--- pkgsrc/www/arcticfox.orig/patches/patch-xpcom_reflect_xptcall_md_unix_xptcinvoke_arm_netbsd.cpp	1970-01-01 01:00:00.000000000 +0100
+++ pkgsrc/www/arcticfox/patches/patch-xpcom_reflect_xptcall_md_unix_xptcinvoke_arm_netbsd.cpp	2022-04-26 17:47:46.521022547 +0200
@@ -0,0 +1,18 @@
+$NetBSD$
+
+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;
diff -r -N -U4 pkgsrc/www/arcticfox.orig/patches/patch-xpcom_reflect_xptcall_md_unix_xptcinvoke_ppc_netbsd.cpp pkgsrc/www/arcticfox/patches/patch-xpcom_reflect_xptcall_md_unix_xptcinvoke_ppc_netbsd.cpp
--- pkgsrc/www/arcticfox.orig/patches/patch-xpcom_reflect_xptcall_md_unix_xptcinvoke_ppc_netbsd.cpp	1970-01-01 01:00:00.000000000 +0100
+++ pkgsrc/www/arcticfox/patches/patch-xpcom_reflect_xptcall_md_unix_xptcinvoke_ppc_netbsd.cpp	2022-04-26 17:47:46.521302821 +0200
@@ -0,0 +1,15 @@
+$NetBSD$
+
+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);
diff -r -N -U4 pkgsrc/www/arcticfox.orig/patches/patch-xpcom_reflect_xptcall_md_unix_xptcstubs_arm_netbsd.cpp pkgsrc/www/arcticfox/patches/patch-xpcom_reflect_xptcall_md_unix_xptcstubs_arm_netbsd.cpp
--- pkgsrc/www/arcticfox.orig/patches/patch-xpcom_reflect_xptcall_md_unix_xptcstubs_arm_netbsd.cpp	1970-01-01 01:00:00.000000000 +0100
+++ pkgsrc/www/arcticfox/patches/patch-xpcom_reflect_xptcall_md_unix_xptcstubs_arm_netbsd.cpp	2022-04-26 17:47:46.521584613 +0200
@@ -0,0 +1,55 @@
+$NetBSD$
+
+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;
+ 
diff -r -N -U4 pkgsrc/www/arcticfox.orig/patches/patch-xpcom_reflect_xptcall_md_unix_xptcstubs_netbsd_m68k.cpp pkgsrc/www/arcticfox/patches/patch-xpcom_reflect_xptcall_md_unix_xptcstubs_netbsd_m68k.cpp
--- pkgsrc/www/arcticfox.orig/patches/patch-xpcom_reflect_xptcall_md_unix_xptcstubs_netbsd_m68k.cpp	1970-01-01 01:00:00.000000000 +0100
+++ pkgsrc/www/arcticfox/patches/patch-xpcom_reflect_xptcall_md_unix_xptcstubs_netbsd_m68k.cpp	2022-04-26 17:47:46.521867871 +0200
@@ -0,0 +1,56 @@
+$NetBSD$
+
+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;
+ 
diff -r -N -U4 pkgsrc/www/arcticfox.orig/patches/patch-xpcom_reflect_xptcall_md_unix_xptcstubs_ppc_linux.cpp pkgsrc/www/arcticfox/patches/patch-xpcom_reflect_xptcall_md_unix_xptcstubs_ppc_linux.cpp
--- pkgsrc/www/arcticfox.orig/patches/patch-xpcom_reflect_xptcall_md_unix_xptcstubs_ppc_linux.cpp	1970-01-01 01:00:00.000000000 +0100
+++ pkgsrc/www/arcticfox/patches/patch-xpcom_reflect_xptcall_md_unix_xptcstubs_ppc_linux.cpp	2022-04-26 17:47:46.522148252 +0200
@@ -0,0 +1,20 @@
+$NetBSD$
+
+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();
diff -r -N -U4 pkgsrc/www/arcticfox.orig/patches/patch-xpcom_reflect_xptcall_md_unix_xptcstubs_ppc_netbsd.cpp pkgsrc/www/arcticfox/patches/patch-xpcom_reflect_xptcall_md_unix_xptcstubs_ppc_netbsd.cpp
--- pkgsrc/www/arcticfox.orig/patches/patch-xpcom_reflect_xptcall_md_unix_xptcstubs_ppc_netbsd.cpp	1970-01-01 01:00:00.000000000 +0100
+++ pkgsrc/www/arcticfox/patches/patch-xpcom_reflect_xptcall_md_unix_xptcstubs_ppc_netbsd.cpp	2022-04-26 17:47:46.522456249 +0200
@@ -0,0 +1,57 @@
+$NetBSD$
+
+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;
+ 
diff -r -N -U4 pkgsrc/www/arcticfox.orig/patches/patch-xpcom_reflect_xptcall_md_unix_xptcstubs_sparc_netbsd.cpp pkgsrc/www/arcticfox/patches/patch-xpcom_reflect_xptcall_md_unix_xptcstubs_sparc_netbsd.cpp
--- pkgsrc/www/arcticfox.orig/patches/patch-xpcom_reflect_xptcall_md_unix_xptcstubs_sparc_netbsd.cpp	1970-01-01 01:00:00.000000000 +0100
+++ pkgsrc/www/arcticfox/patches/patch-xpcom_reflect_xptcall_md_unix_xptcstubs_sparc_netbsd.cpp	2022-04-26 17:47:46.522744878 +0200
@@ -0,0 +1,56 @@
+$NetBSD$
+
+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;
+ 
diff -r -N -U4 pkgsrc/www/arcticfox.orig/patches/patch-xpcom_reflect_xptcall_md_unix_xptcstubs_sparc_openbsd.cpp pkgsrc/www/arcticfox/patches/patch-xpcom_reflect_xptcall_md_unix_xptcstubs_sparc_openbsd.cpp
--- pkgsrc/www/arcticfox.orig/patches/patch-xpcom_reflect_xptcall_md_unix_xptcstubs_sparc_openbsd.cpp	1970-01-01 01:00:00.000000000 +0100
+++ pkgsrc/www/arcticfox/patches/patch-xpcom_reflect_xptcall_md_unix_xptcstubs_sparc_openbsd.cpp	2022-04-26 17:47:46.523030197 +0200
@@ -0,0 +1,56 @@
+$NetBSD$
+
+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;
+ 
diff -r -N -U4 pkgsrc/www/arcticfox.orig/patches/patch-xpcom_reflect_xptcall_xptcprivate.h pkgsrc/www/arcticfox/patches/patch-xpcom_reflect_xptcall_xptcprivate.h
--- pkgsrc/www/arcticfox.orig/patches/patch-xpcom_reflect_xptcall_xptcprivate.h	1970-01-01 01:00:00.000000000 +0100
+++ pkgsrc/www/arcticfox/patches/patch-xpcom_reflect_xptcall_xptcprivate.h	2022-04-26 17:47:46.523312152 +0200
@@ -0,0 +1,29 @@
+$NetBSD$
+
+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
diff -r -N -U4 pkgsrc/www/arcticfox.orig/patches/patch-xpcom_reflect_xptcall_xptcstubsdecl.inc pkgsrc/www/arcticfox/patches/patch-xpcom_reflect_xptcall_xptcstubsdecl.inc
--- pkgsrc/www/arcticfox.orig/patches/patch-xpcom_reflect_xptcall_xptcstubsdecl.inc	1970-01-01 01:00:00.000000000 +0100
+++ pkgsrc/www/arcticfox/patches/patch-xpcom_reflect_xptcall_xptcstubsdecl.inc	2022-04-26 17:47:46.523591178 +0200
@@ -0,0 +1,18 @@
+$NetBSD$
+
+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();


Home | Main Index | Thread Index | Old Index