@@ -373,6 +373,14 @@ struct LLVMBuild <: CompilerBuild
373
373
end
374
374
LLVMBuild (v:: VersionNumber ) = LLVMBuild (v, (;))
375
375
376
+ struct GoBuild <: CompilerBuild
377
+ version:: VersionNumber
378
+ end
379
+
380
+ struct RustBuild <: CompilerBuild
381
+ version:: VersionNumber
382
+ end
383
+
376
384
getversion (c:: CompilerBuild ) = c. version
377
385
getabi (c:: CompilerBuild ) = c. abi
378
386
@@ -396,6 +404,12 @@ const available_llvm_builds = [
396
404
LLVMBuild (v " 12.0.0" ),
397
405
]
398
406
407
+ const available_go_builds =
408
+ GoBuild .(unique (sort (VersionNumber .(join .(getindex .(split .(filter (x-> startswith (x, " Go." ), keys (load_artifacts_toml (joinpath (dirname (@__DIR__ ), " Artifacts.toml" )))), ' .' ), Ref (2 : 4 )), ' .' )))))
409
+
410
+ const available_rust_builds =
411
+ RustBuild .(unique (sort (VersionNumber .(join .(getindex .(split .(filter (x-> startswith (x, " RustBase." ), keys (load_artifacts_toml (joinpath (dirname (@__DIR__ ), " Artifacts.toml" )))), ' .' ), Ref (2 : 4 )), ' .' )))))
412
+
399
413
"""
400
414
gcc_version(p::AbstractPlatform, GCC_builds::Vector{GCCBuild},
401
415
compilers::Vector{Symbol}=[:c];
@@ -525,8 +539,8 @@ function choose_shards(p::AbstractPlatform;
525
539
ps_build:: VersionNumber = v " 2021.08.10" ,
526
540
GCC_builds:: Vector{GCCBuild} = available_gcc_builds,
527
541
LLVM_builds:: Vector{LLVMBuild} = available_llvm_builds,
528
- Rust_build:: VersionNumber = v " 1.57.0 " ,
529
- Go_build:: VersionNumber = v " 1.17.7 " ,
542
+ Rust_build:: VersionNumber = maximum ( getversion .(available_rust_builds)) ,
543
+ Go_build:: VersionNumber = maximum ( getversion .(available_go_builds)) ,
530
544
archive_type:: Symbol = (use_squashfs[] ? :squashfs : :unpacked ),
531
545
bootstrap_list:: Vector{Symbol} = bootstrap_list,
532
546
# Because GCC has lots of compatibility issues, we always default to
0 commit comments