commit 1e29da45e655d0affdac3a8bf4c11a1d28f039a0 Author: Maxwell Jeffress Date: Fri Apr 17 13:53:44 2026 +1000 Initial commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7f5ba35 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +solstice diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..e8b4635 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,34 @@ +# Build Ground +FROM archlinux:latest AS ground-build + +RUN pacman-key --init && \ + pacman-key --populate archlinux && \ + pacman -Syu --noconfirm base-devel git + +RUN pacman -Syu --noconfirm base-devel git + +RUN git clone --depth 1 https://chookspace.com/ground/ground /src/ground + +WORKDIR /src/ground +RUN make + +# Build Solstice +FROM archlinux:latest AS solstice-build + +RUN pacman-key --init && \ + pacman-key --populate archlinux && \ + pacman -Syu --noconfirm base-devel git + +RUN pacman -Syu --noconfirm base-devel git uthash + +COPY --from=ground-build /src/ground/build/lib/libgroundvm.a ./libs/ +COPY --from=ground-build /src/ground/include/ ./libs/include/ + +RUN git clone --depth 1 https://chookspace.com/solstice/solstice /src/solstice + +WORKDIR /src/solstice +RUN make static GROUND_STATIC=/libs/libgroundvm.a GROUND_INCLUDE=/libs/include + +# ── Stage 3: Output ──────────────────────────────────────────────── +FROM archlinux:latest AS final +COPY --from=solstice-build /src/solstice/solstice /usr/local/bin/solstice diff --git a/README.md b/README.md new file mode 100644 index 0000000..622cd47 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# Solstice Builder + +This script and Dockerfile will build a Solstice executable, statically linked with Ground, seperate from your environment. Perfect for building release builds. + +## Using + +``` +bash script.sh +``` + +Use `sudo` if your Docker requires root. + +The `solstice` binary will be produced for Linux running on your host architecture. diff --git a/build.sh b/build.sh new file mode 100644 index 0000000..1672f2d --- /dev/null +++ b/build.sh @@ -0,0 +1,6 @@ +#!/bin/sh + +docker build --no-cache -t solstice-builder . +docker create --name extract solstice-builder +docker cp extract:/usr/local/bin/solstice ./solstice +docker rm extract