Skip to content

Commit a56ee70

Browse files
author
Adam Simpson
committed
ci: build SBCL from source.
Travis and Netlify both use Ubuntu 16 as their build distro. The version of SBCL available in Ubuntu 16 is `1.3.1` which contains `asdf` version `3.1.5`. `launch-program` was added in `asdf` version `3.1.7.26`. The absence of `launch-program` means `3bmd-ext-code-blocks` will fail to build. To address that I decided to build SBCL from source in Travis to get a more up to date version of `asdf` (which is bundled with `sbcl`). This turned out to be a lovely yak shaving exercise.
1 parent 367680b commit a56ee70

File tree

2 files changed

+22
-8
lines changed

2 files changed

+22
-8
lines changed

.travis.yml

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,13 @@
11
language: lisp
22
sudo: required
33

4-
dist: focal
4+
dist: xenial
55
os:
66
- linux
77
- osx
88

99
install:
10-
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo apt-get update -qq; fi
11-
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update; fi
12-
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo apt-get install zlib1g-dev sbcl; fi
13-
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install sbcl; fi
14-
- curl -O "https://beta.quicklisp.org/quicklisp.lisp"
15-
- sbcl --non-interactive --load quicklisp.lisp --eval "(quicklisp-quickstart:install :path \"~/quicklisp\")"
16-
- sbcl --non-interactive --load ~/quicklisp/setup.lisp --eval "(ql::without-prompting (ql:add-to-init-file))"
10+
- ./ci/install.sh
1711

1812
script:
1913
- make cycle

ci/install.sh

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
#!/bin/sh
2+
3+
if [ "$TRAVIS_OS_NAME" = "linux" ]; then
4+
sudo apt update -qy;
5+
sudo apt install -qy curl zlib1g-dev sbcl build-essential git;
6+
git clone --depth 1 -b sbcl-2.0.7 git://git.code.sf.net/p/sbcl/sbcl /tmp/sbcl;
7+
cd /tmp/sbcl || exit;
8+
sh make.sh --with-sb-core-compression;
9+
sudo sh install.sh;
10+
sudo apt remove sbcl;
11+
fi
12+
13+
if [ "$TRAVIS_OS_NAME" = "osx" ]; then
14+
brew update;
15+
brew install sbcl;
16+
fi
17+
18+
curl -O "https://beta.quicklisp.org/quicklisp.lisp";
19+
/usr/local/bin/sbcl --non-interactive --load quicklisp.lisp --eval "(quicklisp-quickstart:install :path \"~/quicklisp\")";
20+
/usr/local/bin/sbcl --non-interactive --load ~/quicklisp/setup.lisp --eval "(ql::without-prompting (ql:add-to-init-file))";

0 commit comments

Comments
 (0)