<pre style='margin:0'>
Christopher Nielsen (mascguy) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/ae4efe7691fb8d4db1205dd9a757516efc672dd1">https://github.com/macports/macports-ports/commit/ae4efe7691fb8d4db1205dd9a757516efc672dd1</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit ae4efe7691fb8d4db1205dd9a757516efc672dd1
</span>Author: Kirill A. Korinsky <kirill@korins.ky>
AuthorDate: Wed Dec 1 12:22:28 2021 +0100
<span style='display:block; white-space:pre;color:#404040;'> rust: fix build on macOS 10.8
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> `CARGO_LOG=debug` is required to see the real stack trace where issue is
</span><span style='display:block; white-space:pre;color:#404040;'> happend instead of `error: Unknown option`.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> This stack trace points to https://github.com/rust-lang/cargo/blob/2e2a16e983f597da62bc132eb191bc3276d4b1bb/src/cargo/core/package.rs#L423
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Which makes clear that the cause of issue is too old system curl which
</span><span style='display:block; white-space:pre;color:#404040;'> haven't supported HTTP/2.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Closes: https://trac.macports.org/ticket/58848
</span>---
lang/rust/Portfile | 16 +++++++++++++++-
1 file changed, 15 insertions(+), 1 deletion(-)
<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 869701a1c5a..4efa28328f9 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;'>@@ -153,7 +153,7 @@ checksums-append rust-std-${rustc_version}-x86_64-apple-${os.platform}${extra
</span> sha256 6ed30275214e956ee10b03db87b0b4297948fd102d39896cece01669555047ef \
size 5918639
<span style='display:block; white-space:pre;background:#ffe0e0;'>-set min_darwin 13
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set min_darwin 12
</span> if {${os.platform} eq "darwin" && ${os.major} < ${min_darwin}} {
known_fail yes
pre-fetch {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -166,7 +166,21 @@ set rust_platform ${arch}-apple-${os.platform}
</span> set rust_root ${worksrcpath}/build/stage0-${arch}
if { ${subport} ne ${ccwrap} } {
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {${os.platform} eq "darwin" && ${os.major} < 13} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_build-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;'>+
</span> post-extract {
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Relink agains MacPort's libcurl allows to fix `error: Unknown option`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # which happened because cargo tries to use HTTP/2 and it fails
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # See: https://github.com/rust-lang/cargo/blob/2e2a16e983f597da62bc132eb191bc3276d4b1bb/src/cargo/core/package.rs#L423
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {${os.platform} eq "darwin" && ${os.major} < 13} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set sLib /usr/lib/libcurl.4.dylib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set lLib ${prefix}/lib/libcurl.dylib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ system "install_name_tool -change ${sLib} ${lLib} ${workpath}/cargo-${rustc_version}-${rust_platform}/cargo/bin/cargo > /dev/null 2>&1 ; true"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> file mkdir ${rust_root}
system "cp -r ${workpath}/rust-std-${rustc_version}-${rust_platform}/rust-std-${rust_platform}/* ${rust_root}"
system "cp -r ${workpath}/rustc-${rustc_version}-${rust_platform}/rustc/* ${rust_root}"
</pre><pre style='margin:0'>
</pre>