summaryrefslogtreecommitdiff
path: root/docker
diff options
context:
space:
mode:
authorDavid Thompson <dthompson@vistahigherlearning.com>2022-10-28 08:00:48 -0400
committerDavid Thompson <dthompson@vistahigherlearning.com>2022-10-28 08:00:48 -0400
commitd2ca3fe8b59c93baf9f5c29b14710e5d1eed2e7a (patch)
tree73a09c1f91a1969c31df6ee1196fcfe03d8a1d8a /docker
First commit!
Diffstat (limited to 'docker')
-rw-r--r--docker/Dockerfile104
-rw-r--r--docker/readline.pc10
2 files changed, 114 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
diff --git a/docker/readline.pc b/docker/readline.pc
new file mode 100644
index 0000000..261dcc7
--- /dev/null
+++ b/docker/readline.pc
@@ -0,0 +1,10 @@
+prefix=/usr
+libdir=${prefix}/lib/x86_64-linux-gnu
+includedir=${prefix}/include/libreadline
+Name: Readline
+Description: GNU Readline library for command line editing
+URL: http://tiswww.cwru.edu/php/chet/readline/rltop.html
+Version: 7.0
+Requires.private: tinfo
+Libs: -L{$libdir} -lreadline
+Cflags: -I${includedir}