<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/8799784ed7e6e20cd82987cf44479cd6db8aa265">https://github.com/macports/macports-ports/commit/8799784ed7e6e20cd82987cf44479cd6db8aa265</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 8799784ed7e6e20cd82987cf44479cd6db8aa265
</span>Author: Kirill A. Korinsky <kirill@korins.ky>
AuthorDate: Thu Feb 10 02:59:54 2022 +0100

<span style='display:block; white-space:pre;color:#404040;'>    mrustc: update to 20220210
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    It also:
</span><span style='display:block; white-space:pre;color:#404040;'>     - switched to rust 1.54.0;
</span><span style='display:block; white-space:pre;color:#404040;'>     - blacklisted unsupported compilers;
</span><span style='display:block; white-space:pre;color:#404040;'>     - added full rust and cargo bootstrap;
</span><span style='display:block; white-space:pre;color:#404040;'>     - fixed build on macOS 10.6;
</span><span style='display:block; white-space:pre;color:#404040;'>     - claim myself as maintainer.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>     See: https://trac.macports.org/ticket/64146
</span>---
 lang/mrustc/Portfile                               | 324 ++++++++++++++++-----
 .../mrustc/files/patch-mrustc-macos-bootstrap.diff | 185 ------------
 .../files/patch-mrustc-macports-compiler.diff      |  13 -
 .../mrustc/files/patch-mrustc-macports-libdir.diff |  14 -
 .../files/patch-mrustc-macports-version.diff       |  13 -
 5 files changed, 257 insertions(+), 292 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/mrustc/Portfile b/lang/mrustc/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 7a5a7f255d5..a331bd0b95b 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/mrustc/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/mrustc/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,104 +1,294 @@
</span> # -*- 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 style='display:block; white-space:pre;background:#ffe0e0;'>-PortSystem      1.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-PortGroup       github 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortSystem          1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup           github 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup           compiler_blacklist_versions 1.0
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-github.setup    thepowersgang mrustc 4bee8893e8f471d315c1d2d9535216b116cdfe23
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.setup        thepowersgang mrustc 15a5cb1f066bd148bd2959c63adb649e7a06e5ce
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-version         20220111
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-revision        0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-categories      lang devel
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-license         MIT
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-maintainers     nomaintainer
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-description     Alternative implementation of Rust
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-supported_archs x86_64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version             20220210
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+categories          lang devel
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+license             MIT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers         {@catap korins.ky:kirill} openmaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+description         Alternative implementation of Rust
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-long_description \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                In-progress alternative rust compiler. Capable of building a \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                fully-working copy of rustc, but not suitable for everyday use \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                (due to inadequate error messages).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+long_description    In-progress alternative rust compiler. Capable of building a \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    fully-working copy of rustc, but not suitable for everyday use \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    (due to inadequate error messages).
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-master_sites-append   https://static.rust-lang.org/dist/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+master_sites-append https://static.rust-lang.org/dist/:rust
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-set rust_version 1.39.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set rust_version    1.54.0
</span> set rust_version_major [join [lrange [split ${rust_version} .-] 0 1] .]
 set rust_version_major_underscore [join [lrange [split ${rust_version} .-] 0 1] _]
<span style='display:block; white-space:pre;background:#ffe0e0;'>-distfiles-append rustc-${rust_version}-src.tar.gz
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums       mrustc-${github.version}.tar.gz \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                rmd160  c16b5b1ceb5f79f61712c22488662a0c68464ea9 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                sha256  28f53fca94ef4edec4f1e37d0d9d3c12bca5b4b867dbb2a62e80692afaee141e \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                size    1173691 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                rustc-${rust_version}-src.tar.gz \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                rmd160  d5b04b87fc336e3be7d592f70de0363aa66622aa \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                sha256  b4a1f6b6a93931f270691aba4fc85eee032fecda973e6b9c774cd06857609357 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                size    152803201
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+distfiles-append    rustc-${rust_version}-src.tar.gz:rust
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-use_configure   no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           mrustc-${github.version}.tar.gz \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    rmd160  f54d1fd8e9b2493e9a81f31d53da0236cefbd786 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  ef0f9f9fefe7e2e1b6798af9077cb01936131a0d493ccf6919d8b4d6fd6f9c63 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    1180689  \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    rustc-${rust_version}-src.tar.gz \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    rmd160  be2de16e2deaf91aee723e631a36f6de52636ddd \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  ac8511633e9b5a65ad030a1a2e5bdaa841fdfe3132f2baaa52cc04e71c6c6976 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    170480637
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# arm64 and i386 requires future patches
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+supported_archs     x86_64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+use_configure       no
</span> 
 compiler.cxx_standard 2014
 compiler.c_standard 2011
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Thread-local storage is not needed to compile mrustc, but is required
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# for compiling Rust files (e.g. the standard library)
</span> compiler.thread_local_storage yes
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# GCC can't be used as a run-time compiler, see
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# https://github.com/thepowersgang/mrustc/issues/214
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.blacklist *gcc*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.blacklist-append {clang < 900} {macports-clang-3.[0-9]} macports-clang-4.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> # A C compiler is needed at run-time; it doesn't have to be the same version as
 # the C++ compiler used to compile mrustc, but we'll use that one as the
 # default, and declare the dependency here
 if { [string match macports-clang-* ${configure.compiler}] } {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    depends_run-append port:[string map {"macports-" ""} ${configure.compiler}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_run-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:[string map {"macports-" ""} ${configure.compiler}]
</span> }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# GCC can't be used as a run-time compiler, see
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# https://github.com/thepowersgang/mrustc/issues/214
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-compiler.blacklist *gcc*
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> # Uncomment the lines below and delete the line above when GCC support is fixed
<span style='display:block; white-space:pre;background:#ffe0e0;'>-#if { [string match macports-gcc-* ${configure.compiler}] } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#   depends_run-append port:[string map {"macports-gcc-" "gcc"} ${configure.compiler}]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# if { [string match macports-gcc-* ${configure.compiler}] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#   depends_run-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#                    port:[string map {"macports-gcc-" "gcc"} ${configure.compiler}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# }
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# https://github.com/thepowersgang/mrustc/pull/192
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles-append patch-mrustc-macos-bootstrap.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_build-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:rust-legacy-bootstrap
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# Set the default MRUSTC_LIBDIR
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles-append patch-mrustc-macports-libdir.diff
</span> post-patch {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    reinplace "s|@MACPORTS_MRUSTC_LIBDIR@|${prefix}/lib/mrustc-${rust_version_major}|" ${worksrcpath}/src/main.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Patch the Rust source code with the patch included with mrustc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    system -W ${workpath}/rustc-${rust_version}-src "patch -p0 < ${worksrcpath}/rustc-${rust_version}-src.patch"
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# Set the default CC
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles-append patch-mrustc-macports-compiler.diff
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-post-patch {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    reinplace "s|@MACPORTS_MRUSTC_CC@|${configure.cc}|" ${worksrcpath}/src/trans/codegen_c.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Patch the Rust with legacy bootsrap patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    system -W ${workpath}/rustc-${rust_version}-src "patch -p1 < ${prefix}/share/rust-legacy-bootstrap/rustc-${rust_version}-src.patch"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    file rename ${workpath}/rustc-${rust_version}-src ${worksrcpath}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # prevent it from re-download src
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    touch ${worksrcpath}/rustc-${rust_version}-src/dl-version
</span> }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# Set the default gTargetVersion
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles-append patch-mrustc-macports-version.diff
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-post-patch {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    reinplace "s|@MACPORTS_MRUSTC_TARGET_VER@|${rust_version_major_underscore}|" ${worksrcpath}/src/main.cpp
</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;'>+    PortGroup       active_variants 1.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # __cxa_thread_atexit is part of libc++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:libcxx
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    require_active_variants \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:libcxx emulated_tls
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    post-patch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # when script-overrides is used it never calls build.rs => help it to setup desire feature
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set script [open "${worksrcpath}/script-overrides/stable-${rust_version}-macos/build_std.txt" a]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        puts ${script} "cargo:rustc-cfg=feature=\"macos_before_10_7\""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        close ${script}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span> }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# Patch the Rust source code with the patch included with mrustc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-post-patch {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    system -W ${workpath}/rustc-${rust_version}-src "patch -p0 < ${worksrcpath}/rustc-${rust_version}-src.patch"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    file rename ${workpath}/rustc-${rust_version}-src ${worksrcpath}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build.env-append    CC=${configure.cc} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    CXX=${configure.cxx} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    CFG_DEFAULT_LINKER=${configure.cxx} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    "CXXFLAGS_EXTRA=${configure.cxxflags} ${configure.universal_cxxflags}" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    "LINKFLAGS_EXTRA=${configure.ldflags} ${configure.universal_ldflags}" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    RUSTC_VERSION=${rust_version} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    MRUSTC_TARGET_VER=${rust_version_major}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# legacysupport PG adds a lot of ENV like CPLUS_INCLUDE_PATH that brokes LLVM build
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# integrate it by hand because I need it only for linkat before macOS 10.10
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${os.platform} eq "darwin" && ${os.major} < 14} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    path:lib/libMacportsLegacySupport.a:legacy-support
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set legacy_lib_name MacportsLegacySupport
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set legacy_lib_path ${prefix}/lib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    build.env-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    RUST_LEGACY_LIBRARY_NAME=${legacy_lib_name} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    RUST_LEGACY_LIBRARY_PATH=${legacy_lib_path}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    post-patch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # when script-overrides is used it never calls build.rs => help it to setup desire feature
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set script [open "${worksrcpath}/script-overrides/stable-${rust_version}-macos/build_std.txt" a]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        puts ${script} "cargo:rustc-link-lib=${legacy_lib_name}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        puts ${script} "cargo:rustc-link-search=${legacy_lib_path}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        close ${script}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span> }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-build {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    system -W ${worksrcpath} "/usr/bin/env CXX=${configure.cxx} CC=${configure.cc} CXXFLAGS_EXTRA='${configure.cxxflags}' ${build.cmd} all"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    system -W ${worksrcpath}/tools/minicargo "/usr/bin/env CXX=${configure.cxx} CC=${configure.cc} ${build.cmd} all"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    system -W ${worksrcpath} "/usr/bin/env CXX=${configure.cxx} CC=${configure.cc} RUSTC_VERSION=${rust_version} RUSTC_TARGET=${build_arch}-apple-darwin MRUSTC_LIBDIR=output-${rust_version} MRUSTC_TARGET_VER=${rust_version_major} ${build.cmd} -f minicargo.mk LIBS"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Step 1: building mrustc, its libs and minicargo
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${subport} eq ${name}} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:zlib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    build.env-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    PARLEVEL=${build.jobs}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Parallel building of libs may cause random failure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # See: https://github.com/thepowersgang/mrustc/issues/225
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    build.target    -f minicargo.mk bin/mrustc bin/minicargo && \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${build.cmd} -C tools/dump_hirfile && \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${build.cmd} -j1 -f minicargo.mk LIBS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        xinstall -d ${destroot}${prefix}/libexec/mrustc/bin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        xinstall -m 0755 -W ${worksrcpath}/bin mrustc minicargo dump_hirfile \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${destroot}${prefix}/libexec/mrustc/bin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # install all .rlib, .rlib.hir and .rlib.o to lib/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        xinstall -d ${destroot}${prefix}/libexec/mrustc/lib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        foreach f [glob -directory ${worksrcpath}/output-${rust_version} lib*.rlib lib*.rlib.hir lib*.rlib.o] {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            xinstall -m 0644 $f ${destroot}${prefix}/libexec/mrustc/lib
</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;'>+        # create a wrapper to run mrustc without setup any ENV
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set mrustc [open "${destroot}${prefix}/bin/mrustc" w 0755]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        puts ${mrustc} "#!/bin/sh"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        puts ${mrustc} "export CC=\"\$\{CC:-${configure.cc}\}\""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        puts ${mrustc} "export MRUSTC_TARGET_VER=\"\$\{MRUSTC_TARGET_VER:-${rust_version_major}\}\""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        puts ${mrustc} "export MRUSTC_LIBDIR=\"\$\{MRUSTC_LIBDIR:-${prefix}/libexec/mrustc/lib\}\""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        puts ${mrustc} "${prefix}/libexec/mrustc/bin/mrustc \$@"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        close ${mrustc}
</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:#ffe0e0;'>-destroot {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -m 0755 -W ${worksrcpath} ./bin/${name} ${destroot}${prefix}/bin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -m 0755 -W ${worksrcpath} ./bin/minicargo ${destroot}${prefix}/bin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    file copy ${worksrcpath}/output-${rust_version} ${destroot}${prefix}/lib/mrustc-${rust_version_major}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Step 2: build a rustc and cargo by mrustc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+subport mrustc-rust {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    PortGroup       openssl 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    description     Rust and cargo which was compiled by mrustc.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    long_description {*}${description}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # cargo is too old to be used with 3.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    openssl.branch  1.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # mrustc produces huge C file with size near of 1Gb
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # and run a few clang to compile it in parallel requires significant amount of RAM.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # build.env-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    #                 PARLEVEL=${build.jobs}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_build-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    bin:git:git \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    path:bin/cmake:cmake \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:cctools \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:gmake \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:mrustc \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:ninja
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:curl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set cmake_opts ""
</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 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:libtool
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set cmake_opts "CMAKE_LIBTOOL=${prefix}/bin/libtool"
</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 { [string match macports-clang-* ${configure.compiler}] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # See: https://github.com/rust-lang/rust/pull/93640
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set cmake_opts "${cmake_opts} LLVM_ENABLE_RTTI=ON"
</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 the system python27 if present
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {${os.platform} eq "darwin" && ${os.major} >= 11 && ${os.major} <= 21} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set pythonfullpath   /usr/bin/python2.7
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set pythonfullpath   ${prefix}/bin/python2.7
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        depends_build-append port:python27
</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;'>+    build.env-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    OPENSSL_DIR=[openssl::install_area] \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    OPENSSL_INCLUDE_DIR=[openssl::include_dir] \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    OPENSSL_LIB_DIR=[openssl::lib_dir] \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    "LLVM_CMAKE_OPTS_EXTRA=PYTHON_EXECUTABLE=${pythonfullpath} ${cmake_opts}" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    MINICARGO=${prefix}/libexec/mrustc/bin/minicargo \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    "MINICARGO_FLAGS=--features curl-sys/force-system-lib-on-osx" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    MRUSTC=${prefix}/libexec/mrustc/bin/mrustc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Parallel building on some stages may cause random failure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # See: https://github.com/thepowersgang/mrustc/issues/225
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # So, it is:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    #  - Builds LLVM in parallel mode
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    #  - Bootstrap everything in single mode
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    build.target    -f minicargo.mk rustc-${rust_version}-src/build/bin/llvm-config && \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${build.cmd} -j1 -C run_rustc all
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        xinstall -d ${destroot}${prefix}/libexec/${subport}/bin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        xinstall -m 0755 ${worksrcpath}/output-${rust_version}/cargo \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${destroot}${prefix}/libexec/${subport}/bin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        xinstall -m 0755 ${worksrcpath}/run_rustc/output-${rust_version}/prefix/bin/rustc_binary \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${destroot}${prefix}/libexec/${subport}/bin/rustc_binary
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set rustc [open "${destroot}${prefix}/libexec/${subport}/bin/rustc" w 0755]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        puts ${rustc} "#!/bin/sh"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        puts ${rustc} "# macOS never uses LD_LIBRARY_PATH, but rust uses it to find the path to its driver"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        puts ${rustc} "LD_LIBRARY_PATH=\"${prefix}/libexec/${subport}/lib\" ${prefix}/libexec/${subport}/bin/rustc_binary \$@"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        close ${rustc}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ln -sf ${prefix}/libexec/${subport}/bin/rustc ${prefix}/bin/${subport}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        xinstall -d ${destroot}${prefix}/libexec/${subport}/lib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        file copy ${worksrcpath}/run_rustc/output-${rust_version}/prefix/lib/rustlib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${destroot}${prefix}/libexec/${subport}/lib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        system -W ${destroot}${prefix}/libexec/${subport}/bin \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            "install_name_tool -change ${worksrcpath}/run_rustc/output-${rust_version}/build-rustc/${build_arch}-apple-darwin/release/deps/librustc_driver.dylib ${prefix}/libexec/${subport}/lib/rustlib/${build_arch}-apple-darwin/lib/librustc_driver.dylib ./rustc_binary"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        system -W ${destroot}${prefix}/libexec/${subport}/bin \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            "install_name_tool -change ${worksrcpath}/run_rustc/output-${rust_version}/build-std2/${build_arch}-apple-darwin/release/deps/libtest.dylib ${prefix}/libexec/${subport}/lib/rustlib/${build_arch}-apple-darwin/lib/libtest.dylib ./rustc_binary"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        system -W ${destroot}${prefix}/libexec/${subport}/bin \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            "install_name_tool -change ${worksrcpath}/run_rustc/output-${rust_version}/build-std2/${build_arch}-apple-darwin/release/deps/libstd.dylib ${prefix}/libexec/${subport}/lib/rustlib/${build_arch}-apple-darwin/lib/libstd.dylib ./rustc_binary"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        system -W ${destroot}${prefix}/libexec/${subport}/lib/rustlib/${build_arch}-apple-darwin/lib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            "install_name_tool -id ${prefix}/libexec/${subport}/lib/rustlib/${build_arch}-apple-darwin/lib/librustc_driver.dylib ./librustc_driver.dylib"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        system -W ${destroot}${prefix}/libexec/${subport}/lib/rustlib/${build_arch}-apple-darwin/lib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            "install_name_tool -id ${prefix}/libexec/${subport}/lib/rustlib/${build_arch}-apple-darwin/lib/libstd.dylib ./libstd.dylib"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        system -W ${destroot}${prefix}/libexec/${subport}/lib/rustlib/${build_arch}-apple-darwin/lib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            "install_name_tool -id ${prefix}/libexec/${subport}/lib/rustlib/${build_arch}-apple-darwin/lib/libtest.dylib ./libtest.dylib"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        foreach f [ exec find ${destroot}${prefix}/libexec/${subport}/lib -name "*.dylib" ] {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            system "install_name_tool -change ${worksrcpath}/run_rustc/output-${rust_version}/build-rustc/${build_arch}-apple-darwin/release/deps/librustc_driver.dylib ${prefix}/libexec/${subport}/lib/rustlib/${build_arch}-apple-darwin/lib/librustc_driver.dylib $f"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            system "install_name_tool -change ${worksrcpath}/run_rustc/output-${rust_version}/build-rustc/${build_arch}-apple-darwin/release/deps/librustc_codegen_llvm.dylib ${prefix}/libexec/${subport}/lib/rustlib/${build_arch}-apple-darwin/lib/librustc_codegen_llvm.dylib $f"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            system "install_name_tool -change ${worksrcpath}/run_rustc/output-${rust_version}/build-rustc/${build_arch}-apple-darwin/release/deps/libtest.dylib ${prefix}/libexec/${subport}/lib/rustlib/${build_arch}-apple-darwin/lib/libtest.dylib $f"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            system "install_name_tool -change ${worksrcpath}/run_rustc/output-${rust_version}/build-rustc/${build_arch}-apple-darwin/release/deps/libstd.dylib ${prefix}/libexec/${subport}/lib/rustlib/${build_arch}-apple-darwin/lib/libstd.dylib $f"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            system "install_name_tool -change ${worksrcpath}/run_rustc/output-${rust_version}/build-std/${build_arch}-apple-darwin/release/deps/libtest.dylib ${prefix}/libexec/${subport}/lib/rustlib/${build_arch}-apple-darwin/lib/libtest.dylib $f"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            system "install_name_tool -change ${worksrcpath}/run_rustc/output-${rust_version}/build-std/${build_arch}-apple-darwin/release/deps/libstd.dylib ${prefix}/libexec/${subport}/lib/rustlib/${build_arch}-apple-darwin/lib/libstd.dylib $f"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            system "install_name_tool -change ${worksrcpath}/run_rustc/output-${rust_version}/build-std2/${build_arch}-apple-darwin/release/deps/libtest.dylib ${prefix}/libexec/${subport}/lib/rustlib/${build_arch}-apple-darwin/lib/libtest.dylib $f"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            system "install_name_tool -change ${worksrcpath}/run_rustc/output-${rust_version}/build-std2/${build_arch}-apple-darwin/release/deps/libstd.dylib ${prefix}/libexec/${subport}/lib/rustlib/${build_arch}-apple-darwin/lib/libstd.dylib $f"
</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;background:#ffe0e0;'>-# Run a Hello, world! test
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-test.env            RUSTC_VERSION=${rust_version} MRUSTC_LIBDIR=output-${rust_version}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-test.run            yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-test.target         test
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Let add some basic tests for mrustc port
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${subport} eq ${name}} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    test.env        {*}${build.env} MRUSTC_LIBDIR=output-${rust_version}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    test.run        yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    test.target     test
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/mrustc/files/patch-mrustc-macos-bootstrap.diff b/lang/mrustc/files/patch-mrustc-macos-bootstrap.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 625d1fb3c2b..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/mrustc/files/patch-mrustc-macos-bootstrap.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,185 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-https://github.com/thepowersgang/mrustc/pull/192
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- run_rustc/Makefile.orig
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ run_rustc/Makefile
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -27,13 +27,13 @@ endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ifeq ($(shell uname -s || echo not),Darwin)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   DYLIB_EXT := dylib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   PLATFORM := macos
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  RUSTC_TARGET ?= x86_64-apple-darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   DYLIB_EXT := so
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   PLATFORM := linux
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  RUSTC_TARGET ?= x86_64-unknown-linux-gnu
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--RUSTC_TARGET ?= x86_64-unknown-linux-gnu
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- TARGETVER_LEAST_1_29 := $(shell test "$(RUSTC_VERSION)" ">" "1.29" && echo yes)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- TARGETVER_LEAST_1_39 := $(shell test "$(RUSTC_VERSION)" ">" "1.39" && echo yes)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- TARGETVER_LEAST_1_54 := $(shell test "$(RUSTC_VERSION)" ">" "1.54" && echo yes)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- rustc-1.39.0-src.patch.orig
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ rustc-1.39.0-src.patch
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -64,8 +64,6 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-  use self::generic as arch;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--diff --git a/llvm/include/llvm/Demangle/MicrosoftDemangleNodes.h b/llvm/include/llvm/Demangle/MicrosoftDemangleNodes.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--index da9d9d5bfdc0..3d47471f0ef0 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --- src/llvm-project/llvm/include/llvm/Demangle/MicrosoftDemangleNodes.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- +++ src/llvm-project/llvm/include/llvm/Demangle/MicrosoftDemangleNodes.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- @@ -16,6 +16,8 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -80,18 +78,69 @@ index da9d9d5bfdc0..3d47471f0ef0 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ##
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ## gcc (used by mrustc) has 16-byte uint128_t alignment, while rustc uses 8
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ##
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#--- src/libsyntax/ast.rs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#+++ src/libsyntax/ast.rs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#@@ -986,2 +986,2 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#-#[cfg(target_arch = "x86_64")]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#-static_assert_size!(Expr, 96);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#+//#[cfg(target_arch = "x86_64")]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#+//static_assert_size!(Expr, 96);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#--- src/librustc/ty/sty.rs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#+++ src/librustc/ty/sty.rs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#@@ -2258,2 +2258,2 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#-#[cfg(target_arch = "x86_64")]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#-static_assert_size!(Const<'_>, 40);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#+//#[cfg(target_arch = "x86_64")]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#+//static_assert_size!(Const<'_>, 40);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+--- src/libsyntax/ast.rs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-++++ src/libsyntax/ast.rs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+@@ -985,3 +985,3 @@ pub struct Expr {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // `Expr` is used a lot. Make sure it doesn't unintentionally get bigger.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+-#[cfg(target_arch = "x86_64")]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-++#[cfg(all(target_arch = "x86_64", not(rust_compiler="mrustc")))]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ static_assert_size!(Expr, 96);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+--- src/librustc/ty/sty.rs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-++++ src/librustc/ty/sty.rs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+@@ -2257,3 +2257,3 @@ pub struct Const<'tcx> {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+-#[cfg(target_arch = "x86_64")]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-++#[cfg(all(target_arch = "x86_64", not(rust_compiler="mrustc")))]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ static_assert_size!(Const<'_>, 40);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+--- src/librustc/hir/mod.rs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-++++ src/librustc/hir/mod.rs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+@@ -1412,8 +1412,8 @@ pub struct Expr {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // `Expr` is used a lot. Make sure it doesn't unintentionally get bigger.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+-#[cfg(target_arch = "x86_64")]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+-static_assert_size!(Expr, 72);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-++#[cfg(all(target_arch = "x86_64", not(rust_compiler="mrustc")))]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-++static_assert_size!(Expr, 72);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ impl Expr {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+     pub fn precedence(&self) -> ExprPrecedence {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+--- src/librustc/mir/interpret/value.rs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-++++ src/librustc/mir/interpret/value.rs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+@@ -106,8 +106,8 @@ pub enum Scalar<Tag = (), Id = AllocId> {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+     Ptr(Pointer<Tag, Id>),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+-#[cfg(target_arch = "x86_64")]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+-static_assert_size!(Scalar, 24);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-++#[cfg(all(target_arch = "x86_64", not(rust_compiler="mrustc")))]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-++static_assert_size!(Scalar, 24);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ impl<Tag: fmt::Debug, Id: fmt::Debug> fmt::Debug for Scalar<Tag, Id> {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+     fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Workaround linker error attempting to find symbol CFMutableAttributedStringGetTypeID on macOS.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# See details at https://github.com/servo/core-foundation-rs/pull/357
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+--- vendor/core-foundation/src/attributed_string.rs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-++++ vendor/core-foundation/src/attributed_string.rs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+@@ -41,7 +41,7 @@ impl CFAttributedString {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ declare_TCFType!{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+     CFMutableAttributedString, CFMutableAttributedStringRef
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+-impl_TCFType!(CFMutableAttributedString, CFMutableAttributedStringRef, CFMutableAttributedStringGetTypeID);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-++impl_TCFType!(CFMutableAttributedString, CFMutableAttributedStringRef, CFAttributedStringGetTypeID);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ impl CFMutableAttributedString {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+     #[inline]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+--- vendor/core-foundation-sys/src/attributed_string.rs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-++++ vendor/core-foundation-sys/src/attributed_string.rs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+@@ -51,6 +51,4 @@ extern {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+         attr_name: CFStringRef,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+         value: CFTypeRef,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+     );
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+-    pub fn CFMutableAttributedStringGetTypeID() -> CFTypeID;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- src/trans/codegen_c.cpp.orig
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ src/trans/codegen_c.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1210,7 +1210,9 @@ namespace {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                     {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                         args.push_back(c);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                     }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if !defined(__APPLE__)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                     args.push_back("-Wl,--start-group");    // Group to avoid linking ordering
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                     //args.push_back("-Wl,--push-state");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                     for(auto l_d : libraries_and_dirs)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                     {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1240,7 +1242,9 @@ namespace {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                         }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                     }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                     //args.push_back("-Wl,--pop-state");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if !defined(__APPLE__)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                     args.push_back("-Wl,--end-group");    // Group to avoid linking ordering
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                     for( const auto& a : Target_GetCurSpec().m_backend_c.m_linker_opts )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                     {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                         args.push_back( a.c_str() );
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2478,10 +2482,10 @@ namespace {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                     m_of << "\tif(arg0) rv._0 |= __builtin_add_overflow" << msvc_suffix_u32 << "(rv._1, 1, &rv._1);\n";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                     m_of << "\treturn rv;\n";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                 }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                // `fn llvm_addcarryx_u32(a: u8, b: u32, c: u32, d: *mut u8) -> u32`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                // `fn llvm_addcarryx_u32(a: u8, b: u32, c: u32, d: *mut u8) -> u8`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                 else if( item.m_linkage.name == "llvm.x86.addcarryx.u32") {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                    m_of << "\t*arg3 = __builtin_add_overflow" << msvc_suffix_u32 << "(arg1, arg2, &rv);\n";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                    m_of << "\tif(*arg3) *arg3 |= __builtin_add_overflow" << msvc_suffix_u32 << "(rv, 1, &rv);\n";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                    m_of << "\trv = __builtin_add_overflow" << msvc_suffix_u32 << "(arg1, arg2, arg3);\n";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                    m_of << "\tif(arg0) rv |= __builtin_add_overflow" << msvc_suffix_u32 << "(*arg3, 1, arg3);\n";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                     m_of << "\treturn rv;\n";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                 }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                 // `fn llvm_subborrow" << msvc_suffix_u32 << "(a: u8, b: u32, c: u32) -> (u8, u32);`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- src/trans/target.cpp.orig
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ src/trans/target.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -532,7 +532,7 @@ namespace
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                 ARCH_X86_64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                 };
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--        else if(target_name == "x86_64-apple-macosx")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        else if(target_name == "x86_64-apple-darwin")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             // NOTE: OSX uses Mach-O binaries, which don't fully support the defaults used for GNU targets
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             return TargetSpec {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -540,7 +540,7 @@ namespace
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                 ARCH_X86_64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                 };
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--        else if(target_name == "aarch64-apple-macosx")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        else if(target_name == "aarch64-apple-darwin")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             // NOTE: OSX uses Mach-O binaries, which don't fully support the defaults used for GNU targets
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             return TargetSpec {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- tools/common/target_detect.h.orig
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ tools/common/target_detect.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -86,9 +86,9 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- // - Apple devices
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #elif defined(__APPLE__)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # if defined(__aarch64__)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#  define DEFAULT_TARGET_NAME "aarch64-apple-macosx"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#  define DEFAULT_TARGET_NAME "aarch64-apple-darwin"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#  define DEFAULT_TARGET_NAME "x86_64-apple-macosx"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#  define DEFAULT_TARGET_NAME "x86_64-apple-darwin"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- // - Haiku
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #elif defined(__HAIKU__)
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/mrustc/files/patch-mrustc-macports-compiler.diff b/lang/mrustc/files/patch-mrustc-macports-compiler.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index aaacc495f73..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/mrustc/files/patch-mrustc-macports-compiler.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,13 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Let MacPorts define the default compiler.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- src/trans/codegen_c.cpp.orig
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ src/trans/codegen_c.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1159,7 +1159,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                         args.push_back( Target_GetCurSpec().m_backend_c.m_c_compiler + "-gcc" );
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                     }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                     else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                        args.push_back("gcc");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                        args.push_back("@MACPORTS_MRUSTC_CC@");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                     }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                 }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                 arg_file_start = args.get_vec().size();
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/mrustc/files/patch-mrustc-macports-libdir.diff b/lang/mrustc/files/patch-mrustc-macports-libdir.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 274a22ed410..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/mrustc/files/patch-mrustc-macports-libdir.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,14 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Let MacPorts set a default value for MRUSTC_LIBDIR
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- src/main.cpp.orig
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ src/main.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -892,6 +892,9 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         this->lib_search_dirs.push_back(a);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        this->lib_search_dirs.push_back("@MACPORTS_MRUSTC_LIBDIR@");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     // Hacky command-line parsing
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     for( int i = 1; i < argc; i ++ )
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/mrustc/files/patch-mrustc-macports-version.diff b/lang/mrustc/files/patch-mrustc-macports-version.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 4180f508c69..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/mrustc/files/patch-mrustc-macports-version.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,13 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Let MacPorts customize the default Rust target version
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- src/main.cpp.orig
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ src/main.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -37,7 +37,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # include <DbgHelp.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--TargetVersion     gTargetVersion = TargetVersion::Rustc1_29;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+TargetVersion     gTargetVersion = TargetVersion::Rustc@MACPORTS_MRUSTC_TARGET_VER@;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- struct ProgramParams
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span></pre><pre style='margin:0'>

</pre>