File: Dockerfile

package info (click to toggle)
ssreflect 2.5.0-2
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 7,120 kB
  • sloc: ml: 506; sh: 300; makefile: 42
file content (44 lines) | stat: -rw-r--r-- 1,826 bytes parent folder | download
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
ARG coq_image="rocq/rocq-prover:dev-ocaml-4.14"
# hadolint ignore=DL3006
FROM ${coq_image} as builder

ENV MATHCOMP_VERSION="dev"
ENV MATHCOMP_PACKAGE="coq-mathcomp-character"

WORKDIR /home/mathcomp

COPY . .

SHELL ["/bin/bash", "--login", "-o", "pipefail", "-c"]

# hadolint ignore=SC2046,DL3004
RUN set -x \
  && opam switch \
  && eval $(opam env) \
  && opam repository add --all-switches --set-default coq-extra-dev https://coq.inria.fr/opam/extra-dev \
  && opam repository add --all-switches --set-default coq-core-dev https://coq.inria.fr/opam/core-dev \
  && opam update -y \
  && opam config list && opam repo list && opam list \
  && if [ -d /home/coq ]; then sudo chown -R coq:coq /home/mathcomp; else sudo chown -R rocq:rocq /home/mathcomp; fi \
  && ( which coqc || opam install -y -v coq ) \
  && coqc --version \
  && opam pin add -n -y -k path rocq-mathcomp-boot . \
  && opam pin add -n -y -k path rocq-mathcomp-order . \
  && opam pin add -n -y -k path rocq-mathcomp-fingroup . \
  && opam pin add -n -y -k path rocq-mathcomp-algebra . \
  && opam pin add -n -y -k path rocq-mathcomp-solvable . \
  && opam pin add -n -y -k path rocq-mathcomp-field . \
  && opam pin add -n -y -k path rocq-mathcomp-character . \
  && opam pin add -n -k path coq-mathcomp-ssreflect . \
  && opam pin add -n -k path coq-mathcomp-fingroup . \
  && opam pin add -n -k path coq-mathcomp-algebra . \
  && opam pin add -n -k path coq-mathcomp-solvable . \
  && opam pin add -n -k path coq-mathcomp-field . \
  && opam pin add -n -k path coq-mathcomp-character . \
  && opam install -y -v -j "${NJOBS}" "${MATHCOMP_PACKAGE}" \
  && opam clean -a -c -s --logs \
  && opam config list && opam list

# Restore default shell to fully preserve backward compatibility
SHELL ["/bin/sh", "-c"]
# Still, we may remove this line later on.