<pre style='margin:0'>
Aljaž Srebrnič (g5pw) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/29f98d868eea589592b8eb2dc79c03ca9f0e2681">https://github.com/macports/macports-ports/commit/29f98d868eea589592b8eb2dc79c03ca9f0e2681</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 29f98d8 rust: update to 1.23.0
</span>29f98d8 is described below
<span style='display:block; white-space:pre;color:#808000;'>commit 29f98d868eea589592b8eb2dc79c03ca9f0e2681
</span>Author: Mohamed Akram <mohd.akram@outlook.com>
AuthorDate: Tue Jan 16 01:05:16 2018 +0400
<span style='display:block; white-space:pre;color:#404040;'> rust: update to 1.23.0
</span>---
lang/rust/Portfile | 166 ++++++++++-------------
lang/rust/files/patch-src-librustc-llvm-lib.diff | 8 ++
2 files changed, 81 insertions(+), 93 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 71340cc..a0b40a9 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,20 +1,17 @@
</span> # -*- 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
PortSystem 1.0
<span style='display:block; white-space:pre;background:#ffe0e0;'>-PortGroup active_variants 1.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-PortGroup compiler_blacklist_versions 1.0
</span>
name rust
<span style='display:block; white-space:pre;background:#ffe0e0;'>-version 1.16.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version 1.23.0
</span> categories lang devel
platforms darwin
supported_archs i386 x86_64
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# https://github.com/mozilla/rust/issues/2024
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-universal_variant no
</span> license {MIT Apache-2} BSD zlib NCSA Permissive
maintainers g5pw
description A safe, concurrent, practical language
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> long_description Rust is a curly-brace, block-structured expression \
language. It visually resembles the C language \
family, but differs significantly in syntactic and \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -23,112 +20,95 @@ long_description Rust is a curly-brace, block-structured expression \
</span> creating and maintaining boundaries -- both abstract \
and operational -- that preserve large-system \
integrity, availability and concurrency.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-homepage http://www.rust-lang.org/
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-pre-fetch {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {${os.platform} eq "darwin" && ${os.major} < 11} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_error "${name} is only supported on OS X 10.7 Lion or later."
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return -code error "unsupported platform version"
</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:#e0ffe0;'>+homepage https://www.rust-lang.org/
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# To take advantage of distfile mirroring and checksumming for the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# snapshot compiler, we let base treat it as the distfile and deal with
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# the actual Rust source "manually".
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_build bin:python2.7:python27 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:cmake
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# stage0 is found from
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# https://github.com/rust-lang/rust/blob/${version}/src/stage0.txt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set stage0(date) 2017-02-09
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set stage0(version) 1.15.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set stage0(platform) ${configure.build_arch}-apple-darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_lib port:llvm-4.0
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# Sigh...
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-if { ${configure.build_arch} eq "i386"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set stage0(platform) i686-apple-darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+master_sites https://static.rust-lang.org/dist
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-set stage0(distname) [join "rustc ${stage0(version)}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${stage0(platform)}" -]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set stage0(distfile) ${stage0(distname)}${extract.suffix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+distname ${name}c-${version}-src
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-master_sites https://static.rust-lang.org/dist/:main \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- https://static.rust-lang.org/dist/${stage0(date)}/:snap
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles patch-src-librustc-llvm-lib.diff
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-distfiles ${name}c-${version}-src${extract.suffix}:main \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${stage0(distfile)}:snap
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set rust_platform ${build_arch}-apple-darwin
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-worksrcdir ${name}c-${version}-src
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${build_arch} eq "i386"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set rust_platform i686-apple-darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums ${name}c-${version}-src${extract.suffix} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- rmd160 42bb8759c98787d07293d81e45183fe5cf55ebc2 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sha256 f966b31eb1cd9bd2df817c391a338eeb5b9253ae0a19bf8a11960c560f96e8b4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set stage0(ruststd) rust-std-1.22.0-${rust_platform}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set stage0(rustc) rustc-1.22.0-${rust_platform}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set stage0(cargo) cargo-0.23.0-${rust_platform}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+distfiles-append ${stage0(ruststd)}${extract.suffix} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${stage0(rustc)}${extract.suffix} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${stage0(cargo)}${extract.suffix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums ${distname}${extract.suffix} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 f8dc31e9fbe1e2071d2307be5a38c73da8a637ee \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 7464953871dcfdfa8afcc536916a686dd156a83339d8ec4d5cb4eb2fe146cb91
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${build_arch} eq "i386"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ checksums-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${stage0(ruststd)}${extract.suffix} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 8dc4f0eb39c34082021206de9556a6027a6a833c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 4bdbe34a34fc99c231f59201253e0844ab8378eed0835c95ce80336c8626f799 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${stage0(rustc)}${extract.suffix} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 4647f5eb4dde380c7d9cad982540df90598b48de \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 84b436ff4543ca9d734971dbd46cabdca4eaf9ba060a6314e48789eaba50101f \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${stage0(cargo)}${extract.suffix} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 bfbe0a2040fbb5d5f378111dfb0cc7dbf1330e12 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 25670bdc08a8134c0100bb4fa1b48d7c45cb1045098d6388fb668d1cdcbc940c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ checksums-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${stage0(ruststd)}${extract.suffix} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 cc0b60760e1d8262834511c7676005167d072db0 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 773c091f678fd63af07a90fac406c1b9850b7a72b58a4aab39bc0489315ef33a \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${stage0(rustc)}${extract.suffix} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 9cd4f59ae654315a74c368b85e29a48ab7bc654f \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 1383736371b4192de9f7feb14b6615f39c772b83b0771e1f9fe7c10036e3c9d1 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${stage0(cargo)}${extract.suffix} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 1a08713350109f9bcf321af40f35fb06d0505bef \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 aee12927e3a670584119e795a1ade6f4579e565f4145c9e0b6d8410019dc5ba7
</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 stage0(dir) ${worksrcpath}/build/stage0
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-switch ${configure.build_arch} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- i386 {checksums-append ${stage0(distfile)} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- rmd160 94de06a35775fe6d383b39cb907ef0794371ee16 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sha256 7db0489a35272b22aa63c8071bb74e40fdac0d63e19e86909003a9e842d22dfb}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- default {checksums-append ${stage0(distfile)} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- rmd160 b142be055dff9dad14414adec9e31e9ecece4a06 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sha256 37c6b14f6b7820b7cae9e4e1cacb482c1cb4c31690f96e879cad4cbf4b5a990d}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+pre-fetch {
</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;'>+ ui_error "${name} is only supported on OS X 10.7 Lion or later."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return -code error "unsupported platform version"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span> }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# Only use compilers supported by upstream
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# (https://github.com/rust-lang/rust#building-from-source).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-compiler.blacklist {clang < 211} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *dragonegg* \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc-3.3 {*gcc-4.[0-6]}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Building the bundled LLVM requires Python 2.4-2.7. All supported
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# OS X releases have 2.6. (Using MacPorts' LLVM ports fails either
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# during build or during testing.)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_build bin:perl:perl5 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- bin:python2.6:python27 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:cmake
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_skip_archcheck python27
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# The libs for both targets link to libgcc and libstdc++.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[regexp {^macports-gcc-(\d+)\.(\d+)$} ${configure.compiler} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -> major minor]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- depends_lib-append {path:lib/libstdc\\+\\+\\.6\\.dylib:libstdcxx}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- require_active_variants gcc${major}${minor} universal
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- require_active_variants {path:lib/libstdc\\+\\+\\.6\\.dylib:libstdcxx} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- universal
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-extract {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ file mkdir ${stage0(dir)}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ system "cp -r ${workpath}/${stage0(ruststd)}/rust-std-${rust_platform}/* ${stage0(dir)}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ system "cp -r ${workpath}/${stage0(rustc)}/rustc/* ${stage0(dir)}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ system "cp -r ${workpath}/${stage0(cargo)}/cargo/* ${stage0(dir)}"
</span> }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# TODO: Test whether i386 machines can cross-compile for x86_64.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set tgts {i686-apple-darwin x86_64-apple-darwin}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args --build=${rust_platform} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-vendor \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --default-linker=${configure.cc} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-codegen-tests \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-docs \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --llvm-root=${prefix}/libexec/llvm-4.0 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --local-rust-root=${stage0(dir)} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --release-channel=stable \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --set=target.${rust_platform}.cc=${configure.cc} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --set=target.${rust_platform}.cxx=${configure.cxx} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --set=target.${rust_platform}.linker=${configure.cc}
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# TODO: Trying to build a cross-compiler breaks Intel 64 builds as
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# of 0.11.0. Worth fixing?
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#configure.pre_args-append --target=[join $tgts ,]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build.args VERBOSE=1 BOOTSTRAP_ARGS="-v -j${build.jobs}"
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {${configure.build_arch} eq "i386"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.pre_args-append --build=[lindex $tgts 0]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-} else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.pre_args-append --build=[lindex $tgts 1]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# We need to use "--enable-rpath" as of a0546de, otherwise the build
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# produces improperly linked binaries.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# (https://github.com/rust-lang/rust/issues/11747)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# TODO: Build docs also, probably in a subport.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.args --disable-docs \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --disable-rustbuild \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-local-rust \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --local-rust-root=${workpath}/${stage0(distname)}/rustc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-build.type gnu
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-build.args VERBOSE=1 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- CC=${configure.cc} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- CXX=${configure.cxx} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- CPP="${configure.cc} -E"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# TODO: Add path-style dependency on python, whenever test dependencies
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# are implemented (#38208). Not critical, since all supported versions
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# of OS X come with Python 2.6.
</span> test.run yes
test.target check
<span style='display:block; white-space:pre;background:#ffe0e0;'>-test.env VERBOSE=1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+test.args VERBOSE=1
</span>
destroot.args VERBOSE=1
post-destroot {
<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>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..71f416f
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/rust/files/patch-src-librustc-llvm-lib.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/librustc_llvm/lib.rs.orig 2018-01-15 17:44:30.000000000 +0400
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/librustc_llvm/lib.rs 2018-01-16 02:36:38.000000000 +0400
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -429,3 +429,5 @@
</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;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#[link(name = "ffi")] extern {}
</span></pre><pre style='margin:0'>
</pre>