nostalgia/Dockerfile

70 lines
2.0 KiB
Docker

FROM fedora:34
RUN dnf update -y
###############################################################################
# Install gosu
RUN dnf install -y curl
RUN curl -o /usr/local/bin/gosu -SL "https://github.com/tianon/gosu/releases/download/1.10/gosu-amd64"
RUN chmod +x /usr/local/bin/gosu
###############################################################################
# Install dev tools
RUN dnf install -y clang
RUN dnf install -y llvm
RUN dnf install -y libasan
RUN dnf install -y mingw64-gcc-c++
RUN dnf install -y cmake
RUN dnf install -y make
RUN dnf install -y git
RUN dnf install -y vim
RUN dnf install -y sudo
RUN dnf install -y fuse-devel
RUN dnf install -y findutils
RUN dnf install -y ninja-build
RUN dnf install -y libcxx-devel libcxxabi-devel
RUN dnf install -y unzip
RUN dnf install -y ccache
RUN dnf install -y pacman
RUN dnf install -y python3-pip
RUN dnf install -y libglvnd-devel
RUN dnf install -y gtk3-devel
RUN pip install conan
###############################################################################
# Install devkitARM
RUN pacman-key --init
RUN pacman-key --recv BC26F752D25B92CE272E0F44F7FD5492264BB9D0 --keyserver keyserver.ubuntu.com
RUN pacman-key --lsign BC26F752D25B92CE272E0F44F7FD5492264BB9D0
RUN curl -o devkitpro-keyring.pkg.tar.xz https://pkg.devkitpro.org/devkitpro-keyring.pkg.tar.xz
RUN pacman -Syu --noconfirm
RUN pacman -U --noconfirm devkitpro-keyring.pkg.tar.xz
ADD devenv/pacman.conf /etc/pacman.conf
RUN pacman -Syu --noconfirm gba-dev
ENV DEVKITPRO /opt/devkitpro
ENV DEVKITARM /opt/devkitpro/devkitARM
###############################################################################
# Setup sudoers
ADD devenv/sudoers /etc/sudoers
###############################################################################
# Setup working directory
RUN mkdir /usr/src/project
WORKDIR /usr/src/project
###############################################################################
# Setup entrypoint
ADD devenv/entrypoint.sh /
ENTRYPOINT ["/entrypoint.sh"]
ENV CC clang
ENV CXX clang++
ENV VCPKG_DIR_BASE /var/vcpkg/