From 84c5978eafae90b1307c98a612d9d16b4e0369cd Mon Sep 17 00:00:00 2001 From: Jacob Lifshay Date: Fri, 10 Oct 2025 00:38:32 -0700 Subject: [PATCH] WIP build Xilinx FPGA dependencies in CI --- .forgejo/workflows/deps.yml | 51 ++++++++++++++++++++++++++++++++++++- 1 file changed, 50 insertions(+), 1 deletion(-) diff --git a/.forgejo/workflows/deps.yml b/.forgejo/workflows/deps.yml index 1a58a35..511dd68 100644 --- a/.forgejo/workflows/deps.yml +++ b/.forgejo/workflows/deps.yml @@ -30,22 +30,71 @@ jobs: build-essential \ ccache \ clang \ + cmake \ cvc5 \ + default-jre-headless \ flex \ - gawk \ g++ \ + gawk \ git \ + libantlr4-runtime-dev \ libboost-filesystem-dev \ + libboost-iostreams-dev \ + libboost-program-options-dev \ libboost-python-dev \ libboost-system-dev \ + libboost-thread-dev \ + libeigen3-dev \ libffi-dev \ libreadline-dev \ lld \ + openfpgaloader \ pkg-config \ python3 \ python3-click \ + python3-venv \ tcl-dev \ + uuid-dev \ zlib1g-dev + - name: Create venv + if: steps.restore-deps.outputs.cache-hit != 'true' + run: | + python3 -m venv deps/venv + source deps/venv/bin/activate + echo "VIRTUAL_ENV=$VIRTUAL_ENV" >> $FORGEJO_ENV + echo "$VIRTUAL_ENV/bin" >> $FORGEJO_PATH + - name: Build prjxray + if: steps.restore-deps.outputs.cache-hit != 'true' + run: | + git clone https://github.com/SymbiFlow/prjxray.git deps/prjxray + (cd deps/prjxray; git checkout c9f02d8576042325425824647ab5555b1bc77833) + (cd deps/prjxray; git submodule update --init --recursive) + mkdir -p deps/prjxray/build + (cd deps/prjxray/build; cmake ..) + (cd deps/prjxray/build; make -j$(nproc)) + (cd deps/prjxray/build; make install) + (cd deps/prjxray; pip install -r requirements.txt) + - name: Get prjxray-db + if: steps.restore-deps.outputs.cache-hit != 'true' + run: | + git clone https://github.com/openXC7/prjxray-db.git deps/prjxray-db + (cd deps/prjxray-db; git checkout 381966a746cb4cf4a7f854f0e53caa3bf74fbe62) + - name: Build xcfasm + if: steps.restore-deps.outputs.cache-hit != 'true' + run: | + git clone https://github.com/chipsalliance/f4pga-xc-fasm.git deps/f4pga-xc-fasm + (cd deps/f4pga-xc-fasm; git checkout 25dc605c9c0896204f0c3425b52a332034cf5e5c) + (cd deps/f4pga-xc-fasm; pip install -e .) + - name: Build nextpnr-xilinx + if: steps.restore-deps.outputs.cache-hit != 'true' + run: | + git clone https://github.com/openXC7/nextpnr-xilinx.git deps/nextpnr-xilinx + (cd deps/nextpnr-xilinx; git checkout 724db28b41e68568690a5ea1dd9ce5082362bb91) + (cd deps/nextpnr-xilinx; git submodule update --init --recursive) + mkdir -p deps/nextpnr-xilinx/build + (cd deps/nextpnr-xilinx/build; cmake -DARCH=xilinx -DUSE_OPENMP=ON -DBUILD_GUI=OFF ..) + (cd deps/nextpnr-xilinx/build; make -j$(nproc)) + (cd deps/nextpnr-xilinx/build; make install) - name: Install Firtool if: steps.restore-deps.outputs.cache-hit != 'true' run: |