-
Notifications
You must be signed in to change notification settings - Fork 39
/
Copy pathbuild_Libiconv.v1.16.0.jl
48 lines (42 loc) · 3.55 KB
/
build_Libiconv.v1.16.0.jl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
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, "libiconv", :libiconv),
]
# Download binaries from hosted location
bin_prefix = "https://github.com/JuliaBinaryWrappers/Libiconv_jll.jl/releases/download/Libiconv-v1.16.0+1"
# Listing of files generated by BinaryBuilder:
download_info = Dict(
Linux(:aarch64, libc=:glibc) => ("$bin_prefix/Libiconv.v1.16.0.aarch64-linux-gnu.tar.gz", "8d5ed99d8aaeea07b2534d04949fa655abfa5726ab765df91768c93125a6e6ea"),
Linux(:aarch64, libc=:musl) => ("$bin_prefix/Libiconv.v1.16.0.aarch64-linux-musl.tar.gz", "9e2bdd14925fc116f6ab5f1dd66b20e7170e6e994e8c7d6ca0bccb5b07c1f6d6"),
Linux(:armv7l, libc=:glibc, call_abi=:eabihf) => ("$bin_prefix/Libiconv.v1.16.0.arm-linux-gnueabihf.tar.gz", "6e4bca98a69df36d77296a8d0e44df4e0861f30151f7348cadee968e038c646e"),
Linux(:armv7l, libc=:musl, call_abi=:eabihf) => ("$bin_prefix/Libiconv.v1.16.0.arm-linux-musleabihf.tar.gz", "f805210af0009f8fe3dbad3ded9348ac3ed3e644352708338664df5591adc387"),
Linux(:i686, libc=:glibc) => ("$bin_prefix/Libiconv.v1.16.0.i686-linux-gnu.tar.gz", "2d2dfc0ef750078f3178309c66315e5ca1f795ccfc23abfc53dbbb3e4de92fab"),
Linux(:i686, libc=:musl) => ("$bin_prefix/Libiconv.v1.16.0.i686-linux-musl.tar.gz", "e705516db8d8d22018afb62eb3049988fc40508463d9ccfc3bda93b86b3099c5"),
Windows(:i686) => ("$bin_prefix/Libiconv.v1.16.0.i686-w64-mingw32.tar.gz", "a7a1e7ce988aa637bad01723b9638971a54c0d37b6c1660e7fbf9d14f1416a15"),
Linux(:powerpc64le, libc=:glibc) => ("$bin_prefix/Libiconv.v1.16.0.powerpc64le-linux-gnu.tar.gz", "5f4b27dcc94237806771c410a1db0d3a1cf1386dde210ef4c86fdce122d0f5ac"),
MacOS(:x86_64) => ("$bin_prefix/Libiconv.v1.16.0.x86_64-apple-darwin14.tar.gz", "23ecf387d885774b9bff8308c383c63b647d8322777ccb43b0f205dd22f1611f"),
Linux(:x86_64, libc=:glibc) => ("$bin_prefix/Libiconv.v1.16.0.x86_64-linux-gnu.tar.gz", "ec088f395f7b14448d761783aac9e502bcea0721d4463aaae64db271daf87c89"),
Linux(:x86_64, libc=:musl) => ("$bin_prefix/Libiconv.v1.16.0.x86_64-linux-musl.tar.gz", "8dceae9367c8997a3fa0b5c9c01ac7f74f244326d68d67997424a0b4ecb0dd96"),
FreeBSD(:x86_64) => ("$bin_prefix/Libiconv.v1.16.0.x86_64-unknown-freebsd11.1.tar.gz", "db22abf155ee8b079fafb19b5eb08b8417d84ff1481323eb40390a012f31a615"),
Windows(:x86_64) => ("$bin_prefix/Libiconv.v1.16.0.x86_64-w64-mingw32.tar.gz", "a905811a361dd2fcb1f50946f3dd167fad18de6de5712b329886f23e33eb1351"),
)
# Install unsatisfied or updated dependencies:
unsatisfied = any(!satisfied(p; verbose=verbose) for p in products)
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)
end
# Write out a deps.jl file that will contain mappings for our products
write_deps_file(joinpath(@__DIR__, "deps.jl"), products, verbose=verbose)