summaryrefslogtreecommitdiff
path: root/www
diff options
context:
space:
mode:
authormartin <martin@pkgsrc.org>2022-05-28 18:31:13 +0000
committermartin <martin@pkgsrc.org>2022-05-28 18:31:13 +0000
commit65c8ab815ec5acb40c694047e7032e0997dbee3a (patch)
treec8281e8fe7ccd7f4c2a5d22fa2e14a12fc977fa9 /www
parente6e3a82cc7ef544bc75bb57387fecce72b4e0e8f (diff)
downloadpkgsrc-65c8ab815ec5acb40c694047e7032e0997dbee3a.tar.gz
Make firefox52 build + run on NetBSD/macppc.
Diffstat (limited to 'www')
-rw-r--r--www/firefox52/distinfo7
-rw-r--r--www/firefox52/patches/patch-gfx-ycbcr-chromium_types.h15
-rw-r--r--www/firefox52/patches/patch-js-src-jit-AtomicOperations.h24
-rw-r--r--www/firefox52/patches/patch-xpcom_reflect_xptcall_md_unix_moz.build27
-rw-r--r--www/firefox52/patches/patch-xpcom_reflect_xptcall_md_unix_xptcinvoke__asm__ppc__netbsd.s25
-rw-r--r--www/firefox52/patches/patch-xpcom_reflect_xptcall_md_unix_xptcinvoke__ppc__netbsd.cpp47
6 files changed, 70 insertions, 75 deletions
diff --git a/www/firefox52/distinfo b/www/firefox52/distinfo
index 183ad9911ac..552930c5a28 100644
--- a/www/firefox52/distinfo
+++ b/www/firefox52/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.31 2021/10/26 11:29:26 nia Exp $
+$NetBSD: distinfo,v 1.32 2022/05/28 18:31:13 martin Exp $
BLAKE2s (firefox-52.9.0esr.source.tar.xz) = 68da851ecfe1b03231157bf79732865d3cf81b7c10128a2e2a9e6e7be3963348
SHA512 (firefox-52.9.0esr.source.tar.xz) = bfca42668ca78a12a9fb56368f4aae5334b1f7a71966fbba4c32b9c5e6597aac79a6e340ac3966779d2d5563eb47c054ab33cc40bfb7306172138ccbd3adb2b9
@@ -35,6 +35,7 @@ SHA1 (patch-dom_media_platforms_ffmpeg_ffvpx_FFVPXRuntimeLinker.cpp) = 34c89f93b
SHA1 (patch-dom_plugins_ipc_PluginModuleChild.cpp) = 9961e956016f274a1b9b52b489bd749e8e2bbcb6
SHA1 (patch-dom_plugins_ipc_PluginModuleChild.h) = 15c01df2fa7f989b533ef769ce77438b5e9bfdb9
SHA1 (patch-dom_system_OSFileConstants.cpp) = e932ca46cbc78eb8486b9ff704434a962645c6b2
+SHA1 (patch-gfx-ycbcr-chromium_types.h) = 769240a99b0e0425a33a0a95e8ddf1ee0ee1d771
SHA1 (patch-gfx_2d_DataSurfaceHelpers.cpp) = e18b002f51fc0a191d579fa49025aac2c5000d81
SHA1 (patch-gfx_2d_HelpersCairo.h) = f910d634624fdf288a042c2a0c636598103ef289
SHA1 (patch-gfx_cairo_libpixman_src_pixman-arm-neon-asm.S) = 6e91ca436b73affe42ed4e683b3400beb28c4bc6
@@ -64,6 +65,7 @@ SHA1 (patch-ipc_chromium_src_base_time__posix.cc) = ba4e0872490f870e7d2f468e1fe8
SHA1 (patch-ipc_chromium_src_build_build__config.h) = 9e4f15226c494f5015dbea3a0df6af851449ae15
SHA1 (patch-ipc_chromium_src_chrome_common_transport__dib.h) = 33ea11a8c23f2fefcb318342ac9e94d3885cb3b1
SHA1 (patch-ipc_glue_GeckoChildProcessHost.cpp) = b9c202645a4b6f691a6eb81ef0daf4278d10dcc4
+SHA1 (patch-js-src-jit-AtomicOperations.h) = 191c3a6711410a67e4dbcb953e2169a0524476cf
SHA1 (patch-js_src_jit_ProcessExecutableMemory.cpp) = b2a34e470e4fc789f777aa101a5911e19d56dc26
SHA1 (patch-js_src_jit_arm_Architecture-arm.cpp) = f0b554c169643b8447b4f29168d61ea257b18782
SHA1 (patch-js_src_jit_none_AtomicOperations-sparc.h) = b44992a869d6d08809a9edc28f1ad6f40632d392
@@ -120,11 +122,10 @@ SHA1 (patch-toolkit_xre_nsEmbedFunctions.cpp) = 4db0dfc98ffeb09f524a471e6a727f2c
SHA1 (patch-xpcom_base_nscore.h) = d7c96eda884d7f370442749c43caba50da61bbe4
SHA1 (patch-xpcom_build_XPCOMInit.cpp) = 1e7cc3a7fd9515b10307fafa2b01ed689320bd54
SHA1 (patch-xpcom_reflect_xptcall_md_unix_Makefile.in) = 950874fbc255c93a828bddd84ffe8478094214cc
+SHA1 (patch-xpcom_reflect_xptcall_md_unix_moz.build) = b62af604ca0f409ecfba20c13a3deead54787192
SHA1 (patch-xpcom_reflect_xptcall_md_unix_xptcinvoke__arm__netbsd.cpp) = 493d1433ae72bbd0c65ab3f51de43fb864a6f58d
SHA1 (patch-xpcom_reflect_xptcall_md_unix_xptcinvoke__asm__mips.S) = f310105510bb5fa6c6de122ebdebbfa18423d8d3
-SHA1 (patch-xpcom_reflect_xptcall_md_unix_xptcinvoke__asm__ppc__netbsd.s) = 8e367d4d0baf24714ee80449fc8d6849ff08ca1c
SHA1 (patch-xpcom_reflect_xptcall_md_unix_xptcinvoke__netbsd__m68k.cpp) = b6dc5d54eeaa908d914116429e61f4b65a6a5f8e
-SHA1 (patch-xpcom_reflect_xptcall_md_unix_xptcinvoke__ppc__netbsd.cpp) = 71a33723a557a6153405f6baec8404b25f841608
SHA1 (patch-xpcom_reflect_xptcall_md_unix_xptcinvoke__sparc64__netbsd.cpp) = 0792c2c626d906e71c5183994cb32bf8cdb3e239
SHA1 (patch-xpcom_reflect_xptcall_md_unix_xptcstubs__arm__netbsd.cpp) = 3a902eb9a23b3b5737f3c8cb5f96a5ad9a98a189
SHA1 (patch-xpcom_reflect_xptcall_md_unix_xptcstubs__asm__mips.S) = 79a4686d368132aff804f217baa685b2e06bc396
diff --git a/www/firefox52/patches/patch-gfx-ycbcr-chromium_types.h b/www/firefox52/patches/patch-gfx-ycbcr-chromium_types.h
new file mode 100644
index 00000000000..4ff4ee8cafa
--- /dev/null
+++ b/www/firefox52/patches/patch-gfx-ycbcr-chromium_types.h
@@ -0,0 +1,15 @@
+$NetBSD: patch-gfx-ycbcr-chromium_types.h,v 1.1 2022/05/28 18:31:13 martin Exp $
+
+Add preprocessor defines used by gcc/clang on NetBSD for powerpc.
+
+--- gfx/ycbcr/chromium_types.h.orig 2017-04-11 04:13:08.000000000 +0200
++++ gfx/ycbcr/chromium_types.h 2022-05-27 16:59:08.068703784 +0200
+@@ -27,7 +27,7 @@
+ #define ARCH_CPU_ARM_FAMILY 1
+ #define ARCH_CPU_ARMEL 1
+ #define ARCH_CPU_32_BITS 1
+-#elif defined(__ppc__) || defined(__powerpc) || defined(__PPC__)
++#elif defined(__ppc__) || defined(__powerpc) || defined(__powerpc__) || defined(__PPC__)
+ #define ARCH_CPU_PPC_FAMILY 1
+ #define ARCH_CPU_PPC 1
+ #define ARCH_CPU_32_BITS 1
diff --git a/www/firefox52/patches/patch-js-src-jit-AtomicOperations.h b/www/firefox52/patches/patch-js-src-jit-AtomicOperations.h
new file mode 100644
index 00000000000..6d55f056397
--- /dev/null
+++ b/www/firefox52/patches/patch-js-src-jit-AtomicOperations.h
@@ -0,0 +1,24 @@
+$NetBSD: patch-js-src-jit-AtomicOperations.h,v 1.1 2022/05/28 18:31:13 martin Exp $
+
+Add preprocessor defines used by gcc/clang on NetBSD for powerpc.
+
+--- js/src/jit/AtomicOperations.h.orig 2017-04-11 04:13:15.000000000 +0200
++++ js/src/jit/AtomicOperations.h 2022-05-28 20:07:39.621923780 +0200
+@@ -326,7 +326,7 @@ AtomicOperations::isLockfree(int32_t siz
+ # include "jit/arm64/AtomicOperations-arm64.h"
+ #elif defined(JS_CODEGEN_MIPS32) || defined(JS_CODEGEN_MIPS64)
+ # include "jit/mips-shared/AtomicOperations-mips-shared.h"
+-#elif defined(__ppc__) || defined(__PPC__)
++#elif defined(__ppc__) || defined(__PPC__) || defined(__powerpc__)
+ # include "jit/none/AtomicOperations-ppc.h"
+ #elif defined(__sparc__)
+ # include "jit/none/AtomicOperations-sparc.h"
+@@ -337,7 +337,7 @@ AtomicOperations::isLockfree(int32_t siz
+ // C++ realizations of atomics. These operations cannot be written
+ // in portable C++, hence the default here is to crash. See the
+ // top of the file for more guidance.
+-# if defined(__ppc64__) || defined(__PPC64__) || defined(__ppc64le__) || defined(__PPC64LE__)
++# if defined(__ppc64__) || defined(__PPC64__) || defined(__ppc64le__) || defined(__PPC64LE__) || defined(__powerpc__)
+ # include "jit/none/AtomicOperations-ppc.h"
+ # elif defined(__aarch64__)
+ # include "jit/arm64/AtomicOperations-arm64.h"
diff --git a/www/firefox52/patches/patch-xpcom_reflect_xptcall_md_unix_moz.build b/www/firefox52/patches/patch-xpcom_reflect_xptcall_md_unix_moz.build
new file mode 100644
index 00000000000..2bb8d3a0daa
--- /dev/null
+++ b/www/firefox52/patches/patch-xpcom_reflect_xptcall_md_unix_moz.build
@@ -0,0 +1,27 @@
+$NetBSD: patch-xpcom_reflect_xptcall_md_unix_moz.build,v 1.1 2022/05/28 18:31:13 martin 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-02-03 04:20:33.000000000 +0000
++++ xpcom/reflect/xptcall/md/unix/moz.build
+@@ -215,13 +215,14 @@ if CONFIG['OS_TEST'] in ('powerpc64', 'p
+ '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':
diff --git a/www/firefox52/patches/patch-xpcom_reflect_xptcall_md_unix_xptcinvoke__asm__ppc__netbsd.s b/www/firefox52/patches/patch-xpcom_reflect_xptcall_md_unix_xptcinvoke__asm__ppc__netbsd.s
deleted file mode 100644
index b71d8ef154e..00000000000
--- a/www/firefox52/patches/patch-xpcom_reflect_xptcall_md_unix_xptcinvoke__asm__ppc__netbsd.s
+++ /dev/null
@@ -1,25 +0,0 @@
-$NetBSD: patch-xpcom_reflect_xptcall_md_unix_xptcinvoke__asm__ppc__netbsd.s,v 1.1 2017/04/27 01:55:57 ryoon Exp $
-
---- xpcom/reflect/xptcall/md/unix/xptcinvoke_asm_ppc_netbsd.s.orig 2014-10-11 09:06:50.000000000 +0000
-+++ xpcom/reflect/xptcall/md/unix/xptcinvoke_asm_ppc_netbsd.s
-@@ -20,15 +20,15 @@
-
- .section ".text"
- .align 2
-- .globl XPTC_InvokeByIndex
-- .type XPTC_InvokeByIndex,@function
-+ .globl NS_InvokeByIndex_P
-+ .type NS_InvokeByIndex_P,@function
-
- #
--# XPTC_InvokeByIndex(nsISupports* that, uint32_t methodIndex,
--# uint32_t paramCount, nsXPTCVariant* params)
-+# NS_InvokeByIndex_P(nsISupports* that, PRUint32 methodIndex,
-+# PRUint32 paramCount, nsXPTCVariant* params)
- #
-
--XPTC_InvokeByIndex:
-+NS_InvokeByIndex_P:
- stwu sp,-32(sp) # setup standard stack frame
- mflr r0 # save LR
- stw r3,8(sp) # r3 <= that
diff --git a/www/firefox52/patches/patch-xpcom_reflect_xptcall_md_unix_xptcinvoke__ppc__netbsd.cpp b/www/firefox52/patches/patch-xpcom_reflect_xptcall_md_unix_xptcinvoke__ppc__netbsd.cpp
deleted file mode 100644
index f7e30f8eb1c..00000000000
--- a/www/firefox52/patches/patch-xpcom_reflect_xptcall_md_unix_xptcinvoke__ppc__netbsd.cpp
+++ /dev/null
@@ -1,47 +0,0 @@
-$NetBSD: patch-xpcom_reflect_xptcall_md_unix_xptcinvoke__ppc__netbsd.cpp,v 1.1 2017/04/27 01:55:57 ryoon Exp $
-
---- xpcom/reflect/xptcall/md/unix/xptcinvoke_ppc_netbsd.cpp.orig 2014-10-11 09:06:50.000000000 +0000
-+++ xpcom/reflect/xptcall/md/unix/xptcinvoke_ppc_netbsd.cpp
-@@ -5,9 +5,9 @@
-
- // Platform specific code to invoke XPCOM methods on native objects
-
--// The purpose of XPTC_InvokeByIndex() is to map a platform
-+// The purpose of NS_InvokeByIndex_P() is to map a platform
- // indepenpent call to the platform ABI. To do that,
--// XPTC_InvokeByIndex() has to determine the method to call via vtable
-+// NS_InvokeByIndex_P() has to determine the method to call via vtable
- // access. The parameters for the method are read from the
- // nsXPTCVariant* and prepared for the native ABI. For the Linux/PPC
- // ABI this means that the first 8 integral and floating point
-@@ -72,8 +72,10 @@ invoke_copy_to_stack(uint32_t* d,
- if ((uint32_t) d & 4) d++; // doubles are 8-byte aligned on stack
- *((double*) d) = s->val.d;
- d += 2;
-+#if __GXX_ABI_VERSION < 100
- if (gpr < GPR_COUNT)
- gpr += 2;
-+#endif
- }
- }
- else if (!s->IsPtrData() && s->type == nsXPTType::T_FLOAT) {
-@@ -82,8 +84,10 @@ invoke_copy_to_stack(uint32_t* d,
- else {
- *((float*) d) = s->val.f;
- d += 1;
-+#if __GXX_ABI_VERSION < 100
- if (gpr < GPR_COUNT)
- gpr += 1;
-+#endif
- }
- }
- else if (!s->IsPtrData() && (s->type == nsXPTType::T_I64
-@@ -110,6 +114,6 @@ invoke_copy_to_stack(uint32_t* d,
- }
-
- extern "C"
--XPTC_PUBLIC_API(nsresult)
--XPTC_InvokeByIndex(nsISupports* that, uint32_t methodIndex,
-+EXPORT_XPCOM_API(nsresult)
-+NS_InvokeByIndex_P(nsISupports* that, PRUint32 methodIndex,
- uint32_t paramCount, nsXPTCVariant* params);