1
1
ARG IDRIS_VERSION=latest
2
- # LSP_VERSION is in the form "idris2-0.5.1", or "latest"
3
- ARG IDRIS_LSP_VERSION=latest
4
2
5
3
FROM ghcr.io/joshuanianji/idris-2-docker/base:${IDRIS_VERSION} as base
6
4
7
5
FROM debian:bullseye as builder
8
- # args are not shared between build stages
9
- # https://github.com/moby/moby/issues/37345
10
- ARG IDRIS_LSP_VERSION
6
+ # IDRIS_LSP_VERSION is in the form "idris2-0.5.1", "idris2-0.6.0", or "latest"
7
+ ARG IDRIS_LSP_VERSION=latest
11
8
ARG IDRIS_LSP_SHA
12
9
13
10
RUN apt-get update && \
@@ -26,23 +23,29 @@ RUN if [ $IDRIS_LSP_VERSION = "latest" ] ; \
26
23
fi
27
24
28
25
WORKDIR /build/idris2-lsp
29
- RUN git submodule update --init --recursive
26
+ RUN git submodule update --init Idris2
30
27
WORKDIR /build/idris2-lsp/Idris2
31
- RUN make bootstrap SCHEME=scheme PREFIX=/usr/local/lib/idris2 && make install PREFIX=/usr/local/lib/idris2
28
+ RUN make bootstrap SCHEME=scheme PREFIX=/usr/local/lib/idris2
29
+ RUN make install PREFIX=/usr/local/lib/idris2
32
30
33
31
# ensure idris2 is in path
34
32
ENV PATH="/usr/local/lib/idris2/bin:${PATH}"
35
33
ENV LD_LIBRARY_PATH="/usr/local/lib/idris2/lib:${LD_LIBRARY_PATH}"
36
34
37
- # Manual install of idris2-lsp
38
- # https://github.com/idris-community/idris2-lsp#manual-installation
35
+ RUN make clean PREFIX=/usr/local/lib/idris2
36
+ RUN make all PREFIX=/usr/local/lib/idris2
37
+ RUN make install PREFIX=/usr/local/lib/idris2
39
38
RUN make install-with-src-libs PREFIX=/usr/local/lib/idris2
40
39
RUN make install-with-src-api PREFIX=/usr/local/lib/idris2
40
+
41
+ # Manually install LSP library and idris2-lsp
41
42
WORKDIR /build/idris2-lsp
42
- # we need an IDRIS2_PREFIX env var instead of PREFIX
43
- # https://github.com/idris-community/idris2-lsp/pull/56
44
- # WAIT, DO WE? It seems that they can rely on `idris2 --prefix`
45
- RUN make install
43
+ RUN git submodule update --init LSP-lib
44
+ WORKDIR /build/idris2-lsp/LSP-lib
45
+ ENV IDRIS2_PREFIX="/usr/local/lib/idris2"
46
+ RUN idris2 --install-with-src
47
+ WORKDIR /build/idris2-lsp
48
+ RUN make install PREFIX=/usr/local/lib/idris2
46
49
47
50
FROM mcr.microsoft.com/vscode/devcontainers/base:bullseye
48
51
@@ -55,4 +58,3 @@ COPY --from=base /root/scheme-lib/ /usr/lib/
55
58
# set new Idris2
56
59
ENV PATH="/usr/local/lib/idris2/bin:${PATH}"
57
60
ENV LD_LIBRARY_PATH="/usr/local/lib/idris2/lib:${LD_LIBRARY_PATH}"
58
-
0 commit comments