Skip to content

Commit 44b5ef7

Browse files
authored
[AutoBuild] Always require JLLWrappers v1.7.0 (#1357)
* [AutoBuild] Always require JLLWrappers v1.7.0 * Skip Rust tests for RISC-V * Do not link to libquadmath on RISC-V in tests
1 parent f3e1fa6 commit 44b5ef7

File tree

5 files changed

+24
-12
lines changed

5 files changed

+24
-12
lines changed

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name = "BinaryBuilder"
22
uuid = "12aac903-9f7c-5d81-afc2-d9565ea332ae"
33
authors = ["Elliot Saba <staticfloat@gmail.com>"]
4-
version = "0.6.1"
4+
version = "0.6.2"
55

66
[deps]
77
ArgParse = "c7e460c6-2fb9-53a9-8c5b-16f535851c63"

src/AutoBuild.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import LibGit2
77
import PkgLicenses
88

99
const DEFAULT_JULIA_VERSION_SPEC = "1.0"
10-
const DEFAULT_JLLWRAPPERS_VERSION_SPEC = "1.2.0"
10+
const DEFAULT_JLLWRAPPERS_VERSION_SPEC = "1.7.0"
1111
const PKG_VERSIONS = Base.VERSION >= v"1.7-" ? Pkg.Versions : Pkg.Types
1212

1313
mutable struct BuildTimer
@@ -597,7 +597,7 @@ function register_jll(name, build_version, dependencies, julia_compat;
597597
cache = RegistryTools.RegistryCache(joinpath(Pkg.depots1(), "registries_binarybuilder"))
598598
registry_url = "https://$(gh_username):$(gh_auth.token)@github.com/JuliaRegistries/General"
599599
cache.registries[registry_url] = Base.UUID("23338594-aafe-5451-b93e-139f81909106")
600-
jllwrappers_compat = isempty(augment_platform_block) ? DEFAULT_JLLWRAPPERS_VERSION_SPEC : "1.4.0"
600+
jllwrappers_compat = DEFAULT_JLLWRAPPERS_VERSION_SPEC
601601
project = Pkg.Types.Project(build_project_dict(name, build_version, dependencies, julia_compat; jllwrappers_compat, lazy_artifacts, augment_platform_block))
602602
project_file = joinpath(mktempdir(), "Project.toml")
603603
Pkg.Types.write_project(project, project_file)

test/basic.jl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,7 @@ end
199199
@test dict["name"] == "$(name)_jll"
200200
@test dict["version"] == "1.0.0"
201201
@test dict["uuid"] == "8fcd9439-76b0-55f4-a525-bad0597c05d8"
202-
@test dict["compat"] == Dict{String,Any}("julia" => "1.0", "JLLWrappers" => "1.2.0", "Pkg" => "< 0.0.1, 1", "Libdl" => "< 0.0.1, 1", "Artifacts" => "< 0.0.1, 1")
202+
@test dict["compat"] == Dict{String,Any}("julia" => "1.0", "JLLWrappers" => "1.7.0", "Pkg" => "< 0.0.1, 1", "Libdl" => "< 0.0.1, 1", "Artifacts" => "< 0.0.1, 1")
203203
@test all(in.(
204204
(
205205
"Pkg" => "44cfe95a-1eb2-52ea-b672-e2afdf69b78f",
@@ -224,10 +224,10 @@ end
224224

225225
# Ensure passing a Julia dependency bound works
226226
dict = build_project_dict(name, version, dependencies, "1.4")
227-
@test dict["compat"] == Dict{String,Any}("julia" => "1.4", "JLLWrappers" => "1.2.0", "Pkg" => "< 0.0.1, 1", "Libdl" => "< 0.0.1, 1", "Artifacts" => "< 0.0.1, 1")
227+
@test dict["compat"] == Dict{String,Any}("julia" => "1.4", "JLLWrappers" => "1.7.0", "Pkg" => "< 0.0.1, 1", "Libdl" => "< 0.0.1, 1", "Artifacts" => "< 0.0.1, 1")
228228

229229
dict = build_project_dict(name, version, dependencies, "~1.4")
230-
@test dict["compat"] == Dict{String,Any}("julia" => "~1.4", "JLLWrappers" => "1.2.0", "Pkg" => "< 0.0.1, 1", "Libdl" => "< 0.0.1, 1", "Artifacts" => "< 0.0.1, 1")
230+
@test dict["compat"] == Dict{String,Any}("julia" => "~1.4", "JLLWrappers" => "1.7.0", "Pkg" => "< 0.0.1, 1", "Libdl" => "< 0.0.1, 1", "Artifacts" => "< 0.0.1, 1")
231231

232232
@test_throws ErrorException build_project_dict(name, version, dependencies, "nonsense")
233233

test/building.jl

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -114,14 +114,17 @@ shards_to_test = expand_cxxstring_abis(expand_gfortran_versions(shards_to_test))
114114
]
115115

116116
if !(platforms_match(shard, Platform("i686", "windows")) ||
117-
platforms_match(shard, Platform("aarch64", "freebsd")))
118-
# Rust is broken on 32-bit Windows and unavailable on FreeBSD AArch64, let's skip it
117+
platforms_match(shard, Platform("aarch64", "freebsd")) ||
118+
platforms_match(shard, Platform("riscv64", "linux")))
119+
# Rust is broken on 32-bit Windows and unavailable on FreeBSD AArch64 and RISC-V, let's skip it
119120
push!(products, ExecutableProduct("hello_world_rust", :hello_world_rust))
120121
end
121122

122123
compilers = [:c, :go]
123-
# Don't even ask for Rust on FreeBSD AArch64
124-
if !platforms_match(shard, Platform("aarch64", "freebsd"))
124+
# Don't even ask for Rust on FreeBSD AArch64 or RISC-V
125+
if !(platforms_match(shard, Platform("aarch64", "freebsd")) ||
126+
platforms_match(shard, Platform("riscv64", "linux"))
127+
)
125128
push!(compilers, :rust)
126129
end
127130

@@ -137,8 +140,17 @@ shards_to_test = expand_cxxstring_abis(expand_gfortran_versions(shards_to_test))
137140
if [[ "${target}" == i686-*-mingw* ]]; then
138141
while which rustc &> /dev/null; do rm $(which rustc); done
139142
fi
143+
144+
FLAGS=()
145+
if [[ "${target}" == riscv*-linux-* ]]; then
146+
# There's currently a bug in the testsuite where we force linking to
147+
# libquadmath on RISC-V. We use this hack to quickly fix it here without
148+
# rebuilding the RootFS.
149+
FLAGS=(CFLDFLAGS="-lgfortran -lm")
150+
fi
151+
140152
# Build testsuite
141-
make -j${nproc} -sC /usr/share/testsuite install
153+
make -j${nproc} -sC /usr/share/testsuite install "${FLAGS[@]}"
142154
# Install fake license just to silence the warning
143155
install_license /usr/share/licenses/libuv/LICENSE
144156
""",

test/jll.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ module TestJLL end
2828
@test project["compat"] == Dict(
2929
"julia" => "1.0",
3030
"XZ_jll" => "=2.4.6",
31-
"JLLWrappers" => "1.2.0",
31+
"JLLWrappers" => "1.7.0",
3232
"Libdl" => "< 0.0.1, 1",
3333
"Artifacts" => "< 0.0.1, 1",
3434
"Pkg" => "< 0.0.1, 1",

0 commit comments

Comments
 (0)