diff options
author | martin <martin@pkgsrc.org> | 2022-05-28 18:31:13 +0000 |
---|---|---|
committer | martin <martin@pkgsrc.org> | 2022-05-28 18:31:13 +0000 |
commit | 65c8ab815ec5acb40c694047e7032e0997dbee3a (patch) | |
tree | c8281e8fe7ccd7f4c2a5d22fa2e14a12fc977fa9 /www | |
parent | e6e3a82cc7ef544bc75bb57387fecce72b4e0e8f (diff) | |
download | pkgsrc-65c8ab815ec5acb40c694047e7032e0997dbee3a.tar.gz |
Make firefox52 build + run on NetBSD/macppc.
Diffstat (limited to 'www')
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); |