|
1 | | -using BinaryProvider # requires BinaryProvider 0.3.0 or later |
| 1 | +using BinaryProvider |
2 | 2 |
|
3 | | -# Parse some basic command-line arguments |
4 | 3 | const verbose = "--verbose" in ARGS |
5 | | -const prefix = Prefix(get([a for a in ARGS if a != "--verbose"], 1, joinpath(@__DIR__, "usr"))) |
6 | | -products = [ |
7 | | - LibraryProduct(prefix, ["libzstd"], :libzstd), |
8 | | -] |
| 4 | +const prefix = Prefix(get(filter(!isequal("--verbose"), ARGS), 1, joinpath(@__DIR__, "usr"))) |
| 5 | +products = [LibraryProduct(prefix, ["libzstd"], :libzstd)] |
9 | 6 |
|
10 | | -# Download binaries from hosted location |
11 | | -bin_prefix = "https://github.com/bicycle1885/ZstdBuilder/releases/download/v1.0.0" |
| 7 | +bin_prefix = "https://github.com/JuliaPackaging/Yggdrasil/releases/download/Zstd-v1.4.2+0" |
12 | 8 |
|
13 | | -# Listing of files generated by BinaryBuilder: |
14 | 9 | download_info = Dict( |
15 | | - Linux(:aarch64, :glibc) => ("$bin_prefix/ZstdBuilder.v1.3.5.aarch64-linux-gnu.tar.gz", "97e67a71dc1b7a65229e5bec76fd088c77333943cf9724d4f3855229563de7f9"), |
16 | | - Linux(:aarch64, :musl) => ("$bin_prefix/ZstdBuilder.v1.3.5.aarch64-linux-musl.tar.gz", "ad601bba5ec35ae04ebb540ef397a8ab29fe09f7a3b6310bcf0ad90b5c05c3bf"), |
17 | | - Linux(:armv7l, :glibc, :eabihf) => ("$bin_prefix/ZstdBuilder.v1.3.5.arm-linux-gnueabihf.tar.gz", "9add827c7b4ad838081da79bde9813b11e5276780b590960cb457781feace7e2"), |
18 | | - Linux(:armv7l, :musl, :eabihf) => ("$bin_prefix/ZstdBuilder.v1.3.5.arm-linux-musleabihf.tar.gz", "2005bfa5cace0136d54aa613bb6391c4f0f634b1b443a4744bd6f9e31968b9fc"), |
19 | | - Linux(:i686, :glibc) => ("$bin_prefix/ZstdBuilder.v1.3.5.i686-linux-gnu.tar.gz", "96b6184006afa2368f3670953b222a26fb4a65ac8934eb5c12890c7394cd1203"), |
20 | | - Linux(:i686, :musl) => ("$bin_prefix/ZstdBuilder.v1.3.5.i686-linux-musl.tar.gz", "39e681a87cc6483bca042ac1ce3b04de894368a19dfd16a95ce26e6d5f3c37e3"), |
21 | | - Linux(:powerpc64le, :glibc) => ("$bin_prefix/ZstdBuilder.v1.3.5.powerpc64le-linux-gnu.tar.gz", "3b39026efa4cff3cb1c6ac286f7ae4d359d134f741cc9dfd5543df904ae1875d"), |
22 | | - MacOS(:x86_64) => ("$bin_prefix/ZstdBuilder.v1.3.5.x86_64-apple-darwin14.tar.gz", "43c7ded749de65bc422a99b890e493cddfa46d4b2415b9da09a504624dc7b904"), |
23 | | - Linux(:x86_64, :glibc) => ("$bin_prefix/ZstdBuilder.v1.3.5.x86_64-linux-gnu.tar.gz", "197bce9aae1403445ef6af443adf71461f7f5e6c451efc192be0b4280675c47e"), |
24 | | - Linux(:x86_64, :musl) => ("$bin_prefix/ZstdBuilder.v1.3.5.x86_64-linux-musl.tar.gz", "771cdb081f306f5e2e54b07478d68785f59c6970b77eabd454058a94ba2f67de"), |
25 | | - FreeBSD(:x86_64) => ("$bin_prefix/ZstdBuilder.v1.3.5.x86_64-unknown-freebsd11.1.tar.gz", "1316f654b6f74551968988db423568268a76a76d9b1f98d2aa12f561fa2bc0d1"), |
26 | | - Windows(:x86_64) => ("$bin_prefix/ZstdBuilder.v1.3.5.x86_64-w64-mingw32.tar.gz", "0967ebac58666f24dc3e0edcb07c29b27960a0d4af67591c10f374f65231e003"), |
| 10 | + Linux(:aarch64, libc=:glibc) => |
| 11 | + ("$bin_prefix/Zstd.v1.4.2.aarch64-linux-gnu.tar.gz", |
| 12 | + "fa5b1a0bbaf0d0c9b68b74f985609c16212288ad1822834a8bc973dc28de7b3b"), |
| 13 | + Linux(:aarch64, libc=:musl) => |
| 14 | + ("$bin_prefix/Zstd.v1.4.2.aarch64-linux-musl.tar.gz", |
| 15 | + "913f994d6c6005d2b574a1f7b00cef59fc0ad99ac1b6df91ac16ea0b7fee7f99"), |
| 16 | + Linux(:armv7l, libc=:glibc, call_abi=:eabihf) => |
| 17 | + ("$bin_prefix/Zstd.v1.4.2.arm-linux-gnueabihf.tar.gz", |
| 18 | + "bf474a692e013b0c6e74b9a738e04c6aa12b0c0f54269a6d94eed45eec05aabb"), |
| 19 | + Linux(:armv7l, libc=:musl, call_abi=:eabihf) => |
| 20 | + ("$bin_prefix/Zstd.v1.4.2.arm-linux-musleabihf.tar.gz", |
| 21 | + "489e8706c27b6277b3cd604f9bfc88c8f81d2ae9b76d34062f099fe31c024e5d"), |
| 22 | + Linux(:i686, libc=:glibc) => |
| 23 | + ("$bin_prefix/Zstd.v1.4.2.i686-linux-gnu.tar.gz", |
| 24 | + "ed8652f9509fd6cb6cd3cca9023326b698d1437f6d22026c7763a32658a8fca5"), |
| 25 | + Linux(:i686, libc=:musl) => |
| 26 | + ("$bin_prefix/Zstd.v1.4.2.i686-linux-musl.tar.gz", |
| 27 | + "b0de4b032efa9a0108c32a00e27367352e36304f3f62c3cfbe9cdae5ff48fa2f"), |
| 28 | + Windows(:i686) => |
| 29 | + ("$bin_prefix/Zstd.v1.4.2.i686-w64-mingw32.tar.gz", |
| 30 | + "785a2a97ba59fbe2529b4ded1e380d1385351b805f9d0b91df64802db36648d5"), |
| 31 | + Linux(:powerpc64le, libc=:glibc) => |
| 32 | + ("$bin_prefix/Zstd.v1.4.2.powerpc64le-linux-gnu.tar.gz", |
| 33 | + "8dbc6e14931d70f5b112f9f00534c80d2b5cde18dbb74ebae31b6ff97f7863dd"), |
| 34 | + MacOS(:x86_64) => |
| 35 | + ("$bin_prefix/Zstd.v1.4.2.x86_64-apple-darwin14.tar.gz", |
| 36 | + "5ff8c2b4719fd1b605413388608007e5bdeb92caa60619c32f1809dc6907fcfc"), |
| 37 | + Linux(:x86_64, libc=:glibc) => |
| 38 | + ("$bin_prefix/Zstd.v1.4.2.x86_64-linux-gnu.tar.gz", |
| 39 | + "a6806ca68680bf813ff326f65f4a478574a2a4e27b8ad72c8e9a8f180a89b816"), |
| 40 | + Linux(:x86_64, libc=:musl) => |
| 41 | + ("$bin_prefix/Zstd.v1.4.2.x86_64-linux-musl.tar.gz", |
| 42 | + "b00c751cfb61d160415c427a795fdc3521735c37c3c32164b8218f210e8a3d51"), |
| 43 | + FreeBSD(:x86_64) => |
| 44 | + ("$bin_prefix/Zstd.v1.4.2.x86_64-unknown-freebsd11.1.tar.gz", |
| 45 | + "d38e10e988a4b7229906c1f52f1b1a12589063d1d6ad90315fbc72532650f468"), |
| 46 | + Windows(:x86_64) => |
| 47 | + ("$bin_prefix/Zstd.v1.4.2.x86_64-w64-mingw32.tar.gz", |
| 48 | + "ab42350bf99389cd9118e1d10a310d6a572afcfe521e70abd42f7bfa340666bd"), |
27 | 49 | ) |
28 | 50 |
|
29 | | -# Install unsatisfied or updated dependencies: |
30 | | -unsatisfied = any(!satisfied(p; verbose=verbose) for p in products) |
31 | | -if haskey(download_info, platform_key()) |
32 | | - url, tarball_hash = download_info[platform_key()] |
33 | | - if unsatisfied || !isinstalled(url, tarball_hash; prefix=prefix) |
34 | | - # Download and install binaries |
35 | | - install(url, tarball_hash; prefix=prefix, force=true, verbose=verbose) |
36 | | - end |
37 | | -elseif unsatisfied |
38 | | - # If we don't have a BinaryProvider-compatible .tar.gz to download, complain. |
39 | | - # Alternatively, you could attempt to install from a separate provider, |
40 | | - # build from source or something even more ambitious here. |
41 | | - error("Your platform $(triplet(platform_key())) is not supported by this package!") |
| 51 | +unsatisfied = any(p->!satisfied(p, verbose=verbose), products) |
| 52 | +dl_info = choose_download(download_info, platform_key_abi()) |
| 53 | +if dl_info === nothing && unsatisfied |
| 54 | + error("Your platform (\"$(Sys.MACHINE)\", parsed as ", |
| 55 | + "\"$(triplet(platform_key_abi()))\") is not supported by this package!") |
42 | 56 | end |
43 | 57 |
|
44 | | -# Write out a deps.jl file that will contain mappings for our products |
45 | | -write_deps_file(joinpath(@__DIR__, "deps.jl"), products) |
| 58 | +if unsatisfied || !isinstalled(dl_info..., prefix=prefix) |
| 59 | + install(dl_info..., prefix=prefix, force=true, verbose=verbose) |
| 60 | +end |
| 61 | + |
| 62 | +write_deps_file(joinpath(@__DIR__, "deps.jl"), products, verbose=verbose) |
0 commit comments