Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 28 Oct 2017 09:13:21 +0000 (UTC)
From:      =?UTF-8?Q?Jean-S=c3=a9bastien_P=c3=a9dron?= <dumbbell@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r453052 - head/lang/rust
Message-ID:  <201710280913.v9S9DLlv066997@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: dumbbell
Date: Sat Oct 28 09:13:21 2017
New Revision: 453052
URL: https://svnweb.freebsd.org/changeset/ports/453052

Log:
  lang/rust: Update to 1.21.0
  
  The official bootstraps wouldn't work: rustc was stalled on a mutex
  while compiling a crate early in the build. This was solved by creating
  a new bootstraps for "rustc" and "rust-std" from the existing FreeBSD
  package. We keep using the official "cargo" bootstrap.
  
  PR:		223123

Modified:
  head/lang/rust/Makefile
  head/lang/rust/distinfo

Modified: head/lang/rust/Makefile
==============================================================================
--- head/lang/rust/Makefile	Sat Oct 28 08:26:27 2017	(r453051)
+++ head/lang/rust/Makefile	Sat Oct 28 09:13:21 2017	(r453052)
@@ -2,15 +2,14 @@
 # $FreeBSD$
 
 PORTNAME=	rust
-PORTVERSION?=	1.20.0
-PORTREVISION?=	1
+PORTVERSION?=	1.21.0
 CATEGORIES=	lang
 MASTER_SITES=	http://static.rust-lang.org/dist/:src \
-		https://static.rust-lang.org/dist/:rust_bootstrap \
 		LOCAL/dumbbell/rust:rust_bootstrap \
+		https://static.rust-lang.org/dist/:rust_bootstrap \
+		LOCAL/dumbbell/rust:cargo_bootstrap \
 		https://static.rust-lang.org/dist/:cargo_bootstrap \
 		https://s3.amazonaws.com/rust-lang-ci/cargo-builds/:cargo_bootstrap \
-		LOCAL/dumbbell/rust:cargo_bootstrap \
 		LOCAL/marino:bootstrap
 DISTNAME?=	${PORTNAME}c-${PORTVERSION}-src
 DISTFILES?=	${DISTNAME}${EXTRACT_SUFX}:src \
@@ -43,16 +42,13 @@ ONLY_FOR_ARCHS_REASON=	requires prebuilt bootstrap com
 #CONFLICTS_BUILD+=	${PKGBASE}
 CONFLICTS_INSTALL?=	rust-nightly
 
-BOOTSTRAPS_DATE?=		2017-07-20
-BOOTSTRAPS_DATE_aarch64?=	2017-07-20
+BOOTSTRAPS_DATE?=		2017-08-31
 
-RUST_BOOTSTRAP_VERSION?=	1.19.0
-RUST_BOOTSTRAP_VERSION_aarch64?=1.19.0
+RUST_BOOTSTRAP_VERSION?=	1.20.0
 RUSTC_BOOTSTRAP=		${BOOTSTRAPS_DATE_${ARCH}:U${BOOTSTRAPS_DATE}}/rustc-${RUST_BOOTSTRAP_VERSION_${ARCH}:U${RUST_BOOTSTRAP_VERSION}}-${RUST_TARGET}.tar.gz
 RUST_STD_BOOTSTRAP=		${BOOTSTRAPS_DATE_${ARCH}:U${BOOTSTRAPS_DATE}}/rust-std-${RUST_BOOTSTRAP_VERSION_${ARCH}:U${RUST_BOOTSTRAP_VERSION}}-${RUST_TARGET}.tar.gz
 
-CARGO_BOOTSTRAP_VERSION?=	0.20.0
-CARGO_BOOTSTRAP_VERSION_aarch64?=0.20.0
+CARGO_BOOTSTRAP_VERSION?=	0.21.0
 CARGO_BOOTSTRAP=		${BOOTSTRAPS_DATE_${ARCH}:U${BOOTSTRAPS_DATE}}/cargo-${CARGO_BOOTSTRAP_VERSION_${ARCH}:U${CARGO_BOOTSTRAP_VERSION}}-${RUST_TARGET}${EXTRACT_SUFX}
 
 RUST_CHANNEL=	${PKGNAMESUFFIX:Ustable:S/^-//}
@@ -134,8 +130,9 @@ pre-fetch:
 	fi
 
 RUST_STD_DIR=		${RUST_STD_BOOTSTRAP:T:R:R}
-LIBSTD_SUFFIX=		35ad9950c7e5074b
-LIBSTD_SUFFIX_aarch64=	ab4dd4f618cec2e9
+LIBSTD_SUFFIX_aarch64=	8eed00280b051035
+LIBSTD_SUFFIX_amd64=	fdf1c4a03a15a71f
+LIBSTD_SUFFIX_i386=	aaa09cdd21ad338f
 LIBSTD=			${RUST_STD_DIR}/rust-std-${RUST_TARGET}/lib/rustlib/${RUST_TARGET}/lib/libstd-${LIBSTD_SUFFIX_${ARCH}:U${LIBSTD_SUFFIX}}.rlib
 STDF=			${LIBSTD:T:R:S/lib//}.0.o
 
@@ -168,23 +165,23 @@ post-patch:
 # 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.
-	@if test "${BOOTSTRAPS_DATE_${ARCH}}"; then \
+	@if test "${BOOTSTRAPS_DATE_${ARCH}}" && \
+	test "${BOOTSTRAPS_DATE_${ARCH}}" != "${BOOTSTRAPS_DATE}"; then \
 		${REINPLACE_CMD} -e \
 		's|^date:.*|date: ${BOOTSTRAPS_DATE_${ARCH}:U${BOOTSTRAPS_DATE}}|' \
 		${WRKSRC}/src/stage0.txt; \
 	fi
-	@if test "${RUST_BOOTSTRAP_VERSION_${ARCH}}"; then \
+	@if test "${RUST_BOOTSTRAP_VERSION_${ARCH}}" && \
+	test "${RUST_BOOTSTRAP_VERSION_${ARCH}}" != "${RUST_BOOTSTRAP_VERSION}"; then \
 		${REINPLACE_CMD} -e \
 		's|^rustc:.*|rustc: ${RUST_BOOTSTRAP_VERSION_${ARCH}:U${RUST_BOOTSTRAP_VERSION}}|' \
 		${WRKSRC}/src/stage0.txt; \
 	fi
-	@if test "${CARGO_BOOTSTRAP_VERSION_${ARCH}}"; then \
+	@if test "${CARGO_BOOTSTRAP_VERSION_${ARCH}}" && \
+	test "${CARGO_BOOTSTRAP_VERSION_${ARCH}}" != "${CARGO_BOOTSTRAP_VERSION}"; then \
 		${REINPLACE_CMD} -e \
 		's|^cargo:.*|cargo: ${CARGO_BOOTSTRAP_VERSION_${ARCH}:U${CARGO_BOOTSTRAP_VERSION}}|' \
 		${WRKSRC}/src/stage0.txt; \
-		${REINPLACE_CMD} -e \
-		's|cargo-nightly-|cargo-${CARGO_BOOTSTRAP_VERSION_${ARCH}:U${CARGO_BOOTSTRAP_VERSION}}-|' \
-		${WRKSRC}/src/bootstrap/bootstrap.py; \
 	fi
 # After patching crates, we need to update their corresponding
 # `.cargo-checksum.json` to reflect the new checksums verified by Cargo.
@@ -352,5 +349,41 @@ do-test:
 		--verbose \
 		--config ./config.toml \
 		--jobs ${MAKE_JOBS_NUMBER}
+
+BOOTSTRAPS_SOURCE_PKG_FBSDVER=		10
+BOOTSTRAPS_SOURCE_PKG_FBSDVER_aarch64=	11
+BOOTSTRAPS_SOURCE_PKG_URL=	http://pkg.freebsd.org/FreeBSD:${BOOTSTRAPS_SOURCE_PKG_FBSDVER_${ARCH}:U${BOOTSTRAPS_SOURCE_PKG_FBSDVER}}:${ARCH}/latest/All/rust-${RUST_BOOTSTRAP_VERSION_${ARCH}:U${RUST_BOOTSTRAP_VERSION}}.txz
+BOOTSTRAPS_SOURCE_PKG=		${_DISTDIR}/${BOOTSTRAPS_DATE_${ARCH}:U${BOOTSTRAPS_DATE}}/rust-${RUST_BOOTSTRAP_VERSION_${ARCH}:U${RUST_BOOTSTRAP_VERSION}}-${ARCH}.txz
+
+package-to-bootstraps: ${BOOTSTRAPS_SOURCE_PKG}
+	${MKDIR} ${WRKDIR}/bootstraps
+	${RM} -r ${WRKDIR}/bootstraps/usr
+	${EXTRACT_CMD} \
+		-C ${WRKDIR}/bootstraps \
+		--strip-components 3 \
+		${EXTRACT_BEFORE_ARGS} ${BOOTSTRAPS_SOURCE_PKG} ${LOCALBASE}
+# `rustc` bootstrap.
+	${RM} -r ${WRKDIR}/bootstraps/rustc-${RUST_BOOTSTRAP_VERSION_${ARCH}:U${RUST_BOOTSTRAP_VERSION}}-${RUST_TARGET}
+	${MKDIR} ${WRKDIR}/bootstraps/rustc-${RUST_BOOTSTRAP_VERSION_${ARCH}:U${RUST_BOOTSTRAP_VERSION}}-${RUST_TARGET}
+	cd ${WRKDIR}/bootstraps/rustc-${RUST_BOOTSTRAP_VERSION_${ARCH}:U${RUST_BOOTSTRAP_VERSION}}-${RUST_TARGET} && \
+		${MKDIR} rustc/bin rustc/lib && \
+		${MV} ${WRKDIR}/bootstraps/bin/rust* rustc/bin && \
+		${MV} ${WRKDIR}/bootstraps/lib/*.so rustc/lib
+	${TAR} -cz --format=ustar -C ${WRKDIR}/bootstraps \
+		-f ${_DISTDIR}/${BOOTSTRAPS_DATE_${ARCH}:U${BOOTSTRAPS_DATE}}/rustc-${RUST_BOOTSTRAP_VERSION_${ARCH}:U${RUST_BOOTSTRAP_VERSION}}-${RUST_TARGET}.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}
+	${MKDIR} ${WRKDIR}/bootstraps/rust-std-${RUST_BOOTSTRAP_VERSION_${ARCH}:U${RUST_BOOTSTRAP_VERSION}}-${RUST_TARGET}
+	cd ${WRKDIR}/bootstraps/rust-std-${RUST_BOOTSTRAP_VERSION_${ARCH}:U${RUST_BOOTSTRAP_VERSION}}-${RUST_TARGET} && \
+		${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}/${BOOTSTRAPS_DATE_${ARCH}:U${BOOTSTRAPS_DATE}}/rust-std-${RUST_BOOTSTRAP_VERSION_${ARCH}:U${RUST_BOOTSTRAP_VERSION}}-${RUST_TARGET}.tar.gz \
+		rust-std-${RUST_BOOTSTRAP_VERSION_${ARCH}:U${RUST_BOOTSTRAP_VERSION}}-${RUST_TARGET}
+
+${BOOTSTRAPS_SOURCE_PKG}:
+	${MKDIR} ${@:H}
+	${FETCH_CMD} -o $@ ${BOOTSTRAPS_SOURCE_PKG_URL}
 
 .include <bsd.port.post.mk>

Modified: head/lang/rust/distinfo
==============================================================================
--- head/lang/rust/distinfo	Sat Oct 28 08:26:27 2017	(r453051)
+++ head/lang/rust/distinfo	Sat Oct 28 09:13:21 2017	(r453052)
@@ -1,21 +1,21 @@
-TIMESTAMP = 1506544334
-SHA256 (rust/rustc-1.20.0-src.tar.gz) = 2aa4875ff4472c6e35262bbb9052cb2623da3dae6084a858cc59d36f33f18214
-SIZE (rust/rustc-1.20.0-src.tar.gz) = 50418082
-SHA256 (rust/2017-07-20/rustc-1.19.0-aarch64-unknown-freebsd.tar.gz) = 0386e8f2f1b85f40d9d6d15de1b4c4fb384e3b22966f232bc7dac4afc969c4ad
-SIZE (rust/2017-07-20/rustc-1.19.0-aarch64-unknown-freebsd.tar.gz) = 43149574
-SHA256 (rust/2017-07-20/rust-std-1.19.0-aarch64-unknown-freebsd.tar.gz) = 587369524975204ef503d1d008f703122cf20912bd5f5545efbf2996323e4642
-SIZE (rust/2017-07-20/rust-std-1.19.0-aarch64-unknown-freebsd.tar.gz) = 58375655
-SHA256 (rust/2017-07-20/cargo-0.20.0-aarch64-unknown-freebsd.tar.gz) = 73ecd5277dc4e44f1616c2bd9e0ea4062e163740d3082d9c64681a856d6b3b83
-SIZE (rust/2017-07-20/cargo-0.20.0-aarch64-unknown-freebsd.tar.gz) = 3029610
-SHA256 (rust/2017-07-20/rustc-1.19.0-i686-unknown-freebsd.tar.gz) = ee9a40272800d6bca5d797489101bf0629bb8b84b195d402452d24ebd7e07709
-SIZE (rust/2017-07-20/rustc-1.19.0-i686-unknown-freebsd.tar.gz) = 54627942
-SHA256 (rust/2017-07-20/rust-std-1.19.0-i686-unknown-freebsd.tar.gz) = c06a89909adde2f97c4f280ea186e41d9c47c4999912267e4eb3f6379ac35aa0
-SIZE (rust/2017-07-20/rust-std-1.19.0-i686-unknown-freebsd.tar.gz) = 74163023
-SHA256 (rust/2017-07-20/cargo-0.20.0-i686-unknown-freebsd.tar.gz) = e43cde13c169be7c738623a8b57023648375d68524e5005df5a907e31fc73a1f
-SIZE (rust/2017-07-20/cargo-0.20.0-i686-unknown-freebsd.tar.gz) = 5162200
-SHA256 (rust/2017-07-20/rustc-1.19.0-x86_64-unknown-freebsd.tar.gz) = 7f6c02b075b55c897962cd17f05355c7f07a4975c66a4b1dabb10556bd6efb0f
-SIZE (rust/2017-07-20/rustc-1.19.0-x86_64-unknown-freebsd.tar.gz) = 52460523
-SHA256 (rust/2017-07-20/rust-std-1.19.0-x86_64-unknown-freebsd.tar.gz) = ab1098ec8e8940bbbfec48a9bd1821e5af74b7da4352dd95f16274ab1f437f80
-SIZE (rust/2017-07-20/rust-std-1.19.0-x86_64-unknown-freebsd.tar.gz) = 72454102
-SHA256 (rust/2017-07-20/cargo-0.20.0-x86_64-unknown-freebsd.tar.gz) = a2460994c0c58bd97d38010c5ac0698137522a4e7730f1480b7a03b3a667e9b9
-SIZE (rust/2017-07-20/cargo-0.20.0-x86_64-unknown-freebsd.tar.gz) = 5248001
+TIMESTAMP = 1508970863
+SHA256 (rust/rustc-1.21.0-src.tar.gz) = 1707c142244b5bd909993559c6116c81987c1de21d6207c05d3ecbe5bba548fa
+SIZE (rust/rustc-1.21.0-src.tar.gz) = 52555346
+SHA256 (rust/2017-08-31/rustc-1.20.0-aarch64-unknown-freebsd.tar.gz) = 6703e3205c5d7075ea49acb5a0a2bf4fb1dfe3a10daf160a67a1c4376e37e530
+SIZE (rust/2017-08-31/rustc-1.20.0-aarch64-unknown-freebsd.tar.gz) = 42731935
+SHA256 (rust/2017-08-31/rust-std-1.20.0-aarch64-unknown-freebsd.tar.gz) = 9da54867a9b65e708f7e31c615f7a31bfacad2d9fe5459e570575118f29a122c
+SIZE (rust/2017-08-31/rust-std-1.20.0-aarch64-unknown-freebsd.tar.gz) = 59365419
+SHA256 (rust/2017-08-31/cargo-0.21.0-aarch64-unknown-freebsd.tar.gz) = 9d556e11ea2f391bfa382f08818185c5d05bf94966ff35ae24e53a510f7ae5da
+SIZE (rust/2017-08-31/cargo-0.21.0-aarch64-unknown-freebsd.tar.gz) = 2915815
+SHA256 (rust/2017-08-31/rustc-1.20.0-i686-unknown-freebsd.tar.gz) = 58c8c4f73c9170cd0e81071147cd0772fc5e8512f4fcfb6fd08ad2c60b69177d
+SIZE (rust/2017-08-31/rustc-1.20.0-i686-unknown-freebsd.tar.gz) = 44170684
+SHA256 (rust/2017-08-31/rust-std-1.20.0-i686-unknown-freebsd.tar.gz) = 3426262d596ab8bf41b818965f995588256ae7008c162a39f83eed93ce3c42f8
+SIZE (rust/2017-08-31/rust-std-1.20.0-i686-unknown-freebsd.tar.gz) = 60720005
+SHA256 (rust/2017-08-31/cargo-0.21.0-i686-unknown-freebsd.tar.gz) = cad85e8beb87eeacfa80944b63653ed00a60b9d6f7e423ea0c58a83db8a2ea4a
+SIZE (rust/2017-08-31/cargo-0.21.0-i686-unknown-freebsd.tar.gz) = 5134986
+SHA256 (rust/2017-08-31/rustc-1.20.0-x86_64-unknown-freebsd.tar.gz) = d7f06662a29023043e21f598d24803d6c2f0d801635016abb32636b55ca14535
+SIZE (rust/2017-08-31/rustc-1.20.0-x86_64-unknown-freebsd.tar.gz) = 43348607
+SHA256 (rust/2017-08-31/rust-std-1.20.0-x86_64-unknown-freebsd.tar.gz) = aa1773ec1049247ef0730195eb83a7a73f22df556fe759029679aabe0235a3d3
+SIZE (rust/2017-08-31/rust-std-1.20.0-x86_64-unknown-freebsd.tar.gz) = 60215051
+SHA256 (rust/2017-08-31/cargo-0.21.0-x86_64-unknown-freebsd.tar.gz) = 522592cdee824d8d7b7c3472f29ded39d10f1fb3d07f3b3ea0673b8edf6d5b66
+SIZE (rust/2017-08-31/cargo-0.21.0-x86_64-unknown-freebsd.tar.gz) = 5183277



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