framesurge / perseus

A state-driven web development framework for Rust with full support for server-side rendering and static generation.
https://framesurge.sh/perseus/en-US
MIT License
2.15k stars 89 forks source link

Openssl/vendored feature for perseus-cli #287

Closed iRaiko closed 1 year ago

arctic-hen7 commented 1 year ago

To be clear, does this solve the problem because there's some dependency that uses openssl, and adding a direct dependency on it with this feature causes everything to work out?

iRaiko commented 1 year ago

By default reqwest will use system-native transport layer, and the default for linux is openssl (as per reqwest). Features are additive so having this as an optional dependency will enable that feature for the crates that do use it. In my case, inside a docker container, the cargo install perseus-cli was not working because of openssl (I got the libssl-dev files, and set the enviroment variables), and with making it vendored it was working

arctic-hen7 commented 1 year ago

Perfect, that's what I thought, just wanted to make sure I understand. Because it's a bit obscure for developers new to Rust, do you want to add a little comment explaining that?

martadinata666 commented 1 year ago

The openssl vendored feature, make it build openssl from source like the scripts/build_openssh_musl.sh but correct way. Instead relying on libssl-dev package, when on xxxx-unknown-linux-gnu detected correctly, it more complicated on musl target.

Or even better if move to rustls that entirely remove system/host deps on libssl-dev

arctic-hen7 commented 1 year ago

@iRaiko did you want to add that explanatory comment?