Page MenuHomeFreeBSD

D28520.id83493.diff
No OneTemporary

D28520.id83493.diff

Index: lang/rust/Makefile
===================================================================
--- lang/rust/Makefile
+++ lang/rust/Makefile
@@ -82,14 +82,37 @@
_RUST_ARCH_i386= i686
_RUST_TARGET= ${_RUST_ARCH_${ARCH}:U${ARCH}}-unknown-${OPSYS:tl}
_RUST_TARGETS= ${_RUST_TARGET}
-_RUST_TOOLS= analysis cargo clippy rls rustfmt
+_RUST_TOOLS= analysis cargo clippy
_RUSTC_BOOTSTRAP= ${BOOTSTRAPS_DATE_${ARCH}:U${BOOTSTRAPS_DATE}}/rustc-${RUST_BOOTSTRAP_VERSION_${ARCH}:U${RUST_BOOTSTRAP_VERSION}}-${_RUST_TARGET}
_RUST_STD_BOOTSTRAP= ${BOOTSTRAPS_DATE_${ARCH}:U${BOOTSTRAPS_DATE}}/rust-std-${RUST_BOOTSTRAP_VERSION_${ARCH}:U${RUST_BOOTSTRAP_VERSION}}-${_RUST_TARGET}
_CARGO_BOOTSTRAP= ${BOOTSTRAPS_DATE_${ARCH}:U${BOOTSTRAPS_DATE}}/cargo-${RUST_BOOTSTRAP_VERSION_${ARCH}:U${RUST_BOOTSTRAP_VERSION}}-${_RUST_TARGET}
+_PACKAGE_VERS= ${NIGHTLY_DATE:?nightly:${PORTVERSION}}
+_COMPONENTS= cargo-${_PACKAGE_VERS}-${_RUST_TARGET} \
+ clippy-${_PACKAGE_VERS}-${_RUST_TARGET} \
+ rustc-${_PACKAGE_VERS}-${_RUST_TARGET} \
+ rust-analysis-${_PACKAGE_VERS}-${_RUST_TARGET} \
+ rust-std-${_PACKAGE_VERS}-${_RUST_TARGET}
+
.include <bsd.port.pre.mk>
+# rls and rustfmt don't build on nightly
+.if !defined(NIGHTLY_DATE)
+_RUST_TOOLS+= rls rustfmt
+_COMPONENTS+= rls-${PORTVERSION}-${_RUST_TARGET} \
+ rustfmt-${PORTVERSION}-${_RUST_TARGET}
+.endif
+
+.if ${PORT_OPTIONS:MSOURCES}
+_COMPONENTS+= rust-src-${_PACKAGE_VERS}
+.endif
+
+.if ${PORT_OPTIONS:MWASM}
+_COMPONENTS+= rust-analysis-${_PACKAGE_VERS}-wasm32-unknown-unknown \
+ rust-std-${_PACKAGE_VERS}-wasm32-unknown-unknown
+.endif
+
.if exists(${PATCHDIR}/${ARCH}${BOOTSTRAPS_SUFFIX})
EXTRA_PATCHES+= ${PATCHDIR}/${ARCH}${BOOTSTRAPS_SUFFIX}
.endif
@@ -101,8 +124,9 @@
USE_GCC= yes
.endif
-.if ${ARCH} == aarch64 && ${OSVERSION} < 1200502
-IGNORE= fails to run due to a bug in rtld, update to 12-STABLE r342847 or 13-CURRENT r342113
+# remove when 11.4 is EOL
+.if ${ARCH} == aarch64 && ${OSVERSION} < 1202000
+IGNORE= fails to run due to a bug in rtld, update to 12.2-RELEASE or newer
.endif
.ifdef QEMU_EMULATING
@@ -124,8 +148,7 @@
${SH} ${SCRIPTSDIR}/rust-compat11-canary.sh
.for _component in cargo rust-std rustc
@cd ${WRKDIR}/${_component}-*-${OPSYS:tl} && \
- ${SH} install.sh --prefix=${WRKDIR}/bootstrap \
- --verbose
+ ${SH} install.sh --prefix=${WRKDIR}/bootstrap --verbose
.endfor
@${ECHO_CMD} '[build]' > ${WRKSRC}/config.toml
@${ECHO_CMD} 'vendor=true' >> ${WRKSRC}/config.toml
@@ -186,18 +209,26 @@
do-build:
@cd ${WRKSRC} && \
- ${SETENV} ${MAKE_ENV} ${PYTHON_CMD} x.py build --jobs=${MAKE_JOBS_NUMBER}
+ ${SETENV} ${MAKE_ENV} ${PYTHON_CMD} x.py dist --jobs=${MAKE_JOBS_NUMBER} \
+ library/std src/librustc ${_RUST_TOOLS}
do-install:
- @cd ${WRKSRC} && \
- ${SETENV} ${MAKE_ENV} ${PYTHON_CMD} x.py install --jobs=${MAKE_JOBS_NUMBER}
+ ${MKDIR} ${WRKSRC}/_extractdist
+.for _c in ${_COMPONENTS}
+ ${RM} -r ${WRKSRC}/_extractdist/*
+ ${TAR} xf ${WRKSRC}/build/dist/${_c}.tar.xz -C ${WRKSRC}/_extractdist
+ cd ${WRKSRC}/_extractdist/${_c} && \
+ ${SH} install.sh \
+ --docdir="${STAGEDIR}${DOCSDIR}" \
+ --mandir="${STAGEDIR}${PREFIX}/share/man" \
+ --prefix="${STAGEDIR}${PREFIX}"
+.endfor
+
# We autogenerate the plist file. We do that, instead of the
# regular pkg-plist, because several libraries have a computed
# filename based on the absolute path of the source files. As it
# is user-specific, we cannot know their filename in advance.
- @${RM} -r ${STAGEDIR}${DOCSDIR}/*.old \
- ${STAGEDIR}${DOCSDIR}/html/.lock \
- ${STAGEDIR}${DOCSDIR}/html/.stamp \
+ @${RM} ${STAGEDIR}${DOCSDIR}/*.old \
${STAGEDIR}${PREFIX}/lib/rustlib/install.log \
${STAGEDIR}${PREFIX}/lib/rustlib/manifest-* \
${STAGEDIR}${PREFIX}/lib/rustlib/uninstall.sh

File Metadata

Mime Type
text/plain
Expires
Tue, Jan 27, 1:05 PM (2 h, 42 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
28056070
Default Alt Text
D28520.id83493.diff (3 KB)

Event Timeline