mirror of
https://git.freebsd.org/ports.git
synced 2025-07-18 01:39:16 -04:00
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
This commit is contained in:
parent
89b1360e42
commit
76740e13d8
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=453052
2 changed files with 72 additions and 39 deletions
|
@ -2,15 +2,14 @@
|
||||||
# $FreeBSD$
|
# $FreeBSD$
|
||||||
|
|
||||||
PORTNAME= rust
|
PORTNAME= rust
|
||||||
PORTVERSION?= 1.20.0
|
PORTVERSION?= 1.21.0
|
||||||
PORTREVISION?= 1
|
|
||||||
CATEGORIES= lang
|
CATEGORIES= lang
|
||||||
MASTER_SITES= http://static.rust-lang.org/dist/:src \
|
MASTER_SITES= http://static.rust-lang.org/dist/:src \
|
||||||
https://static.rust-lang.org/dist/:rust_bootstrap \
|
|
||||||
LOCAL/dumbbell/rust: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://static.rust-lang.org/dist/:cargo_bootstrap \
|
||||||
https://s3.amazonaws.com/rust-lang-ci/cargo-builds/:cargo_bootstrap \
|
https://s3.amazonaws.com/rust-lang-ci/cargo-builds/:cargo_bootstrap \
|
||||||
LOCAL/dumbbell/rust:cargo_bootstrap \
|
|
||||||
LOCAL/marino:bootstrap
|
LOCAL/marino:bootstrap
|
||||||
DISTNAME?= ${PORTNAME}c-${PORTVERSION}-src
|
DISTNAME?= ${PORTNAME}c-${PORTVERSION}-src
|
||||||
DISTFILES?= ${DISTNAME}${EXTRACT_SUFX}:src \
|
DISTFILES?= ${DISTNAME}${EXTRACT_SUFX}:src \
|
||||||
|
@ -43,16 +42,13 @@ ONLY_FOR_ARCHS_REASON= requires prebuilt bootstrap compiler
|
||||||
#CONFLICTS_BUILD+= ${PKGBASE}
|
#CONFLICTS_BUILD+= ${PKGBASE}
|
||||||
CONFLICTS_INSTALL?= rust-nightly
|
CONFLICTS_INSTALL?= rust-nightly
|
||||||
|
|
||||||
BOOTSTRAPS_DATE?= 2017-07-20
|
BOOTSTRAPS_DATE?= 2017-08-31
|
||||||
BOOTSTRAPS_DATE_aarch64?= 2017-07-20
|
|
||||||
|
|
||||||
RUST_BOOTSTRAP_VERSION?= 1.19.0
|
RUST_BOOTSTRAP_VERSION?= 1.20.0
|
||||||
RUST_BOOTSTRAP_VERSION_aarch64?=1.19.0
|
|
||||||
RUSTC_BOOTSTRAP= ${BOOTSTRAPS_DATE_${ARCH}:U${BOOTSTRAPS_DATE}}/rustc-${RUST_BOOTSTRAP_VERSION_${ARCH}:U${RUST_BOOTSTRAP_VERSION}}-${RUST_TARGET}.tar.gz
|
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
|
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?= 0.21.0
|
||||||
CARGO_BOOTSTRAP_VERSION_aarch64?=0.20.0
|
|
||||||
CARGO_BOOTSTRAP= ${BOOTSTRAPS_DATE_${ARCH}:U${BOOTSTRAPS_DATE}}/cargo-${CARGO_BOOTSTRAP_VERSION_${ARCH}:U${CARGO_BOOTSTRAP_VERSION}}-${RUST_TARGET}${EXTRACT_SUFX}
|
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/^-//}
|
RUST_CHANNEL= ${PKGNAMESUFFIX:Ustable:S/^-//}
|
||||||
|
@ -134,8 +130,9 @@ pre-fetch:
|
||||||
fi
|
fi
|
||||||
|
|
||||||
RUST_STD_DIR= ${RUST_STD_BOOTSTRAP:T:R:R}
|
RUST_STD_DIR= ${RUST_STD_BOOTSTRAP:T:R:R}
|
||||||
LIBSTD_SUFFIX= 35ad9950c7e5074b
|
LIBSTD_SUFFIX_aarch64= 8eed00280b051035
|
||||||
LIBSTD_SUFFIX_aarch64= ab4dd4f618cec2e9
|
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
|
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
|
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
|
# If we override the versions and date of the bootstraps (for instance
|
||||||
# on aarch64 where we provide our own bootstraps), we need to update
|
# on aarch64 where we provide our own bootstraps), we need to update
|
||||||
# places where they are recorded.
|
# 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 \
|
${REINPLACE_CMD} -e \
|
||||||
's|^date:.*|date: ${BOOTSTRAPS_DATE_${ARCH}:U${BOOTSTRAPS_DATE}}|' \
|
's|^date:.*|date: ${BOOTSTRAPS_DATE_${ARCH}:U${BOOTSTRAPS_DATE}}|' \
|
||||||
${WRKSRC}/src/stage0.txt; \
|
${WRKSRC}/src/stage0.txt; \
|
||||||
fi
|
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 \
|
${REINPLACE_CMD} -e \
|
||||||
's|^rustc:.*|rustc: ${RUST_BOOTSTRAP_VERSION_${ARCH}:U${RUST_BOOTSTRAP_VERSION}}|' \
|
's|^rustc:.*|rustc: ${RUST_BOOTSTRAP_VERSION_${ARCH}:U${RUST_BOOTSTRAP_VERSION}}|' \
|
||||||
${WRKSRC}/src/stage0.txt; \
|
${WRKSRC}/src/stage0.txt; \
|
||||||
fi
|
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 \
|
${REINPLACE_CMD} -e \
|
||||||
's|^cargo:.*|cargo: ${CARGO_BOOTSTRAP_VERSION_${ARCH}:U${CARGO_BOOTSTRAP_VERSION}}|' \
|
's|^cargo:.*|cargo: ${CARGO_BOOTSTRAP_VERSION_${ARCH}:U${CARGO_BOOTSTRAP_VERSION}}|' \
|
||||||
${WRKSRC}/src/stage0.txt; \
|
${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
|
fi
|
||||||
# After patching crates, we need to update their corresponding
|
# After patching crates, we need to update their corresponding
|
||||||
# `.cargo-checksum.json` to reflect the new checksums verified by Cargo.
|
# `.cargo-checksum.json` to reflect the new checksums verified by Cargo.
|
||||||
|
@ -353,4 +350,40 @@ do-test:
|
||||||
--config ./config.toml \
|
--config ./config.toml \
|
||||||
--jobs ${MAKE_JOBS_NUMBER}
|
--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>
|
.include <bsd.port.post.mk>
|
||||||
|
|
|
@ -1,21 +1,21 @@
|
||||||
TIMESTAMP = 1506544334
|
TIMESTAMP = 1508970863
|
||||||
SHA256 (rust/rustc-1.20.0-src.tar.gz) = 2aa4875ff4472c6e35262bbb9052cb2623da3dae6084a858cc59d36f33f18214
|
SHA256 (rust/rustc-1.21.0-src.tar.gz) = 1707c142244b5bd909993559c6116c81987c1de21d6207c05d3ecbe5bba548fa
|
||||||
SIZE (rust/rustc-1.20.0-src.tar.gz) = 50418082
|
SIZE (rust/rustc-1.21.0-src.tar.gz) = 52555346
|
||||||
SHA256 (rust/2017-07-20/rustc-1.19.0-aarch64-unknown-freebsd.tar.gz) = 0386e8f2f1b85f40d9d6d15de1b4c4fb384e3b22966f232bc7dac4afc969c4ad
|
SHA256 (rust/2017-08-31/rustc-1.20.0-aarch64-unknown-freebsd.tar.gz) = 6703e3205c5d7075ea49acb5a0a2bf4fb1dfe3a10daf160a67a1c4376e37e530
|
||||||
SIZE (rust/2017-07-20/rustc-1.19.0-aarch64-unknown-freebsd.tar.gz) = 43149574
|
SIZE (rust/2017-08-31/rustc-1.20.0-aarch64-unknown-freebsd.tar.gz) = 42731935
|
||||||
SHA256 (rust/2017-07-20/rust-std-1.19.0-aarch64-unknown-freebsd.tar.gz) = 587369524975204ef503d1d008f703122cf20912bd5f5545efbf2996323e4642
|
SHA256 (rust/2017-08-31/rust-std-1.20.0-aarch64-unknown-freebsd.tar.gz) = 9da54867a9b65e708f7e31c615f7a31bfacad2d9fe5459e570575118f29a122c
|
||||||
SIZE (rust/2017-07-20/rust-std-1.19.0-aarch64-unknown-freebsd.tar.gz) = 58375655
|
SIZE (rust/2017-08-31/rust-std-1.20.0-aarch64-unknown-freebsd.tar.gz) = 59365419
|
||||||
SHA256 (rust/2017-07-20/cargo-0.20.0-aarch64-unknown-freebsd.tar.gz) = 73ecd5277dc4e44f1616c2bd9e0ea4062e163740d3082d9c64681a856d6b3b83
|
SHA256 (rust/2017-08-31/cargo-0.21.0-aarch64-unknown-freebsd.tar.gz) = 9d556e11ea2f391bfa382f08818185c5d05bf94966ff35ae24e53a510f7ae5da
|
||||||
SIZE (rust/2017-07-20/cargo-0.20.0-aarch64-unknown-freebsd.tar.gz) = 3029610
|
SIZE (rust/2017-08-31/cargo-0.21.0-aarch64-unknown-freebsd.tar.gz) = 2915815
|
||||||
SHA256 (rust/2017-07-20/rustc-1.19.0-i686-unknown-freebsd.tar.gz) = ee9a40272800d6bca5d797489101bf0629bb8b84b195d402452d24ebd7e07709
|
SHA256 (rust/2017-08-31/rustc-1.20.0-i686-unknown-freebsd.tar.gz) = 58c8c4f73c9170cd0e81071147cd0772fc5e8512f4fcfb6fd08ad2c60b69177d
|
||||||
SIZE (rust/2017-07-20/rustc-1.19.0-i686-unknown-freebsd.tar.gz) = 54627942
|
SIZE (rust/2017-08-31/rustc-1.20.0-i686-unknown-freebsd.tar.gz) = 44170684
|
||||||
SHA256 (rust/2017-07-20/rust-std-1.19.0-i686-unknown-freebsd.tar.gz) = c06a89909adde2f97c4f280ea186e41d9c47c4999912267e4eb3f6379ac35aa0
|
SHA256 (rust/2017-08-31/rust-std-1.20.0-i686-unknown-freebsd.tar.gz) = 3426262d596ab8bf41b818965f995588256ae7008c162a39f83eed93ce3c42f8
|
||||||
SIZE (rust/2017-07-20/rust-std-1.19.0-i686-unknown-freebsd.tar.gz) = 74163023
|
SIZE (rust/2017-08-31/rust-std-1.20.0-i686-unknown-freebsd.tar.gz) = 60720005
|
||||||
SHA256 (rust/2017-07-20/cargo-0.20.0-i686-unknown-freebsd.tar.gz) = e43cde13c169be7c738623a8b57023648375d68524e5005df5a907e31fc73a1f
|
SHA256 (rust/2017-08-31/cargo-0.21.0-i686-unknown-freebsd.tar.gz) = cad85e8beb87eeacfa80944b63653ed00a60b9d6f7e423ea0c58a83db8a2ea4a
|
||||||
SIZE (rust/2017-07-20/cargo-0.20.0-i686-unknown-freebsd.tar.gz) = 5162200
|
SIZE (rust/2017-08-31/cargo-0.21.0-i686-unknown-freebsd.tar.gz) = 5134986
|
||||||
SHA256 (rust/2017-07-20/rustc-1.19.0-x86_64-unknown-freebsd.tar.gz) = 7f6c02b075b55c897962cd17f05355c7f07a4975c66a4b1dabb10556bd6efb0f
|
SHA256 (rust/2017-08-31/rustc-1.20.0-x86_64-unknown-freebsd.tar.gz) = d7f06662a29023043e21f598d24803d6c2f0d801635016abb32636b55ca14535
|
||||||
SIZE (rust/2017-07-20/rustc-1.19.0-x86_64-unknown-freebsd.tar.gz) = 52460523
|
SIZE (rust/2017-08-31/rustc-1.20.0-x86_64-unknown-freebsd.tar.gz) = 43348607
|
||||||
SHA256 (rust/2017-07-20/rust-std-1.19.0-x86_64-unknown-freebsd.tar.gz) = ab1098ec8e8940bbbfec48a9bd1821e5af74b7da4352dd95f16274ab1f437f80
|
SHA256 (rust/2017-08-31/rust-std-1.20.0-x86_64-unknown-freebsd.tar.gz) = aa1773ec1049247ef0730195eb83a7a73f22df556fe759029679aabe0235a3d3
|
||||||
SIZE (rust/2017-07-20/rust-std-1.19.0-x86_64-unknown-freebsd.tar.gz) = 72454102
|
SIZE (rust/2017-08-31/rust-std-1.20.0-x86_64-unknown-freebsd.tar.gz) = 60215051
|
||||||
SHA256 (rust/2017-07-20/cargo-0.20.0-x86_64-unknown-freebsd.tar.gz) = a2460994c0c58bd97d38010c5ac0698137522a4e7730f1480b7a03b3a667e9b9
|
SHA256 (rust/2017-08-31/cargo-0.21.0-x86_64-unknown-freebsd.tar.gz) = 522592cdee824d8d7b7c3472f29ded39d10f1fb3d07f3b3ea0673b8edf6d5b66
|
||||||
SIZE (rust/2017-07-20/cargo-0.20.0-x86_64-unknown-freebsd.tar.gz) = 5248001
|
SIZE (rust/2017-08-31/cargo-0.21.0-x86_64-unknown-freebsd.tar.gz) = 5183277
|
||||||
|
|
Loading…
Add table
Reference in a new issue