diff --git a/Dockerfile.conntest.source b/Dockerfile.conntest.source index 543b5bc..d79e0f6 100644 --- a/Dockerfile.conntest.source +++ b/Dockerfile.conntest.source @@ -72,20 +72,21 @@ FROM base AS build ENV GOEXPERIMENT=arenas ENV QUILIBRIUM_SIGNATURE_CHECK=false -# Install grpcurl before building the node and client +# Install grpcurl before building the node and client # as to avoid needing to redo it on rebuilds RUN go install github.com/fullstorydev/grpcurl/cmd/grpcurl@latest WORKDIR /opt/ceremonyclient -# Copy everything except node and client so as to avoid +# Copy everything except node and client so as to avoid # invalidating the cache at this point on client or node rebuilds COPY --exclude=client \ --exclude=conntest \ --exclude=sidecar . . -RUN python emp-install.py --install --tool --ot +RUN bash install-emp.sh + RUN cd emp-tool && sed -i 's/add_library(${NAME} SHARED ${sources})/add_library(${NAME} STATIC ${sources})/g' CMakeLists.txt && mkdir build && cd build && cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local && cd .. && make && make install && cd .. diff --git a/Dockerfile.source b/Dockerfile.source index 5e80029..aff34b3 100644 --- a/Dockerfile.source +++ b/Dockerfile.source @@ -26,8 +26,6 @@ RUN apt-get update && apt-get install -y \ automake \ libtool \ libssl-dev \ - python3 \ - python-is-python3 \ libflint-dev \ ca-certificates \ && rm -rf /var/lib/apt/lists/* @@ -59,11 +57,11 @@ FROM base AS emp-builder WORKDIR /opt/ceremonyclient # Copy the necessary script and source directories -COPY emp-install.py . +COPY install_emp.sh . COPY emp-tool emp-tool COPY emp-ot emp-ot -RUN python emp-install.py --install --tool --ot +RUN bash install-emp.sh # Fix emp-tool to be static and install RUN cd emp-tool && sed -i 's/add_library(${NAME} SHARED ${sources})/add_library(${NAME} STATIC ${sources})/g' CMakeLists.txt && mkdir build && cd build && cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local && cd .. && make -j$(nproc) && make install diff --git a/Dockerfile.sourceavx512 b/Dockerfile.sourceavx512 index 963cf62..5764d7b 100644 --- a/Dockerfile.sourceavx512 +++ b/Dockerfile.sourceavx512 @@ -74,20 +74,20 @@ FROM base-avx512 AS build-avx512 ENV GOEXPERIMENT=arenas ENV QUILIBRIUM_SIGNATURE_CHECK=false -# Install grpcurl before building the node and client +# Install grpcurl before building the node and client # as to avoid needing to redo it on rebuilds RUN go install github.com/fullstorydev/grpcurl/cmd/grpcurl@latest WORKDIR /opt/ceremonyclient -# Copy everything except node and client so as to avoid +# Copy everything except node and client so as to avoid # invalidating the cache at this point on client or node rebuilds COPY --exclude=node \ --exclude=client \ --exclude=sidecar . . -RUN python emp-install.py --install --tool --ot +RUN bash install-emp.sh ENV CFLAGS="-march=skylake-avx512 -mtune=skylake-avx512" RUN cd emp-tool && sed -i 's/add_library(${NAME} SHARED ${sources})/add_library(${NAME} STATIC ${sources})/g' CMakeLists.txt && mkdir build && cd build && cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local && cd .. && make && make install && cd .. @@ -98,9 +98,9 @@ RUN cd emp-ot && mkdir build && cd build && cmake .. -DCMAKE_INSTALL_PREFIX=/usr WORKDIR /opt/ceremonyclient/channel RUN go mod download - + RUN ./generate.sh - + ## Generate Rust bindings for VDF WORKDIR /opt/ceremonyclient/vdf diff --git a/emp-install.py b/emp-install.py deleted file mode 100644 index 6ff8b67..0000000 --- a/emp-install.py +++ /dev/null @@ -1,52 +0,0 @@ -#!/usr/python - -# This script modified from original source: https://raw.githubusercontent.com/emp-toolkit/emp-readme/master/scripts/install.py -# EMP Toolkit is licensed under the MIT license, see LICENSE file in emp-tool and emp-ot for more info. - -import subprocess -install_packages = ''' -if [ "$(uname)" == "Darwin" ]; then - brew list openssl || brew install openssl - brew list pkg-config || brew install pkg-config - brew list cmake || brew install cmake -else - if command -v apt-get >/dev/null; then - sudo apt-get install -y software-properties-common - sudo apt-get update - sudo apt-get install -y cmake git build-essential libssl-dev - elif command -v yum >/dev/null; then - sudo yum install -y python3 gcc make git cmake gcc-c++ openssl-devel - else - echo "System not supported yet!" - fi -fi -''' - -install_template = ''' -cd X -cmake . -make -j4 -sudo make install -cd .. -''' - -import argparse -parser = argparse.ArgumentParser() -parser.add_argument('-install', '--install', action='store_true') -parser.add_argument('-deps', '--deps', action='store_true') -parser.add_argument('--tool', nargs='?', const='master') -parser.add_argument('--ot', nargs='?', const='master') -parser.add_argument('--sh2pc', nargs='?', const='master') -parser.add_argument('--ag2pc', nargs='?', const='master') -parser.add_argument('--agmpc', nargs='?', const='master') -parser.add_argument('--zk', nargs='?', const='master') -args = parser.parse_args() - -if vars(args)['install'] or vars(args)['deps']: - subprocess.call(["bash", "-c", install_packages]) - -for k in ['tool', 'ot', 'zk', 'sh2pc', 'ag2pc', 'agmpc']: - if vars(args)[k]: - template = install_template.replace("X", "emp-"+k).replace("Y", vars(args)[k]) - print(template) - subprocess.call(["bash", "-c", template]) diff --git a/scripts/install-deps-ubuntu.sh b/scripts/install-deps-ubuntu.sh index 803505d..4121cd0 100755 --- a/scripts/install-deps-ubuntu.sh +++ b/scripts/install-deps-ubuntu.sh @@ -57,7 +57,7 @@ rm -rf "$FLINT_TMP" cargo install uniffi-bindgen-go --git https://github.com/NordSecurity/uniffi-bindgen-go --tag v0.2.1+v0.25.0 -python emp-install.py --install --tool --ot +bash install-emp.sh pushd emp-tool sed -i 's/add_library(${NAME} SHARED ${sources})/add_library(${NAME} STATIC ${sources})/g' CMakeLists.txt