<pre style='margin:0'>
Christopher Nielsen (mascguy) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/281bcedfde1c9d00b1d58c93a37c50a4c206c071">https://github.com/macports/macports-ports/commit/281bcedfde1c9d00b1d58c93a37c50a4c206c071</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 281bcedfde1 mozjs68: new port
</span>281bcedfde1 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 281bcedfde1c9d00b1d58c93a37c50a4c206c071
</span>Author: Evan Miller <emmiller@gmail.com>
AuthorDate: Sun Feb 6 10:27:12 2022 -0500

<span style='display:block; white-space:pre;color:#404040;'>    mozjs68: new port
</span>---
 lang/mozjs68/Portfile                              | 124 +++++++++++++++++++++
 lang/mozjs68/files/patch-skip-sdk-check.diff       |  11 ++
 .../files/patch-virtualenv-arm64-codesign.diff     |  17 +++
 3 files changed, 152 insertions(+)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/mozjs68/Portfile b/lang/mozjs68/Portfile
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..051039bf936
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/mozjs68/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,124 @@
</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                mozjs68
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version             68.4.2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set version_major   68
</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}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+use_bzip2           yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           rmd160  8f1decdf3b50d6c4cb6f2123497d4ee59b0ebbb8 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  097fb482aa0e57fb117fde6816fbabfedcb862ee81906990363954f47ce93227 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    70569055
</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:python27 \
</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:nspr \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    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++14 compiler to build
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.cxx_standard 2014
</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;'>+    # Once Snow Leopard gets "real Rust", remove the next 3 lines
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_build-replace port:cargo port:mrustc-rust
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.env-append RUSTC=${prefix}/libexec/mrustc-rust/bin/rustc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.env-append CARGO=${prefix}/libexec/mrustc-rust/bin/cargo
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</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          patch-skip-sdk-check.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    patch-virtualenv-arm64-codesign.diff
</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/python2.7
</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;'>+                    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      --with-system-nspr \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --disable-jemalloc \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --disable-readline \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --disable-xcode-checks \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --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;'>+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;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</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(i386) i686-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(i386) "--host=i686-apple-${os.platform}${os.major} --target=i686-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;'>+    if {${build_arch} eq "i386"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            --host=i686-apple-${os.platform}${os.major} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            --target=i686-apple-${os.platform}${os.major}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    } elseif {${build_arch} in "x86_64 ppc ppc64"} {
</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;'>+
</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/mozjs68/files/patch-skip-sdk-check.diff b/lang/mozjs68/files/patch-skip-sdk-check.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..367edebdd61
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/mozjs68/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   2021-09-20 18:53:22.000000000 -0400
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ build/moz.configure/toolchain.configure        2021-09-20 18:53:40.000000000 -0400
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -145,7 +145,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         sdk_max_version = Version('10.15.4')
</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('xcrun', '--show-sdk-path', onerror=lambda: '').rstrip()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             if not sdk:
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/mozjs68/files/patch-virtualenv-arm64-codesign.diff b/lang/mozjs68/files/patch-virtualenv-arm64-codesign.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..b3edd73fa67
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/mozjs68/files/patch-virtualenv-arm64-codesign.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,17 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- third_party/python/virtualenv/virtualenv.py.orig       2021-02-01 22:20:21.000000000 -0600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ third_party/python/virtualenv/virtualenv.py    2021-02-01 22:28:31.000000000 -0600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1339,6 +1339,14 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                              "have Apple's development tools installed")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 raise
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        # For macOS on arm64, the copied binary needs to be ad-hoc codesigned.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        if os.uname()[4] == 'arm64':
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            codesign_cmd = ["codesign", "--sign", "-", "--force",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                           "--preserve-metadata=entitlements,requirements,flags,runtime", py_executable]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            subprocess.call(codesign_cmd)
</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 not is_win:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         # Ensure that 'python', 'pythonX' and 'pythonX.Y' all exist
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         py_exe_version_major = 'python%s' % sys.version_info[0]
</span></pre><pre style='margin:0'>

</pre>