Wed Dec 30 06:10:37 2020 UTC ()
mozjs78: further SunOS build fixes

This results in a successful build and a js78 executable that runs in
my test environment (the most recent OmniOS release). However, test
suite execution yields an immediate failure with the message "too much
recursion", so it seems more work is still required here.


(gutteridge)
diff -r1.14 -r1.15 pkgsrc/lang/mozjs78/Makefile
diff -r1.8 -r1.9 pkgsrc/lang/mozjs78/distinfo
diff -r0 -r1.1 pkgsrc/lang/mozjs78/patches/patch-js_src_wasm_WasmSignalHandlers.cpp

cvs diff -r1.14 -r1.15 pkgsrc/lang/mozjs78/Makefile (expand / switch to unified diff)

--- pkgsrc/lang/mozjs78/Makefile 2020/12/14 23:02:53 1.14
+++ pkgsrc/lang/mozjs78/Makefile 2020/12/30 06:10:37 1.15
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1# $NetBSD: Makefile,v 1.14 2020/12/14 23:02:53 gutteridge Exp $ 1# $NetBSD: Makefile,v 1.15 2020/12/30 06:10:37 gutteridge Exp $
2 2
3DISTNAME= mozjs78_78.4.0.orig 3DISTNAME= mozjs78_78.4.0.orig
4PKGNAME= ${DISTNAME:S/_/-/:S/.orig//} 4PKGNAME= ${DISTNAME:S/_/-/:S/.orig//}
5CATEGORIES= lang 5CATEGORIES= lang
6MASTER_SITES= http://deb.debian.org/debian/pool/main/m/mozjs78/ 6MASTER_SITES= http://deb.debian.org/debian/pool/main/m/mozjs78/
7EXTRACT_SUFX= .tar.xz 7EXTRACT_SUFX= .tar.xz
8 8
9MAINTAINER= pkgsrc-users@NetBSD.org 9MAINTAINER= pkgsrc-users@NetBSD.org
10HOMEPAGE= https://mozilla-spidermonkey.github.io/ 10HOMEPAGE= https://mozilla-spidermonkey.github.io/
11COMMENT= SpiderMonkey JavaScript library (78.x branch) 11COMMENT= SpiderMonkey JavaScript library (78.x branch)
12LICENSE= mpl-1.1 12LICENSE= mpl-1.1
13 13
14WRKSRC= ${WRKDIR}/firefox-${PKGVERSION_NOREV} 14WRKSRC= ${WRKDIR}/firefox-${PKGVERSION_NOREV}
@@ -27,26 +27,28 @@ CONFIGURE_ARGS+= --prefix=${PREFIX} @@ -27,26 +27,28 @@ CONFIGURE_ARGS+= --prefix=${PREFIX}
27CONFIGURE_ARGS+= --disable-debug 27CONFIGURE_ARGS+= --disable-debug
28CONFIGURE_ARGS+= --with-system-icu 28CONFIGURE_ARGS+= --with-system-icu
29CONFIGURE_ARGS+= --with-system-zlib 29CONFIGURE_ARGS+= --with-system-zlib
30CONFIGURE_ARGS+= --enable-readline 30CONFIGURE_ARGS+= --enable-readline
31CONFIGURE_ARGS+= --disable-jemalloc 31CONFIGURE_ARGS+= --disable-jemalloc
32CONFIGURE_ARGS+= --disable-debug-symbols 32CONFIGURE_ARGS+= --disable-debug-symbols
33CONFIGURE_ARGS+= --enable-strip 33CONFIGURE_ARGS+= --enable-strip
34CONFIGURE_ARGS+= --with-intl-api 34CONFIGURE_ARGS+= --with-intl-api
35# --disable-optimize 35# --disable-optimize
36# For rustc/cargo detection 36# For rustc/cargo detection
37CONFIGURE_ARGS+= --target=${MACHINE_GNU_PLATFORM} 37CONFIGURE_ARGS+= --target=${MACHINE_GNU_PLATFORM}
38CONFIGURE_ARGS+= --host=${MACHINE_GNU_PLATFORM} 38CONFIGURE_ARGS+= --host=${MACHINE_GNU_PLATFORM}
39 39
 40BUILDLINK_TRANSFORM.SunOS+= rm:-pie
 41
40.include "../../mk/bsd.prefs.mk" 42.include "../../mk/bsd.prefs.mk"
41 43
42.if ${MACHINE_ARCH} == "i386" 44.if ${MACHINE_ARCH} == "i386"
43# 64 bit atomics 45# 64 bit atomics
44CXXFLAGS+= -march=i586 46CXXFLAGS+= -march=i586
45.endif 47.endif
46 48
47# XXX This does not work entirely correctly at present. There are 49# XXX This does not work entirely correctly at present. There are
48# 26 atomic type test failures on powerpc, where these pass on i386. 50# 26 atomic type test failures on powerpc, where these pass on i386.
49.if !empty(MACHINE_PLATFORM:MNetBSD-*-powerpc) 51.if !empty(MACHINE_PLATFORM:MNetBSD-*-powerpc)
50# 64 bit atomics 52# 64 bit atomics
51.include "../../devel/libatomic/buildlink3.mk" 53.include "../../devel/libatomic/buildlink3.mk"
52.endif 54.endif

cvs diff -r1.8 -r1.9 pkgsrc/lang/mozjs78/distinfo (expand / switch to unified diff)

--- pkgsrc/lang/mozjs78/distinfo 2020/12/29 02:04:47 1.8
+++ pkgsrc/lang/mozjs78/distinfo 2020/12/30 06:10:37 1.9
@@ -1,20 +1,21 @@ @@ -1,20 +1,21 @@
1$NetBSD: distinfo,v 1.8 2020/12/29 02:04:47 gutteridge Exp $ 1$NetBSD: distinfo,v 1.9 2020/12/30 06:10:37 gutteridge Exp $
2 2
3SHA1 (mozjs78_78.4.0.orig.tar.xz) = b2c1c241f70310d545f8a3c05b9c8c11676e56a8 3SHA1 (mozjs78_78.4.0.orig.tar.xz) = b2c1c241f70310d545f8a3c05b9c8c11676e56a8
4RMD160 (mozjs78_78.4.0.orig.tar.xz) = cef93b6116eff9f04beeaf3dda0a42cd811d0b18 4RMD160 (mozjs78_78.4.0.orig.tar.xz) = cef93b6116eff9f04beeaf3dda0a42cd811d0b18
5SHA512 (mozjs78_78.4.0.orig.tar.xz) = 05a0dd27cd8f330c69bf798f9025dd560e76a1a14628af4caeeae4f7573aef9371e19edb8a8e4cd28e92e189eb3a159b4ffedb1b1bd4b806e065de433cca6ffd 5SHA512 (mozjs78_78.4.0.orig.tar.xz) = 05a0dd27cd8f330c69bf798f9025dd560e76a1a14628af4caeeae4f7573aef9371e19edb8a8e4cd28e92e189eb3a159b4ffedb1b1bd4b806e065de433cca6ffd
6Size (mozjs78_78.4.0.orig.tar.xz) = 58319040 bytes 6Size (mozjs78_78.4.0.orig.tar.xz) = 58319040 bytes
7SHA1 (patch-build_moz.configure_rust.configure) = 5124e8edc6b7ae319ed68d5d25a1e036b79f8a71 7SHA1 (patch-build_moz.configure_rust.configure) = 5124e8edc6b7ae319ed68d5d25a1e036b79f8a71
8SHA1 (patch-build_moz.configure_toolchain.configure) = 930ed1aec1da8c10c80d8f31dfc5acbf2db31c5f 8SHA1 (patch-build_moz.configure_toolchain.configure) = 930ed1aec1da8c10c80d8f31dfc5acbf2db31c5f
9SHA1 (patch-js_moz.configure) = f3d762b293761e359ac7c389059aa228949a6f0b 9SHA1 (patch-js_moz.configure) = f3d762b293761e359ac7c389059aa228949a6f0b
10SHA1 (patch-js_src_jit_AtomicOperations.h) = 19eba50673f8138bbb09c0eaca63923cadbadd26 10SHA1 (patch-js_src_jit_AtomicOperations.h) = 19eba50673f8138bbb09c0eaca63923cadbadd26
11SHA1 (patch-js_src_jit_ProcessExecutableMemory.cpp) = 84d629df0e7963755aa38ff9a1e29d60ed3adb4c 11SHA1 (patch-js_src_jit_ProcessExecutableMemory.cpp) = 84d629df0e7963755aa38ff9a1e29d60ed3adb4c
12SHA1 (patch-js_src_jsapi-tests_moz.build) = 337c94d88bf5986136deeba1d45ccb933663a1a2 12SHA1 (patch-js_src_jsapi-tests_moz.build) = 337c94d88bf5986136deeba1d45ccb933663a1a2
13SHA1 (patch-js_src_jsfriendapi.h) = f342a88182c1be0d3c0027c91ae94e1d4eac2542 13SHA1 (patch-js_src_jsfriendapi.h) = f342a88182c1be0d3c0027c91ae94e1d4eac2542
14SHA1 (patch-js_src_tests_jstests.py) = f5387b5ee5f8f898e678494befbc00e21fbb7ebb 14SHA1 (patch-js_src_tests_jstests.py) = f5387b5ee5f8f898e678494befbc00e21fbb7ebb
15SHA1 (patch-js_src_threading_posix_PosixThread.cpp) = f734abbd005d0353d4adfe865c215c2b86389bf6 15SHA1 (patch-js_src_threading_posix_PosixThread.cpp) = f734abbd005d0353d4adfe865c215c2b86389bf6
16SHA1 (patch-js_src_util_NativeStack.cpp) = 3354064c4168711aa7f83d88336a902345239649 16SHA1 (patch-js_src_util_NativeStack.cpp) = 3354064c4168711aa7f83d88336a902345239649
17SHA1 (patch-js_src_vm_ArrayBufferObject.cpp) = 155f042eee3a8ff903622860e0a99af1ed776ad5 17SHA1 (patch-js_src_vm_ArrayBufferObject.cpp) = 155f042eee3a8ff903622860e0a99af1ed776ad5
18SHA1 (patch-js_src_vm_JSONPrinter.cpp) = ff89dfe4e73223dda3d5d33e90e8c7bb3ffa3e0e 18SHA1 (patch-js_src_vm_JSONPrinter.cpp) = ff89dfe4e73223dda3d5d33e90e8c7bb3ffa3e0e
19SHA1 (patch-js_src_vm_JSONPrinter.h) = b9f67b29b16d7163aecc0ce9b6939c1308878a44 19SHA1 (patch-js_src_vm_JSONPrinter.h) = b9f67b29b16d7163aecc0ce9b6939c1308878a44
 20SHA1 (patch-js_src_wasm_WasmSignalHandlers.cpp) = 3517e5da142355f1cbe89facaad47953f1985800
20SHA1 (patch-mfbt_tests_TestVariant.cpp) = 586fb67335b497ccadd3960025c44f8630f5476a 21SHA1 (patch-mfbt_tests_TestVariant.cpp) = 586fb67335b497ccadd3960025c44f8630f5476a

File Added: pkgsrc/lang/mozjs78/patches/patch-js_src_wasm_WasmSignalHandlers.cpp
$NetBSD: patch-js_src_wasm_WasmSignalHandlers.cpp,v 1.1 2020/12/30 06:10:37 gutteridge Exp $

Fix SunOS/x86_64 build.

--- js/src/wasm/WasmSignalHandlers.cpp.orig	2020-11-04 10:52:03.000000000 +0000
+++ js/src/wasm/WasmSignalHandlers.cpp
@@ -115,6 +115,7 @@ using mozilla::DebugOnly;
 #    define EBP_sig(p) ((p)->uc_mcontext.gregs[REG_EBP])
 #    define ESP_sig(p) ((p)->uc_mcontext.gregs[REG_ESP])
 #  else
+#    include<sys/regset.h>
 #    define EIP_sig(p) ((p)->uc_mcontext.gregs[REG_PC])
 #    define EBP_sig(p) ((p)->uc_mcontext.gregs[REG_EBP])
 #    define ESP_sig(p) ((p)->uc_mcontext.gregs[REG_ESP])