1
1
mirror of https://github.com/kanaka/mal.git synced 2024-08-17 09:40:21 +03:00
mal/impls/common-lisp/Dockerfile
Joel Martin 412e50e306 common-lisp: update ubuntu 24.04. Fix key hashing bug.
Newer versions of sbcl now have the same sxhash issue on compound types
as the other common lisp implementations. So always dereference the
underlying base type when generating a hash. This fixes the bug in newer
sbcl that was resulting in `get` and `contains?` not working for
hash-maps.
2024-08-15 14:02:32 -05:00

49 lines
1.3 KiB
Docker

FROM ubuntu:24.04
MAINTAINER Joel Martin <github@martintribe.org>
##########################################################
# General requirements for testing or common across many
# implementations
##########################################################
RUN apt-get -y update
# Required for running tests
RUN apt-get -y install make python3
RUN ln -fs /usr/bin/python3 /usr/local/bin/python
RUN mkdir -p /mal
WORKDIR /mal
##########################################################
# Specific implementation requirements
##########################################################
RUN apt-get -y install curl git libreadline-dev libedit-dev
# Install sbcl
RUN apt-get -y install sbcl
# Install cl-asdf (CLISP does not seem to come with it)
RUN apt-get -y install cl-launch cl-asdf cl-ppcre
RUN cd /tmp && \
git clone https://gitlab.common-lisp.net/xcvb/cl-launch.git && \
cd cl-launch && \
make install
# Install wget needed to install quicklisp
RUN apt-get -y install wget
# Install quicklisp
RUN HOME=/ && \
cd /tmp && \
wget https://beta.quicklisp.org/quicklisp.lisp && \
sbcl --load quicklisp.lisp --quit --eval '(quicklisp-quickstart:install)' --eval '(ql-util:without-prompting (ql:add-to-init-file))'
RUN chmod -R a+rwx /quicklisp
RUN chmod a+rwx /.sbclrc
RUN mkdir -p /.cache
RUN chmod -R a+rwx /.cache