Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dependencies for a full build (ROM+emu+demo) Dockerfile proposal #11

Open
daitangio opened this issue Sep 24, 2019 · 0 comments
Open

Dependencies for a full build (ROM+emu+demo) Dockerfile proposal #11

daitangio opened this issue Sep 24, 2019 · 0 comments

Comments

@daitangio
Copy link

What are the tools (assembler, etc) needed to do a full build of x16 roms and emulators?

I have done some tests and I ended up with a docker image which is able to build more or less everything.
I hope it can help to build a list of dependencies.

My docker image fails to launch the x16 emu (because SDL did not have a display I think) but it is able to build the emu and the roms easily.

It is also able to partially build the demo (the python3 deps are here for that reason)

Two questions: is it correct the acme assembler version I found on internet?
Why acme? It should not possible to use cc65 toolchain only?

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"


WORKDIR ${BUILD_DIR}

RUN wget https://github.com/cc65/cc65/archive/${CC65_VERSION}.tar.gz

RUN apk add --no-cache build-base && \
    echo "Building CC65 ${CC65_VERSION}" && \    
    tar xzf ${CC65_VERSION}.tar.gz
   

RUN cd cc65* && \
    env PREFIX=/usr/local make >/dev/null && \
    env PREFIX=/usr/local make install >&/dev/null && \
    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 git 

RUN apk add --no-cache  gcc libc-dev
RUN wget https://github.com/meonwax/acme/archive/master.zip && unzip -q master && cd acme-master/src && make && make install
RUN rm -r acme-master master.zip



# Download X16 emulator + roms and compile it 

WORKDIR /
RUN git clone --depth 1 https://github.com/commanderx16/x16-emulator.git
WORKDIR /x16-emulator/
RUN apk add --no-cache sdl2-dev bash && make 


WORKDIR /
RUN git clone --depth 1 https://github.com/commanderx16/x16-rom
RUN cd /x16-rom/ && make && mv rom.bin /x16-emulator/

# Deps needed for releasing: numpy compilation is LONG 
RUN apk add --no-cache  python3 python3-dev zlib-dev jpeg-dev && pip3 install numpy==1.17.2
RUN pip3 install Pillow==6.1.0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant