aboutsummaryrefslogtreecommitdiff
path: root/lang/rust/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'lang/rust/Makefile')
-rw-r--r--lang/rust/Makefile32
1 files changed, 21 insertions, 11 deletions
diff --git a/lang/rust/Makefile b/lang/rust/Makefile
index dfa0dc4ed126..586ce27dd5ca 100644
--- a/lang/rust/Makefile
+++ b/lang/rust/Makefile
@@ -1,5 +1,5 @@
PORTNAME= rust
-PORTVERSION?= 1.88.0
+PORTVERSION?= 1.91.1
PORTREVISION?= 0
CATEGORIES= lang
MASTER_SITES= https://static.rust-lang.org/dist/:src \
@@ -38,7 +38,7 @@ MAKE_ENV= DESTDIR=${STAGEDIR} \
TEST_ENV= ${MAKE_ENV} \
ALLOW_NONZERO_RLIMIT_CORE=1
-CONFLICTS_INSTALL?= rust-nightly
+CONFLICTS_INSTALL?= rust-nightly rust188
# rustc stashes intermediary files in TMPDIR (default /tmp) which
# might cause issues for users that for some reason space limit
@@ -47,7 +47,7 @@ CONFLICTS_INSTALL?= rust-nightly
TMPDIR?= ${WRKDIR}
OPTIONS_DEFINE= DOCS GDB LTO PORT_LLVM SOURCES WASM
-OPTIONS_DEFAULT= DOCS SOURCES WASM
+OPTIONS_DEFAULT= DOCS SOURCES
OPTIONS_DEFINE_i386= SSE2
OPTIONS_DEFAULT_i386= SSE2
@@ -65,14 +65,15 @@ DOCS_VARS_OFF= _RUST_BUILD_DOCS=false
GDB_RUN_DEPENDS= ${LOCALBASE}/bin/gdb:devel/gdb
PORT_LLVM_USES= llvm:min=19,lib,noexport
PORT_LLVM_MAKE_ENV= RUSTFLAGS="-Lnative=${LOCALBASE}/lib"
+WASM_USES= llvm:min=19,lib,noexport
SOURCES_VARS= _COMPONENTS+=rust-src-${_PACKAGE_VERS} \
_RUST_TOOLS+=src
WASM_VARS= _COMPONENTS+="rust-analysis-${_PACKAGE_VERS}-wasm32-unknown-unknown rust-std-${_PACKAGE_VERS}-wasm32-unknown-unknown" \
_RUST_TARGETS+=wasm32-unknown-unknown
# See WRKSRC/src/stage0 for the date and version values
-BOOTSTRAPS_DATE?= 2025-05-15
-RUST_BOOTSTRAP_VERSION?= 1.87.0
+BOOTSTRAPS_DATE?= 2025-09-18
+RUST_BOOTSTRAP_VERSION?= 1.90.0
CARGO_VENDOR_DIR?= ${WRKSRC}/vendor
@@ -173,6 +174,11 @@ do-configure:
@${ECHO_CMD} 'cargo="${WRKDIR}/bootstrap/bin/cargo"' >> ${WRKSRC}/config.toml
@${ECHO_CMD} 'rustc="${WRKDIR}/bootstrap/bin/rustc"' >> ${WRKSRC}/config.toml
@${ECHO_CMD} 'tools=[${_RUST_TOOLS:@.tool.@"${.tool.}"@:ts,}]' >> ${WRKSRC}/config.toml
+.if defined(WITH_CCACHE_BUILD) && !defined(NO_CCACHE)
+ @${ECHO_CMD} 'ccache="${CCACHE_BIN}"' >> ${WRKSRC}/config.toml
+.else
+ @${ECHO_CMD} 'ccache=false' >> ${WRKSRC}/config.toml
+.endif
@${ECHO_CMD} '[install]' >> ${WRKSRC}/config.toml
@${ECHO_CMD} 'prefix="${PREFIX}"' >> ${WRKSRC}/config.toml
@${ECHO_CMD} 'sysconfdir="${PREFIX}/etc"' >> ${WRKSRC}/config.toml
@@ -196,11 +202,6 @@ do-configure:
.if ${PORT_OPTIONS:MLTO}
@${ECHO_CMD} 'thin-lto=true' >> ${WRKSRC}/config.toml
.endif
-.if defined(WITH_CCACHE_BUILD) && !defined(NO_CCACHE)
- @${ECHO_CMD} 'ccache="${CCACHE_BIN}"' >> ${WRKSRC}/config.toml
-.else
- @${ECHO_CMD} 'ccache=false' >> ${WRKSRC}/config.toml
-.endif
@${ECHO_CMD} 'ninja=true' >> ${WRKSRC}/config.toml
.if ${ARCH} == powerpc
# Rust doesn't call the system compiler with the full version of the target.
@@ -217,16 +218,25 @@ do-configure:
.if ${ARCH} == powerpc
@${ECHO_CMD} 'cc="${WRKDIR}/cc-wrapper"' >> ${WRKSRC}/config.toml
@${ECHO_CMD} 'cxx="${WRKDIR}/cxx-wrapper"' >> ${WRKSRC}/config.toml
+ @${ECHO_CMD} 'linker="${CC}"' >> ${WRKSRC}/config.toml
+.else
+# base clang doesn't support wasm32-unknown-unknown, use llvm from ports
+.if ${_target} == "wasm32-unknown-unknown"
+ @${ECHO_CMD} 'cc="${LOCALBASE}/bin/clang${LLVM_VERSION}"' >> ${WRKSRC}/config.toml
+ @${ECHO_CMD} 'cxx="${LOCALBASE}/bin/clang++${LLVM_VERSION}"' >> ${WRKSRC}/config.toml
+ @${ECHO_CMD} 'linker="${LOCALBASE}/bin/clang${LLVM_VERSION}"' >> ${WRKSRC}/config.toml
.else
@${ECHO_CMD} 'cc="${CC}"' >> ${WRKSRC}/config.toml
@${ECHO_CMD} 'cxx="${CXX}"' >> ${WRKSRC}/config.toml
-.endif
@${ECHO_CMD} 'linker="${CC}"' >> ${WRKSRC}/config.toml
+.endif
+.endif # powerpc
.if ${PORT_OPTIONS:MPORT_LLVM}
@${ECHO_CMD} 'llvm-config="${LOCALBASE}/bin/${LLVM_CONFIG}"' >> ${WRKSRC}/config.toml
.endif
.endfor
@${ECHO_CMD} '[dist]' >> ${WRKSRC}/config.toml
+ @${ECHO_CMD} 'compression-formats=["xz"]' >> ${WRKSRC}/config.toml
@${ECHO_CMD} 'src-tarball=false' >> ${WRKSRC}/config.toml
do-build: