liftinstall/README.md
2018-09-19 11:17:30 +10:00

55 lines
2 KiB
Markdown

<img src="banner.png" width="400px" />
[Usage Documentation](https://liftinstall.jselby.net/user-guide/)
- [Quick Start](https://liftinstall.jselby.net/user-guide/quick-start)
- [License](LICENSE)
[![Build Status](https://travis-ci.org/j-selby/liftinstall.svg?branch=master)](https://travis-ci.org/j-selby/liftinstall)
An installer for your application. Designed to be customisable to the core, hookable from external
applications, and have a decent UI.
This is designed to be a more modern interpretation of Qt's Installer Framework, which is hard to develop on,
poorly documented, has a hardcoded package listing format, and isn't supported all that well, with rare updates
and a large list of bugs.
Building
--------
For more detailed instructions, look at the usage documentation above.
There are are few system dependencies depending on your platform:
- For all platforms, `cargo` should be available on your PATH. [Rustup](https://rustup.rs/) is the
recommended way to achieve this. Stable or Nightly Rust works fine.
- For Windows (MSVC), you need Visual Studio installed.
- For Windows (Mingw), you need `gcc`/`g++` available on the PATH.
- For Mac, you need Xcode installed, and Clang/etc available on the PATH.
- For Linux, you need `gcc`/`g++`, `webkit2gtk`, and `libssl`. For Ubuntu 18.04 this would look like:
```bash
apt install -y build-essential libwebkit2gtk-4.0-dev libssl-dev
```
In order to build yourself an installer, as a bare minimum, you need to:
- Add your favicon to `static/favicon.ico`
- Add your logo to `static/logo.png`
- Modify the bootstrap configuration file as needed (`config.PLATFORM.toml`).
- Have the main configuration file somewhere useful, reachable over HTTP.
- Run:
```bash
cargo build --release
```
Contributing
------------
PRs are very welcome. Code should be run through [Rustfmt](https://github.com/rust-lang-nursery/rustfmt)
before submission.
License
-------
LiftInstall is licensed under the Apache 2.0 License, which can be found in [LICENSE](LICENSE).