DocsReference

Build from source

Build the app on Windows, Linux and macOS, and how releases are put together.

Clone 4regab/Hover. Hover is a Rust workspace; it needs Rust 1.89 or newer, and the exact toolchain it is tested with is pinned in rust-toolchain.toml.

Windows

Install the MSVC build tools as well.

.\build.ps1 release run      # build and run
.\build.ps1 test             # all tests
.\build.ps1 publish          # hoverai.exe in .\publish
.\build.ps1 installer        # Hover-Setup-<version>.exe in .\dist (needs Inno Setup 6 or 7)

Linux

On Ubuntu or Debian the build needs these packages (the tests also use fonts-dejavu-core dbus gnome-keyring python3-gi):

sudo apt install build-essential pkg-config libfontconfig1-dev libfreetype-dev \
  libasound2-dev libxkbcommon-dev libxkbcommon-x11-dev
make                         # release build
make test
sudo make install            # /usr/local (PREFIX=, DESTDIR= as usual); make uninstall
make package                 # .deb and tarball in dist/

macOS

Needs macOS 14 or later, Xcode’s command line tools (xcode-select --install) and Node, for the office page.

scripts/build-macos.sh             # dist/macos-osx-arm64/Hover.app, signed ad hoc

HOVER_ARCH=x64 builds for Intel. See Hover on macOS for what the app does and what it asks for.

Releases

Every pull request runs the tests on Windows and Linux, and builds the Mac app on macOS. Publishing a release automatically is still being set up, so the files on a release are built and attached by hand for now.