<pre style='margin:0'>
Ken (kencu) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/9b1231a17216f32c2b5506ff10ea082054cc198f">https://github.com/macports/macports-ports/commit/9b1231a17216f32c2b5506ff10ea082054cc198f</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'> new 9b1231a1721 mozjs102: new port
</span>9b1231a1721 is described below
<span style='display:block; white-space:pre;color:#808000;'>commit 9b1231a17216f32c2b5506ff10ea082054cc198f
</span>Author: Evan Miller <emmiller@gmail.com>
AuthorDate: Sat Dec 24 14:36:51 2022 -0500
<span style='display:block; white-space:pre;color:#404040;'> mozjs102: new port
</span>---
lang/mozjs102/Portfile | 115 +++++++++++++++++++++
.../files/patch-mozglue-clock_gettime.diff | 26 +++++
.../mozjs102/files/patch-mozglue-snow-leopard.diff | 24 +++++
lang/mozjs102/files/patch-skip-sdk-check.diff | 11 ++
4 files changed, 176 insertions(+)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/mozjs102/Portfile b/lang/mozjs102/Portfile
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..408413e2230
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/mozjs102/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,115 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim: fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortSystem 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup muniversal 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup legacysupport 1.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# clock_gettime, TARGET_OS_SIMULATOR
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+legacysupport.newest_darwin_requires_legacy 15
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+name mozjs102
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version 102.1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set version_major 102
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+categories lang
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+platforms darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+license {MPL-2 LGPL-2.1+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers nomaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+description JavaScript-C Engine
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+long_description SpiderMonkey is Mozilla's JavaScript engine written in C/C++. \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ It is used in various Mozilla products, including Firefox, \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ and is available under the MPL2.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+homepage https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# build from GNOME releng tarball
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+master_sites https://ftp.gnome.org/pub/GNOME/teams/releng/tarballs-needing-help/mozjs/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# For Rust
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+supported_archs x86_64 arm64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+distname mozjs-${version}gnome1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+use_xz yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums rmd160 fcba3f8001ef8dfa302e5b7e0efb7a33c8d48b7d \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 3c8f4ea278f20539100980beee8dea7520be30603bbcc01c64ff2c1521d6be26 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 136813480
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_build port:autoconf213 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:cargo \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:pkgconfig \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:python310 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:yasm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_lib port:xorg-libX11 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:xorg-libXt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# requires C++17 compiler to build
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.cxx_standard 2017
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Rust components require a MacPorts clang (i.e. one with llvm-config)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.blacklist *gcc* clang macports-clang-3.*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {[regexp {macports-clang-(.*)} ${configure.compiler} -> llvm_ver]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.env-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LLVM_CONFIG=${prefix}/bin/llvm-config-mp-${llvm_ver}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if { ${os.platform} eq "darwin" && ${os.major} < 11 } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_build-append port:cctools
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.env-append AR=${prefix}/bin/ar
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append patch-skip-sdk-check.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ patch-mozglue-clock_gettime.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ patch-mozglue-snow-leopard.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Use absolute path for install_name
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-patch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reinplace "s|@executable_path|${prefix}/lib|g" ${worksrcpath}/config/rules.mk
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.perl /usr/bin/perl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.python ${prefix}/bin/python3.10
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# The combination of JS_STANDALONE=1 and --disable-jemalloc are needed
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# to ensure that mozglue is statically linked.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.env-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ PYTHON3=${configure.python} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ SHELL=/bin/bash \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ JS_STANDALONE=1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.dir ${worksrcpath}/js/src/obj
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.cmd ../configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args --disable-jemalloc \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-readline
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${configure.sdkroot} eq ""} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append --with-macos-sdk=/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append --with-macos-sdk=${configure.sdkroot}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.universal_args-delete --disable-dependency-tracking
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build.env-append SHELL=/bin/bash
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build.dir ${worksrcpath}/js/src/obj
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+destroot.dir ${worksrcpath}/js/src/obj
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # make static lib name version specific to avoid conflict with other mozjs versions
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ move ${destroot}${prefix}/lib/libjs_static.ajs ${destroot}${prefix}/lib/libjs${version_major}_static.ajs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set merger_host(x86_64) x86_64-apple-${os.platform}${os.major}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set merger_host(arm64) arm64-apple-${os.platform}${os.major}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set merger_configure_args(x86_64) "--host=x86_64-apple-${os.platform}${os.major} --target=x86_64-apple-${os.platform}${os.major}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set merger_configure_args(arm64) "--host=arm64-apple-${os.platform}${os.major} --target=arm64-apple-${os.platform}${os.major}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --host=${build_arch}-apple-${os.platform}${os.major} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --target=${build_arch}-apple-${os.platform}${os.major}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+livecheck.type none
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/mozjs102/files/patch-mozglue-clock_gettime.diff b/lang/mozjs102/files/patch-mozglue-clock_gettime.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..08800524129
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/mozjs102/files/patch-mozglue-clock_gettime.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,26 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+error: use of undeclared identifier 'CLOCK_UPTIME_RAW'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- mozglue/misc/AwakeTimeStamp.cpp.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ mozglue/misc/AwakeTimeStamp.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -58,6 +58,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # include <sys/time.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # include <sys/types.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # include <mach/mach_time.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if defined(__APPLE__) && defined(__MACH__) && defined(CLOCK_UPTIME_RAW)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AwakeTimeStamp AwakeTimeStamp::NowLoRes() {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return AwakeTimeStamp(clock_gettime_nsec_np(CLOCK_UPTIME_RAW) / kNSperUS);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- mozglue/misc/Uptime.cpp.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ mozglue/misc/Uptime.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -32,7 +32,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # include <sys/time.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # include <sys/types.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # include <mach/mach_time.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if defined(__APPLE__) && defined(__MACH__) && defined(CLOCK_UPTIME_RAW) && defined(CLOCK_MONOTONIC_RAW)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ const uint64_t kNSperMS = 1000000;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Maybe<uint64_t> NowExcludingSuspendMs() {
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/mozjs102/files/patch-mozglue-snow-leopard.diff b/lang/mozjs102/files/patch-mozglue-snow-leopard.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..836a85738c1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/mozjs102/files/patch-mozglue-snow-leopard.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,24 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Fix build errors on 10.6
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- mozglue/misc/Mutex_posix.cpp.orig 2022-07-09 14:28:00.000000000 -0400
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ mozglue/misc/Mutex_posix.cpp 2022-07-09 14:31:34.000000000 -0400
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -11,7 +11,10 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <stdio.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if defined(XP_DARWIN)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# include <Availability.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# if __MAC_OS_X_VERSION_MAX_ALLOWED >= 1070
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # include <pthread_spis.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "mozilla/PlatformMutex.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -65,7 +68,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ TRY_CALL_PTHREADS(pthread_mutexattr_settype(&attr, MUTEX_KIND),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "mozilla::detail::MutexImpl::MutexImpl: "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "pthread_mutexattr_settype failed");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# elif defined(POLICY_KIND)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# elif defined(POLICY_KIND) && __MAC_OS_X_VERSION_MAX_ALLOWED >= 101400
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (__builtin_available(macOS 10.14, *)) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ TRY_CALL_PTHREADS(pthread_mutexattr_setpolicy_np(&attr, POLICY_KIND),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "mozilla::detail::MutexImpl::MutexImpl: "
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/mozjs102/files/patch-skip-sdk-check.diff b/lang/mozjs102/files/patch-skip-sdk-check.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..88adec35b6c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/mozjs102/files/patch-skip-sdk-check.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- build/moz.configure/toolchain.configure.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ build/moz.configure/toolchain.configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -95,7 +95,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sdk_min_version = Version("10.12")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if sdk:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- sdk = sdk[0]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return sdk[0]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ elif host.os == "OSX":
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sdk = check_cmd_output(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "xcrun", "--show-sdk-path", onerror=lambda: ""
</span></pre><pre style='margin:0'>
</pre>