-
Notifications
You must be signed in to change notification settings - Fork 1
Building
tazz edited this page Aug 29, 2026
·
1 revision
You will need the following to build this from source:
- A C compiler
-
git ---
v2.55.0+ -
ninja ---
v1.13.2+ -
go ---
v1.26.4+ -
meson ---
v1.11.1+ -
pkg-config ---
v2.5.1+
The following libraries:
-
libuv ---
v1.52.1+ -
lua54 ---
v5.4.8+ -
jansson ---
v2.15.0+ -
libsodium ---
v1.0.22+ -
uuid ---
v2.42.2+ -
libxxhash ---
v0.8.3+ -
libarchive ---
v3.8.8+ -
libgit2 ---
v1.9.4+ -
graphviz ---
v15.1.0+ -
libiwasm ---
v2.2.0+ -
tracy* ---
any -
gtest* ---
v1.17.0+
Optional requirements marked with: *
git clone https://github.com/arcadia-de/hypha.git
cd hypha/meson setup buildninja -C buildninja -C build installThe CLI's Go sources require a .pc file generated by Meson.
IF the Engine is installed:
CGO_ENABLED=1 \
go build \
-ldflags="-X main.Version=1.0.0 -linkmode=external -s -w -extldflags=-Wl,--gc-sections" \
-o hypha \
cmd/hypha/main.goIF the Engine is not installed:
CGO_ENABLED=1 \
PKG_CONFIG_PATH="$(pwd)/build/meson-uninstalled:$PKG_CONFIG_PATH" \
go build \
-ldflags="-X main.Version=1.0.0 -linkmode=external -s -w -extldflags=-Wl,--gc-sections" \
-o hypha \
cmd/hypha/main.goYou can rebuild by doing:
meson setup build --reconfigure
ninja -C buildThen rebuild the CLI using Go as discussed in Step 5.
You can also use task to build.
You will need:
-
task ---
v3.51.1+
task # defaults to: task buildBuilding using the container is more portable, but requires Docker
You will need the following:
-
docker ---
v29.6.1+
docker run \
--rm \
-it \
-v "$(pwd):/workspace" \
-w /workspace \
ghcr.io/arcadia-de/hypha-build-env:latestThis will drop you in the container into the /workspace directory.
Task is not provided in the container, however the required tools and libraries are pre-installed.
You can build using the following:
# set up build using meson
meson setup build
# build engine using ninja
ninja -C build
# build cli using go
CGO_ENABLED=1 \
PKG_CONFIG_PATH="$(pwd)/build/meson-uninstalled:$PKG_CONFIG_PATH" \
go build \
-ldflags="-X main.Version=1.0.0 -linkmode=external -s -w -extldflags=-Wl,--gc-sections" \
-o hypha \
cmd/hypha/main.go