mirror of
https://github.com/feather-wallet/feather.git
synced 2024-12-23 12:09:50 +00:00
Dockerfile: multistage build for Tor
This commit is contained in:
parent
9ead5c29cd
commit
d0b54f13c6
2 changed files with 75 additions and 52 deletions
121
Dockerfile
121
Dockerfile
|
@ -1,4 +1,71 @@
|
||||||
FROM ubuntu:18.04
|
FROM ubuntu:18.04 AS tor
|
||||||
|
|
||||||
|
ENV CFLAGS="-fPIC"
|
||||||
|
ENV CPPFLAGS="-fPIC"
|
||||||
|
ENV CXXFLAGS="-fPIC"
|
||||||
|
ENV SOURCE_DATE_EPOCH=1397818193
|
||||||
|
ENV DEBIAN_FRONTEND=noninteractive
|
||||||
|
|
||||||
|
RUN apt-get update && \
|
||||||
|
apt-get install -y build-essential wget git automake pkg-config python python3 && \
|
||||||
|
rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
RUN wget https://www.openssl.org/source/openssl-1.1.1i.tar.gz && \
|
||||||
|
echo "e8be6a35fe41d10603c3cc635e93289ed00bf34b79671a3a4de64fcee00d5242 openssl-1.1.1i.tar.gz" | sha256sum -c && \
|
||||||
|
tar -xzf openssl-1.1.1i.tar.gz && \
|
||||||
|
rm openssl-1.1.1i.tar.gz && \
|
||||||
|
cd openssl-1.1.1i && \
|
||||||
|
./config no-shared no-dso --prefix=/usr/local/openssl && \
|
||||||
|
make -j$THREADS && \
|
||||||
|
make test && \
|
||||||
|
make -j$THREADS install_sw && \
|
||||||
|
rm -rf $(pwd)
|
||||||
|
|
||||||
|
RUN wget https://github.com/libevent/libevent/releases/download/release-2.1.12-stable/libevent-2.1.12-stable.tar.gz && \
|
||||||
|
echo "92e6de1be9ec176428fd2367677e61ceffc2ee1cb119035037a27d346b0403bb libevent-2.1.12-stable.tar.gz" | sha256sum -c && \
|
||||||
|
tar -zxvf libevent-2.1.12-stable.tar.gz && \
|
||||||
|
cd libevent-2.1.12-stable && \
|
||||||
|
PKG_CONFIG_PATH=/usr/local/openssl/lib/pkgconfig/ \
|
||||||
|
./configure --prefix=/usr/local/libevent \
|
||||||
|
--disable-shared \
|
||||||
|
--enable-static \
|
||||||
|
--with-pic && \
|
||||||
|
make -j$THREADS && \
|
||||||
|
make -j$THREADS install && \
|
||||||
|
rm -rf $(pwd)
|
||||||
|
|
||||||
|
RUN git clone -b v1.2.11 --depth 1 https://github.com/madler/zlib && \
|
||||||
|
cd zlib && \
|
||||||
|
git reset --hard cacf7f1d4e3d44d871b605da3b647f07d718623f && \
|
||||||
|
./configure --static --prefix=/usr/local/zlib && \
|
||||||
|
make -j$THREADS && \
|
||||||
|
make -j$THREADS install && \
|
||||||
|
rm -rf $(pwd)
|
||||||
|
|
||||||
|
RUN git clone -b tor-0.4.5.4-rc --depth 1 https://git.torproject.org/tor.git && \
|
||||||
|
cd tor && \
|
||||||
|
git reset --hard 9e26a9399fe2422475406d6ee3cb29b2924f3274 && \
|
||||||
|
./autogen.sh && \
|
||||||
|
./configure \
|
||||||
|
--disable-asciidoc \
|
||||||
|
--disable-manpage \
|
||||||
|
--disable-html-manual \
|
||||||
|
--disable-system-torrc \
|
||||||
|
--disable-module-relay \
|
||||||
|
--disable-lzma \
|
||||||
|
--disable-zstd \
|
||||||
|
--enable-static-tor \
|
||||||
|
--with-libevent-dir=/usr/local/libevent \
|
||||||
|
--with-openssl-dir=/usr/local/openssl-1.0.2u \
|
||||||
|
--with-zlib-dir=/usr/local/zlib \
|
||||||
|
--disable-tool-name-check \
|
||||||
|
--enable-fatal-warnings \
|
||||||
|
--prefix=/usr/local/tor && \
|
||||||
|
make -j$THREADS && \
|
||||||
|
make -j$THREADS install && \
|
||||||
|
rm -rf $(pwd)
|
||||||
|
|
||||||
|
FROM ubuntu:16.04
|
||||||
|
|
||||||
ARG THREADS=1
|
ARG THREADS=1
|
||||||
ARG QT_VERSION=5.15.2
|
ARG QT_VERSION=5.15.2
|
||||||
|
@ -8,6 +75,8 @@ ENV CPPFLAGS="-fPIC"
|
||||||
ENV CXXFLAGS="-fPIC"
|
ENV CXXFLAGS="-fPIC"
|
||||||
ENV SOURCE_DATE_EPOCH=1397818193
|
ENV SOURCE_DATE_EPOCH=1397818193
|
||||||
|
|
||||||
|
COPY --from=tor /usr/local/tor/bin/tor /usr/local/tor/bin/tor
|
||||||
|
|
||||||
RUN apt-get update && \
|
RUN apt-get update && \
|
||||||
apt-get install -y \
|
apt-get install -y \
|
||||||
# dev tools
|
# dev tools
|
||||||
|
@ -22,7 +91,7 @@ RUN apt-get update && \
|
||||||
# libusb
|
# libusb
|
||||||
libudev-dev \
|
libudev-dev \
|
||||||
# fontconfig
|
# fontconfig
|
||||||
autopoint gettext gperf libpng-dev \
|
autopoint gettext gperf libpng12-dev \
|
||||||
# libxcb
|
# libxcb
|
||||||
libpthread-stubs0-dev \
|
libpthread-stubs0-dev \
|
||||||
# xorgproto
|
# xorgproto
|
||||||
|
@ -319,54 +388,6 @@ RUN git clone -b v4.0.2 --depth 1 https://github.com/fukuchi/libqrencode.git &&
|
||||||
make -j$THREADS install && \
|
make -j$THREADS install && \
|
||||||
rm -rf $(pwd)
|
rm -rf $(pwd)
|
||||||
|
|
||||||
RUN wget https://github.com/libevent/libevent/releases/download/release-2.1.12-stable/libevent-2.1.12-stable.tar.gz && \
|
|
||||||
echo "92e6de1be9ec176428fd2367677e61ceffc2ee1cb119035037a27d346b0403bb libevent-2.1.12-stable.tar.gz" | sha256sum -c && \
|
|
||||||
tar -zxvf libevent-2.1.12-stable.tar.gz && \
|
|
||||||
cd libevent-2.1.12-stable && \
|
|
||||||
PKG_CONFIG_PATH=/usr/local/openssl/lib/pkgconfig/ \
|
|
||||||
./configure --prefix=/usr/local/libevent \
|
|
||||||
--disable-shared \
|
|
||||||
--enable-static \
|
|
||||||
--with-pic && \
|
|
||||||
make -j$THREADS && \
|
|
||||||
make -j$THREADS install && \
|
|
||||||
rm -rf $(pwd)
|
|
||||||
|
|
||||||
# Todo: Tor will not static link with 1.1.1i
|
|
||||||
RUN wget https://www.openssl.org/source/openssl-1.0.2u.tar.gz && \
|
|
||||||
echo "ecd0c6ffb493dd06707d38b14bb4d8c2288bb7033735606569d8f90f89669d16 openssl-1.0.2u.tar.gz" | sha256sum -c && \
|
|
||||||
tar -xzf openssl-1.0.2u.tar.gz && \
|
|
||||||
rm openssl-1.0.2u.tar.gz && \
|
|
||||||
cd openssl-1.0.2u && \
|
|
||||||
./config no-shared no-dso --prefix=/usr/local/openssl-1.0.2u && \
|
|
||||||
make -j$THREADS && \
|
|
||||||
make test && \
|
|
||||||
make -j$THREADS install_sw && \
|
|
||||||
rm -rf $(pwd)
|
|
||||||
|
|
||||||
RUN git clone -b tor-0.4.5.4-rc --depth 1 https://git.torproject.org/tor.git && \
|
|
||||||
cd tor && \
|
|
||||||
git reset --hard 9e26a9399fe2422475406d6ee3cb29b2924f3274 && \
|
|
||||||
./autogen.sh && \
|
|
||||||
./configure \
|
|
||||||
--disable-asciidoc \
|
|
||||||
--disable-manpage \
|
|
||||||
--disable-html-manual \
|
|
||||||
--disable-system-torrc \
|
|
||||||
--disable-module-relay \
|
|
||||||
--disable-lzma \
|
|
||||||
--disable-zstd \
|
|
||||||
--enable-static-tor \
|
|
||||||
--with-libevent-dir=/usr/local/libevent \
|
|
||||||
--with-openssl-dir=/usr/local/openssl-1.0.2u \
|
|
||||||
--with-zlib-dir=/usr/local/zlib \
|
|
||||||
--disable-tool-name-check \
|
|
||||||
--enable-fatal-warnings \
|
|
||||||
--prefix=/usr/local/tor && \
|
|
||||||
make -j$THREADS && \
|
|
||||||
make -j$THREADS install && \
|
|
||||||
rm -rf $(pwd)
|
|
||||||
|
|
||||||
RUN git clone https://git.wownero.com/feather/monero-seed.git && \
|
RUN git clone https://git.wownero.com/feather/monero-seed.git && \
|
||||||
cd monero-seed && \
|
cd monero-seed && \
|
||||||
git reset --hard 4674ef09b6faa6fe602ab5ae0b9ca8e1fd7d5e1b && \
|
git reset --hard 4674ef09b6faa6fe602ab5ae0b9ca8e1fd7d5e1b && \
|
||||||
|
|
|
@ -31,8 +31,10 @@ struct TxProof {
|
||||||
};
|
};
|
||||||
|
|
||||||
struct SubaddressIndex {
|
struct SubaddressIndex {
|
||||||
SubaddressIndex(int major, int minor)
|
SubaddressIndex(int major, int minor) {
|
||||||
: major(major), minor(minor) {}
|
this->major = major;
|
||||||
|
this->minor = minor;
|
||||||
|
}
|
||||||
|
|
||||||
bool isValid() const {
|
bool isValid() const {
|
||||||
return major >= 0 && minor >= 0;
|
return major >= 0 && minor >= 0;
|
||||||
|
|
Loading…
Reference in a new issue