Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 15 Jul 2019 15:27:29 +0000 (UTC)
From:      Tobias Kortkamp <tobik@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r506669 - head/lang/rust
Message-ID:  <201907151527.x6FFRTNj038545@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: tobik
Date: Mon Jul 15 15:27:29 2019
New Revision: 506669
URL: https://svnweb.freebsd.org/changeset/ports/506669

Log:
  lang/rust: Clean up bootstrap handling
  
  Fix handling of BOOTSTRAPS_SUFFIX.  On powerpc64 the -elfv1 suffix
  needs to be stripped from the bootstraps since Rust expects them
  without it.
  
  PR:		239158
  Reported by:	pkubaj

Modified:
  head/lang/rust/Makefile

Modified: head/lang/rust/Makefile
==============================================================================
--- head/lang/rust/Makefile	Mon Jul 15 14:30:47 2019	(r506668)
+++ head/lang/rust/Makefile	Mon Jul 15 15:27:29 2019	(r506669)
@@ -12,9 +12,9 @@ MASTER_SITES=	https://static.rust-lang.org/dist/:src \
 		LOCAL/tobik/rust:cargo_bootstrap
 DISTNAME?=	${PORTNAME}c-${PORTVERSION}-src
 DISTFILES?=	${NIGHTLY_SUBDIR}${DISTNAME}${EXTRACT_SUFX}:src \
-		${RUSTC_BOOTSTRAP}:rust_bootstrap \
-		${RUST_STD_BOOTSTRAP}:rust_bootstrap \
-		${CARGO_BOOTSTRAP}:cargo_bootstrap
+		${RUSTC_BOOTSTRAP}${BOOTSTRAPS_SUFFIX}.tar.gz:rust_bootstrap \
+		${RUST_STD_BOOTSTRAP}${BOOTSTRAPS_SUFFIX}.tar.gz:rust_bootstrap \
+		${CARGO_BOOTSTRAP}${BOOTSTRAPS_SUFFIX}.tar.gz:cargo_bootstrap
 DIST_SUBDIR?=	rust
 EXTRACT_ONLY?=	${DISTFILES:N*\:*bootstrap:C/:.*//}
 
@@ -43,11 +43,11 @@ BOOTSTRAPS_SUFFIX?=		${BOOTSTRAPS_SUFFIX_${ARCH}}
 BOOTSTRAPS_SUFFIX_powerpc64?=	-elfv1
 
 RUST_BOOTSTRAP_VERSION?=	1.35.0
-RUSTC_BOOTSTRAP=		${BOOTSTRAPS_DATE_${ARCH}:U${BOOTSTRAPS_DATE}}/rustc-${RUST_BOOTSTRAP_VERSION_${ARCH}:U${RUST_BOOTSTRAP_VERSION}}-${RUST_TARGET}${BOOTSTRAPS_SUFFIX}.tar.gz
-RUST_STD_BOOTSTRAP=		${BOOTSTRAPS_DATE_${ARCH}:U${BOOTSTRAPS_DATE}}/rust-std-${RUST_BOOTSTRAP_VERSION_${ARCH}:U${RUST_BOOTSTRAP_VERSION}}-${RUST_TARGET}${BOOTSTRAPS_SUFFIX}.tar.gz
+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_VERSION?=	0.36.0
-CARGO_BOOTSTRAP=		${BOOTSTRAPS_DATE_${ARCH}:U${BOOTSTRAPS_DATE}}/cargo-${CARGO_BOOTSTRAP_VERSION_${ARCH}:U${CARGO_BOOTSTRAP_VERSION}}-${RUST_TARGET}${BOOTSTRAPS_SUFFIX}.tar.gz
+CARGO_BOOTSTRAP=		${BOOTSTRAPS_DATE_${ARCH}:U${BOOTSTRAPS_DATE}}/cargo-${CARGO_BOOTSTRAP_VERSION_${ARCH}:U${CARGO_BOOTSTRAP_VERSION}}-${RUST_TARGET}
 
 CARGO_VENDOR_DIR?=		${WRKSRC}/vendor
 
@@ -108,41 +108,30 @@ X_PY_ENV=	HOME="${WRKDIR}" \
 		OPENSSL_DIR="${OPENSSLBASE}"
 X_PY_CMD=	${PYTHON_CMD} ${WRKSRC}/x.py
 
-RUST_STD_DIR=	${RUST_STD_BOOTSTRAP:T:R:R}
-
 post-extract:
-	@${MKDIR} \
-		${WRKSRC}/build/cache/${BOOTSTRAPS_DATE_${ARCH}:U${BOOTSTRAPS_DATE}} \
-		${WRKSRC}/build/cache/${BOOTSTRAPS_DATE_${ARCH}:U${BOOTSTRAPS_DATE}}
-	${LN} -sf ${DISTDIR}/${DIST_SUBDIR}/${RUSTC_BOOTSTRAP} \
-		${WRKSRC}/build/cache/${BOOTSTRAPS_DATE_${ARCH}:U${BOOTSTRAPS_DATE}}
-	${LN} -sf ${DISTDIR}/${DIST_SUBDIR}/${RUST_STD_BOOTSTRAP} \
-		${WRKSRC}/build/cache/${BOOTSTRAPS_DATE_${ARCH}:U${BOOTSTRAPS_DATE}}
-	${LN} -sf ${DISTDIR}/${DIST_SUBDIR}/${CARGO_BOOTSTRAP} \
-		${WRKSRC}/build/cache/${BOOTSTRAPS_DATE_${ARCH}:U${BOOTSTRAPS_DATE}}
+	@${MKDIR} ${WRKSRC}/build/cache/${BOOTSTRAPS_DATE_${ARCH}:U${BOOTSTRAPS_DATE}}
+	${LN} -sf ${DISTDIR}/${DIST_SUBDIR}/${RUSTC_BOOTSTRAP}${BOOTSTRAPS_SUFFIX}.tar.gz \
+		${WRKSRC}/build/cache/${RUSTC_BOOTSTRAP}.tar.gz
+	${LN} -sf ${DISTDIR}/${DIST_SUBDIR}/${RUST_STD_BOOTSTRAP}${BOOTSTRAPS_SUFFIX}.tar.gz \
+		${WRKSRC}/build/cache/${RUST_STD_BOOTSTRAP}.tar.gz
+	${LN} -sf ${DISTDIR}/${DIST_SUBDIR}/${CARGO_BOOTSTRAP}${BOOTSTRAPS_SUFFIX}.tar.gz \
+		${WRKSRC}/build/cache/${CARGO_BOOTSTRAP}.tar.gz
 
 post-patch:
-	@${REINPLACE_CMD} -e 's|gdb|${LOCALBASE}/bin/gdb|' \
-		${WRKSRC}/src/etc/rust-gdb
+	@${REINPLACE_CMD} 's,gdb,${LOCALBASE}/bin/gdb,' ${WRKSRC}/src/etc/rust-gdb
 	@${ECHO_MSG} "Canonical bootstrap date and version before patching:"
 	@${GREP} -E '^(date|rustc|cargo)' ${WRKSRC}/src/stage0.txt
 # If we override the versions and date of the bootstraps (for instance
 # on aarch64 where we provide our own bootstraps), we need to update
 # places where they are recorded.
-	@${REINPLACE_CMD} -e \
-		's|^date:.*|date: ${BOOTSTRAPS_DATE_${ARCH}:U${BOOTSTRAPS_DATE}}|' \
+	@${REINPLACE_CMD} -e 's,^date:.*,date: ${BOOTSTRAPS_DATE_${ARCH}:U${BOOTSTRAPS_DATE}},' \
+		-e 's,^rustc:.*,rustc: ${RUST_BOOTSTRAP_VERSION_${ARCH}:U${RUST_BOOTSTRAP_VERSION}},' \
+		-e 's,^cargo:.*,cargo: ${CARGO_BOOTSTRAP_VERSION_${ARCH}:U${CARGO_BOOTSTRAP_VERSION}},' \
 		${WRKSRC}/src/stage0.txt
-	@${REINPLACE_CMD} -e \
-		's|^rustc:.*|rustc: ${RUST_BOOTSTRAP_VERSION_${ARCH}:U${RUST_BOOTSTRAP_VERSION}}|' \
-		${WRKSRC}/src/stage0.txt
-	@${REINPLACE_CMD} -e \
-		's|^cargo:.*|cargo: ${CARGO_BOOTSTRAP_VERSION_${ARCH}:U${CARGO_BOOTSTRAP_VERSION}}|' \
-		${WRKSRC}/src/stage0.txt
 	@${ECHO_MSG} "Bootstrap date and version after patching:"
 	@${GREP} -E '^(date|rustc|cargo)' ${WRKSRC}/src/stage0.txt
 # Disable vendor checksums
-	@${REINPLACE_CMD} -e \
-		's/"files":{[^}]*}/"files":{}/' \
+	@${REINPLACE_CMD} 's,"files":{[^}]*},"files":{},' \
 		${CARGO_VENDOR_DIR}/*/.cargo-checksum.json
 
 post-patch-SOURCES-off:
@@ -325,7 +314,7 @@ package-to-bootstraps: ${BOOTSTRAPS_SOURCE_PKG}
 		${MV} ${WRKDIR}/bootstraps/bin/rust* rustc/bin && \
 		${MV} ${WRKDIR}/bootstraps/lib/*.so rustc/lib
 	${TAR} -cz --format=ustar -C ${WRKDIR}/bootstraps \
-		-f ${_DISTDIR}/${RUSTC_BOOTSTRAP} \
+		-f ${_DISTDIR}/${RUSTC_BOOTSTRAP}${BOOTSTRAPS_SUFFIX}.tar.gz \
 		rustc-${RUST_BOOTSTRAP_VERSION_${ARCH}:U${RUST_BOOTSTRAP_VERSION}}-${RUST_TARGET}
 # `rust-std` bootstrap.
 	${RM} -r ${WRKDIR}/bootstraps/rust-std-${RUST_BOOTSTRAP_VERSION_${ARCH}:U${RUST_BOOTSTRAP_VERSION}}-${RUST_TARGET}
@@ -334,7 +323,7 @@ package-to-bootstraps: ${BOOTSTRAPS_SOURCE_PKG}
 		${MKDIR} rust-std-${RUST_TARGET}/lib/rustlib/${RUST_TARGET} && \
 		${MV} ${WRKDIR}/bootstraps/lib/rustlib/${RUST_TARGET}/lib rust-std-${RUST_TARGET}/lib/rustlib/${RUST_TARGET}
 	${TAR} -cz --format=ustar -C ${WRKDIR}/bootstraps \
-		-f ${_DISTDIR}/${RUST_STD_BOOTSTRAP} \
+		-f ${_DISTDIR}/${RUST_STD_BOOTSTRAP}${BOOTSTRAPS_SUFFIX}.tar.gz \
 		rust-std-${RUST_BOOTSTRAP_VERSION_${ARCH}:U${RUST_BOOTSTRAP_VERSION}}-${RUST_TARGET}
 
 ${BOOTSTRAPS_SOURCE_PKG}:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201907151527.x6FFRTNj038545>