-
Notifications
You must be signed in to change notification settings - Fork 2.2k
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
New Packages: sequoia cli utilities #32480
Conversation
77cc286
to
e54529c
Compare
a663f4a
to
06fae06
Compare
55d4ad1
to
4d1742b
Compare
So, I've done some digging, and I'd like to just outright disable armv7l and musl targets for now. In the case of musl, this is part of time64, the migration to using 64 bit integers for time on 32 bit systems. Rust added a deprecation warning for that, and this warning is currently breaking the build here. There's stuff happening in that area, but it's a bigger problem that's not really related to sequoia directly, so not really something that can be addressed in this PR. As for armv7l: A crypto library used by sequoia, nettle, for some reason fails to have it's rust bindings compiled for armv7l, because |
That's on Rust, they shouldn't have deprecated the type on 64-bit musl. And more importantly, the software should still be buildable with warnings like that....
That sounds like |
has this branch been rebased recently (after mid-March)? I think i was getting some similar errors with bindgen + cross and solved it by adding this to the rust build helper: void-packages/common/build-helper/rust.sh Lines 27 to 28 in de7bd4b
|
Yes, it has been rebased since then. I just rebased it again to incorporate some package updates and to drop the license files for openpgp-card-tools (as that now has git tags 🎉), but the bindgen problems persist.
@ericonr do you happen to have a link to a different package that had these problems and how we worked around it over there?
I fully agree. Something somewhere in the build process is setting it to deny building with warnings, I'll do some digging where that happens. |
I've looked for quite a while now, and I just can't find it. The |
cc21fa2
to
2132dcc
Compare
After asking upstream, I found the |
c48fb2a
to
acd3f58
Compare
TL;DW of the problem here: I've tried patching out the requirement for nettle-sys in sq's build.rs script, but that ended up being a way bigger challenge than anticipated, and I'd prefer to just mark this as nocross for the affected architectures for now. If someone could validate that it works on those architectures at all, I'd be very happy about it as I currently don't have any armv7l device anymore to test on, but I suspect that it just works on those. |
(Last but not least: The probability that there is even a single user on older arm architectures that wants to use |
conflicts="squirrel" | ||
|
||
case "$XBPS_TARGET_MACHINE" in | ||
armv*l) nocross="Requires C libs included in build.rs, which is currently broken in xbps-src. These failures only manifest on a hf archs right now";; |
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.
We talked on IRC about fixing this by updating the bindgen crate, right?
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.
Yeah. I tried it with EXTRA_CLANG_ARGS_<TARGET>
after updating bindgen to 0.59, which I had hoped would help, but without success. The problems persisted
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 tested a native build on armv7l and it seems to work, so nocross
seems like the right choice here.
General
Have the results of the proposed changes been tested?
TODO
add shell completionswill be done after https://gitlab.com/sequoia-pgp/sequoia/-/issues/798 is fixed.figure out building for armv7l (some lib stuff missing, see log)marked as nocross for armv7l for now, considering neither we nor upstream really know why it's failing to cross compile