Skip to content

gen_build.jl

WooKyoung Noh edited this page Dec 16, 2019 · 1 revision
using BinaryBuilder

download_dir = normpath(@__DIR__, "assets")
!isdir(download_dir) && mkdir(download_dir)

repo = "wookay/H3Builder"
tag = "v3.6.2"
verbose = true
assets = BinaryBuilder.download_github_release(download_dir, repo, tag; verbose=verbose)

bin_prefix = "https://github.com/wookay/H3Builder/releases/download/v3.6.2"
download_info = Dict(
    Linux(:aarch64, libc=:glibc) => ("$bin_prefix/H3.v3.6.2.aarch64-linux-gnu.tar.gz", "8ef3f18d5bf76b78c95def599db14d7efbe77619abf9b1e734e5957bc27d8d90"),
    Linux(:aarch64, libc=:musl) => ("$bin_prefix/H3.v3.6.2.aarch64-linux-musl.tar.gz", "1818d772b1e252d0e5f9fb19b8780891b34fdaf52fa58fcbacc74934b1f9592e"),
    Linux(:armv7l, libc=:glibc, call_abi=:eabihf) => ("$bin_prefix/H3.v3.6.2.arm-linux-gnueabihf.tar.gz", "01d7d2bb2806f43e0c485ece69ef0ff08ea6bd682144fac0dc1c23444c3f748c"),
    Linux(:armv7l, libc=:musl, call_abi=:eabihf) => ("$bin_prefix/H3.v3.6.2.arm-linux-musleabihf.tar.gz", "a4e75621dd550ca51248d8233810d13a950b296ce643b84f3933b583a9f2ae23"),
    Linux(:i686, libc=:glibc) => ("$bin_prefix/H3.v3.6.2.i686-linux-gnu.tar.gz", "ed8e67e91d1a1e24beb828b6649b6da0b196f19331ac0f2360b160b6c4c67d7b"),
    Linux(:i686, libc=:musl) => ("$bin_prefix/H3.v3.6.2.i686-linux-musl.tar.gz", "216b7ea5d688f730a473a7904f71707456eebf1cbd91f651d2cccda24fc35d3e"),
    Windows(:i686) => ("$bin_prefix/H3.v3.6.2.i686-w64-mingw32.tar.gz", "b215f7faf7a598318ab1932f68a2f3e5b3219013f610a2f85dd7ba57549e9554"),
    Linux(:powerpc64le, libc=:glibc) => ("$bin_prefix/H3.v3.6.2.powerpc64le-linux-gnu.tar.gz", "1550c14e202d971b2858e1da4cefcfa229a8305c73863f165a147dc0a8e05e58"),
    MacOS(:x86_64) => ("$bin_prefix/H3.v3.6.2.x86_64-apple-darwin14.tar.gz", "2071a090464bebdbabd3d8a8af7fb2d835e7f50f507a5c552f1349b7858294e9"),
    Linux(:x86_64, libc=:glibc) => ("$bin_prefix/H3.v3.6.2.x86_64-linux-gnu.tar.gz", "aceb85ceb0a0a3615da9ec4ba5c12c9f44057c2170d35ec97e15b394d1b8f2e0"),
    Linux(:x86_64, libc=:musl) => ("$bin_prefix/H3.v3.6.2.x86_64-linux-musl.tar.gz", "5538bda5537160432823224225f157fbf4a0eab9b800e79b4dab952e6875fb59"),
    FreeBSD(:x86_64) => ("$bin_prefix/H3.v3.6.2.x86_64-unknown-freebsd11.1.tar.gz", "a92fc47b56bfa3a52aef03cccdb6159e197b2c1e404d605eeba46b15152a13ba"),
    Windows(:x86_64) => ("$bin_prefix/H3.v3.6.2.x86_64-w64-mingw32.tar.gz", "a4982dad86eef940ff0f03a101b547433eaee855b43ae9ac1a60b53269560ed3"),
)
platforms = Dict()
for a in download_info
    platforms[splitpath(a[2][1])[end]] = a[1]
end

tarball_hash(path) = open(bytes2hex ∘ BinaryBuilder.sha256, path)

println("""
download_info = Dict(
""")
for asset in assets
    file = asset["name"]
    platform = platforms[file]
    println(repeat(' ', 4), platform, raw""" => ("$bin_prefix/""", file, "\", \"", tarball_hash(normpath(download_dir, file)), "\"),")
end
println(")")

Clone this wiki locally