From cd4bfd5c4d61248f22ddda31115ca4db7efcc6b8 Mon Sep 17 00:00:00 2001 From: Marlon Beijer Date: Tue, 25 Jun 2019 15:14:21 +0200 Subject: [PATCH] Add some dependencies --- .gitmodules | 3 +++ Dockerfile | 23 +++++++++++++++++++++-- dependencies/toolchains | 1 + imagefiles/ccmake.sh | 7 +++++++ imagefiles/cmake.sh | 22 ++++++++++++++++++++++ imagefiles/entrypoint.sh | 5 +++++ 6 files changed, 59 insertions(+), 2 deletions(-) create mode 100644 .gitmodules create mode 160000 dependencies/toolchains create mode 100644 imagefiles/ccmake.sh create mode 100644 imagefiles/cmake.sh create mode 100644 imagefiles/entrypoint.sh diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..98e6d33 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "dependencies/toolchains"] + path = dependencies/toolchains + url = https://github.com/AmigaPorts/AmigaCMakeCrossToolchains.git diff --git a/Dockerfile b/Dockerfile index 1252234..234c7f6 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,8 +2,27 @@ FROM sebastianbergmann/amiga-gcc MAINTAINER Marlon Beijer "marlon@amigadev.com" RUN apt-get update && apt-get install -y apt-utils cmake wget git make - RUN echo "root:root" | chpasswd +# Temporary fix +RUN rm /opt/$CROSS_PFX ; ln -s /opt/amiga /opt/$CROSS_PFX + WORKDIR /work -#ENTRYPOINT ["/dockcross/entrypoint.sh"] +ENTRYPOINT ["/entry/entrypoint.sh"] + +COPY imagefiles/cmake.sh /usr/local/bin/cmake +COPY imagefiles/ccmake.sh /usr/local/bin/ccmake +COPY imagefiles/entrypoint.sh /entry/ + +ENV CROSS_PFX m68k-amigaos +ENV CROSS_ROOT /opt/${CROSS_PFX} + +ENV AS=${CROSS_ROOT}/bin/${CROSS_PFX}-as \ + LD=${CROSS_ROOT}/bin/${CROSS_PFX}-ld \ + AR=${CROSS_ROOT}/bin/${CROSS_PFX}-ar \ + CC=${CROSS_ROOT}/bin/${CROSS_PFX}-gcc \ + CXX=${CROSS_ROOT}/bin/${CROSS_PFX}-g++ \ + RANLIB=${CROSS_ROOT}/bin/${CROSS_PFX}-ranlib + +COPY dependencies/toolchains/${CROSS_PFX}.cmake ${CROSS_ROOT}/lib/ +ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/lib/${CROSS_PFX}.cmake \ No newline at end of file diff --git a/dependencies/toolchains b/dependencies/toolchains new file mode 160000 index 0000000..cca36cc --- /dev/null +++ b/dependencies/toolchains @@ -0,0 +1 @@ +Subproject commit cca36cc5af8918f9e3b6412d6e8d46ba4c4e8bd6 diff --git a/imagefiles/ccmake.sh b/imagefiles/ccmake.sh new file mode 100644 index 0000000..4677d0b --- /dev/null +++ b/imagefiles/ccmake.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env sh + +# Always pass the CMAKE_TOOLCHAIN_FILE variable to CMake when inside a +# dockcross environment -- the CMAKE_TOOLCHAIN_FILE environmental variable is +# always set in this context + +exec /usr/bin/ccmake -DCMAKE_TOOLCHAIN_FILE:FILEPATH=${CMAKE_TOOLCHAIN_FILE} "$@" diff --git a/imagefiles/cmake.sh b/imagefiles/cmake.sh new file mode 100644 index 0000000..fb21172 --- /dev/null +++ b/imagefiles/cmake.sh @@ -0,0 +1,22 @@ +#!/usr/bin/env sh + +# Always pass the CMAKE_TOOLCHAIN_FILE variable to CMake when inside a +# dockcross environment -- the CMAKE_TOOLCHAIN_FILE environmental variable is +# always set in this context + +# Exception: +# +# Do not pass the toolchain when calling CMake with these options: +# -E = CMake command mode. +# --build = Build a CMake-generated project binary tree. +# --find-package = Run in pkg-config like mode. +# +case $1 in + + -E|--build|--find-package) + exec /usr/bin/cmake "$@" + ;; + +esac + +exec /usr/bin/cmake -DCMAKE_TOOLCHAIN_FILE:FILEPATH=${CMAKE_TOOLCHAIN_FILE} "$@" diff --git a/imagefiles/entrypoint.sh b/imagefiles/entrypoint.sh new file mode 100644 index 0000000..f641604 --- /dev/null +++ b/imagefiles/entrypoint.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +# This is the entrypoint script for the dockerfile. Executed in the +# container at runtime. +