summaryrefslogtreecommitdiff
path: root/docker/Dockerfile
diff options
context:
space:
mode:
Diffstat (limited to 'docker/Dockerfile')
-rw-r--r--docker/Dockerfile104
1 files changed, 104 insertions, 0 deletions
diff --git a/docker/Dockerfile b/docker/Dockerfile
new file mode 100644
index 0000000..9c51842
--- /dev/null
+++ b/docker/Dockerfile
@@ -0,0 +1,104 @@
+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
+
+# Lisp Game Jam 2022
+WORKDIR /tmp
+RUN git clone https://git.dthompson.us/lisp-game-jam-2022.git
+WORKDIR /tmp/lisp-game-jam-2022
+RUN ./bootstrap
+RUN ./configure
+RUN make -j${nproc}
+RUN chickadee bundle