Skip to content

Commit dd77289

Browse files
committed
Update for GCC/platform combinations
1 parent ba833b1 commit dd77289

File tree

3 files changed

+140
-49
lines changed

3 files changed

+140
-49
lines changed

REQUIRE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
julia 0.7
2-
BinaryProvider 0.4
2+
BinaryProvider 0.5
33
BinDeps

deps/build.jl

Lines changed: 125 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -10,68 +10,145 @@ products = [
1010
]
1111

1212
# Download binaries from hosted location
13-
bin_prefix = "https://github.com/JuliaMath/OpenspecfunBuilder/releases/download/v0.5.3-2"
13+
bin_prefix = "https://github.com/JuliaMath/OpenspecfunBuilder/releases/download/v0.5.3-3"
1414

1515
# Listing of files generated by BinaryBuilder:
1616
download_info = Dict(
17-
Linux(:aarch64, :glibc) =>
18-
("$bin_prefix/Openspecfun.v0.5.3.aarch64-linux-gnu.tar.gz",
19-
"37278d3b54f18a137d58306a98744d5ef43f814c4f6fa131194014febe043284"),
20-
Linux(:aarch64, :musl) =>
21-
("$bin_prefix/Openspecfun.v0.5.3.aarch64-linux-musl.tar.gz",
22-
"cefcf2b5ed21aeb773948bc386c5ec960cbf47b5d8fd9f348daff3575f2c6307"),
23-
Linux(:armv7l, :glibc, :eabihf) =>
24-
("$bin_prefix/Openspecfun.v0.5.3.arm-linux-gnueabihf.tar.gz",
25-
"e3fa98d8e8eea4e5df021cab860db330f43a3258a51d0e59961c3ffe7fa05a69"),
26-
Linux(:armv7l, :musl, :eabihf) =>
27-
("$bin_prefix/Openspecfun.v0.5.3.arm-linux-musleabihf.tar.gz",
28-
"e8a27506bd2efd5dd85ee7cfd439156ac8684a629a4342926a09014742009faa"),
29-
Linux(:i686, :glibc) =>
30-
("$bin_prefix/Openspecfun.v0.5.3.i686-linux-gnu.tar.gz",
31-
"aee7d9f3f848742565e8d99d17559598c25a55de681868ecdc0ca47a2eacb3ff"),
32-
Linux(:i686, :musl) =>
33-
("$bin_prefix/Openspecfun.v0.5.3.i686-linux-musl.tar.gz",
34-
"a835fa77f1fb7562bc73da0fe327d219efac62ad27391b4ed7292c3493f4aa8d"),
35-
Windows(:i686) =>
36-
("$bin_prefix/Openspecfun.v0.5.3.i686-w64-mingw32.tar.gz",
37-
"c3170f31a5a9e987383d6403592a625cc4b4111ac1102b9a80f67ecb95cab3e7"),
38-
Linux(:powerpc64le, :glibc) =>
39-
("$bin_prefix/Openspecfun.v0.5.3.powerpc64le-linux-gnu.tar.gz",
40-
"7e6c0c94189f49dcbad70ee96244122fcf1fe37551de5c3d4c6328f683eaa53f"),
41-
MacOS(:x86_64) =>
42-
("$bin_prefix/Openspecfun.v0.5.3.x86_64-apple-darwin14.tar.gz",
43-
"9a460562201c34d6b7e5a6b458471caf8e78b08f5c8bb9902931752311f62dd8"),
44-
Linux(:x86_64, :glibc) =>
45-
("$bin_prefix/Openspecfun.v0.5.3.x86_64-linux-gnu.tar.gz",
46-
"0fa48e302326684dae1a77d6a30ee484f46cb540f859b536ff1e2ae132653764"),
47-
Linux(:x86_64, :musl) =>
48-
("$bin_prefix/Openspecfun.v0.5.3.x86_64-linux-musl.tar.gz",
49-
"13f582d37b5e045684af2018a9cbb78caa9b41583d5b8eedb6d57b98dd61264e"),
50-
FreeBSD(:x86_64) =>
51-
("$bin_prefix/Openspecfun.v0.5.3.x86_64-unknown-freebsd11.1.tar.gz",
52-
"689ea7e02bc6fa89d692bd7280a1852c0e7319d915b0a87d7f439b6b6bb2a487"),
53-
Windows(:x86_64) =>
54-
("$bin_prefix/Openspecfun.v0.5.3.x86_64-w64-mingw32.tar.gz",
55-
"82316ed5b4d26c7aef93f77459a434ea5aeac55d27d9c2ea08c0b3d843c2208f"),
17+
Linux(:aarch64, libc=:glibc, compiler_abi=CompilerABI(:gcc4)) =>
18+
("$bin_prefix/Openspecfun.v0.5.3.aarch64-linux-gnu-gcc4.tar.gz",
19+
"7afa17d39b0e764cb2485b4487819bd6cc2d0ade1d66eccf244a61f06022ee20"),
20+
Linux(:aarch64, libc=:glibc, compiler_abi=CompilerABI(:gcc7)) =>
21+
("$bin_prefix/Openspecfun.v0.5.3.aarch64-linux-gnu-gcc7.tar.gz",
22+
"2502c8ff21078d78de3d2da039f0ff27510513e88389287dedc8a0dae0226732"),
23+
Linux(:aarch64, libc=:glibc, compiler_abi=CompilerABI(:gcc8)) =>
24+
("$bin_prefix/Openspecfun.v0.5.3.aarch64-linux-gnu-gcc8.tar.gz",
25+
"fd1a373bd618ce07aa76984c1532c1e1262c138907fd9bc2d988e4b97ee87459"),
26+
Linux(:aarch64, libc=:musl, compiler_abi=CompilerABI(:gcc4)) =>
27+
("$bin_prefix/Openspecfun.v0.5.3.aarch64-linux-musl-gcc4.tar.gz",
28+
"f2e09335ce251148bad2442af8ca3f4da554adb0020731ba81b760c0f4ca9bf0"),
29+
Linux(:aarch64, libc=:musl, compiler_abi=CompilerABI(:gcc7)) =>
30+
("$bin_prefix/Openspecfun.v0.5.3.aarch64-linux-musl-gcc7.tar.gz",
31+
"c407910c4cf3bafa54302f804e31b57bd1c4a6179e416cd04b45389243481a98"),
32+
Linux(:aarch64, libc=:musl, compiler_abi=CompilerABI(:gcc8)) =>
33+
("$bin_prefix/Openspecfun.v0.5.3.aarch64-linux-musl-gcc8.tar.gz",
34+
"67b7450516bc0638bf34634f7036fb4d1f6e27f40f30e9d1d1096896a3928817"),
35+
Linux(:armv7l, libc=:glibc, call_abi=:eabihf, compiler_abi=CompilerABI(:gcc4)) =>
36+
("$bin_prefix/Openspecfun.v0.5.3.arm-linux-gnueabihf-gcc4.tar.gz",
37+
"56c9d3fe31d14806060f2c65a2e52b0b4c74b08b801060e5f7897e738fdff624"),
38+
Linux(:armv7l, libc=:glibc, call_abi=:eabihf, compiler_abi=CompilerABI(:gcc7)) =>
39+
("$bin_prefix/Openspecfun.v0.5.3.arm-linux-gnueabihf-gcc7.tar.gz",
40+
"877032790dc274df0a12c8c7507991b76b46525173f8ef19b703c3ca598cd2dc"),
41+
Linux(:armv7l, libc=:glibc, call_abi=:eabihf, compiler_abi=CompilerABI(:gcc8)) =>
42+
("$bin_prefix/Openspecfun.v0.5.3.arm-linux-gnueabihf-gcc8.tar.gz",
43+
"3af0a5535645bfe1132c7226f2c9b26277d272df0fa1d22515755a3d6180078d"),
44+
Linux(:armv7l, libc=:musl, call_abi=:eabihf, compiler_abi=CompilerABI(:gcc4)) =>
45+
("$bin_prefix/Openspecfun.v0.5.3.arm-linux-musleabihf-gcc4.tar.gz",
46+
"1dd62ca5d5971b068074cb6dd1fd35965cba17ae01d221f5c6ab71a478a7fa4b"),
47+
Linux(:armv7l, libc=:musl, call_abi=:eabihf, compiler_abi=CompilerABI(:gcc7)) =>
48+
("$bin_prefix/Openspecfun.v0.5.3.arm-linux-musleabihf-gcc7.tar.gz",
49+
"586b280f6cc22fb05cba9054a5d8fecff353e6eb1cf1a55c83fdcd5b24ef2683"),
50+
Linux(:armv7l, libc=:musl, call_abi=:eabihf, compiler_abi=CompilerABI(:gcc8)) =>
51+
("$bin_prefix/Openspecfun.v0.5.3.arm-linux-musleabihf-gcc8.tar.gz",
52+
"1938a8cd65dfe3c1a6a118f6eb751ffa70be7af817fd29831f0ffbfdbce703ab"),
53+
Linux(:i686, libc=:glibc, compiler_abi=CompilerABI(:gcc4)) =>
54+
("$bin_prefix/Openspecfun.v0.5.3.i686-linux-gnu-gcc4.tar.gz",
55+
"9e15a95e03428a5155ab8540d4b1c02c4da9bc1f66e9cf0f6829d752be35d233"),
56+
Linux(:i686, libc=:glibc, compiler_abi=CompilerABI(:gcc7)) =>
57+
("$bin_prefix/Openspecfun.v0.5.3.i686-linux-gnu-gcc7.tar.gz",
58+
"6f606b30921671e6b2747274f2ee1c42c67309116e1be4f2efa4d95f2c2480d6"),
59+
Linux(:i686, libc=:glibc, compiler_abi=CompilerABI(:gcc8)) =>
60+
("$bin_prefix/Openspecfun.v0.5.3.i686-linux-gnu-gcc8.tar.gz",
61+
"1112ab4f6114eed32aea6079bfd69140b5a057b6c94bd8e0a033d283906f5d6b"),
62+
Linux(:i686, libc=:musl, compiler_abi=CompilerABI(:gcc4)) =>
63+
("$bin_prefix/Openspecfun.v0.5.3.i686-linux-musl-gcc4.tar.gz",
64+
"4f2c6c225f3f299918bfe96c09d3ea6699e447cf4b0615a45614b6df7b8700da"),
65+
Linux(:i686, libc=:musl, compiler_abi=CompilerABI(:gcc7)) =>
66+
("$bin_prefix/Openspecfun.v0.5.3.i686-linux-musl-gcc7.tar.gz",
67+
"d4ba0747da4a8884a96a0ddab5a7b8387724a7395caa46e4b4d4de63cd894756"),
68+
Linux(:i686, libc=:musl, compiler_abi=CompilerABI(:gcc8)) =>
69+
("$bin_prefix/Openspecfun.v0.5.3.i686-linux-musl-gcc8.tar.gz",
70+
"adff04533751ba348905f490f774c4cc998d0c96704e0c0883ba73b2c6f0d6b0"),
71+
Windows(:i686, compiler_abi=CompilerABI(:gcc4)) =>
72+
("$bin_prefix/Openspecfun.v0.5.3.i686-w64-mingw32-gcc4.tar.gz",
73+
"9f6816bdf1a326ba7af7b51befc2a39a159b6be439ea9e0f7e6908e44b249f4f"),
74+
Windows(:i686, compiler_abi=CompilerABI(:gcc7)) =>
75+
("$bin_prefix/Openspecfun.v0.5.3.i686-w64-mingw32-gcc7.tar.gz",
76+
"2d2c10f0620ffd4575b2b0f3c99dc451f189f9b41d9ff7c1770ba0836433c86b"),
77+
Windows(:i686, compiler_abi=CompilerABI(:gcc8)) =>
78+
("$bin_prefix/Openspecfun.v0.5.3.i686-w64-mingw32-gcc8.tar.gz",
79+
"abbef77bf9404c65a3505e0f86c62b45711d7421b183636e81803f8cfb27a321"),
80+
Linux(:powerpc64le, libc=:glibc, compiler_abi=CompilerABI(:gcc4)) =>
81+
("$bin_prefix/Openspecfun.v0.5.3.powerpc64le-linux-gnu-gcc4.tar.gz",
82+
"786ba99b3fec5a1d03f0c3f4df670105439994a2fc105a3bfe5214bb923adcb1"),
83+
Linux(:powerpc64le, libc=:glibc, compiler_abi=CompilerABI(:gcc7)) =>
84+
("$bin_prefix/Openspecfun.v0.5.3.powerpc64le-linux-gnu-gcc7.tar.gz",
85+
"78334155f048bc13d65a6d8a8c60cd03dfae3cb23ae29c957b2db2f903e93bcb"),
86+
Linux(:powerpc64le, libc=:glibc, compiler_abi=CompilerABI(:gcc8)) =>
87+
("$bin_prefix/Openspecfun.v0.5.3.powerpc64le-linux-gnu-gcc8.tar.gz",
88+
"8fc88fe37ce3111a21c2c4b4e942f1d6dd744ef1e685be363ce9813d49f7fa19"),
89+
MacOS(:x86_64, compiler_abi=CompilerABI(:gcc4)) =>
90+
("$bin_prefix/Openspecfun.v0.5.3.x86_64-apple-darwin14-gcc4.tar.gz",
91+
"c9520ef62e04208576bf13c50a89ddf3c59b8b73119aae8b7bc5630e916b4f19"),
92+
MacOS(:x86_64, compiler_abi=CompilerABI(:gcc7)) =>
93+
("$bin_prefix/Openspecfun.v0.5.3.x86_64-apple-darwin14-gcc7.tar.gz",
94+
"56b145b4d1e86ca79dcb09bd1d8b35d32053149a532bb1019c4ef420c13171bb"),
95+
MacOS(:x86_64, compiler_abi=CompilerABI(:gcc8)) =>
96+
("$bin_prefix/Openspecfun.v0.5.3.x86_64-apple-darwin14-gcc8.tar.gz",
97+
"8380ed0e7f2ce4e8e7b382aed41855ece7865e03c76a5adb2dcfce116e312dd1"),
98+
Linux(:x86_64, libc=:glibc, compiler_abi=CompilerABI(:gcc4)) =>
99+
("$bin_prefix/Openspecfun.v0.5.3.x86_64-linux-gnu-gcc4.tar.gz",
100+
"37d97bff1c43e1e4c8ace825d0bd171a50439b32c913437cef8b720375ad08dc"),
101+
Linux(:x86_64, libc=:glibc, compiler_abi=CompilerABI(:gcc7)) =>
102+
("$bin_prefix/Openspecfun.v0.5.3.x86_64-linux-gnu-gcc7.tar.gz",
103+
"a41e8dd20c4f68021ca857245912a4d0c5a26a4f149985ab9e82ddf4d76997e1"),
104+
Linux(:x86_64, libc=:glibc, compiler_abi=CompilerABI(:gcc8)) =>
105+
("$bin_prefix/Openspecfun.v0.5.3.x86_64-linux-gnu-gcc8.tar.gz",
106+
"39333e2fc84a242d632a1604fd042679e5faed6ea3ba311a1896f1b8f76eab79"),
107+
Linux(:x86_64, libc=:musl, compiler_abi=CompilerABI(:gcc4)) =>
108+
("$bin_prefix/Openspecfun.v0.5.3.x86_64-linux-musl-gcc4.tar.gz",
109+
"e3a2699920fd1746ad45bd4a8f5589305d22d30c5a5da44ada23bb5662139bc2"),
110+
Linux(:x86_64, libc=:musl, compiler_abi=CompilerABI(:gcc7)) =>
111+
("$bin_prefix/Openspecfun.v0.5.3.x86_64-linux-musl-gcc7.tar.gz",
112+
"828284dff268dd5279a5546ec31abcf087953546d55d4160de8a0e27dd323f52"),
113+
Linux(:x86_64, libc=:musl, compiler_abi=CompilerABI(:gcc8)) =>
114+
("$bin_prefix/Openspecfun.v0.5.3.x86_64-linux-musl-gcc8.tar.gz",
115+
"83710ec095df0496de04a51d3f89edf68a925f1d126d11db39f0dd64d077b1e8"),
116+
FreeBSD(:x86_64, compiler_abi=CompilerABI(:gcc4)) =>
117+
("$bin_prefix/Openspecfun.v0.5.3.x86_64-unknown-freebsd11.1-gcc4.tar.gz",
118+
"84d5cfae325cd6b28c40c99e37b84cb0edef35d137e527da1d7aadd79848b886"),
119+
FreeBSD(:x86_64, compiler_abi=CompilerABI(:gcc7)) =>
120+
("$bin_prefix/Openspecfun.v0.5.3.x86_64-unknown-freebsd11.1-gcc7.tar.gz",
121+
"d48fb50fc088d1a97dd8d270b164394dcc15b927b9534f59c6e806ee41536812"),
122+
FreeBSD(:x86_64, compiler_abi=CompilerABI(:gcc8)) =>
123+
("$bin_prefix/Openspecfun.v0.5.3.x86_64-unknown-freebsd11.1-gcc8.tar.gz",
124+
"53170e3ea896fb1afe4457a12c6ab873fc658dc8d8e0534d37d64b598ded1aa2"),
125+
Windows(:x86_64, compiler_abi=CompilerABI(:gcc4)) =>
126+
("$bin_prefix/Openspecfun.v0.5.3.x86_64-w64-mingw32-gcc4.tar.gz",
127+
"f1002f31916a85bd065e1573920516a97e66ca50ebadc9d56d894f2e694a966a"),
128+
Windows(:x86_64, compiler_abi=CompilerABI(:gcc7)) =>
129+
("$bin_prefix/Openspecfun.v0.5.3.x86_64-w64-mingw32-gcc7.tar.gz",
130+
"d37c26428d2db568fddab26189a98c4cce51702008d95db036aaca9ee3361602"),
131+
Windows(:x86_64, compiler_abi=CompilerABI(:gcc8)) =>
132+
("$bin_prefix/Openspecfun.v0.5.3.x86_64-w64-mingw32-gcc8.tar.gz",
133+
"266608d0392a69179db6f2e1bfca782d634203a34cb56adb256d31b91a3362fc"),
56134
)
57135

58136
# Install unsatisfied or updated dependencies:
59-
unsatisfied = any(!satisfied(p; verbose=verbose) for p in products)
60-
if haskey(download_info, platform_key()) && !forcecompile
61-
url, tarball_hash = download_info[platform_key()]
62-
if !isinstalled(url, tarball_hash; prefix=prefix)
137+
unsatisfied = any(p->!satisfied(p; verbose=verbose), products)
138+
to_download = choose_download(download_info, platform_key_abi())
139+
if to_download !== nothing && !forcecompile
140+
if !isinstalled(to_download...; prefix=prefix)
63141
# Download and install binaries
64-
install(url, tarball_hash; prefix=prefix, force=true, verbose=verbose)
65-
unsatisfied = any(!satisfied(p; verbose=verbose) for p in products)
142+
install(to_download...; prefix=prefix, force=true, verbose=verbose)
143+
unsatisfied = any(p->!satisfied(p; verbose=verbose), products)
66144
end
67145
if unsatisfied
68146
rm(joinpath(@__DIR__, "usr", "lib"); force=true, recursive=true)
69147
end
70148
end
71-
72149
if unsatisfied || forcecompile
73150
include("scratch.jl")
74151
else
75152
# Write out a deps.jl file that will contain mappings for our products
76-
write_deps_file(joinpath(@__DIR__, "deps.jl"), products)
153+
write_deps_file(joinpath(@__DIR__, "deps.jl"), products; verbose=verbose)
77154
end

deps/scratch.jl

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,3 +111,17 @@ provides(BuildProcess,
111111
end), openspecfun)
112112

113113
BinDeps.@install Dict(:libopenspecfun => :openspecfun)
114+
115+
# BinDeps doesn't give us a `check_deps` function in the generated deps.jl file like
116+
# BinaryProvider does. Instead, it uses a macro and checks immediately whether the
117+
# library can be loaded. So let's just fake one.
118+
depsjl = joinpath(depsdir(openspecfun), "deps.jl")
119+
@assert isfile(depsjl)
120+
if !any(line->occursin("check_deps", line), eachline(depsjl))
121+
open(depsjl, "a") do fh
122+
println(fh, """
123+
# NOTE: This function is a compatibility shim for BinaryProvider-based builds
124+
check_deps() = nothing
125+
""")
126+
end
127+
end

0 commit comments

Comments
 (0)