From 77986521b92f56c55bd6f0a7caf19f2ff808c9b5 Mon Sep 17 00:00:00 2001 From: David Thompson Date: Tue, 6 Dec 2022 07:45:37 -0500 Subject: Add Dockerfile. --- Dockerfile | 105 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 105 insertions(+) create mode 100644 Dockerfile (limited to 'Dockerfile') diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..d0c5bb9 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,105 @@ +FROM ubuntu:18.04 +RUN apt-get update -y +RUN apt-get install -y software-properties-common +#RUN add-apt-repository -y ppa:savoury1/display +# The multimedia PPA has issues if we don't also include this. +RUN add-apt-repository -y ppa:savoury1/ffmpeg4 +# Ubuntu 18.04's libsdl2 package is too old, this PPA has a newer one. +RUN add-apt-repository -y ppa:savoury1/multimedia +RUN apt-get update -y +RUN apt-get upgrade -y +RUN apt-get dist-upgrade -y + +# Guile +RUN apt-get install -y automake +RUN apt-get install -y autoconf +RUN apt-get install -y build-essential +RUN apt-get install -y flex +RUN apt-get install -y git +RUN apt-get install -y gperf +RUN apt-get install -y libffi-dev +RUN apt-get install -y libgc-dev +RUN apt-get install -y libgmp-dev +RUN apt-get install -y libreadline-dev +RUN apt-get install -y libunistring-dev +RUN apt-get install -y pkg-config +RUN apt-get install -y texinfo +RUN apt-get install -y wget +WORKDIR /tmp +RUN wget -q https://ftp.gnu.org/gnu/guile/guile-3.0.8.tar.gz +RUN tar xf guile-3.0.8.tar.gz +WORKDIR /tmp/guile-3.0.8 +RUN ./configure --prefix=/usr +# My machine locks up if I do -j${nproc} :( +RUN make -j2 +RUN make install + +# Guile-OpenGL +RUN apt-get install -y gettext +WORKDIR /tmp +RUN wget -q https://ftp.gnu.org/gnu/guile-opengl/guile-opengl-0.1.0.tar.gz +RUN tar xf guile-opengl-0.1.0.tar.gz +WORKDIR /tmp/guile-opengl-0.1.0 +RUN sed -i 's/GUILE_PKG(.*)//' configure.ac +RUN sed -i 's/$(GUILE_EFFECTIVE_VERSION)/3.0/' Makefile.am +RUN sed -i 's/ccache/site-ccache/' Makefile.am +RUN autoreconf -vfi +RUN ./configure --prefix=/usr +RUN make -j${nproc} +RUN make install + +# Guile-SDL2 +RUN apt-get install -y libsdl2-dev +WORKDIR /tmp +RUN wget -q https://files.dthompson.us/guile-sdl2/guile-sdl2-0.8.0.tar.gz +RUN tar xf guile-sdl2-0.8.0.tar.gz +WORKDIR /tmp/guile-sdl2-0.8.0 +RUN ./configure --prefix=/usr +RUN make -j${nproc} +RUN make install + +# 18.04's libturbojpeg is too old, so build it from source... +RUN apt-get install -y cmake +WORKDIR /tmp +RUN wget -q https://github.com/libjpeg-turbo/libjpeg-turbo/archive/refs/tags/2.1.4.tar.gz +RUN tar xf 2.1.4.tar.gz +WORKDIR /tmp/libjpeg-turbo-2.1.4 +RUN cmake -D CMAKE_INSTALL_PREFIX=/usr . +RUN make -j${nproc} +RUN make install + +# Chickadee +RUN apt-get install -y libfreetype6-dev +RUN apt-get install -y libmpg123-dev +RUN apt-get install -y libopenal-dev +RUN apt-get install -y libpng-dev +RUN apt-get install -y libvorbis-dev +COPY readline.pc /usr/lib/x86_64-linux-gnu/pkgconfig/ +WORKDIR /tmp +RUN git clone https://git.dthompson.us/chickadee.git +WORKDIR /tmp/chickadee +RUN git fetch origin +RUN git reset --hard origin/fix-bundle +RUN ./bootstrap +RUN ./configure --prefix=/usr +RUN make -j${nproc} +RUN make install + +# Catbird +WORKDIR /tmp +RUN git clone https://git.dthompson.us/catbird.git +WORKDIR /tmp/catbird +RUN ./bootstrap +RUN ./configure --prefix=/usr +RUN make -j${nproc} +RUN make install + +# Bonnie Bee +WORKDIR /tmp +RUN git clone https://git.dthompson.us/autumn-lisp-game-jam-2021.git +WORKDIR /tmp/autumn-lisp-game-jam-2021 +RUN git checkout startling-to-catbird +RUN ./bootstrap +RUN ./configure +RUN make -j${nproc} +RUN chickadee bundle -- cgit v1.2.3