diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 00000000..03a268b8 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,34 @@ +# Include any files or directories that you don't want to be copied to your +# container here (e.g., local build artifacts, temporary files, etc.). +# +# For more help, visit the .dockerignore file reference guide at +# https://docs.docker.com/go/build-context-dockerignore/ + +**/.DS_Store +**/__pycache__ +**/.venv +**/.classpath +**/.dockerignore +**/.env +**/.git +**/.gitignore +**/.project +**/.settings +**/.toolstarget +**/.vs +**/.vscode +**/*.*proj.user +**/*.dbmdl +**/*.jfm +**/bin +**/charts +**/docker-compose* +**/compose.y*ml +**/Dockerfile* +**/node_modules +**/npm-debug.log +**/obj +**/secrets.dev.yaml +**/values.dev.yaml +LICENSE +README.md diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..b185af30 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,45 @@ +FROM ubuntu:22.04 AS base + +ENV DEBIAN_FRONTEND=noninteractive +WORKDIR /fennix +ADD . /fennix + +RUN apt -y update +RUN apt -y install \ + build-essential \ + bison \ + flex \ + libgmp3-dev \ + libmpc-dev \ + libmpfr-dev \ + texinfo \ + libzstd-dev \ + libisl-dev \ + autoconf \ + m4 \ + automake \ + gettext \ + gperf \ + dejagnu \ + guile-3.0 \ + guile-3.0-dev \ + expect \ + tcl \ + autogen \ + tex-common \ + sphinx-common \ + git \ + ssh \ + diffutils \ + patch + +RUN apt clean && rm -rf /var/lib/apt/lists + +RUN make -C tools __clone_all_no_qemu +RUN make --quiet -C tools do_binutils_64 +RUN make --quiet -C tools do_binutils_32 +RUN make --quiet -C tools do_gcc_64 +RUN make --quiet -C tools do_gcc_32 +RUN cd tools && rm -rf binutils-gdb gcc build-binutils64 build-gcc64 build-binutils32 build-gcc32 + +RUN make build diff --git a/compose.yaml b/compose.yaml new file mode 100644 index 00000000..fa435305 --- /dev/null +++ b/compose.yaml @@ -0,0 +1,13 @@ +# Comments are provided throughout this file to help you get started. +# If you need more help, visit the Docker Compose reference guide at +# https://docs.docker.com/go/compose-spec-reference/ + +# Here the instructions define your application as a service called "app". +# This service is built from the Dockerfile in the current directory. +# You can add other services your application may depend on here, such as a +# database or a cache. For examples, see the Awesome Compose repository: +# https://github.com/docker/awesome-compose +services: + iso: + build: + context: .