|
1 |
| -FROM debian:stable-slim as builder |
2 |
| -ARG CABAL_VERSION=3.6.2.0 |
3 |
| -ARG GHC_VERSION=8.10.7 |
4 |
| - |
5 |
| -WORKDIR /code |
6 |
| - |
7 |
| -# system dependencies |
8 |
| -ENV DEBIAN_FRONTEND=noninteractive |
9 |
| -RUN apt-get update -y && \ |
10 |
| - apt-get install -y \ |
11 |
| - automake \ |
12 |
| - build-essential \ |
13 |
| - pkg-config \ |
14 |
| - libffi-dev \ |
15 |
| - libgmp-dev \ |
16 |
| - liblmdb-dev \ |
17 |
| - libnuma-dev \ |
18 |
| - libssl-dev \ |
19 |
| - libsystemd-dev \ |
20 |
| - libtinfo-dev \ |
21 |
| - llvm-dev \ |
22 |
| - zlib1g-dev \ |
23 |
| - make \ |
24 |
| - g++ \ |
25 |
| - tmux \ |
26 |
| - git \ |
27 |
| - jq \ |
28 |
| - wget \ |
29 |
| - libncursesw5 \ |
30 |
| - libtool \ |
31 |
| - autoconf |
32 |
| - |
33 |
| -# cabal |
34 |
| -ENV CABAL_VERSION=${CABAL_VERSION} |
35 |
| -ENV PATH="/root/.cabal/bin:/root/.ghcup/bin:/root/.local/bin:$PATH" |
36 |
| -RUN wget https://downloads.haskell.org/~cabal/cabal-install-${CABAL_VERSION}/cabal-install-${CABAL_VERSION}-$(uname -m)-linux-deb10.tar.xz \ |
37 |
| - && tar -xf cabal-install-${CABAL_VERSION}-$(uname -m)-linux-deb10.tar.xz \ |
38 |
| - && rm cabal-install-${CABAL_VERSION}-$(uname -m)-linux-deb10.tar.xz \ |
39 |
| - && mkdir -p ~/.local/bin \ |
40 |
| - && mv cabal ~/.local/bin/ \ |
41 |
| - && cabal update && cabal --version |
42 |
| - |
43 |
| -# GHC |
44 |
| -ENV GHC_VERSION=${GHC_VERSION} |
45 |
| -RUN wget https://downloads.haskell.org/~ghc/${GHC_VERSION}/ghc-${GHC_VERSION}-$(uname -m)-deb10-linux.tar.xz \ |
46 |
| - && tar -xf ghc-${GHC_VERSION}-$(uname -m)-deb10-linux.tar.xz \ |
47 |
| - && rm ghc-${GHC_VERSION}-$(uname -m)-deb10-linux.tar.xz \ |
48 |
| - && cd ghc-${GHC_VERSION} \ |
49 |
| - && ./configure \ |
50 |
| - && make install |
51 |
| - |
52 |
| -# Libsodium |
53 |
| -RUN git clone https://github.com/input-output-hk/libsodium && \ |
54 |
| - cd libsodium && \ |
55 |
| - git checkout 66f017f1 && \ |
56 |
| - ./autogen.sh && \ |
57 |
| - ./configure && \ |
58 |
| - make && \ |
59 |
| - make install |
60 |
| -ENV LD_LIBRARY_PATH="/usr/local/lib:$LD_LIBRARY_PATH" |
61 |
| -ENV PKG_CONFIG_PATH="/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH" |
62 |
| - |
63 |
| -# secp256k1 |
64 |
| -RUN git clone https://github.com/bitcoin-core/secp256k1 && \ |
65 |
| - cd secp256k1 && \ |
66 |
| - git checkout ac83be33 && \ |
67 |
| - ./autogen.sh && \ |
68 |
| - ./configure --enable-module-schnorrsig --enable-experimental && \ |
69 |
| - make && \ |
70 |
| - make install |
71 |
| - |
72 |
| -FROM builder as cardano-node-build |
| 1 | +FROM ghcr.io/blinklabs-io/haskell:8.10.7-3.6.2.0 as cardano-node-build |
73 | 2 | # Install cardano-node
|
74 | 3 | ARG NODE_VERSION=1.35.7
|
75 | 4 | ENV NODE_VERSION=${NODE_VERSION}
|
|
0 commit comments