Index: lang/rust-nightly/Makefile =================================================================== --- lang/rust-nightly/Makefile +++ lang/rust-nightly/Makefile @@ -71,22 +71,28 @@ --enable-clang --mandir=${MANPREFIX}/man \ --release-channel=${RUST_CHANNEL} -# Use LLVM from ports, instead of the copy shipped with rust. -LLVM_VER= 36 -BUILD_DEPENDS+= llvm${LLVM_VER}>=0:${PORTSDIR}/devel/llvm${LLVM_VER} -CONFIGURE_ARGS+=--llvm-root=${LOCALBASE}/llvm${LLVM_VER} - .if defined(BATCH) || defined(PACKAGE_BUILDING) MAKE_ARGS+= VERBOSE=1 .endif -OPTIONS_DEFINE= GDB LLNEXTGEN +OPTIONS_DEFINE= GDB LLNEXTGEN PORT_LLVM GDB_DESC= Install ports gdb (necessary for debugging rust programs) LLNEXTGEN_DESC= Build with grammar verification GDB_RUN_DEPENDS= ${LOCALBASE}/bin/gdb:${PORTSDIR}/devel/gdb LLNEXTGEN_BUILD_DEPENDS= LLnextgen:${PORTSDIR}/devel/llnextgen +# Rust may pass more regression tests with bundled LLVM +PORT_LLVM_DESC= Build against devel/llvm${LLVM_VER} instead of bundled version +PORT_LLVM_BUILD_DEPENDS= ${LLVM_PREFIX}/bin/FileCheck:${PORTSDIR}/devel/llvm${LLVM_VER} +PORT_LLVM_CONFIGURE_ON= --llvm-root=${LLVM_PREFIX} +PORT_LLVM_EXTRACT_ONLY_OFF= ${DISTFILE_llvm} +PORT_LLVM_GH_PROJECT_OFF= llvm:llvm +PORT_LLVM_GH_TAGNAME_OFF= 63f3a1b:llvm +PORT_LLVM_VARS_OFF= NOPRECIOUSMAKEVARS=1 # ARCH +LLVM_VER?= 36 # XXX Move to DEFAULT_VERSIONS +LLVM_PREFIX= ${LOCALBASE}/llvm${LLVM_VER} + # Note that make test does not work when rust is already installed TEST_TARGET= check TEST_ENV+= ALLOW_NONZERO_RLIMIT_CORE=1 @@ -136,6 +142,10 @@ ${LN} -sf ${DISTDIR}/${RUST_BOOT} ${WRKSRC}/dl (cd ${WRKSRC} && ${FIND} . -type d -exec ${CHMOD} 0755 {} \;) +post-extract-PORT_LLVM-off: + @(${RMDIR} ${WRKSRC}/src/llvm && \ + ${MV} ${WRKSRC_llvm} ${WRKSRC}/src/llvm) + post-patch: @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|' \ ${WRKSRC}/mk/main.mk Index: lang/rust-nightly/distinfo =================================================================== --- lang/rust-nightly/distinfo +++ lang/rust-nightly/distinfo @@ -12,3 +12,5 @@ SIZE (rust-lang-libc-2278a54_GH0.tar.gz) = 84299 SHA256 (rust-lang-rust-installer-c37d374_GH0.tar.gz) = 7cc41029b14de023dd4f250b332470c98cf9d1a77d174a20e93d78d07e4255f1 SIZE (rust-lang-rust-installer-c37d374_GH0.tar.gz) = 19267 +SHA256 (rust-lang-llvm-63f3a1b_GH0.tar.gz) = 3181fb7ae7a3004ad92b35daf0e0d9bf1c93c1c65e3183718c61a3b622336e9f +SIZE (rust-lang-llvm-63f3a1b_GH0.tar.gz) = 23907407