@@ -3,57 +3,59 @@
33set -e
44set -o pipefail
55
6−export DEBIAN_FRONTEND=noninteractive
7−
8−apt-get update
9−apt-get install -y software-properties-common
10−add-apt-repository ppa:avsm/ppa
11−add-apt-repository ppa:kelleyk/emacs
6+cd /tmp
127
138packages="
149
15−bsdmainutils
16−build-essential
17−emacs26
18−expect
19−golang
20−libffi-dev
10+# languages
11+emacs-nox
2112liblua5.1-dev
22−libnspr4-dev
23−libreadline-dev
24−m4
2513nodejs
2614ocaml
27−opam
2815python-dev
2916python3-dev
30−ruby2.5-dev
17+ruby-dev
3118sqlite3
3219tcl-dev
20+
21+# build and test
22+bsdmainutils
23+build-essential
24+expect
25+golang
26+
27+# things we link against
28+libreadline-dev
29+
30+# needed for the version of libmozjs that we download
31+libffi-dev
32+libnspr4-dev
33+
34+# used during installation
3335wget
3436
3537"
3638
37−apt-get install -y $packages
39+export DEBIAN_FRONTEND=noninteractive
40+apt-get update
41+apt-get install -y $(grep -v "^#" <<< "$packages")
3842rm -rf /var/lib/apt/lists/*
3943
44+# The version in the Disco repos is out of date (1.0 series) and does
45+# not expose the API we need.
46+wget -nv https://julialang-s3.julialang.org/bin/linux/x64/1.1/julia-1.1.1-linux-x86_64.tar.gz
47+tar -xf *.tar.gz
48+cp -R julia-*/bin/* /usr/local/bin/
49+cp -R julia-*/include/* /usr/local/include/
50+cp -R julia-*/lib/* /usr/local/lib/
51+cp -R julia-*/share/* /usr/local/share/
52+rm -rf julia-*
53+
54+# The version in the Disco repos is not compatible with cgo ("invalid
55+# flag in pkg-config --cflags: -include").
4056wget -nv https://launchpadlibrarian.net/309343863/libmozjs185-1.0_1.8.5-1.0.0+dfsg-7_amd64.deb
4157wget -nv https://launchpadlibrarian.net/309343864/libmozjs185-dev_1.8.5-1.0.0+dfsg-7_amd64.deb
42−dpkg -i libmozjs185*.deb
43−rm libmozjs185*.deb
44−
45−wget https://julialang-s3.julialang.org/bin/linux/x64/1.1/julia-1.1.0-linux-x86_64.tar.gz
46−tar -xf julia-1.1.0-linux-x86_64.tar.gz
47−cp -R julia-1.1.0/bin/* /usr/bin/
48−cp -R julia-1.1.0/include/* /usr/include/
49−cp -R julia-1.1.0/lib/* /usr/lib/
50−cp -R julia-1.1.0/share/* /usr/share/
51−rm -rf julia-1.1.0*
52−
53−opam init -c ocaml-system -n --disable-sandboxing
54−cat <<"EOF" >> "$HOME/.bashrc"
55−export OPAMROOTISOK=1
56−eval "$(opam env)"
57−EOF
58+dpkg -i *.deb
59+rm *.deb
5860
5961rm /tmp/docker-install.sh