Dockerfile 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. FROM debian:latest
  2. RUN apt-get update && \
  3. apt-get upgrade -y && \
  4. apt-get install -y \
  5. build-essential \
  6. libboost-all-dev \
  7. libdb5.3-dev \
  8. libdb5.3++-dev \
  9. libminiupnpc-dev \
  10. libqrencode-dev \
  11. libssl-dev \
  12. libssl3 \
  13. miniupnpc \
  14. qtbase5-dev \
  15. qttools5-dev-tools \
  16. zlib1g-dev \
  17. qt5-qmake \
  18. qtbase5-dev \
  19. gcc-aarch64-linux-gnu \
  20. g++-aarch64-linux-gnu \
  21. g++-arm-linux-gnueabihf && \
  22. rm -rf /var/lib/apt/lists/*
  23. COPY ./ecoin /ecoin
  24. WORKDIR /ecoin
  25. # Build el bootstrap ese.
  26. # Este mierda de RUN, no se por que coño peta la 1º vez.
  27. # Pero a mi me va siempre la 2º...
  28. RUN cd /ecoin/src/boost_1_68_0 && \
  29. ./bootstrap.sh \
  30. # amr64
  31. ./b2 toolset=gcc-arm cxxflags="-march=armv8-a" install --prefix=/usr/local
  32. # amr32
  33. # ./b2 toolset=gcc-arm cxxflags="-march=armv7-a" install --prefix=/usr/local
  34. # Build leveldb
  35. RUN cd /ecoin/src \
  36. rm -rf leveldb \
  37. git clone --depth=1 https://github.com/google/leveldb.git \
  38. cd leveldb \
  39. mkdir -p build \
  40. cd build \
  41. cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD=17 .. \
  42. make -j$(nproc)
  43. # Build qt5 make make
  44. RUN cd /ecoin && \
  45. # amr64
  46. /usr/lib/aarch64-linux-gnu/qt5/bin/qmake \
  47. # amr64
  48. # /usr/lib/arm-linux-gnueabihf/qt5/bin/qmake \
  49. USE_UPNP=- USE_IPV6=- USE_QRCODE=1 \
  50. -o Makefile ecoin-qt.pro
  51. # RUN cd /ecoin/src/leveldb && \
  52. # TARGET_OS=Linux make libleveldb.a libmemenv.a
  53. # Build daemon based wallet
  54. RUN cd /ecoin/src && \
  55. make \
  56. USE_UPNP=- USE_IPV6=- USE_QRCODE=1 \
  57. -f makefile.linux && \
  58. strip ecoind
  59. RUN cp -r /ecoin/src/ecoind /usr/local/bin/ecoind
  60. RUN export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH && ldconfig