This PR attempts to lay the groundwork to address
https://github.com/emk/rust-musl-builder/issues/96. In particular, we
install the Rust toolchain globally by abusing `rustup`.
We still preserve the legacy `rust` user but we now encourage derived
Dockerfiles to consider `USER root`.
This PR also removes ARM support. We want to explore the idea of
supporting ARM more reliably using a separate image, but perhaps it
would be better to refer those users to one of the Rust
cross-compilation toolchains. See
https://github.com/emk/rust-musl-builder/issues/63 for discussion.
`sqlx` requires linking against OpenSSL twice:
- `sqlx-macros` needs to link against OpenSSL as a shared libary for use
at compile time.
- `sqlx` needs to link against OpenSSL a static library for use at
runtime.
You can find the details here:
https://github.com/launchbadge/sqlx/issues/670https://github.com/sfackler/rust-openssl/issues/1337
We go with the fix proposed by @sfackler, and add a test program that we
can use to verify everything works correctly.
We remove a few `OPENSSL`-related variables that were added 4 years ago,
and that no longer appear to be needed.
Fixes#27, or at least works around it.
This deals with the issues mentioned in
https://github.com/sgrif/pq-sys/pull/18, and it relies heavily on ideas
from @golddranks and @clux.