diff options
Diffstat (limited to 'lang/rust/Makefile')
| -rw-r--r-- | lang/rust/Makefile | 32 |
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: |
