1
1
mirror of https://github.com/wez/wezterm.git synced 2024-12-19 11:21:39 +03:00
wezterm/docs/install/source.markdown
Wez Furlong dbd7fc28a5 Raise minimum Rust version to 1.51, de-vendor openssl on unix
Rust 1.51 allows addressesing a long-standing TODO which was that we
shouldn't need to build a vendored copy of openssl on most sensible unix
systems.

We do require a vendored copy on macOS and Windows, but due to the way
that Cargo's feature resolver worked, it wasn't possible for this
requirement to be respected.

Rust 1.51 introduces `resolver="2"` which can deal with this feature
resolution!

https://doc.rust-lang.org/nightly/cargo/reference/features.html#feature-resolver-version-2

The upshot of this is that building wezterm on real unix systems that
are not macos will now link against the system libssl, resulting in both
a shorter compile time and less headaches arising from having a slightly
different openssl used by wezterm than the rest of the system.

cc: @jsgf
2021-03-25 09:43:50 -07:00

1.5 KiB

Installing from source

If your system isn't covered by the pre-built packages then you can build it for yourself. WezTerm should run on any modern unix as well as Windows 10 and macOS.

  • Install rustup to get the rust compiler installed on your system. Install rustup
  • Rust version 1.51 or later is required
  • Build in release mode: cargo build --release
  • Run it via either cargo run --release --bin wezterm or target/release/wezterm

You will need a collection of support libraries; the get-deps script will attempt to install them for you. If it doesn't know about your system, please contribute instructions!

If you don't plan to submit a pull request to the wezterm repo, you can download a smaller source tarball using these steps:

curl https://sh.rustup.rs -sSf | sh -s
curl -LO {{ src_stable }}
tar -xzf {{ src_stable_asset }}
cd {{ src_stable_dir }}
sudo ./get-deps
cargo build --release
cargo run --release --bin wezterm -- start

Alternatively, use the full git repo:

curl https://sh.rustup.rs -sSf | sh -s
git clone --depth=1 --branch=main --recursive https://github.com/wez/wezterm.git
cd wezterm
git submodule update --init --recursive
sudo ./get-deps
cargo build --release
cargo run --release --bin wezterm -- start

If you get an error about zlib then you most likely didn't initialize the submodules; take a closer look at the instructions!