diff --git a/config.yml b/config.yml index 2bae826..8986e49 100644 --- a/config.yml +++ b/config.yml @@ -360,3 +360,15 @@ architecture: "x86_64" run_docker_build: true run_build: false + +- repository: "firedancer" + project_name: "frankendancer" + architecture: "x86_64" + binaries: + - "fdctl" + - "solana" + builder: "rust" + builder_version: "1.81" + cpu: "generic" + patches: false + purpose: "node" diff --git a/scripts/frankendancer/build.sh b/scripts/frankendancer/build.sh new file mode 100644 index 0000000..fbeec18 --- /dev/null +++ b/scripts/frankendancer/build.sh @@ -0,0 +1,24 @@ +#!/usr/bin/env bash +set -euo pipefail + +cd "${DEPOT_PROJECT_NAME}" + +# Initialize and update submodules +git submodule update --init --recursive + +# Install additional dependencies required by Firedancer +sudo apt-get install -y --no-install-recommends libclang-dev diffutils + +# export FD_AUTO_INSTALL_PACKAGES=1 +# sudo -E ./deps.sh fetch check install + +# Build the binaries +MACHINE="linux_gcc_x86_64" make -j fdctl solana + +mkdir -p bin + +build_binaries="$(deno run --allow-read --allow-env ../utils/binaries.ts)" + +echo "${build_binaries}" | jq -r 'to_entries[] | "\(.key) \(.value)"' | while read -r binary path; do + mv -v "build/${MACHINE:-native}/gcc/bin/${binary}" "${path}" +done