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