summaryrefslogtreecommitdiff
path: root/docker/Dockerfile
blob: 9c51842fceabf21d58ff4083cfcd505c4631e988 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
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