upsilon/build/Dockerfile.litex_f4pga

53 lines
1.8 KiB
Docker

# Copyright 2023 Peter McGoron
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# SPDX-License-Identifier: Apache-2.0
FROM debian:bookworm
ENV FPGA_FAM=xc7
ENV F4PGA_INSTALL_DIR=/home/user/conda
RUN apt-get update \
&& apt-get -y upgrade \
&& apt-get install -y git wget python3 xz-utils bash verilator \
m4 device-tree-compiler make gcc-riscv64-unknown-elf \
&& adduser --quiet --disabled-password user
USER user:user
WORKDIR /home/user
# F4PGA
COPY --chown=user:user scripts/install_f4pga_defs.sh /home/user
RUN chmod +x install_f4pga_defs.sh \
&& ./install_f4pga_defs.sh \
&& echo 'source ~/conda/xc7/conda/etc/profile.d/conda.sh' >> /home/user/.bashrc \
&& echo 'conda activate xc7' >> /home/user/.bashrc \
&& rm install_f4pga_defs.sh
COPY --chown=user:user f4pga.tar.gz /home/user
RUN tar -xvf f4pga.tar.gz \
&& rm f4pga.tar.gz \
&& cd f4pga/f4pga \
&& bash -c 'source ~/conda/xc7/conda/etc/profile.d/conda.sh; conda activate xc7; pip install . ninja meson'
#LITEX
COPY --chown=user:user litex/litex_setup.py /home/user
RUN mkdir /home/user/litex \
&& chmod +x litex_setup.py \
&& cd litex/ \
&& bash -c 'source ~/conda/xc7/conda/etc/profile.d/conda.sh; conda activate xc7; ../litex_setup.py --init --install --user --tag=2023.04' \
&& rm ../litex_setup.py