diff options
Diffstat (limited to '')
-rw-r--r-- | Readme.md | 60 |
1 files changed, 60 insertions, 0 deletions
@@ -10,6 +10,66 @@ copying all needed assets and minifying the map's json. This is used to simulate a `bbbRoom` property (via `openWebsite`), collect and remove badge tokens before maps are published, and to resolve special-schema URIs (e.g. `world://`). +## Installing + +### From the CI pipeline + +Gitlab [automatically builds a version](https://git.cccv.de/hub/walint/-/jobs) +of `walint` each time something is pushed to this repository. The resulting +binary should work fine on most linux systems, especially if they're vaguely +debian-like. + +In case you get an incomprehensible or confusing error when executing it, try +running `ldd walint` and see if anything is marked as not found, then install it. + +### Build using stack + +This uses a lockfile to pin versions of dependencies (as well as `ghc`, the haskell +compiler). You will need [stack](https://docs.haskellstack.org/en/stable/README/). + +Then just run + +``` +stack build +``` + +If you lack `ghc` in the correct version and don't know how to install it, you can +pass it `--install-ghc` to take care of that for you (note that on Nix, `stack` may +automatically use a fitting `ghc` derivation if it finds one). + +To install into your `$PATH`, use + +``` +stack install +``` + +Alternatively, run `walint` via stack: + +``` +stack run -- walint [options as normal] +``` + +However, in this case stack will re-check files every time to ensure your build +is up to date with the sources, which will make it slower to start. + +### Build using cabal + +Note that this does not pin dependencies, and `walint` currently does not even +define semver ranges to ensure it compiles at all! Even so, you can use +[cabal](https://www.haskell.org/cabal/) if for some reason you absolutely must, +as long as your package list is sufficiently recent. + +Run: + +``` +cabal update +cabal build +``` + +Note that `cabal` might decide to pull in an older version of Aeson which is +still vulnerable to hash flooding; in that case `walint` will print a warning +on startup. + ## Usage ``` sh walint --config-file config.json --repository path \ |