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