-
Notifications
You must be signed in to change notification settings - Fork 9
Use CSDP_jll #56
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use CSDP_jll #56
Changes from 4 commits
018f087
0e70e61
7140681
6f63905
c216171
e81dd66
3537a62
83b26b5
45ba1ec
cca42dd
76293d5
9febccb
4cdb52d
7a6bb7e
9236f13
1e18ea0
0d79054
7906dca
331f993
daf35a7
65e19bb
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -5,8 +5,7 @@ os: | |
| - osx | ||
| julia: | ||
| - 1.0 | ||
| - 1.1 | ||
| - 1.2 | ||
| - 1.4 | ||
|
|
||
| matrix: | ||
| allow_failures: | ||
|
|
||
This file was deleted.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,89 +1,2 @@ | ||
| using BinDeps | ||
| using LinearAlgebra, Libdl | ||
|
|
||
| BinDeps.@setup | ||
|
|
||
| blas = library_dependency("libblas", alias=["libblas.dll"]) | ||
| lapack = library_dependency("liblapack", alias=["liblapack.dll"]) | ||
|
|
||
| const ENV_VAR = "CSDP_USE_JULIA_LAPACK" | ||
| const JULIA_LAPACK = if haskey(ENV, ENV_VAR) | ||
| value = ENV[ENV_VAR] | ||
| if lowercase(value) in ["1", "true", "yes"] | ||
| @info "Using the blas and lapack libraries shipped with Julia as the environment variable `$ENV_VAR` is set to `$value`." | ||
| true | ||
| elseif lowercase(value) in ["0", "false", "no"] | ||
| @info "Using system blas and lapack libraries as the environment variable `$ENV_VAR` is set to `$value`." | ||
| false | ||
| else | ||
| error("The environment variable `$ENV_VAR` is set to `$value`. Set it to `true` or `false` instead.") | ||
| end | ||
| else | ||
| if BinDeps.issatisfied(blas) && BinDeps.issatisfied(lapack) | ||
| @info "Using system blas and lapack libraries. Set the environment variable `$ENV_VAR` to `true` to use the blas/lapack library shipped with Julia." | ||
| false | ||
| else | ||
| @info "Using the blas and lapack libraries shipped with Julia as there is no system blas and lapack libraries installed." | ||
| true | ||
| end | ||
| end | ||
|
|
||
| include("constants.jl") | ||
| include("compile.jl") | ||
|
|
||
| # @info "libname = $libname" | ||
| const depends = if JULIA_LAPACK | ||
| # Create a new `bindeps_context` global variable that does not | ||
| # have `blas` and `lapack` in the list of dependencies. | ||
| BinDeps.@setup | ||
| [] | ||
| else | ||
| [blas, lapack] | ||
| end | ||
| depends = JULIA_LAPACK ? [] : [blas, lapack] | ||
|
|
||
| # LaPack/BLAS dependencies | ||
| if !JULIA_LAPACK | ||
| @static if Sys.iswindows() | ||
| # wheel = "numpy/windows-wheel-builder/raw/master/atlas-builds" | ||
| # atlas = "https://github.com/$wheel" | ||
| # atlasdll = "/atlas-3.11.38-sse2-64/lib/numpy-atlas.dll" | ||
| # download("https://raw.githubusercontent.com/$wheel/$atlasdll"), | ||
| # "$libdir/libatlas.dll") | ||
| ## at the end ... | ||
| # push!(BinDeps.defaults, BuildProcess) | ||
| end | ||
| end | ||
|
|
||
| csdp = library_dependency("csdp", aliases=[libname], depends=depends) | ||
|
|
||
| provides(Sources, URI(download_url), csdp, unpacked_dir=csdpversion) | ||
|
|
||
| provides(BuildProcess, | ||
| (@build_steps begin | ||
| GetSources(csdp) | ||
| CreateDirectory(libdir) | ||
| CreateDirectory(builddir) | ||
| @build_steps begin | ||
| ChangeDirectory(srcdir) | ||
| patch_int | ||
| compile_objs | ||
| end | ||
| end), | ||
| [csdp]) | ||
|
|
||
| # Prebuilt DLLs for Windows | ||
| provides(Binaries, | ||
| URI("https://github.com/EQt/winlapack/blob/49454aee32649dc52c5b64f408a17b5270bd30f4/win-csdp-$(Sys.WORD_SIZE).7z?raw=true"), | ||
| [csdp, lapack, blas], unpacked_dir="usr", os = :Windows) | ||
|
|
||
| @BinDeps.install Dict(:csdp => :csdp) | ||
|
|
||
| open(joinpath(dirname(@__FILE__), "deps.jl"), write = true, append = true) do io | ||
| print(io, "const CSDP_INT = ") | ||
| if JULIA_LAPACK | ||
| println(io, "Clong") | ||
| else | ||
| println(io, "Cint") | ||
| end | ||
| end | ||
| include("build_OpenBLAS32.v0.3.9.jl") | ||
| include("build_CSDP.v6.2.0.jl") |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,53 @@ | ||
| # Generated by running | ||
| # julia --color=yes generate_buildjl.jl C/Coin-OR/CSDP/build_tarballs.jl JuliaBinaryWrappers/CSDP_jll.jl CSDP-v6.2.0+4 | ||
| # in the root the the source tree of https://github.com/JuliaPackaging/Yggdrasil/ | ||
| # by first replacing the `include` by its content, see https://github.com/JuliaPackaging/Yggdrasil/issues/858 | ||
| # We also added `prefix, ` after `LibraryProduct(`. | ||
| using BinaryProvider # requires BinaryProvider 0.3.0 or later | ||
|
|
||
| # Parse some basic command-line arguments | ||
| const verbose = "--verbose" in ARGS | ||
| const prefix = Prefix(get([a for a in ARGS if a != "--verbose"], 1, joinpath(@__DIR__, "usr"))) | ||
| products = [ | ||
| LibraryProduct(prefix, ["libcsdp"], :libcsdp) | ||
| ] | ||
|
|
||
| # Download binaries from hosted location | ||
| bin_prefix = "https://github.com/JuliaBinaryWrappers/CSDP_jll.jl/releases/download/CSDP-v6.2.0+4" | ||
|
|
||
| # Listing of files generated by BinaryBuilder: | ||
| download_info = Dict( | ||
| Linux(:aarch64, libc=:glibc) => ("$bin_prefix/CSDP.v6.2.0.aarch64-linux-gnu.tar.gz", "446a2d5c60a9270a345d2aab12093c76accab967c175ff96de7f684e48c2f482"), | ||
| Linux(:aarch64, libc=:musl) => ("$bin_prefix/CSDP.v6.2.0.aarch64-linux-musl.tar.gz", "1e0c1e5c89e6b70538ff9b4e705bda3d267721ae4d58ee600152bc5f6101bf46"), | ||
| Linux(:armv7l, libc=:glibc, call_abi=:eabihf) => ("$bin_prefix/CSDP.v6.2.0.armv7l-linux-gnueabihf.tar.gz", "88532fc19eb7a33b72bad0b7e01d61b1bd29b6069b4a883d468d6e12f00cf711"), | ||
| Linux(:armv7l, libc=:musl, call_abi=:eabihf) => ("$bin_prefix/CSDP.v6.2.0.armv7l-linux-musleabihf.tar.gz", "f1dd8bba6a91b4c94394ad421487b99249c8abd592dfbb2256d0dee704ea2a82"), | ||
| Linux(:i686, libc=:glibc) => ("$bin_prefix/CSDP.v6.2.0.i686-linux-gnu.tar.gz", "80e2a2b2263ca378efb23cd565814bd66f5e120cdb955e9bdf548ab32b43b75d"), | ||
| Linux(:i686, libc=:musl) => ("$bin_prefix/CSDP.v6.2.0.i686-linux-musl.tar.gz", "df0608d84f7b4c511ef002271f0f6a9481a81da3e3c751d36392d6fc89540cf2"), | ||
| Windows(:i686) => ("$bin_prefix/CSDP.v6.2.0.i686-w64-mingw32.tar.gz", "33f83f94bcec13087f9fa9276345ec296722b14b6a28c3790bb494e419bf41ea"), | ||
| Linux(:powerpc64le, libc=:glibc) => ("$bin_prefix/CSDP.v6.2.0.powerpc64le-linux-gnu.tar.gz", "461214a00369395ccd544ec40e7c89d787fcc2a869aeb73a832f79ff06c16b97"), | ||
| MacOS(:x86_64) => ("$bin_prefix/CSDP.v6.2.0.x86_64-apple-darwin14.tar.gz", "af4cbf6d324b32f26e3700d50ed2950eebbd3bdc6cc13eae8c1d15ba25c70de6"), | ||
| Linux(:x86_64, libc=:glibc) => ("$bin_prefix/CSDP.v6.2.0.x86_64-linux-gnu.tar.gz", "7ddaafbe0079f6852b60c3479bbed050b367931da3c231ba26ef20c2b71c698f"), | ||
| Linux(:x86_64, libc=:musl) => ("$bin_prefix/CSDP.v6.2.0.x86_64-linux-musl.tar.gz", "337e68f51132e080d8bb5cdf79197326df9637ede69ed9258c67626a99edc7b5"), | ||
| FreeBSD(:x86_64) => ("$bin_prefix/CSDP.v6.2.0.x86_64-unknown-freebsd11.1.tar.gz", "d7affbc5d639bff71fce4848d77d368dbca49dd8125cf849a416c4c059668201"), | ||
| Windows(:x86_64) => ("$bin_prefix/CSDP.v6.2.0.x86_64-w64-mingw32.tar.gz", "181520ca04efb32323a369ecee7d067937d9a59d5f45ed4b78d3669f8a52769d"), | ||
| ) | ||
|
|
||
| # Install unsatisfied or updated dependencies: | ||
| unsatisfied = any(!satisfied(p; verbose=verbose) for p in products) | ||
blegat marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| dl_info = choose_download(download_info, platform_key_abi()) | ||
| if dl_info === nothing && unsatisfied | ||
| # If we don't have a compatible .tar.gz to download, complain. | ||
| # Alternatively, you could attempt to install from a separate provider, | ||
| # build from source or something even more ambitious here. | ||
| error("Your platform (\"$(Sys.MACHINE)\", parsed as \"$(triplet(platform_key_abi()))\") is not supported by this package!") | ||
| end | ||
|
|
||
| # If we have a download, and we are unsatisfied (or the version we're | ||
| # trying to install is not itself installed) then load it up! | ||
| if unsatisfied || !isinstalled(dl_info...; prefix=prefix) | ||
| # Download and install binaries | ||
| install(dl_info...; prefix=prefix, force=true, verbose=verbose) | ||
blegat marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| end | ||
|
|
||
| # Write out a deps.jl file that will contain mappings for our products | ||
| write_deps_file(joinpath(@__DIR__, "deps.jl"), products, verbose=verbose) | ||
blegat marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,94 @@ | ||
| # Generated by running | ||
| # julia --color=yes generate_buildjl.jl O/OpenBLAS/[email protected]/build_tarballs.jl JuliaBinaryWrappers/OpenBLAS32_jll.jl OpenBLAS32-v0.3.9+2 | ||
| # in the root the the source tree of https://github.com/JuliaPackaging/Yggdrasil/ | ||
| # by first replacing the `include` by its content, see https://github.com/JuliaPackaging/Yggdrasil/issues/858 | ||
| # We also added `prefix, ` after `LibraryProduct(`. | ||
| using BinaryProvider # requires BinaryProvider 0.3.0 or later | ||
| # Needed to add this as this method was not defined. | ||
| function BinaryProvider.CompilerABI(; libgfortran_version=nothing) | ||
|
||
| # See https://github.com/JuliaPackaging/BinaryProvider.jl/blob/332b58c898486c6cdf3c963164b1f66f9850d64b/src/PlatformNames.jl#L560-L564 | ||
| if libgfortran_version == v"3.0.0" | ||
| gcc = :gcc4 | ||
| elseif libgfortran_version == v"4.0.0" | ||
| gcc = :gcc7 | ||
| elseif libgfortran_version == v"5.0.0" | ||
| gcc = :gcc8 | ||
| else | ||
| error("Unrecognied libgfortran version $libgfortran_version.") | ||
| end | ||
| return CompilerABI(gcc) | ||
| end | ||
|
|
||
|
|
||
| # Parse some basic command-line arguments | ||
| const verbose = "--verbose" in ARGS | ||
| const prefix = Prefix(get([a for a in ARGS if a != "--verbose"], 1, joinpath(@__DIR__, "usr"))) | ||
| products = [ | ||
| LibraryProduct(prefix, ["libopenblas"], :libopenblas), | ||
| ] | ||
|
|
||
| # Download binaries from hosted location | ||
| bin_prefix = "https://github.com/JuliaBinaryWrappers/OpenBLAS32_jll.jl/releases/download/OpenBLAS32-v0.3.9+2" | ||
|
|
||
| # Listing of files generated by BinaryBuilder: | ||
| download_info = Dict( | ||
| Linux(:aarch64, libc=:glibc, compiler_abi=CompilerABI(libgfortran_version=v"3.0.0")) => ("$bin_prefix/OpenBLAS32.v0.3.9.aarch64-linux-gnu-libgfortran3.tar.gz", "70c72d420d3358c885f00ab57b48acbd1af76b3d575fd77071e36fbbaa00892e"), | ||
| Linux(:aarch64, libc=:glibc, compiler_abi=CompilerABI(libgfortran_version=v"4.0.0")) => ("$bin_prefix/OpenBLAS32.v0.3.9.aarch64-linux-gnu-libgfortran4.tar.gz", "5046fbf88664004298b5033782365ec2481b012c08e501d81aa88f341b00d6d7"), | ||
| Linux(:aarch64, libc=:glibc, compiler_abi=CompilerABI(libgfortran_version=v"5.0.0")) => ("$bin_prefix/OpenBLAS32.v0.3.9.aarch64-linux-gnu-libgfortran5.tar.gz", "ee396e4681f2582bb1af846399946bc877771e7703b51ded58d943eddac5efc6"), | ||
| Linux(:aarch64, libc=:musl, compiler_abi=CompilerABI(libgfortran_version=v"3.0.0")) => ("$bin_prefix/OpenBLAS32.v0.3.9.aarch64-linux-musl-libgfortran3.tar.gz", "b79b8c5b473885c7e4988d1a62b52e90d9f5034c8000b39e1b831a10ba753a5c"), | ||
| Linux(:aarch64, libc=:musl, compiler_abi=CompilerABI(libgfortran_version=v"4.0.0")) => ("$bin_prefix/OpenBLAS32.v0.3.9.aarch64-linux-musl-libgfortran4.tar.gz", "9931954d062b0dd603c6b4bb049672404726bdbd4969b22068400accbbd233a4"), | ||
| Linux(:aarch64, libc=:musl, compiler_abi=CompilerABI(libgfortran_version=v"5.0.0")) => ("$bin_prefix/OpenBLAS32.v0.3.9.aarch64-linux-musl-libgfortran5.tar.gz", "376f594def5d788f2d235b02f6f54fe7e9956e893ff3a0a42e12abb0ac1cff15"), | ||
| Linux(:armv7l, libc=:glibc, call_abi=:eabihf, compiler_abi=CompilerABI(libgfortran_version=v"3.0.0")) => ("$bin_prefix/OpenBLAS32.v0.3.9.armv7l-linux-gnueabihf-libgfortran3.tar.gz", "edd34511fe5876f47883eaec62bc2e7b220d9396c32c924e5496a6cbfb86a0ff"), | ||
| Linux(:armv7l, libc=:glibc, call_abi=:eabihf, compiler_abi=CompilerABI(libgfortran_version=v"4.0.0")) => ("$bin_prefix/OpenBLAS32.v0.3.9.armv7l-linux-gnueabihf-libgfortran4.tar.gz", "ad10a79218b8bc8ccdb442d640bc392d8c1d41a89d49de116819f022525d6cc5"), | ||
| Linux(:armv7l, libc=:glibc, call_abi=:eabihf, compiler_abi=CompilerABI(libgfortran_version=v"5.0.0")) => ("$bin_prefix/OpenBLAS32.v0.3.9.armv7l-linux-gnueabihf-libgfortran5.tar.gz", "04c5b704ae04c209d7c0f9506c29bf870760272096a7f106b4161a803fbbfcf6"), | ||
| Linux(:armv7l, libc=:musl, call_abi=:eabihf, compiler_abi=CompilerABI(libgfortran_version=v"3.0.0")) => ("$bin_prefix/OpenBLAS32.v0.3.9.armv7l-linux-musleabihf-libgfortran3.tar.gz", "668f70e1b4b76feee0ee9d51f2b256dfd2d9a05f3c7936d6ed5e3bb16c6f91f6"), | ||
| Linux(:armv7l, libc=:musl, call_abi=:eabihf, compiler_abi=CompilerABI(libgfortran_version=v"4.0.0")) => ("$bin_prefix/OpenBLAS32.v0.3.9.armv7l-linux-musleabihf-libgfortran4.tar.gz", "03b70ad1cb44c8530c66fbab8adfd6d1ca0b7c66f34a6b4cfe8c93c264c5f881"), | ||
| Linux(:armv7l, libc=:musl, call_abi=:eabihf, compiler_abi=CompilerABI(libgfortran_version=v"5.0.0")) => ("$bin_prefix/OpenBLAS32.v0.3.9.armv7l-linux-musleabihf-libgfortran5.tar.gz", "24d3be8016ca46467d8a207334609c761bc6b7d3a07634ca81ddd2be52625a1b"), | ||
| Linux(:i686, libc=:glibc, compiler_abi=CompilerABI(libgfortran_version=v"3.0.0")) => ("$bin_prefix/OpenBLAS32.v0.3.9.i686-linux-gnu-libgfortran3.tar.gz", "41ce6b10e963824d2cbbbbf31e02ba5edc4784d9ce8adf4edfd611042753b472"), | ||
| Linux(:i686, libc=:glibc, compiler_abi=CompilerABI(libgfortran_version=v"4.0.0")) => ("$bin_prefix/OpenBLAS32.v0.3.9.i686-linux-gnu-libgfortran4.tar.gz", "4ba05d858cde46d35120295e2b0f549d666327b25f15892520dda94af3ce29b9"), | ||
| Linux(:i686, libc=:glibc, compiler_abi=CompilerABI(libgfortran_version=v"5.0.0")) => ("$bin_prefix/OpenBLAS32.v0.3.9.i686-linux-gnu-libgfortran5.tar.gz", "1bd5dd9c01cb418d3c1b30b0d02826c7f193883e5a493b38728b81db52f318cb"), | ||
| Linux(:i686, libc=:musl, compiler_abi=CompilerABI(libgfortran_version=v"3.0.0")) => ("$bin_prefix/OpenBLAS32.v0.3.9.i686-linux-musl-libgfortran3.tar.gz", "fa5ee765cea55afb5de007c4c9fe28db10c75f426a895f39f57363da3e248a71"), | ||
| Linux(:i686, libc=:musl, compiler_abi=CompilerABI(libgfortran_version=v"4.0.0")) => ("$bin_prefix/OpenBLAS32.v0.3.9.i686-linux-musl-libgfortran4.tar.gz", "50db036850af08df7b241ab25f5e7f668fc0dbb7ac779b899693f386af21fac8"), | ||
| Linux(:i686, libc=:musl, compiler_abi=CompilerABI(libgfortran_version=v"5.0.0")) => ("$bin_prefix/OpenBLAS32.v0.3.9.i686-linux-musl-libgfortran5.tar.gz", "e38be09ffa8a48010e395a8cf57d0e2348d8147a4724054962baf2750fabe6c9"), | ||
| Windows(:i686, compiler_abi=CompilerABI(libgfortran_version=v"3.0.0")) => ("$bin_prefix/OpenBLAS32.v0.3.9.i686-w64-mingw32-libgfortran3.tar.gz", "7673c3c0eed1e48d0bb3771d73a9b192e95af78b134b68cb40cd69e533849a53"), | ||
| Windows(:i686, compiler_abi=CompilerABI(libgfortran_version=v"4.0.0")) => ("$bin_prefix/OpenBLAS32.v0.3.9.i686-w64-mingw32-libgfortran4.tar.gz", "eb21686bbc2e880c5c0fe59da595816b427a023422810c2866ed826626763fa7"), | ||
| Windows(:i686, compiler_abi=CompilerABI(libgfortran_version=v"5.0.0")) => ("$bin_prefix/OpenBLAS32.v0.3.9.i686-w64-mingw32-libgfortran5.tar.gz", "433ec40a8496efce9680bc6297efa510374f7e9038ef0eaacd314fd7133fa278"), | ||
| Linux(:powerpc64le, libc=:glibc, compiler_abi=CompilerABI(libgfortran_version=v"3.0.0")) => ("$bin_prefix/OpenBLAS32.v0.3.9.powerpc64le-linux-gnu-libgfortran3.tar.gz", "772480f50a235b311a2d8e767339cca46665d0ee4aa39abf24f3ec4d4c261f5c"), | ||
| Linux(:powerpc64le, libc=:glibc, compiler_abi=CompilerABI(libgfortran_version=v"4.0.0")) => ("$bin_prefix/OpenBLAS32.v0.3.9.powerpc64le-linux-gnu-libgfortran4.tar.gz", "ae3596cb668b02e7c82302c8e7b3e445260a32252b5d85fdc6bd7cddfc7783a0"), | ||
| Linux(:powerpc64le, libc=:glibc, compiler_abi=CompilerABI(libgfortran_version=v"5.0.0")) => ("$bin_prefix/OpenBLAS32.v0.3.9.powerpc64le-linux-gnu-libgfortran5.tar.gz", "c94e277724c5ef483775cceac9f16b778c8c4a9a823353dbd4bfaffd137d7a58"), | ||
| MacOS(:x86_64, compiler_abi=CompilerABI(libgfortran_version=v"3.0.0")) => ("$bin_prefix/OpenBLAS32.v0.3.9.x86_64-apple-darwin14-libgfortran3.tar.gz", "bb41f81ec7aae04a773c188fe9683bc6ad47af211e87f3ede1195ab83961f951"), | ||
| MacOS(:x86_64, compiler_abi=CompilerABI(libgfortran_version=v"4.0.0")) => ("$bin_prefix/OpenBLAS32.v0.3.9.x86_64-apple-darwin14-libgfortran4.tar.gz", "99d88d0a7dc55bafe071c61a231fe36279f89317fef196954dbea80c566be96d"), | ||
| MacOS(:x86_64, compiler_abi=CompilerABI(libgfortran_version=v"5.0.0")) => ("$bin_prefix/OpenBLAS32.v0.3.9.x86_64-apple-darwin14-libgfortran5.tar.gz", "56ee6d750897c91f29d701ead5b2f44a2a12a72d5c1eb9b09dc2c0eb3b65d1d1"), | ||
| Linux(:x86_64, libc=:glibc, compiler_abi=CompilerABI(libgfortran_version=v"3.0.0")) => ("$bin_prefix/OpenBLAS32.v0.3.9.x86_64-linux-gnu-libgfortran3.tar.gz", "13861d28a1832ce0d5f1b8ecb84de2f19d7970ab9188d07da6da209ac4c4e5d0"), | ||
| Linux(:x86_64, libc=:glibc, compiler_abi=CompilerABI(libgfortran_version=v"4.0.0")) => ("$bin_prefix/OpenBLAS32.v0.3.9.x86_64-linux-gnu-libgfortran4.tar.gz", "e2786ab3c111e3cb33f4e4eda50de5ea536aea99edcc952e7d6a87c82b802c36"), | ||
| Linux(:x86_64, libc=:glibc, compiler_abi=CompilerABI(libgfortran_version=v"5.0.0")) => ("$bin_prefix/OpenBLAS32.v0.3.9.x86_64-linux-gnu-libgfortran5.tar.gz", "639b8f40d0c8f9177574b413b9e475eb9045abe2e82078c5a4dde4efbfe39a07"), | ||
| Linux(:x86_64, libc=:musl, compiler_abi=CompilerABI(libgfortran_version=v"3.0.0")) => ("$bin_prefix/OpenBLAS32.v0.3.9.x86_64-linux-musl-libgfortran3.tar.gz", "0bba4279e2e524a6504c16b7cc4266621ba09f62880b6847e291955c90ec5c6c"), | ||
| Linux(:x86_64, libc=:musl, compiler_abi=CompilerABI(libgfortran_version=v"4.0.0")) => ("$bin_prefix/OpenBLAS32.v0.3.9.x86_64-linux-musl-libgfortran4.tar.gz", "cfcc99aa3a9124e54225e01299e86e8b7599b0de75835db12d88e643cd1ef83a"), | ||
| Linux(:x86_64, libc=:musl, compiler_abi=CompilerABI(libgfortran_version=v"5.0.0")) => ("$bin_prefix/OpenBLAS32.v0.3.9.x86_64-linux-musl-libgfortran5.tar.gz", "a9dd680a5bcefad112d03993a35d6de434baafc055a71e2f4961d5f8177b983b"), | ||
| FreeBSD(:x86_64, compiler_abi=CompilerABI(libgfortran_version=v"3.0.0")) => ("$bin_prefix/OpenBLAS32.v0.3.9.x86_64-unknown-freebsd11.1-libgfortran3.tar.gz", "9c877be5d99c2fb5d479e72c5945d076994b720431e11bfc1426ff69c9147183"), | ||
| FreeBSD(:x86_64, compiler_abi=CompilerABI(libgfortran_version=v"4.0.0")) => ("$bin_prefix/OpenBLAS32.v0.3.9.x86_64-unknown-freebsd11.1-libgfortran4.tar.gz", "90bb169c6fc582243eabf6f2849d3fb53b0b7e17a3e39f4693c004a4f3249f4c"), | ||
| FreeBSD(:x86_64, compiler_abi=CompilerABI(libgfortran_version=v"5.0.0")) => ("$bin_prefix/OpenBLAS32.v0.3.9.x86_64-unknown-freebsd11.1-libgfortran5.tar.gz", "0e7c2f8125cda30d1e6cae556caea06a7db3b98479119b361826f5973316632f"), | ||
| Windows(:x86_64, compiler_abi=CompilerABI(libgfortran_version=v"3.0.0")) => ("$bin_prefix/OpenBLAS32.v0.3.9.x86_64-w64-mingw32-libgfortran3.tar.gz", "21949a80fde51fda975a423c893843c7b94557f9286bb73ba079792e33be3c8d"), | ||
| Windows(:x86_64, compiler_abi=CompilerABI(libgfortran_version=v"4.0.0")) => ("$bin_prefix/OpenBLAS32.v0.3.9.x86_64-w64-mingw32-libgfortran4.tar.gz", "417fe312177ed42a6a95cf4b5bfd39aa202199ca1e210d9a5bd25b622f511944"), | ||
| Windows(:x86_64, compiler_abi=CompilerABI(libgfortran_version=v"5.0.0")) => ("$bin_prefix/OpenBLAS32.v0.3.9.x86_64-w64-mingw32-libgfortran5.tar.gz", "b945a95923389da1ec7efd76bbfa1337ac525a37581053dc6aed0cf113c5a1d7"), | ||
| ) | ||
|
|
||
| # Install unsatisfied or updated dependencies: | ||
| unsatisfied = any(!satisfied(p; verbose=verbose) for p in products) | ||
blegat marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| dl_info = choose_download(download_info, platform_key_abi()) | ||
| if dl_info === nothing && unsatisfied | ||
| # If we don't have a compatible .tar.gz to download, complain. | ||
| # Alternatively, you could attempt to install from a separate provider, | ||
| # build from source or something even more ambitious here. | ||
| error("Your platform (\"$(Sys.MACHINE)\", parsed as \"$(triplet(platform_key_abi()))\") is not supported by this package!") | ||
| end | ||
|
|
||
| # If we have a download, and we are unsatisfied (or the version we're | ||
| # trying to install is not itself installed) then load it up! | ||
| if unsatisfied || !isinstalled(dl_info...; prefix=prefix) | ||
| # Download and install binaries | ||
| install(dl_info...; prefix=prefix, force=true, verbose=verbose) | ||
blegat marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| end | ||
|
|
||
| # Write out a deps.jl file that will contain mappings for our products | ||
| write_deps_file(joinpath(@__DIR__, "deps.jl"), products, verbose=verbose) | ||
blegat marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You may want to require v0.5.9 specifically:
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it may be good to bump BP to 0.6.0
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That version requires Julia v1.3, which is not very helpful here. Yes, history of BinaryProvider is a bit messy 🙂
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah - that is a bit messy.