Skip to content

Latest commit

 

History

History
81 lines (45 loc) · 3.65 KB

File metadata and controls

81 lines (45 loc) · 3.65 KB

Installation

Packages

Nix

limabean is available as a Nix flake at url = "github:tesujimath/limabean", and this flake pulls in the Clojure CLI tools automatically. It currently runs from Clojars, but is likely in future to run standalone.

Arch Linux

limabean is available in the Arch Linux user repository, so may be installed using paru -S limabean.

This runs in standalone mode.

Other packaging

If you have packaged or are interested in packaging limabean for your distro of choice, please reach out for help or at least a mention here. Thanks!

Installation modes

There are two ways to run limabean, either standalone or from Clojars. Running from Clojars means that the required Clojure packages are downloaded by the Clojure runtime on first use.

Selection of runtime is determined by the following:

  1. If the environment variable LIMABEAN_CLJ_LOCAL_ROOT is defined at runtime, that is the path to local Clojure source, and is used to run the development version using clojure
  2. If the environment variable LIMABEAN_UBERJAR is defined at runtime, that is the path to the standalone application jarfile, which is run using java
  3. If the environment variable LIMABEAN_UBERJAR was defined at buildtime, that is the path to the standalone application jarfile, which is run using java
  4. Otherwise, the application whose version matches limabean is run from Clojars using clojure

Manual Installation

Running from Clojars is recommended for anyone using the GitHub release, that is, not setting any of the environment variables listed above.

Running from Clojars

Requirements:

  1. The Clojure CLI is required to be installed separately, and clojure must be on the user's path.

  2. The two Rust binaries limabean and limabean-pod must be installed and on the path.

The corresponding limabean Clojure code is downloaded automatically on first run from Clojars.

Options for installing the Rust binaries:

  1. Tarballs and zipfiles are provided for each GitHub release for Linux, macOS, and Windows

  2. If you have a Rust toolchain installed, cargo install limabean will install the two binaries limabean and limabean-pod into ~/.cargo/bin. Add this directory to your path before running limabean

macOS

On macOS it is necessary to remove the quarantine attributes after unpacking the tarball, e.g.

xattr -rd com.apple.quarantine ./limabean/bin

Windows

Standalone

Requirements:

  1. Java runtime installed separately, with java on the user's path. Note that the java.sql module at least is required, so a minimal jre may be insufficient.

  2. The two Rust binaries limabean and limabean-pod must be installed and on the path.

  3. The limabean standalone jarfile must be available at a location given by the environment variable LIMABEAN_UBERJAR

If this environment variable is defined when building the Rust binaries, it is not required at runtime, which is recommended when packaging limabean.

Building from source

The justfile has recipes for building from source.

The two Rust binaries are built in rust/target/{release,debug}, and the jarfiles in clj/target.