foxygit / TransTUI Log in
commits tags

/docs/Installation.md · 1.88 KB

raw

Installation

Dependencies

Building: gcc/cc, make, pkg-config, libncursesw-dev (or the equivalent dev package for your distro, e.g. ncurses-devel on Fedora).

Running: only libncursesw (shared via the system, already installed if you could build). No libcurl, jansson, or json-c needed - the HTTP client (raw TCP socket, own HTTP/1.1 parser) and JSON handling (cJSON, vendored in third_party/) are built into the binary. See Architecture for why.

Debian/Ubuntu:

sudo apt install build-essential libncursesw6 libncurses-dev pkg-config

Build

make            # regular build (-Os -Wall -Wextra), binary: ./transtui
make release    # same, but stripped binary (smaller file size)
make clean       # removes build artifacts

The binary typically lands around 70-90 KB stripped, thanks to no heavy libraries being linked in.

Install

make install    # copies to $PREFIX/bin (default /usr/local/bin)

Run as root or set DESTDIR/PREFIX for a different location, e.g.:

make install PREFIX=$HOME/.local

When not run as root, make install also registers transtui as the handler for magnet links and .torrent files (see Browser Integration), so clicking a magnet link in the browser opens transtui --add automatically. sudo make install skips this step - run make install-desktop afterward as your normal user instead.

After installing, make sure $PREFIX/bin is in your PATH if you're using a non-standard path - otherwise transtui --add ... from the browser won't find the binary (see Browser Integration).

Next steps