cenotelie / cratery

MIT License
133 stars 2 forks source link

Doc with required packages #37

Open MarcAntoine-Arnaud opened 1 day ago

MarcAntoine-Arnaud commented 1 day ago

In our crates, we have some dependencies to native packages (OpenSSL, FFMpeg).

Builds of the documentation are broken.

What is the best way to install packages ?

woutersl commented 1 day ago

Hi @MarcAntoine-Arnaud, we have the same issue with openssl, for a very small number of our packages. The simplest solution for the time being is to extend the pre-built docker image with the native libs installed (or create a completely new one if this is not appropriate). A public docker image with all native libs pre-installed would probably not be useful for anyone.

Docs.rs has the same problem. I think they use huge images with many pre-installed native libs ; but I'll check again how they handle this.

Having a system with specialized workers is a possibility but it complicates the overall architecture (need to think about the interface between the core server and the workers, etc.) I'd like to avoid that if possible.

Side note : The same problem arises for uncommon documentation targets. Installing a required target with rustup on the fly is easy but sometimes additional packages on the system are required and we are back to the same problem.