Sun Aug 23 22:29:47 2020 UTC ()
Make this build on NetBSD/powerpc:
 * c++ doesn't predefine __ppc__, only __powerpc__.  Compensate.
 * On NetBSD/powerpc, use libatomic for access to 64-bit atomics.
PKGREVISION not bumped; build fix for NetBSD/powerpc, should not affect others.


(he)
diff -r1.9 -r1.10 pkgsrc/lang/mozjs60/Makefile
diff -r1.6 -r1.7 pkgsrc/lang/mozjs60/distinfo
diff -r0 -r1.1 pkgsrc/lang/mozjs60/patches/patch-js_src_jit_AtomicOperations.h
diff -r0 -r1.1 pkgsrc/lang/mozjs60/patches/patch-js_src_jit_none_AtomicOperations-feeling-lucky.h

cvs diff -r1.9 -r1.10 pkgsrc/lang/mozjs60/Attic/Makefile (expand / switch to unified diff)

--- pkgsrc/lang/mozjs60/Attic/Makefile 2020/06/02 08:22:45 1.9
+++ pkgsrc/lang/mozjs60/Attic/Makefile 2020/08/23 22:29:47 1.10
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1# $NetBSD: Makefile,v 1.9 2020/06/02 08:22:45 adam Exp $ 1# $NetBSD: Makefile,v 1.10 2020/08/23 22:29:47 he Exp $
2 2
3DISTNAME= mozjs60_60.8.0.orig 3DISTNAME= mozjs60_60.8.0.orig
4PKGNAME= ${DISTNAME:S/_/-/:S/.orig//} 4PKGNAME= ${DISTNAME:S/_/-/:S/.orig//}
5PKGREVISION= 6 5PKGREVISION= 6
6CATEGORIES= lang 6CATEGORIES= lang
7MASTER_SITES= http://deb.debian.org/debian/pool/main/m/mozjs60/ 7MASTER_SITES= http://deb.debian.org/debian/pool/main/m/mozjs60/
8EXTRACT_SUFX= .tar.xz 8EXTRACT_SUFX= .tar.xz
9 9
10MAINTAINER= pkgsrc-users@NetBSD.org 10MAINTAINER= pkgsrc-users@NetBSD.org
11HOMEPAGE= https://packages.debian.org/unstable/libmozjs-60-0 11HOMEPAGE= https://packages.debian.org/unstable/libmozjs-60-0
12COMMENT= SpiderMonkey JavaScript library (60.x branch) 12COMMENT= SpiderMonkey JavaScript library (60.x branch)
13#LICENSE= # TODO: (see mk/license.mk) 13#LICENSE= # TODO: (see mk/license.mk)
14 14
@@ -46,18 +46,24 @@ PYTHON_VERSIONS_ACCEPTED= 27 @@ -46,18 +46,24 @@ PYTHON_VERSIONS_ACCEPTED= 27
46pre-configure: 46pre-configure:
47 cd ${WRKSRC} && autoconf-2.13 47 cd ${WRKSRC} && autoconf-2.13
48 mkdir ${WRKSRC}/build 48 mkdir ${WRKSRC}/build
49 49
50post-install: 50post-install:
51 cd ${DESTDIR}${PREFIX}/lib && \ 51 cd ${DESTDIR}${PREFIX}/lib && \
52 ${MV} libmozjs-60.so libmozjs-60.so.0.0.0 && \ 52 ${MV} libmozjs-60.so libmozjs-60.so.0.0.0 && \
53 ${LN} -s libmozjs-60.so.0.0.0 libmozjs-60.so.0 && \ 53 ${LN} -s libmozjs-60.so.0.0.0 libmozjs-60.so.0 && \
54 ${LN} -s libmozjs-60.so.0 libmozjs-60.so 54 ${LN} -s libmozjs-60.so.0 libmozjs-60.so
55 ${RM} -f ${DESTDIR}${PREFIX}/lib/libjs_static.ajs 55 ${RM} -f ${DESTDIR}${PREFIX}/lib/libjs_static.ajs
56 ${CHMOD} -x ${DESTDIR}${PREFIX}/include/mozjs-60/js-config.h 56 ${CHMOD} -x ${DESTDIR}${PREFIX}/include/mozjs-60/js-config.h
57 ${CHMOD} -x ${DESTDIR}${PREFIX}/lib/pkgconfig/mozjs-60.pc 57 ${CHMOD} -x ${DESTDIR}${PREFIX}/lib/pkgconfig/mozjs-60.pc
58 58
 59.include "../../mk/bsd.prefs.mk"
 60
 61.if !empty(MACHINE_PLATFORM:MNetBSD-*-powerpc)
 62# 64 bit atomics
 63.include "../../devel/libatomic/buildlink3.mk"
 64.endif
59.include "../../devel/zlib/buildlink3.mk" 65.include "../../devel/zlib/buildlink3.mk"
60.include "../../lang/python/tool.mk" 66.include "../../lang/python/tool.mk"
61.include "../../textproc/icu/buildlink3.mk" 67.include "../../textproc/icu/buildlink3.mk"
62.include "../../mk/readline.buildlink3.mk" 68.include "../../mk/readline.buildlink3.mk"
63.include "../../mk/bsd.pkg.mk" 69.include "../../mk/bsd.pkg.mk"

cvs diff -r1.6 -r1.7 pkgsrc/lang/mozjs60/Attic/distinfo (expand / switch to unified diff)

--- pkgsrc/lang/mozjs60/Attic/distinfo 2020/05/28 15:26:23 1.6
+++ pkgsrc/lang/mozjs60/Attic/distinfo 2020/08/23 22:29:47 1.7
@@ -1,19 +1,21 @@ @@ -1,19 +1,21 @@
1$NetBSD: distinfo,v 1.6 2020/05/28 15:26:23 triaxx Exp $ 1$NetBSD: distinfo,v 1.7 2020/08/23 22:29:47 he Exp $
2 2
3SHA1 (mozjs60_60.8.0.orig.tar.xz) = b66207ee477c110995029f173e6b026f2e013591 3SHA1 (mozjs60_60.8.0.orig.tar.xz) = b66207ee477c110995029f173e6b026f2e013591
4RMD160 (mozjs60_60.8.0.orig.tar.xz) = fef033969a51dc56c84669d33401f60bd499de6d 4RMD160 (mozjs60_60.8.0.orig.tar.xz) = fef033969a51dc56c84669d33401f60bd499de6d
5SHA512 (mozjs60_60.8.0.orig.tar.xz) = ad4d5d17824b1d0e50fc43a56cb5ffe022ffd150ce0e4af4e57326b8c1a8688c90da72c156122f637f558300b1caeb2f50d0bc83a1a12455fed3be656dd8c5be 5SHA512 (mozjs60_60.8.0.orig.tar.xz) = ad4d5d17824b1d0e50fc43a56cb5ffe022ffd150ce0e4af4e57326b8c1a8688c90da72c156122f637f558300b1caeb2f50d0bc83a1a12455fed3be656dd8c5be
6Size (mozjs60_60.8.0.orig.tar.xz) = 25294372 bytes 6Size (mozjs60_60.8.0.orig.tar.xz) = 25294372 bytes
7SHA1 (patch-.._.._config_rules.mk) = cf3421d991e1cbfab4c0cdcb7b648b1388fa32d5 7SHA1 (patch-.._.._config_rules.mk) = cf3421d991e1cbfab4c0cdcb7b648b1388fa32d5
8SHA1 (patch-.._.._python_mozbuild_mozbuild_backend_recursivemake.py) = dda670432e5673c5d28dcf6c4902d4a724e71170 8SHA1 (patch-.._.._python_mozbuild_mozbuild_backend_recursivemake.py) = dda670432e5673c5d28dcf6c4902d4a724e71170
9SHA1 (patch-.._.._python_mozbuild_mozbuild_virtualenv.py) = 231d96ae8f66da1db36a4371c28d97a4db4c0f5c 9SHA1 (patch-.._.._python_mozbuild_mozbuild_virtualenv.py) = 231d96ae8f66da1db36a4371c28d97a4db4c0f5c
10SHA1 (patch-.._public_TypeDecls.h) = 846e0707755cbe7e97cc380f66bfe6da0daf996e 10SHA1 (patch-.._public_TypeDecls.h) = 846e0707755cbe7e97cc380f66bfe6da0daf996e
11SHA1 (patch-gc_Memory.cpp) = ba865bee4b99ce6298404b41b465b281fd23555f 11SHA1 (patch-gc_Memory.cpp) = ba865bee4b99ce6298404b41b465b281fd23555f
 12SHA1 (patch-js_src_jit_AtomicOperations.h) = fc9ff5be98f045500675a73c34eaa9855cea2bec
 13SHA1 (patch-js_src_jit_none_AtomicOperations-feeling-lucky.h) = 06108aad94437a12b2b80491dab917fe4bb0de37
12SHA1 (patch-jsdate.cpp) = f9314460476ffbc00fe85a75bddc964807d0153f 14SHA1 (patch-jsdate.cpp) = f9314460476ffbc00fe85a75bddc964807d0153f
13SHA1 (patch-threading_posix_Thread.cpp) = c48a642fa98d8112c149142a4af4ac633d3ae332 15SHA1 (patch-threading_posix_Thread.cpp) = c48a642fa98d8112c149142a4af4ac633d3ae332
14SHA1 (patch-util_NativeStack.cpp) = 68d2d80291a856c74bac2e6870317f143bb61355 16SHA1 (patch-util_NativeStack.cpp) = 68d2d80291a856c74bac2e6870317f143bb61355
15SHA1 (patch-vm_JSONPrinter.cpp) = 384f26d9602844a3a586184c8971d48a07453645 17SHA1 (patch-vm_JSONPrinter.cpp) = 384f26d9602844a3a586184c8971d48a07453645
16SHA1 (patch-vm_JSONPrinter.h) = b92c335185886f79d15f2d9d348bf10e4a714c6e 18SHA1 (patch-vm_JSONPrinter.h) = b92c335185886f79d15f2d9d348bf10e4a714c6e
17SHA1 (patch-vm_Time.cpp) = 5c08e7b3997055c50f40aadcaefb81628cf1133c 19SHA1 (patch-vm_Time.cpp) = 5c08e7b3997055c50f40aadcaefb81628cf1133c
18SHA1 (patch-vm_Time.h) = 1dbc623a9b5e249d84bffd1b036feb7b6a54ce75 20SHA1 (patch-vm_Time.h) = 1dbc623a9b5e249d84bffd1b036feb7b6a54ce75
19SHA1 (patch-wasm_WasmSignalHandlers.cpp) = 9023ead4639414ab0ca6641191dcb1a9aab1298a 21SHA1 (patch-wasm_WasmSignalHandlers.cpp) = 9023ead4639414ab0ca6641191dcb1a9aab1298a

File Added: pkgsrc/lang/mozjs60/patches/Attic/patch-js_src_jit_AtomicOperations.h
$NetBSD: patch-js_src_jit_AtomicOperations.h,v 1.1 2020/08/23 22:29:47 he Exp $

Oddly, C++ on NetBSD/powerpc doesn't predefine __ppc__, only __powerpc__.

--- jit/AtomicOperations.h.orig	2019-07-01 09:07:41.000000000 +0000
+++ jit/AtomicOperations.h
@@ -378,7 +378,7 @@ inline bool AtomicOperations::isLockfree
 #else
 #error "No AtomicOperations support for this platform+compiler combination"
 #endif
-#elif defined(__ppc__) || defined(__PPC__)
+#elif defined(__ppc__) || defined(__PPC__) || defined(__powerpc__)
 #include "jit/none/AtomicOperations-feeling-lucky.h"
 #elif defined(__sparc__)
 #include "jit/none/AtomicOperations-feeling-lucky.h"

File Added: pkgsrc/lang/mozjs60/patches/Attic/patch-js_src_jit_none_AtomicOperations-feeling-lucky.h
$NetBSD: patch-js_src_jit_none_AtomicOperations-feeling-lucky.h,v 1.1 2020/08/23 22:29:47 he Exp $

C++ on NetBSD/powerpc doesn't predefine __ppc__, only __powerpc__.  Compensate.

--- jit/none/AtomicOperations-feeling-lucky.h.orig	2019-07-01 09:07:41.000000000 +0000
+++ jit/none/AtomicOperations-feeling-lucky.h
@@ -39,7 +39,7 @@
 // want WebAssembly support you can always just lie about the lock-freedom.
 // After all, you're already feeling lucky.
 
-#if defined(__ppc__) || defined(__PPC__)
+#if defined(__ppc__) || defined(__PPC__) || defined(__powerpc__)
 #define GNUC_COMPATIBLE
 #endif