@@ -224,7 +224,9 @@ function build_tarballs(ARGS, src_name, src_version, sources, script,
224
224
# The location the binaries will be available from
225
225
bin_path = " https://github.com/$(deploy_jll_repo) /releases/download/$(tag) "
226
226
build_jll_package (src_name, build_version, code_dir, build_output_meta,
227
- dependencies, bin_path; verbose= verbose)
227
+ dependencies, bin_path; verbose= verbose,
228
+ extract_kwargs (kwargs, (:lazy_artifacts ,))... ,
229
+ )
228
230
push_jll_package (src_name, build_version; code_dir= code_dir, deploy_repo= deploy_repo)
229
231
if register
230
232
if verbose
@@ -544,6 +546,8 @@ here are the relevant actors, broken down in brief:
544
546
* `require_license` enables a special audit pass that requires licenses to be
545
547
installed by all packages.
546
548
549
+ * `lazy_artifacts` sets whether the artifacts should be lazy.
550
+
547
551
* `meta_json_stream`: If this is set to an IOStream, do not actually build, just
548
552
output a JSON representation of all the metadata about this build to the stream.
549
553
"""
@@ -562,6 +566,7 @@ function autobuild(dir::AbstractString,
562
566
autofix:: Bool = true ,
563
567
code_dir:: Union{String,Nothing} = nothing ,
564
568
require_license:: Bool = true ,
569
+ lazy_artifacts:: Bool = false ,
565
570
meta_json_stream = nothing ,
566
571
kwargs... )
567
572
# If they've asked for the JSON metadata, by all means, give it to them!
@@ -577,6 +582,7 @@ function autobuild(dir::AbstractString,
577
582
" platforms" => triplet .(platforms),
578
583
" products" => products,
579
584
" dependencies" => dep_name .(dependencies),
585
+ " lazy_artifacts" => lazy_artifacts,
580
586
)))
581
587
return Dict ()
582
588
end
@@ -867,7 +873,7 @@ function init_jll_package(name, code_dir, deploy_repo;
867
873
end
868
874
end
869
875
870
- function rebuild_jll_packages (obj:: Dict ; build_version = nothing , verbose:: Bool = false )
876
+ function rebuild_jll_packages (obj:: Dict ; build_version = nothing , verbose:: Bool = false , lazy_artifacts :: Bool = false )
871
877
if build_version === nothing
872
878
build_version = BinaryBuilder. get_next_wrapper_version (obj[" name" ], obj[" version" ])
873
879
end
@@ -878,14 +884,15 @@ function rebuild_jll_packages(obj::Dict; build_version = nothing, verbose::Bool
878
884
obj[" products" ],
879
885
obj[" dependencies" ],
880
886
verbose= verbose,
887
+ lazy_artifacts = lazy_artifacts,
881
888
)
882
889
end
883
890
884
891
function rebuild_jll_packages (name:: String , build_version:: VersionNumber ,
885
892
platforms:: Vector , products:: Vector , dependencies:: Vector ;
886
893
gh_org:: String = " JuliaBinaryWrappers" ,
887
894
code_dir:: String = joinpath (Pkg. devdir (), " $(name) _jll" ),
888
- verbose:: Bool = false )
895
+ verbose:: Bool = false , lazy_artifacts :: Bool = false )
889
896
repo = " $(gh_org) /$(name) _jll.jl"
890
897
tag = " $(name) -v$(build_version) "
891
898
bin_path = " https://github.com/$(repo) /releases/download/$(tag) "
@@ -948,13 +955,13 @@ function rebuild_jll_packages(name::String, build_version::VersionNumber,
948
955
end
949
956
950
957
# Finally, generate the full JLL package
951
- build_jll_package (name, build_version, code_dir, build_output_meta, dependencies, bin_path; verbose= verbose)
958
+ build_jll_package (name, build_version, code_dir, build_output_meta, dependencies, bin_path; verbose= verbose, lazy_artifacts = lazy_artifacts )
952
959
end
953
960
end
954
961
955
962
function build_jll_package (src_name:: String , build_version:: VersionNumber , code_dir:: String ,
956
963
build_output_meta:: Dict , dependencies:: Vector , bin_path:: String ;
957
- verbose:: Bool = false )
964
+ verbose:: Bool = false , lazy_artifacts :: Bool = false )
958
965
# Make way, for prince artifacti
959
966
mkpath (joinpath (code_dir, " src" , " wrappers" ))
960
967
@@ -973,7 +980,7 @@ function build_jll_package(src_name::String, build_version::VersionNumber, code_
973
980
download_info = Tuple[
974
981
(joinpath (bin_path, basename (tarball_name)), tarball_hash),
975
982
]
976
- bind_artifact! (artifacts_toml, src_name, git_hash; platform= platform, download_info= download_info, force= true )
983
+ bind_artifact! (artifacts_toml, src_name, git_hash; platform= platform, download_info= download_info, force= true , lazy = lazy_artifacts )
977
984
978
985
# Generate the platform-specific wrapper code
979
986
open (joinpath (code_dir, " src" , " wrappers" , " $(triplet (platform)) .jl" ), " w" ) do io
0 commit comments