Open cirocavani opened 2 years ago
Any updates regarding this issue? I encounter the same problem on Julia v1.8
.
Looks to me like a breaking change in Pkg, reproducer is:
using Pkg
Pkg.add(Pkg.Types.Context(), [PackageSpec(; name = "Box2D_jll", uuid = "6756b63d-2e54-5dc6-816b-1fc83e1ae834", url = "https://github.com/cirocavani/Box2D_jll.jl")])
Please open an issue there.
The proposed solution at https://github.com/JuliaLang/Pkg.jl/issues/3251 is to remove the context argument.
Indeed, this works:
Pkg.add([PackageSpec(; name = "Box2D_jll", uuid = "6756b63d-2e54-5dc6-816b-1fc83e1ae834", url = "https://github.com/cirocavani/Box2D_jll.jl")])
@giordano I am not familiar with the context argument. Is this something that can be removed from the internal calls of BinaryBuilder.jl
or not?
Thank you!
Is this something that can be removed from the internal calls of BinaryBuilder.jl or not?
No
Based on the suggestion in https://github.com/JuliaLang/Pkg.jl/issues/3251#issuecomment-1476330679, I found a workaround. Put the following code in your build_tarballs.jl
for your unregistered dependency, and then it works (for me):
ps = PackageSpec(; name = "Box2D_jll", uuid = "6756b63d-2e54-5dc6-816b-1fc83e1ae834",
url = "https://github.com/cirocavani/Box2D_jll.jl")
Pkg.API.handle_package_input!(ps)
# Dependencies that must be installed before this package can be built
dependencies = [
Dependency(ps)
# other dependencies...
]
It seems BB should do that instead. Even if it doesn't fix every issue, it's what Pkg does in every case via the public API, so I don't see why BB shouldn't do that (and a deepcopy first)
I am building 2 separated JLL, one for the C++ library and other for the CxxWrap glue-code library. Both packages are not registered and I am trying to build both in my machine. The problem I noticed was that when I use julia 1.7, the non-registered JLL dependency fails.
I will push this code soon.
But the error is simple,
build_tarballs.jl
for CxxWrap glue-code library:1.7 error:
1.6