From 4928b0ae75aa326e8dd96e745fb701ae1ce1fce1 Mon Sep 17 00:00:00 2001 From: Micha Gorelick Date: Sun, 15 Jul 2018 09:00:58 -0400 Subject: [PATCH] Add `cargo deb` build instructions Updated the `Cargo.toml` file and added a `package.metadata.deb` subsection to define how to build a debian "deb" install file using `cargo deb`. This will allow debian/ubuntu users to install `alacritty` using their system's package manager. It also will make it easier to provide pre-built binaries for those systems. Also fixed a stray debug line in the bash autocomplete script that was writting to a tempfile. --- Cargo.toml | 22 ++++++++++++++++++++++ README.md | 23 +++++++++++++++++++---- alacritty-completions.bash | 1 - 3 files changed, 41 insertions(+), 5 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 7e542dc4..41b67c8f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -5,6 +5,8 @@ authors = ["Joe Wilm "] license = "Apache-2.0" build = "build.rs" description = "GPU-accelerated terminal emulator" +readme = "README.md" +homepage = "https://github.com/jwilm/alacritty" [[bin]] doc = false @@ -57,3 +59,23 @@ gl_generator = "0.9" [profile.release] lto = true debug = 1 + +[package.metadata.deb] +maintainer = "Joe Wilm " +license-file = ["LICENSE-APACHE", "3"] +extended-description = """\ +Alacritty is the fastest terminal emulator in existence. Using the GPU for \ +rendering enables optimizations that simply aren't possible in other emulators. \ +Alacritty currently supports FreeBSD, Linux, macOS, and OpenBSD. Windows \ +support is planned before the 1.0 release. """ +depends = "$auto, cmake, libfreetype6-dev, libfontconfig1-dev, xclip, gperf" +section = "rust" +priority = "optional" +assets = [ + ["target/release/alacritty", "usr/local/bin/", "755"], + ["Alacritty.desktop", "usr/share/applications/", "644"], + ["alacritty-completions.bash", "usr/share/bash-completion/completions/alacritty", "644"], + ["alacritty-completions.fish", "usr/share/fish/completions/alacritty", "644"], + ["alacritty-completions.zsh", "usr/share/zsh/functions/Completion/alacritty", "644"], + ["alacritty.info", "usr/share/terminfo/a/alacritty", "644"], +] diff --git a/README.md b/README.md index e0a23b20..aaf699a2 100644 --- a/README.md +++ b/README.md @@ -49,6 +49,17 @@ cd alacritty-git makepkg -isr ``` +### Debian/Ubuntu + +Using `cargo deb`, you can create and install a deb file. + +```sh +git clone git@github.com:jwilm/alacritty.git +cd alacritty +cargo install cargo-deb +cargo deb --install +``` + ### openSUSE Tumbleweed Linux ```sh @@ -86,11 +97,14 @@ xbps-install alacritty rustup update stable ``` -#### Ubuntu +#### Debian/Ubuntu -On Ubuntu, you need a few extra libraries to build Alacritty. Here's an `apt` -command that should install all of them. If something is still found to be -missing, please open an issue. +You can build alacritty using `cargo deb` and use your system's package manager +to maintain the application using the instructions [above](#debianubuntu). + +If you'd still like to build a local version manually, you need a few extra +libraries to build Alacritty. Here's an apt command that should install all of +them. If something is still found to be missing, please open an issue. ```sh apt-get install cmake libfreetype6-dev libfontconfig1-dev xclip @@ -244,6 +258,7 @@ cargo build --release If all goes well, this should place a binary at `target/release/alacritty`. + ##### Desktop Entry Many linux distributions support desktop entries for adding applications to diff --git a/alacritty-completions.bash b/alacritty-completions.bash index 57191515..f8ffc107 100644 --- a/alacritty-completions.bash +++ b/alacritty-completions.bash @@ -15,7 +15,6 @@ _alacritty() # If `--command` or `-e` is used, stop completing for i in "${!COMP_WORDS[@]}"; do - echo "${COMP_WORDS[i]}" >> ./testfile if [[ "${COMP_WORDS[i]}" == "--command" ]] \ || [[ "${COMP_WORDS[i]}" == "-e" ]] \ && [[ "${#COMP_WORDS[@]}" -gt "$(($i + 2))" ]]