<pre style='margin:0'>
Herby Gillot (herbygillot) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/4c5878867bdeb08e5d8c394a76598343cefd081a">https://github.com/macports/macports-ports/commit/4c5878867bdeb08e5d8c394a76598343cefd081a</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'> new 4c5878867bd rust: update to 1.50.0
</span>4c5878867bd is described below
<span style='display:block; white-space:pre;color:#808000;'>commit 4c5878867bdeb08e5d8c394a76598343cefd081a
</span>Author: Herby Gillot <herby.gillot@gmail.com>
AuthorDate: Sat Mar 6 20:48:23 2021 -0500
<span style='display:block; white-space:pre;color:#404040;'> rust: update to 1.50.0
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> - Add ARM64 support provided by @fabius here:
</span><span style='display:block; white-space:pre;color:#404040;'> https://github.com/macports/macports-ports/pull/9904
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> - Use Rust's LLVM instead of MacPorts. This increases build time, but
</span><span style='display:block; white-space:pre;color:#404040;'> Rust will now build and run in exactly the way it's meant to.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Fixes: https://trac.macports.org/ticket/62395
</span><span style='display:block; white-space:pre;color:#404040;'> See: https://trac.macports.org/ticket/60943
</span><span style='display:block; white-space:pre;color:#404040;'> See: https://trac.macports.org/ticket/61082
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Co-authored-by: Fabian Deifuß <deifussfabian@icloud.com>
</span>---
lang/rust/Portfile | 98 ++++++++++++++----------
lang/rust/files/patch-src-librustc-llvm-lib.diff | 8 --
2 files changed, 57 insertions(+), 49 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/rust/Portfile b/lang/rust/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index e3e4e80f879..2f9bf57de45 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/rust/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/rust/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,13 +1,13 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=portfile:et:sw=4:ts=4:sts=4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=portfile:et:sw=4:ts=4:sts=4:ft=tcl
</span>
PortSystem 1.0
name rust
<span style='display:block; white-space:pre;background:#ffe0e0;'>-version 1.47.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version 1.50.0
</span> revision 0
categories lang devel
platforms darwin
<span style='display:block; white-space:pre;background:#ffe0e0;'>-supported_archs x86_64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+supported_archs x86_64 arm64
</span> license {MIT Apache-2} BSD zlib NCSA Permissive
maintainers {g5pw @g5pw} \
{gmail.com:herby.gillot @herbygillot} \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -24,49 +24,66 @@ long_description Rust is a curly-brace, block-structured expression \
</span> and operational -- that preserve large-system \
integrity, availability and concurrency.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-homepage https://www.rust-lang.org/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+homepage https://www.rust-lang.org
</span>
# Get from src/stage0.txt
<span style='display:block; white-space:pre;background:#ffe0e0;'>-set ruststd_version 1.46.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set rustc_version 1.46.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set cargo_version 0.47.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set llvm_version 9.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Rust stable 1.x usually requires `set rustc_version 1.(x-1)`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set rustc_version 1.49.0
</span>
# can use cmake or cmake-devel; default to cmake.
depends_build path:bin/cmake:cmake \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- bin:python2.7:python27
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:python39 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:git \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:openssl \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:ninja \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:gmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_lib port:libffi
</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;'>+set arch ${configure.build_arch}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${configure.build_arch} == "arm64"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set arch "aarch64"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_lib port:llvm-${llvm_version} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:libffi
</span>
master_sites https://static.rust-lang.org/dist
distname ${name}c-${version}-src
<span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles patch-src-librustc-llvm-lib.diff
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-distfiles-append rust-std-${ruststd_version}-${configure.build_arch}-apple-${os.platform}${extract.suffix} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- rustc-${rustc_version}-${configure.build_arch}-apple-${os.platform}${extract.suffix} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cargo-${cargo_version}-${configure.build_arch}-apple-${os.platform}${extract.suffix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+distfiles-append rust-std-${rustc_version}-${arch}-apple-${os.platform}${extract.suffix} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rustc-${rustc_version}-${arch}-apple-${os.platform}${extract.suffix} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cargo-${rustc_version}-${arch}-apple-${os.platform}${extract.suffix}
</span>
checksums ${distname}${extract.suffix} \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- rmd160 2fee85c5e52046982a51eff62f64e123f798ed56 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sha256 3185df064c4747f2c8b9bb8c4468edd58ff4ad6d07880c879ac1b173b768d81d \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- size 151861620 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums-append \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- rust-std-${ruststd_version}-x86_64-apple-${os.platform}${extract.suffix} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- rmd160 bd8d58fca200428b03603d770beeee8bf94e5de6 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sha256 8c897982bc38c9528b448fe551f089fee7716e692dece98052f4459ccc6e591c \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- size 22888748 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 07633389398c9e746a6d349e97775201aaeeeb3b \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 95978f8d02bb6175ae3238930baf03563c240aedf9a70bebdc3eaa2a8c3c5a5e \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 159542148
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums-append rust-std-${rustc_version}-x86_64-apple-${os.platform}${extract.suffix} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 b43ecabbcfa19327be5dccf09fc72855d0707a49 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 c4389a8534b8da3ae3570646d68fea9a25268b17ed138867e31d4517312759af \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 35384330 \
</span> rustc-${rustc_version}-x86_64-apple-${os.platform}${extract.suffix} \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- rmd160 1503424f7cfeee88d6b7133ed5db689fb786bd34 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sha256 f690b375df7b1399e5baa69b64932e3e4a3f2b651e5ef2ebc85509bee777a9d9 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- size 73665558 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cargo-${cargo_version}-x86_64-apple-${os.platform}${extract.suffix} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- rmd160 123269f99aba6a0def22e77603ada120947023a9 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sha256 6e8f3319069dd14e1ef756906fa0ef3799816f1aba439bdeea9d18681c353ad6 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- size 5685128
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 ebe1ff219b1bd8d12a610a3cf228a5eae3de9de6 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 09333f9aacb9c5959e2a2798d7e283cae674255f063a35ea28f91595caa0a78b \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 79819120 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cargo-${rustc_version}-x86_64-apple-${os.platform}${extract.suffix} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 83a5c42490e8579d8767dc8c5c4c5e3d13da0bba \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 ab1bcd7840c715832dbe4a2c5cd64882908cc0d0e6686dd6aec43d2e4332a003 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 5945516 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rust-std-${rustc_version}-aarch64-apple-${os.platform}${extract.suffix} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 1ddc99fbc545b2e601d507d90b5f88bd8cdb1a32 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 cf3308806fc3b6fe00ce49f1e63b1cb1d1443cc812eff7947257f31f590465d3 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 27145897 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rustc-${rustc_version}-aarch64-apple-${os.platform}${extract.suffix} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 2307caf7575c72bf3988698c49cce824dcf71160 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 3e8c0c9101f27623f7607f2d8acef5f28dcb2bdfcded56f210d9d370cf9a9c06 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 70161621 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cargo-${rustc_version}-aarch64-apple-${os.platform}${extract.suffix} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 cf2de4de6008e9e176d75f7da7c0809dca9d15eb \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 2bd6eb276193b70b871c594ed74641235c8c4dcd77e9b8f193801c281b55478d \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 5388171
</span>
if {${os.platform} eq "darwin" && ${os.major} < 11} {
known_fail yes
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -76,24 +93,21 @@ if {${os.platform} eq "darwin" && ${os.major} < 11} {
</span> }
}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+set rust_platform ${arch}-apple-${os.platform}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set rust_root ${worksrcpath}/build/stage0-${arch}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> post-extract {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- set rust_root ${worksrcpath}/build/stage0-${configure.build_arch}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set rust_platform ${configure.build_arch}-apple-${os.platform}
</span> file mkdir ${rust_root}
<span style='display:block; white-space:pre;background:#ffe0e0;'>- system "cp -r ${workpath}/rust-std-${ruststd_version}-${rust_platform}/rust-std-${rust_platform}/* ${rust_root}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ system "cp -r ${workpath}/rust-std-${rustc_version}-${rust_platform}/rust-std-${rust_platform}/* ${rust_root}"
</span> system "cp -r ${workpath}/rustc-${rustc_version}-${rust_platform}/rustc/* ${rust_root}"
<span style='display:block; white-space:pre;background:#ffe0e0;'>- system "cp -r ${workpath}/cargo-${cargo_version}-${rust_platform}/cargo/* ${rust_root}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ system "cp -r ${workpath}/cargo-${rustc_version}-${rust_platform}/cargo/* ${rust_root}"
</span> }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-set rust_platform ${configure.build_arch}-apple-${os.platform}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set rust_root ${worksrcpath}/build/stage0-${configure.build_arch}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> configure.args --enable-vendor \
--default-linker=${configure.cc} \
--disable-codegen-tests \
--disable-docs \
--release-channel=stable \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- --llvm-root=${prefix}/libexec/llvm-${llvm_version} \
</span> --build=${rust_platform} \
--local-rust-root=${rust_root} \
--set=target.${rust_platform}.cc=${configure.cc} \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -107,7 +121,6 @@ post-configure {
</span> xinstall -d -m 0755 ${workpath}/.home/.cargo
set config [open ${workpath}/.home/.cargo/config w]
<span style='display:block; white-space:pre;background:#ffe0e0;'>- set rust_platform ${configure.build_arch}-apple-${os.platform}
</span> puts ${config} "\[target.${rust_platform}\]"
puts ${config} "linker = \"${configure.cc}\""
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -115,6 +128,7 @@ post-configure {
</span> }
build.args VERBOSE=1 BOOTSTRAP_ARGS="-v -j${build.jobs}"
<span style='display:block; white-space:pre;background:#e0ffe0;'>+build.env-append OPENSSL_DIR=${prefix}
</span>
test.run yes
test.target check
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -125,6 +139,8 @@ destroot.args VERBOSE=1
</span> if {${subport} eq ${name}} {
post-destroot {
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ delete ${destroot}${prefix}/lib/rustlib/install.log
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ delete ${destroot}${prefix}/lib/rustlib/uninstall.sh
</span> xinstall -d ${destroot}${prefix}/share/${name}
xinstall -m 644 ${worksrcpath}/src/etc/ctags.rust \
${destroot}${prefix}/share/${name}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/rust/files/patch-src-librustc-llvm-lib.diff b/lang/rust/files/patch-src-librustc-llvm-lib.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 47c0c310b77..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/rust/files/patch-src-librustc-llvm-lib.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,8 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- src/librustc_llvm/lib.rs.orig 2019-09-23 21:15:52.000000000 +0000
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ src/librustc_llvm/lib.rs 2019-10-09 05:55:05.000000000 +0000
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -106,3 +106,5 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LLVMInitializeWebAssemblyTargetMC,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LLVMInitializeWebAssemblyAsmPrinter);
</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;'>-+#[link(name = "ffi")] extern {}
</span></pre><pre style='margin:0'>
</pre>