Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 917530 - dev-util/cargo-c: support builds with vendored openssl (e.g. "-system-ssl")
Summary: dev-util/cargo-c: support builds with vendored openssl (e.g. "-system-ssl")
Status: RESOLVED WONTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal enhancement (vote)
Assignee: Gentoo Linux bug wranglers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-11-17 21:03 UTC by Anna Vyalkova
Modified: 2024-04-14 14:54 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Anna Vyalkova 2023-11-17 21:03:57 UTC
INTRODUCTION
============

Some people want to suffer so they use LibreSSL system-wide.

"openssl" crate is very paranoid about libressl's API/ABI stability (not without
reasons tbh), so only explicitly listed versions are supported.

The problem is, Rust dependencies are pinned and often lag behind several
releases. It's really hard for downstream to replace a crate with a newer one.

SOLUTION
========

cargo-c has optional support for vendored openssl (can be enabled with
"--features vendored-openssl").

cargo.eclass uses "myfeatures" local array and "cargo_src_configure" for that (unfortunately, the ebuild doesn't call it).

I confirm that cargo-c builds and runs when vendored openssl is used.
Comment 1 Eli Schwartz gentoo-dev 2023-11-19 02:06:43 UTC
Honestly that sounds like something which a libressl overlay should be doing. And then it could set it unconditionally, if it wants to.

Is there any circumstance where someone using gentoo's official openssl support would want to have cargo-c vendor it?
Comment 2 Ionen Wolkens gentoo-dev 2023-11-19 05:14:31 UTC
(In reply to Eli Schwartz from comment #1)
> Honestly that sounds like something which a libressl overlay should be
> doing. And then it could set it unconditionally, if it wants to.
The libressl overlay also been patching this crate to let it work with libressl (e.g. [1]), and I'd imagine most libressl users would prefer that to using a shoved-under-the rug vendored openssl.

> Is there any circumstance where someone using gentoo's official openssl
> support would want to have cargo-c vendor it?
Can't think of any, and ::gentoo stance is that it won't take workarounds for libressl anymore. We just don't support it.

[1] https://github.com/gentoo/libressl/blob/master/dev-python/cryptography/files/cryptography-41.0.3-libressl-openssl-sys.patch
Comment 3 Anna Vyalkova 2023-11-19 19:39:17 UTC
> Can't think of any, and ::gentoo stance is that it won't take workarounds
> for libressl anymore. We just don't support it.

That's the official policy. But also:
https://bugs.gentoo.org/903001#c16
Comment 4 Anna Vyalkova 2024-04-14 14:54:42 UTC
May I ask you to add proper "cargo_src_configure" call at the end of "src_configure"?

That would leave me satisfied.