Source code

Subplot source code is distributed via the git version control system. There are two repositories, which are intended to be identical:

Use either according to preference.

Build and install from source

Subplot is written in the Rust language, and you need the Rust toolchain and cargo installed. If you have that installed and configured, you can build and install Subplot from source as follows:

git clone https://gitlab.com/subplot/subplot
cd subplot
cargo build
cargo install --path=.

Note that in addition to the Rust tools, you’ll need the following installed for Subplot to work, including for running its test suite:

  • Python 3 to run the generated test program
  • GraphViz dot program for embedded dot and roadmap graphs in typeset documents; on Debian that’s in graphviz.
  • PlantUML to render embedded UML diagrams in documents; on Debian that’s in plantuml.
  • librsvg2 command line tools (for including SVGs in typeset documents); on Debian that’s in librsvg2-bin.

The debian/control file lists the necessary packages under the Depends and Build-Depends headings.

Debian

There is a Debian package built by CI from every commit. It works on Debian 12 (bookworm) and later. We have a script to install it:

curl -s https://gitlab.com/subplot/subplot/-/raw/main/install-debian.sh | sudo bash

If you’d rather not download a script from the Internet and run it as root (kudos!), you can do the same steps manually. Add the following to /etc/apt/sources.list.d/subplot.list:

deb http://apt.liw.fi/debian unstable-ci main

Then follow instructions on http://apt.liw.fi/ to download and install the latest key ring package. Then run:

apt update
apt install subplot

Other systems

The Subplot developers all use Debian on the 64-bit Intel architecture, and don’t provide installation packages for other kinds of systems (other architectures, other operating systems). If you’d like to help with that, it would be very much welcome!

When you have Subplot installed

See the documentation page for how to use Subplot.