semarie / build-rust

Script helper for building rustc and cargo from source on OpenBSD (without rustup)
59 stars 15 forks source link

Add a helper script to find rustc archives #26

Open nalysius opened 5 months ago

nalysius commented 5 months ago

The script looks for rustc archives on the server.

When it finds an archive, it downloads it in /tmp/build-rust-archives/, prints the Rust version contained inside and the URL to use in "distfiles_rustc_base" to build this version.

Example: listing the beta archives published between the 1st and the end of March 2024.

$ ./find-rustc-archives.sh 3 2024 1 beta
Downloading https://static.rust-lang.org/dist/2024-03-02/rustc-beta-src.tar.gz at /tmp/build-rust-archives/2024-03-02/rustc-beta-src.tar.gz...
Extracting version file from rustc-beta-src.tar.gz...
1.77.0-beta.6 (2c9c76411 2024-03-01), https://static.rust-lang.org/dist/2024-03-02

Downloading https://static.rust-lang.org/dist/2024-03-07/rustc-beta-src.tar.gz at /tmp/build-rust-archives/2024-03-07/rustc-beta-src.tar.gz...
Extracting version file from rustc-beta-src.tar.gz...
1.77.0-beta.7 (339fb6965 2024-03-06), https://static.rust-lang.org/dist/2024-03-07

Downloading https://static.rust-lang.org/dist/2024-03-16/rustc-beta-src.tar.gz at /tmp/build-rust-archives/2024-03-16/rustc-beta-src.tar.gz...
Extracting version file from rustc-beta-src.tar.gz...
1.77.0-beta.8 (2bcca41ad 2024-03-15), https://static.rust-lang.org/dist/2024-03-16

Downloading https://static.rust-lang.org/dist/2024-03-17/rustc-beta-src.tar.gz at /tmp/build-rust-archives/2024-03-17/rustc-beta-src.tar.gz...
Extracting version file from rustc-beta-src.tar.gz...
1.77.0-beta.9 (28fd269a5 2024-03-16), https://static.rust-lang.org/dist/2024-03-17

Downloading https://static.rust-lang.org/dist/2024-03-19/rustc-beta-src.tar.gz at /tmp/build-rust-archives/2024-03-19/rustc-beta-src.tar.gz...
Extracting version file from rustc-beta-src.tar.gz...
1.78.0-beta.1 (efd9d2df1 2024-03-18), https://static.rust-lang.org/dist/2024-03-19

Downloading https://static.rust-lang.org/dist/2024-03-24/rustc-beta-src.tar.gz at /tmp/build-rust-archives/2024-03-24/rustc-beta-src.tar.gz...
Extracting version file from rustc-beta-src.tar.gz...
1.78.0-beta.2 (277d06bc9 2024-03-23), https://static.rust-lang.org/dist/2024-03-24

It doesn't re-download archives. A second call only prints the versions.

$ ./find-rustc-archives.sh 3 2024 1 beta
1.77.0-beta.6 (2c9c76411 2024-03-01), https://static.rust-lang.org/dist/2024-03-02

1.77.0-beta.7 (339fb6965 2024-03-06), https://static.rust-lang.org/dist/2024-03-07

1.77.0-beta.8 (2bcca41ad 2024-03-15), https://static.rust-lang.org/dist/2024-03-16

1.77.0-beta.9 (28fd269a5 2024-03-16), https://static.rust-lang.org/dist/2024-03-17

1.78.0-beta.1 (efd9d2df1 2024-03-18), https://static.rust-lang.org/dist/2024-03-19

1.78.0-beta.2 (277d06bc9 2024-03-23), https://static.rust-lang.org/dist/2024-03-24