mirror of
https://github.com/a2geek/cc65-pipeline.git
synced 2024-10-31 15:05:42 +00:00
d879c70108
binutils offers useful utilities, namely objcopy for me. It is reasonable to assume others may need them as well.
45 lines
1.5 KiB
Docker
45 lines
1.5 KiB
Docker
FROM alpine:latest
|
|
|
|
LABEL description="This is a cc65 Docker container intended to be used for build pipelines."
|
|
|
|
ENV BUILD_DIR="/tmp" \
|
|
CC65_VERSION="V2.17" \
|
|
NULIB2_VERSION="v3.1.0" \
|
|
AC_RELEASE="v1-4-0" \
|
|
AC_VERSION="1.4.0"
|
|
|
|
COPY bin /usr/local/bin
|
|
|
|
RUN apk add --no-cache build-base binutils && \
|
|
echo "Building CC65 ${CC65_VERSION}" && \
|
|
cd ${BUILD_DIR} && \
|
|
wget https://github.com/cc65/cc65/archive/${CC65_VERSION}.tar.gz && \
|
|
tar xzf ${CC65_VERSION}.tar.gz && \
|
|
cd cc65* && \
|
|
env PREFIX=/usr/local make && \
|
|
env PREFIX=/usr/local make install && \
|
|
echo "Building NuLib2 ${NULIB2_VERSION}" && \
|
|
cd ${BUILD_DIR} && \
|
|
wget https://github.com/fadden/nulib2/archive/${NULIB2_VERSION}.tar.gz && \
|
|
tar xzf ${NULIB2_VERSION}.tar.gz && \
|
|
cd nulib2* && \
|
|
cd nufxlib && \
|
|
./configure && \
|
|
make && \
|
|
make install && \
|
|
cd ../nulib2 && \
|
|
./configure && \
|
|
make && \
|
|
make install && \
|
|
echo "Adding AppleCommander" && \
|
|
wget https://github.com/AppleCommander/AppleCommander/releases/download/${AC_RELEASE}/AppleCommander-ac-${AC_VERSION}.jar && \
|
|
mkdir -p /usr/local/share/java && \
|
|
mv AppleCommander-ac-${AC_VERSION}.jar /usr/local/share/java/AppleCommander-ac.jar && \
|
|
echo "Cleaning up" && \
|
|
cd ${BUILD_DIR} && \
|
|
rm -rf * && \
|
|
apk del --no-cache build-base && \
|
|
echo "Adding other required build-tools exclusive of other C compilers!" && \
|
|
apk add --no-cache make openjdk8-jre && \
|
|
chmod +x /usr/local/bin/*
|