From a151b5bcefd8beee262b8be544e5384766c30624 Mon Sep 17 00:00:00 2001
From: Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
Date: Thu, 12 Aug 2021 21:51:23 +0900
Subject: [PATCH] Bump win build dependencies

---
 Dockerfile.mingw | 36 ++++++++++++++++++++----------------
 README.mingw     | 18 +++++++++---------
 2 files changed, 29 insertions(+), 25 deletions(-)

diff --git a/Dockerfile.mingw b/Dockerfile.mingw
index 4e16d87e..2c737e3b 100644
--- a/Dockerfile.mingw
+++ b/Dockerfile.mingw
@@ -11,7 +11,7 @@
 # $ sudo docker cp $id:/aria2/src/aria2c.exe <dest>
 # $ sudo docker rm -v $id
 
-FROM ubuntu:19.04
+FROM ubuntu:20.04
 
 MAINTAINER Tatsuhiro Tsujikawa
 
@@ -23,20 +23,23 @@ ENV HOST i686-w64-mingw32
 # RUN sed -ie 's/archive\.ubuntu/jp.archive.ubuntu/g' /etc/apt/sources.list
 
 RUN apt-get update && \
-    apt-get install -y \
+    DEBIAN_FRONTEND="noninteractive" \
+    apt-get install -y --no-install-recommends \
         make binutils autoconf automake autotools-dev libtool \
+        patch ca-certificates \
         pkg-config git curl dpkg-dev gcc-mingw-w64 g++-mingw-w64 \
-        autopoint libcppunit-dev libxml2-dev libgcrypt11-dev lzip
+        autopoint libcppunit-dev libxml2-dev libgcrypt20-dev lzip
 
-RUN curl -L -O https://gmplib.org/download/gmp/gmp-6.1.2.tar.lz && \
-    curl -L -O https://github.com/libexpat/libexpat/releases/download/R_2_2_7/expat-2.2.7.tar.bz2 && \
-    curl -L -O https://www.sqlite.org/2019/sqlite-autoconf-3290000.tar.gz && \
+RUN curl -L -O https://gmplib.org/download/gmp/gmp-6.2.1.tar.lz && \
+    curl -L -O https://github.com/libexpat/libexpat/releases/download/R_2_4_1/expat-2.4.1.tar.bz2 && \
+    curl -L -O https://www.sqlite.org/2021/sqlite-autoconf-3360000.tar.gz && \
     curl -L -O http://zlib.net/zlib-1.2.11.tar.gz && \
-    curl -L -O https://c-ares.haxx.se/download/c-ares-1.15.0.tar.gz && \
-    curl -L -O https://www.libssh2.org/download/libssh2-1.9.0.tar.gz
+    curl -L -O https://c-ares.haxx.se/download/c-ares-1.17.2.tar.gz && \
+    curl -L -O https://www.libssh2.org/download/libssh2-1.9.0.tar.gz && \
+    curl -L -O https://github.com/libssh2/libssh2/commit/ba149e804ef653cc05ed9803dfc94519ce9328f7.patch
 
-RUN tar xf gmp-6.1.2.tar.lz && \
-    cd gmp-6.1.2 && \
+RUN tar xf gmp-6.2.1.tar.lz && \
+    cd gmp-6.2.1 && \
     ./configure \
         --disable-shared \
         --enable-static \
@@ -47,8 +50,8 @@ RUN tar xf gmp-6.1.2.tar.lz && \
         CFLAGS="-mtune=generic -O2 -g0" && \
     make install
 
-RUN tar xf expat-2.2.7.tar.bz2 && \
-    cd expat-2.2.7 && \
+RUN tar xf expat-2.4.1.tar.bz2 && \
+    cd expat-2.4.1 && \
     ./configure \
         --disable-shared \
         --enable-static \
@@ -57,8 +60,8 @@ RUN tar xf expat-2.2.7.tar.bz2 && \
         --build=`dpkg-architecture -qDEB_BUILD_GNU_TYPE` && \
     make install
 
-RUN tar xf sqlite-autoconf-3290000.tar.gz && \
-    cd sqlite-autoconf-3290000 && \
+RUN tar xf sqlite-autoconf-3360000.tar.gz && \
+    cd sqlite-autoconf-3360000 && \
     ./configure \
         --disable-shared \
         --enable-static \
@@ -81,8 +84,8 @@ RUN tar xf zlib-1.2.11.tar.gz && \
         --static && \
     make install
 
-RUN tar xf c-ares-1.15.0.tar.gz && \
-    cd c-ares-1.15.0 && \
+RUN tar xf c-ares-1.17.2.tar.gz && \
+    cd c-ares-1.17.2 && \
     ./configure \
         --disable-shared \
         --enable-static \
@@ -95,6 +98,7 @@ RUN tar xf c-ares-1.15.0.tar.gz && \
 
 RUN tar xf libssh2-1.9.0.tar.gz && \
     cd libssh2-1.9.0 && \
+    patch -p1 < ../ba149e804ef653cc05ed9803dfc94519ce9328f7.patch && \
     ./configure \
         --disable-shared \
         --enable-static \
diff --git a/README.mingw b/README.mingw
index a8bbe978..b648a0b3 100644
--- a/README.mingw
+++ b/README.mingw
@@ -5,20 +5,20 @@ aria2 Windows build is provided in 2 flavors: 32bit version and 64bit
 version. The executable was compiled using mingw-w64 cross compiler on
 Debian Linux.
 
-* gcc-mingw-w64               8.3.0-19+21.4
-* g++-mingw-w64               8.3.0-19+21.4
-* binutils-mingw-w64-i686     2.32.51.20190707-1+8.4
-* binutils-mingw-w64-x86-64   2.32.51.20190707-1+8.4
+* gcc-mingw-w64               10.2.1-6+24.2
+* g++-mingw-w64               10.2.1-6+24.2
+* binutils-mingw-w64-i686     2.35.2-2+8.11+b3
+* binutils-mingw-w64-x86-64   2.35.2-2+8.11+b3
 
 The executable is statically linked, so no extra DLLs are
 necessary. The linked libraries are:
 
-* gmp 6.1.2
-* expat 2.2.7
-* sqlite 3.29.0
+* gmp 6.2.1
+* expat 2.4.1
+* sqlite 3.36.0
 * zlib 1.2.11
-* c-ares 1.15.0
-* libssh2 1.9.0
+* c-ares 1.17.2
+* libssh2 1.9.0 (+ https://github.com/libssh2/libssh2/commit/ba149e804ef653cc05ed9803dfc94519ce9328f7.patch)
 
 This build has the following difference from the original release: