aboutsummaryrefslogtreecommitdiff
path: root/lang/rust-nightly
diff options
context:
space:
mode:
authorTobias Kortkamp <tobik@FreeBSD.org>2021-03-23 08:43:48 +0000
committerTobias Kortkamp <tobik@FreeBSD.org>2021-03-23 08:43:48 +0000
commitea774b20803bbac3d6950a25a7ab560df3287f0f (patch)
tree2267db9649ce45eb1242f484d58a09bbd9d1e7b4 /lang/rust-nightly
parent318761fb183a1a958fa81871adb78965ba01a8ee (diff)
downloadports-ea774b20803bbac3d6950a25a7ab560df3287f0f.tar.gz
ports-ea774b20803bbac3d6950a25a7ab560df3287f0f.zip
lang/rust-nightly: Update to 1.53.0.20210323
- Sync patches with lang/rust - Add the rust-nightly update script Changes: https://github.com/rust-lang/rust/compare/45b3c28518...5d04957a4b
Notes
Notes: svn path=/head/; revision=569013
Diffstat (limited to 'lang/rust-nightly')
-rw-r--r--lang/rust-nightly/Makefile14
-rw-r--r--lang/rust-nightly/distinfo6
-rw-r--r--lang/rust-nightly/files/patch-backtrace12
-rw-r--r--lang/rust-nightly/files/patch-src_bootstrap_install.rs17
-rw-r--r--lang/rust-nightly/update.sh37
5 files changed, 74 insertions, 12 deletions
diff --git a/lang/rust-nightly/Makefile b/lang/rust-nightly/Makefile
index 60309e60ef9f..f876fb92655f 100644
--- a/lang/rust-nightly/Makefile
+++ b/lang/rust-nightly/Makefile
@@ -1,7 +1,8 @@
# Created by: Jean-Sébastien Pédron <dumbbell@FreeBSD.org>
# $FreeBSD$
-PORTVERSION= 1.50.0.${NIGHTLY_DATE:C,-,,g}
+# Run update.sh to update to the latest nightly
+PORTVERSION= 1.53.0.${NIGHTLY_DATE:C,-,,g}
# Always set PORTREVISION explicitly as otherwise it is inherited from lang/rust
PORTREVISION= 0
PKGNAMESUFFIX= -nightly
@@ -16,13 +17,8 @@ MASTERDIR= ${.CURDIR}/../rust
PATCHDIR= ${.CURDIR}/files
DISTINFO_FILE= ${.CURDIR}/distinfo
-# Get latest from top level 'date' key in
-# https://static.rust-lang.org/dist/channel-rust-nightly.toml
-NIGHTLY_DATE= 2021-03-05
-
-# See WRKSRC/src/stage0.txt for this date
-BOOTSTRAPS_DATE= 2021-02-14
-RUST_BOOTSTRAP_VERSION= beta
-CARGO_BOOTSTRAP_VERSION= beta
+NIGHTLY_DATE= 2021-03-23
+BOOTSTRAPS_DATE= 2021-02-14
+RUST_BOOTSTRAP_VERSION= beta
.include "${MASTERDIR}/Makefile"
diff --git a/lang/rust-nightly/distinfo b/lang/rust-nightly/distinfo
index 2e176eb7cb27..7e3827e32e3b 100644
--- a/lang/rust-nightly/distinfo
+++ b/lang/rust-nightly/distinfo
@@ -1,6 +1,6 @@
-TIMESTAMP = 1614940829
-SHA256 (rust/2021-03-05/rustc-nightly-src.tar.xz) = 53a31c16c0b119fddcace0aa7d57e107a8e21b40d4d04b976ddcb363f0273fce
-SIZE (rust/2021-03-05/rustc-nightly-src.tar.xz) = 114645532
+TIMESTAMP = 1616475173
+SHA256 (rust/2021-03-23/rustc-nightly-src.tar.xz) = ad47a8bef68e6d130e0477e16c0cab89e4f2e447f16578fc7243bac095a5ea56
+SIZE (rust/2021-03-23/rustc-nightly-src.tar.xz) = 115047736
SHA256 (rust/2021-02-14/rustc-beta-x86_64-unknown-freebsd.tar.xz) = 1eb1f1508887449de36aa0dc75e549b8185d7d0bd4f86d503adda09295397fb7
SIZE (rust/2021-02-14/rustc-beta-x86_64-unknown-freebsd.tar.xz) = 79211584
SHA256 (rust/2021-02-14/rust-std-beta-x86_64-unknown-freebsd.tar.xz) = f366210bf594eda2b3a6547aff7fb0f32cde99e1a0ec427d2a05a430cc9795b2
diff --git a/lang/rust-nightly/files/patch-backtrace b/lang/rust-nightly/files/patch-backtrace
new file mode 100644
index 000000000000..e658bf339a5c
--- /dev/null
+++ b/lang/rust-nightly/files/patch-backtrace
@@ -0,0 +1,12 @@
+https://github.com/rust-lang/rust/issues/78184
+
+--- library/backtrace/src/symbolize/gimli.rs.orig 2021-02-10 17:36:59 UTC
++++ library/backtrace/src/symbolize/gimli.rs
+@@ -361,6 +361,7 @@ cfg_if::cfg_if! {
+ } else if #[cfg(any(
+ target_os = "linux",
+ target_os = "fuchsia",
++ target_os = "freebsd",
+ ))] {
+ // Other Unix (e.g. Linux) platforms use ELF as an object file format
+ // and typically implement an API called `dl_iterate_phdr` to load
diff --git a/lang/rust-nightly/files/patch-src_bootstrap_install.rs b/lang/rust-nightly/files/patch-src_bootstrap_install.rs
new file mode 100644
index 000000000000..59e25e10468d
--- /dev/null
+++ b/lang/rust-nightly/files/patch-src_bootstrap_install.rs
@@ -0,0 +1,17 @@
+Only install docs for the host target
+
+It otherwise wastes significant time (there are a lot of individual
+files) and stages host docs, wasm docs, which unstages the host
+docs first.
+
+--- src/bootstrap/install.rs.orig 2021-03-22 17:05:25 UTC
++++ src/bootstrap/install.rs
+@@ -133,7 +133,7 @@ macro_rules! install {
+ }
+
+ install!((self, builder, _config),
+- Docs, "src/doc", _config.docs, only_hosts: false, {
++ Docs, "src/doc", _config.docs, only_hosts: true, {
+ let tarball = builder.ensure(dist::Docs { host: self.target }).expect("missing docs");
+ install_sh(builder, "docs", self.compiler.stage, Some(self.target), &tarball);
+ };
diff --git a/lang/rust-nightly/update.sh b/lang/rust-nightly/update.sh
new file mode 100644
index 000000000000..7e707fe09c1c
--- /dev/null
+++ b/lang/rust-nightly/update.sh
@@ -0,0 +1,37 @@
+#!/bin/sh
+# Requires: pkg install portfmt
+# Run in lang/rust-nightly
+set -eu
+
+get_commit() {
+ awk '
+$1 == "[pkg.rustc]" { pkg_rustc = 1 }
+pkg_rustc && $1 == "git_commit_hash" {
+ print substr($3, 2, 10)
+ exit
+}'
+}
+
+prev_date=$(portedit get '^NIGHTLY_DATE$' .)
+prev_commit=$(fetch -qo - https://static.rust-lang.org/dist/${prev_date}/channel-rust-nightly.toml | get_commit)
+fetch -qo /tmp/channel-rust-nightly.toml https://static.rust-lang.org/dist/channel-rust-nightly.toml
+</tmp/channel-rust-nightly.toml awk '
+$1 == "[pkg.rustc]" { pkg_rustc = 1 }
+date == "" && $1 == "date" { date = substr($3, 2, length($3) - 2) }
+date && pkg_rustc && $1 == "version" {
+ version = substr($3, 2, length($3) - length("-nightly") - 1)
+ printf("PORTVERSION=%s.${NIGHTLY_DATE:C,-,,g}\nPORTREVISION=0\nNIGHTLY_DATE=%s\n", version, date)
+ exit
+}' | portedit merge -i .
+new_commit=$(</tmp/channel-rust-nightly.toml get_commit)
+rm /tmp/channel-rust-nightly.toml
+
+fetch -qo - https://raw.githubusercontent.com/rust-lang/rust/${new_commit}/src/stage0.txt | awk '
+$1 == "date:" { date = $2 }
+$1 == "rustc:" { rustc = $2 }
+END { printf("BOOTSTRAPS_DATE=%s\nRUST_BOOTSTRAP_VERSION=%s\n", date, rustc) }' | portedit merge -i .
+
+make makesum
+echo "lang/rust-nightly: Update to $(make -V PORTVERSION)
+
+Changes: https://github.com/rust-lang/rust/compare/${prev_commit}...${new_commit}" >rust-nightly.msg