URI: 
       twine build: use docker to (try to) have reproducible builds - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit 068b6acf792d0acdc861601322e70b7d99a6842a
   DIR parent 8f25e147fdf3117d1be116b8c7952e1a3afb30d7
  HTML Author: SomberNight <somber.night@protonmail.com>
       Date:   Fri, 29 Jun 2018 18:13:11 +0200
       
       wine build: use docker to (try to) have reproducible builds
       
       Diffstat:
         A contrib/build-wine/docker/Dockerfi… |      29 +++++++++++++++++++++++++++++
         A contrib/build-wine/docker/README.md |      42 +++++++++++++++++++++++++++++++
       
       2 files changed, 71 insertions(+), 0 deletions(-)
       ---
   DIR diff --git a/contrib/build-wine/docker/Dockerfile b/contrib/build-wine/docker/Dockerfile
       t@@ -0,0 +1,29 @@
       +FROM ubuntu:18.04@sha256:5f4bdc3467537cbbe563e80db2c3ec95d548a9145d64453b06939c4592d67b6d
       +
       +ENV LC_ALL=C.UTF-8 LANG=C.UTF-8
       +
       +RUN dpkg --add-architecture i386 && \
       +    apt-get update -qq && \
       +    apt-get install -qq \
       +        wget=1.19.4-1ubuntu2.1 \
       +        gnupg2=2.2.4-1ubuntu1.1 \
       +        dirmngr=2.2.4-1ubuntu1.1 \
       +        software-properties-common=0.96.24.32.3 \
       +        && \
       +    wget -nc https://dl.winehq.org/wine-builds/Release.key && \
       +    apt-key add Release.key && \
       +    apt-add-repository https://dl.winehq.org/wine-builds/ubuntu/ && \
       +    apt-get update -qq && \
       +    apt-get install -qq \
       +        winehq-stable=3.0.1~bionic \
       +        git=1:2.17.1-1ubuntu0.1 \
       +        p7zip-full=16.02+dfsg-6 \
       +        make=4.1-9.1ubuntu1 \
       +        mingw-w64=5.0.3-1 \
       +        autotools-dev=20180224.1 \
       +        autoconf=2.69-11 \
       +        libtool=2.4.6-2 \
       +        && \
       +    rm -rf /var/lib/apt/lists/* && \
       +    apt-get autoremove -y && \
       +    apt-get clean
   DIR diff --git a/contrib/build-wine/docker/README.md b/contrib/build-wine/docker/README.md
       t@@ -0,0 +1,42 @@
       +Deterministic Windows binaries with Docker
       +==========================================
       +
       +This assumes an Ubuntu host, but it should not be too hard to adopt to another
       +similar system.
       +
       +1. Install Docker
       +
       +    ```
       +    $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
       +    $ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
       +    $ sudo apt-get update
       +    $ sudo apt-get install -y docker-ce
       +    ```
       +
       +2. Build image
       +
       +    ```
       +    $ cd contrib/build-wine/docker
       +    $ PROJECT_ROOT=$(pwd)/../../../
       +    $ sudo docker build --no-cache -t electrum-wine-builder-img .
       +    ```
       +
       +    Note: see [this](https://stackoverflow.com/a/40516974/7499128) if having dns problems
       +
       +3. Build Windows binaries
       +
       +    ```
       +    $ TARGET=master
       +    $ sudo docker run \
       +        --name electrum-wine-builder-cont \
       +        -v ${PROJECT_ROOT}:/opt/electrum \
       +        --rm \
       +        --workdir /opt/electrum/contrib/build-wine \
       +        electrum-wine-builder-img \
       +        ./build.sh $TARGET
       +    ```
       +4. The generated binaries are in `$PROJECT_ROOT/contrib/build-wine/dist`.
       +
       +
       +
       +Note: the `setup` binary (NSIS installer) is not deterministic yet.