crate-ci / cargo-tarball

Package pre-built binaries for Rust
Apache License 2.0
9 stars 2 forks source link

Support setting environment variables for a given tarball. #93

Open epage opened 5 years ago

epage commented 5 years ago

For use cases, see https://github.com/rust-lang-nursery/cli-wg/issues/34

An open question on this is if we need per-target-triplet environment variables or will people be defining separate cargo-tarball configurations for other platforms.

kornelski commented 5 years ago

I need OS-specific config, like whether a zlib-sys crate should be dynamic or static (dynamic on macOS, static on Linux-musl and Windows).

I need the +crt-static flag on Windows only (macOS doesn't have a stable kernel ABI, so it can't have a static runtime).

I also have per-OS per-machine env vars I have to set, but I'm not sure if they belong to cargo-tarball. For example, I build my own copy of LLVM, and clang-sys needs to know file path to it. This will be subtly broken if I forget to set that env var, so I'd really like to have that automated and guaranteed somewhere.

epage commented 5 years ago

To be clear on expectations, I'm focusing a lot atm on getting Liquid into a solid state. After that, I'll continue to round out stager which builds on liquid. I'll then round out cargo-tarball which customizes stager for the specific distribution method.