rustls / rustls/rustls-openssl-compat
Make it possible to use it as rust dependency for a crate that builds a bundled version of a c-lib depending on openssl
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 87
- Forks
- 11
- Avg merge
- 20h 10m
- Merged PRs (30d)
- 3
Description
This is rather a long shot feature request. I maintain pq-src, which is a crate bundling the libpq C source code and building + linking it as part of your cargo build process. libpq depends on openssl for TLS encrypted connections. I currently solve that by letting pq-src depend on openssl-src (which statically links openssl) and extracting the relevant information about the include directory from the environment variables they set like this. I would like to be able to do the same thing with rustls-openssl-compant to eliminate the usage of openssl in my dependency tree.
As far as I see that would require:
- Having
rustls-openssl-compatbe published on crates.io, so that other crates can depend on it. This would then build + link the crate into the final binary, which should export the "right" symbols as far as I can tell - Make sure that
rustls-openssl-compatprovides a header file + exposes the location of that header file via an environment variable to other build scripts (See the cargo documentation on this feature here (search forDEP_) - Likely add support for functions that are used by libpq and that are currently missing from
rustls-openssl-compat, but that's secondary, as I would like to get your opinion on this idea first
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the crate's packaging and build-script setup, then compare it with the dependency and environment-variable handling in pq-src's build.rs and Cargo's DEP_ documentation. Determine whether publishing the crate, exposing a header path, and supporting libpq's missing functions form a feasible, testable scope; the issue currently asks for that feasibility assessment.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- build-system
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100