|
10 | 10 | # Docker> # hackage-server run --static-dir=datafiles
|
11 | 11 | #
|
12 | 12 |
|
13 |
| -# Set up the system environment. |
14 | 13 | FROM ubuntu
|
| 14 | + |
15 | 15 | RUN apt-get update
|
16 | 16 | RUN apt-get install -y software-properties-common
|
17 | 17 | RUN apt-add-repository ppa:hvr/ghc
|
18 | 18 | RUN apt-get update
|
| 19 | +RUN DEBIAN_FRONTEND=noninteractive apt-get install -y unzip libicu-dev postfix |
19 | 20 | RUN DEBIAN_FRONTEND=noninteractive apt-get install -y ghc-8.2.2 cabal-install-2.4
|
20 | 21 | ENV PATH /opt/ghc/bin:$PATH
|
21 | 22 | RUN cabal v2-update
|
22 |
| - |
23 |
| -# Install current HEAD version of cabal-install. |
24 |
| -RUN DEBIAN_FRONTEND=noninteractive apt-get install -y curl zlib1g-dev |
25 |
| -WORKDIR /tmp |
26 |
| -RUN curl --silent -L https://github.com/haskell/cabal/tarball/dc138034d469973fee43af86764567e4202ca84b | tar xz |
27 |
| -WORKDIR /tmp/haskell-cabal-dc13803 |
28 |
| -RUN cabal v2-install -j cabal-install |
29 |
| -ENV PATH /root/.cabal/bin:$PATH |
30 |
| - |
31 |
| -# Build hackage-server. |
32 |
| -RUN DEBIAN_FRONTEND=noninteractive apt-get install -y zlib1g-dev libssl-dev unzip libicu-dev postfix |
| 23 | +RUN apt-get install -y zlib1g-dev libssl-dev |
33 | 24 | RUN mkdir /build
|
34 | 25 | WORKDIR /build
|
35 | 26 | ADD hackage-server.cabal cabal.project ./
|
36 |
| -RUN cabal v2-build --only-dependencies --enable-tests |
37 |
| -RUN cabal v2-install --help |
38 |
| -RUN cabal v2-install --installdir=/root/.cabal/bin hackage-repo-tool |
| 27 | +RUN cabal v2-build --only-dependencies --enable-tests -j |
| 28 | +RUN cabal v2-install hackage-repo-tool |
| 29 | +ENV PATH /root/.cabal/bin:$PATH |
39 | 30 | ADD . ./
|
40 | 31 | RUN hackage-repo-tool create-keys --keys keys
|
41 | 32 | RUN cp keys/timestamp/*.private datafiles/TUF/timestamp.private
|
42 | 33 | RUN cp keys/snapshot/*.private datafiles/TUF/snapshot.private
|
43 | 34 | RUN hackage-repo-tool create-root --keys keys -o datafiles/TUF/root.json
|
44 | 35 | RUN hackage-repo-tool create-mirrors --keys keys -o datafiles/TUF/mirrors.json
|
| 36 | +RUN cabal v2-build |
45 | 37 | # tests currently don't pass: the hackage-security work introduced some
|
46 | 38 | # backup/restore errors (though they look harmless)
|
47 | 39 | # see https://github.com/haskell/hackage-server/issues/425
|
48 | 40 | #RUN cabal v2-test
|
49 |
| -RUN cabal v2-install --installdir=/root/.cabal/bin all |
| 41 | +RUN cabal v2-install -j . |
50 | 42 |
|
51 | 43 | # setup server runtime environment
|
52 | 44 | RUN mkdir /runtime
|
|
0 commit comments