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.diff -r1.9 -r1.10 pkgsrc/lang/mozjs60/Makefile
(he)
@@ -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 | |||
3 | DISTNAME= mozjs60_60.8.0.orig | 3 | DISTNAME= mozjs60_60.8.0.orig | |
4 | PKGNAME= ${DISTNAME:S/_/-/:S/.orig//} | 4 | PKGNAME= ${DISTNAME:S/_/-/:S/.orig//} | |
5 | PKGREVISION= 6 | 5 | PKGREVISION= 6 | |
6 | CATEGORIES= lang | 6 | CATEGORIES= lang | |
7 | MASTER_SITES= http://deb.debian.org/debian/pool/main/m/mozjs60/ | 7 | MASTER_SITES= http://deb.debian.org/debian/pool/main/m/mozjs60/ | |
8 | EXTRACT_SUFX= .tar.xz | 8 | EXTRACT_SUFX= .tar.xz | |
9 | 9 | |||
10 | MAINTAINER= pkgsrc-users@NetBSD.org | 10 | MAINTAINER= pkgsrc-users@NetBSD.org | |
11 | HOMEPAGE= https://packages.debian.org/unstable/libmozjs-60-0 | 11 | HOMEPAGE= https://packages.debian.org/unstable/libmozjs-60-0 | |
12 | COMMENT= SpiderMonkey JavaScript library (60.x branch) | 12 | COMMENT= 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 | |||
46 | pre-configure: | 46 | pre-configure: | |
47 | cd ${WRKSRC} && autoconf-2.13 | 47 | cd ${WRKSRC} && autoconf-2.13 | |
48 | mkdir ${WRKSRC}/build | 48 | mkdir ${WRKSRC}/build | |
49 | 49 | |||
50 | post-install: | 50 | post-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" |
@@ -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 | |||
3 | SHA1 (mozjs60_60.8.0.orig.tar.xz) = b66207ee477c110995029f173e6b026f2e013591 | 3 | SHA1 (mozjs60_60.8.0.orig.tar.xz) = b66207ee477c110995029f173e6b026f2e013591 | |
4 | RMD160 (mozjs60_60.8.0.orig.tar.xz) = fef033969a51dc56c84669d33401f60bd499de6d | 4 | RMD160 (mozjs60_60.8.0.orig.tar.xz) = fef033969a51dc56c84669d33401f60bd499de6d | |
5 | SHA512 (mozjs60_60.8.0.orig.tar.xz) = ad4d5d17824b1d0e50fc43a56cb5ffe022ffd150ce0e4af4e57326b8c1a8688c90da72c156122f637f558300b1caeb2f50d0bc83a1a12455fed3be656dd8c5be | 5 | SHA512 (mozjs60_60.8.0.orig.tar.xz) = ad4d5d17824b1d0e50fc43a56cb5ffe022ffd150ce0e4af4e57326b8c1a8688c90da72c156122f637f558300b1caeb2f50d0bc83a1a12455fed3be656dd8c5be | |
6 | Size (mozjs60_60.8.0.orig.tar.xz) = 25294372 bytes | 6 | Size (mozjs60_60.8.0.orig.tar.xz) = 25294372 bytes | |
7 | SHA1 (patch-.._.._config_rules.mk) = cf3421d991e1cbfab4c0cdcb7b648b1388fa32d5 | 7 | SHA1 (patch-.._.._config_rules.mk) = cf3421d991e1cbfab4c0cdcb7b648b1388fa32d5 | |
8 | SHA1 (patch-.._.._python_mozbuild_mozbuild_backend_recursivemake.py) = dda670432e5673c5d28dcf6c4902d4a724e71170 | 8 | SHA1 (patch-.._.._python_mozbuild_mozbuild_backend_recursivemake.py) = dda670432e5673c5d28dcf6c4902d4a724e71170 | |
9 | SHA1 (patch-.._.._python_mozbuild_mozbuild_virtualenv.py) = 231d96ae8f66da1db36a4371c28d97a4db4c0f5c | 9 | SHA1 (patch-.._.._python_mozbuild_mozbuild_virtualenv.py) = 231d96ae8f66da1db36a4371c28d97a4db4c0f5c | |
10 | SHA1 (patch-.._public_TypeDecls.h) = 846e0707755cbe7e97cc380f66bfe6da0daf996e | 10 | SHA1 (patch-.._public_TypeDecls.h) = 846e0707755cbe7e97cc380f66bfe6da0daf996e | |
11 | SHA1 (patch-gc_Memory.cpp) = ba865bee4b99ce6298404b41b465b281fd23555f | 11 | SHA1 (patch-gc_Memory.cpp) = ba865bee4b99ce6298404b41b465b281fd23555f | |
12 | SHA1 (patch-js_src_jit_AtomicOperations.h) = fc9ff5be98f045500675a73c34eaa9855cea2bec | |||
13 | SHA1 (patch-js_src_jit_none_AtomicOperations-feeling-lucky.h) = 06108aad94437a12b2b80491dab917fe4bb0de37 | |||
12 | SHA1 (patch-jsdate.cpp) = f9314460476ffbc00fe85a75bddc964807d0153f | 14 | SHA1 (patch-jsdate.cpp) = f9314460476ffbc00fe85a75bddc964807d0153f | |
13 | SHA1 (patch-threading_posix_Thread.cpp) = c48a642fa98d8112c149142a4af4ac633d3ae332 | 15 | SHA1 (patch-threading_posix_Thread.cpp) = c48a642fa98d8112c149142a4af4ac633d3ae332 | |
14 | SHA1 (patch-util_NativeStack.cpp) = 68d2d80291a856c74bac2e6870317f143bb61355 | 16 | SHA1 (patch-util_NativeStack.cpp) = 68d2d80291a856c74bac2e6870317f143bb61355 | |
15 | SHA1 (patch-vm_JSONPrinter.cpp) = 384f26d9602844a3a586184c8971d48a07453645 | 17 | SHA1 (patch-vm_JSONPrinter.cpp) = 384f26d9602844a3a586184c8971d48a07453645 | |
16 | SHA1 (patch-vm_JSONPrinter.h) = b92c335185886f79d15f2d9d348bf10e4a714c6e | 18 | SHA1 (patch-vm_JSONPrinter.h) = b92c335185886f79d15f2d9d348bf10e4a714c6e | |
17 | SHA1 (patch-vm_Time.cpp) = 5c08e7b3997055c50f40aadcaefb81628cf1133c | 19 | SHA1 (patch-vm_Time.cpp) = 5c08e7b3997055c50f40aadcaefb81628cf1133c | |
18 | SHA1 (patch-vm_Time.h) = 1dbc623a9b5e249d84bffd1b036feb7b6a54ce75 | 20 | SHA1 (patch-vm_Time.h) = 1dbc623a9b5e249d84bffd1b036feb7b6a54ce75 | |
19 | SHA1 (patch-wasm_WasmSignalHandlers.cpp) = 9023ead4639414ab0ca6641191dcb1a9aab1298a | 21 | SHA1 (patch-wasm_WasmSignalHandlers.cpp) = 9023ead4639414ab0ca6641191dcb1a9aab1298a |
$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"
$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