<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>