|
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