-
Notifications
You must be signed in to change notification settings - Fork 559
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Mousetrap] Add mousetrap #7461
Conversation
I had to add the following line to the cmake='/usr/bin/cmake' Otherwise it would not detect the cmake executable for me. Should I open an issue for this? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I neglected to expand for C++ string ABIs because my project requires gcc 11.0 or newer anyway, so there is no way to build with the old standard. Please correct me if this is improper.
Quoting from the docs
This ABI does not have to do with the C++ standard used by the source code, in fact you can build a C++03 library with the C++11
std::string
ABI and a C++11 library with the C++03std::string
ABI. This is achieved by appropriately setting the_GLIBCXX_USE_CXX11_ABI
macro.
Emphasis not mine.
M/mousetrap/build_tarballs.jl
Outdated
] | ||
|
||
# Build the tarballs, and possibly a `build.jl` as well. | ||
build_tarballs(ARGS, name, version, sources, script, platforms, products, dependencies; julia_compat="1.7", preferred_gcc_version = v"12.1.0") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please don't use gcc 12, you should instead use the oldest compiler possible: https://github.com/JuliaPackaging/Yggdrasil/blob/7093500a13b031888e5263aa3fcf7c63490bbe2b/CONTRIBUTING.md#compatibility-tips
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I added two commits to expand for string ABIs and to use GCC 9, which is the oldest version supported. Thank you
Is support for Julia 1.7 and 1.8 needed? You are spending a lot of CI hours for building this... |
I agree, but I was told by fingolfin to expand for different Julia versions. This and the string ABI expansion, both of which I didn't have initially but were requested during review, makes for a ridiculous amount of versions. If I only use Julia 1.9, will that mean 1.8 and 1.7 users cannot use the jll package? I'd like to not introduce a version dependency when there isn't any reason for it other than for build time. |
Indeed. Yes - that would drop support for 1.8 and 1.7 users. |
I would be fine to change: platforms = Platform[]
include("../../L/libjulia/common.jl")
for version in [v"1.7.0", v"1.8.2", v"1.9.0", v"1.10", v"1.11"]
for platform in libjulia_platforms(version)
if nbits(platform) != 32
push!(platforms, platform)
end
end
end
platforms = expand_cxxstring_abis(platforms) To
Since I'm not positive any of the Julia api changes between versions affect my project, but I would delegate that decision to you guys since I don't have any experience with deploying jlls. |
I copied the versions expansion mostly from libcxxwrap_julia which also has that many versions (it actually has even more since it also allows for 32-bit architectures) and is already merged. |
@Clemapfel Are you still waiting for further input, or do you think it can be merged? |
I'm fine with it being merged as-is |
@imciner2 Can you please approve? |
@imciner2 is there something else I can do? I'm waiting on opening a PR with the Julia registry for a package that depends on this jll, but I cannot do so until this is merged and online. |
This is good now. It should appear in the registry in a few hours. |
thank you! |
Supercedes #7347.
I neglected to expand for C++ string ABIs because my project requires gcc 11.0 or newer anyway, so there is no way to build with the old standard. Please correct me if this is improper.