Create Windows installer #53
This commit is contained in:
@@ -7,6 +7,7 @@ set(EXPAT_HASH 85372797ff0673a8fc4a6be16466bb5a0ca28c0dcf3c6f7ac1686b4a3ba2aabb)
|
|||||||
set(GCC_HASH 51b9919ea69c980d7a381db95d4be27edf73b21254eb13d752a08003b4d013b1)
|
set(GCC_HASH 51b9919ea69c980d7a381db95d4be27edf73b21254eb13d752a08003b4d013b1)
|
||||||
set(GTEST_HASH 65fab701d9829d38cb77c14acdc431d2108bfdbf8979e40eb8ae567edf10b27c)
|
set(GTEST_HASH 65fab701d9829d38cb77c14acdc431d2108bfdbf8979e40eb8ae567edf10b27c)
|
||||||
set(ICU_HASH a2c443404f00098e9e90acf29dc318e049d2dc78d9ae5f46efb261934a730ce2)
|
set(ICU_HASH a2c443404f00098e9e90acf29dc318e049d2dc78d9ae5f46efb261934a730ce2)
|
||||||
|
set(INNOSETUP_HASH f3c42116542c4cc57263c5ba6c4feabfc49fe771f2f98a79d2f7628b8762723b)
|
||||||
set(JSON_HASH 4b92eb0c06d10683f7447ce9406cb97cd4b453be18d7279320f7b2f025c10187)
|
set(JSON_HASH 4b92eb0c06d10683f7447ce9406cb97cd4b453be18d7279320f7b2f025c10187)
|
||||||
set(LIBSODIUM_HASH 8e5aeca07a723a27bbecc3beef14b0068d37e7fc0e97f51b3f1c82d2a58005c1)
|
set(LIBSODIUM_HASH 8e5aeca07a723a27bbecc3beef14b0068d37e7fc0e97f51b3f1c82d2a58005c1)
|
||||||
set(MINGW_HASH 5afe822af5c4edbf67daaf45eec61d538f49eef6b19524de64897c6b95828caf)
|
set(MINGW_HASH 5afe822af5c4edbf67daaf45eec61d538f49eef6b19524de64897c6b95828caf)
|
||||||
|
@@ -1,18 +1,19 @@
|
|||||||
set(BINUTILS_VERSION 2.44)
|
set(BINUTILS_VERSION 2.44)
|
||||||
set(BOOST_MAJOR_VERSION 1)
|
|
||||||
set(BOOST_MINOR_VERSION 88)
|
|
||||||
set(BOOST_PATCH_VERSION 0)
|
|
||||||
set(BOOST2_MAJOR_VERSION 1)
|
set(BOOST2_MAJOR_VERSION 1)
|
||||||
set(BOOST2_MINOR_VERSION 76)
|
set(BOOST2_MINOR_VERSION 76)
|
||||||
set(BOOST2_PATCH_VERSION 0)
|
set(BOOST2_PATCH_VERSION 0)
|
||||||
|
set(BOOST_MAJOR_VERSION 1)
|
||||||
|
set(BOOST_MINOR_VERSION 88)
|
||||||
|
set(BOOST_PATCH_VERSION 0)
|
||||||
set(CPP_HTTPLIB_VERSION 0.23.1)
|
set(CPP_HTTPLIB_VERSION 0.23.1)
|
||||||
set(CURL_VERSION 8.15.0)
|
|
||||||
set(CURL2_VERSION 8_15_0)
|
set(CURL2_VERSION 8_15_0)
|
||||||
set(EXPAT_VERSION 2.7.1)
|
set(CURL_VERSION 8.15.0)
|
||||||
set(EXPAT2_VERSION 2_7_1)
|
set(EXPAT2_VERSION 2_7_1)
|
||||||
|
set(EXPAT_VERSION 2.7.1)
|
||||||
set(GCC_VERSION 15.1.0)
|
set(GCC_VERSION 15.1.0)
|
||||||
set(GTEST_VERSION 1.17.0)
|
set(GTEST_VERSION 1.17.0)
|
||||||
set(ICU_VERSION 76-1)
|
set(ICU_VERSION 76-1)
|
||||||
|
set(INNOSETUP_VERSION 6.4.3)
|
||||||
set(JSON_VERSION 3.12.0)
|
set(JSON_VERSION 3.12.0)
|
||||||
set(LIBSODIUM_VERSION 1.0.20)
|
set(LIBSODIUM_VERSION 1.0.20)
|
||||||
set(MINGW_VERSION 13.0.0)
|
set(MINGW_VERSION 13.0.0)
|
||||||
@@ -21,7 +22,7 @@ set(PKG_CONFIG_VERSION 0.29.2)
|
|||||||
set(PUGIXML_VERSION 1.15)
|
set(PUGIXML_VERSION 1.15)
|
||||||
set(ROCKSDB_VERSION 10.4.2)
|
set(ROCKSDB_VERSION 10.4.2)
|
||||||
set(SPDLOG_VERSION 1.15.3)
|
set(SPDLOG_VERSION 1.15.3)
|
||||||
set(SQLITE_VERSION 3500300)
|
|
||||||
set(SQLITE2_VERSION 3.50.3)
|
set(SQLITE2_VERSION 3.50.3)
|
||||||
|
set(SQLITE_VERSION 3500300)
|
||||||
set(STDUUID_VERSION 1.2.3)
|
set(STDUUID_VERSION 1.2.3)
|
||||||
set(ZLIB_VERSION 1.3.1)
|
set(ZLIB_VERSION 1.3.1)
|
||||||
|
@@ -12,6 +12,7 @@ RUN apk add \
|
|||||||
bzip2 \
|
bzip2 \
|
||||||
clang17-extra-tools \
|
clang17-extra-tools \
|
||||||
cmake \
|
cmake \
|
||||||
|
curl \
|
||||||
file \
|
file \
|
||||||
flex \
|
flex \
|
||||||
g++ \
|
g++ \
|
||||||
@@ -43,6 +44,7 @@ RUN apk add \
|
|||||||
ruby \
|
ruby \
|
||||||
texinfo \
|
texinfo \
|
||||||
unzip \
|
unzip \
|
||||||
|
xvfb \
|
||||||
wget \
|
wget \
|
||||||
wine \
|
wine \
|
||||||
xz \
|
xz \
|
||||||
@@ -102,6 +104,39 @@ RUN echo -e \
|
|||||||
"system = 'windows'\n"\
|
"system = 'windows'\n"\
|
||||||
> ${MY_TOOLCHAIN_FILE_MESON}
|
> ${MY_TOOLCHAIN_FILE_MESON}
|
||||||
|
|
||||||
|
RUN mkdir -p /opt/bin;echo -e \
|
||||||
|
"#!/bin/sh\n"\
|
||||||
|
"COUNT=0\n"\
|
||||||
|
"echo \"Start waiting on \$@\"\n"\
|
||||||
|
"while pgrep \"\$@\" > /dev/null; do \n"\
|
||||||
|
" echo \"waiting ...\"\n"\
|
||||||
|
" sleep 1;\n"\
|
||||||
|
" COUNT=\$((COUNT+1))\n"\
|
||||||
|
" if [ \$COUNT -eq 60 ]; then\n"\
|
||||||
|
" exit 3;\n"\
|
||||||
|
" fi\n"\
|
||||||
|
"done\n"\
|
||||||
|
"echo \"\$@ completed\"\n"\
|
||||||
|
> /opt/bin/waitonprocess && \
|
||||||
|
chmod +x /opt/bin/waitonprocess && \
|
||||||
|
cat /opt/bin/waitonprocess
|
||||||
|
|
||||||
|
RUN echo -e \
|
||||||
|
"#!/bin/sh\n"\
|
||||||
|
"Xvfb \$DISPLAY &\n"\
|
||||||
|
"tokill=\$!\n"\
|
||||||
|
"wine wineboot --init\n"\
|
||||||
|
"waitonprocess wineserver\n"\
|
||||||
|
"\"\$@\"\n"\
|
||||||
|
"retval=\$?\n"\
|
||||||
|
"kill -15 \$tokill\n"\
|
||||||
|
"wine wineboot --shutdown\n"\
|
||||||
|
"return \$retval\n"\
|
||||||
|
> /opt/bin/wine-x11-run && \
|
||||||
|
chmod +x /opt/bin/wine-x11-run && \
|
||||||
|
cat /opt/bin/wine-x11-run
|
||||||
|
|
||||||
|
ENV PATH="/opt/bin:${PATH}"
|
||||||
SHELL [ "/bin/bash", "-c" ]
|
SHELL [ "/bin/bash", "-c" ]
|
||||||
|
|
||||||
RUN mkdir -p \
|
RUN mkdir -p \
|
||||||
@@ -112,6 +147,16 @@ RUN mkdir -p \
|
|||||||
|
|
||||||
ADD ./3rd_party /3rd_party
|
ADD ./3rd_party /3rd_party
|
||||||
|
|
||||||
|
ENV DISPLAY=:99
|
||||||
|
ENV WINEDEBUG=-all,err+all
|
||||||
|
|
||||||
|
RUN wine64 reg add 'HKEY_CURRENT_USER\Software\Wine' /v ShowDotFiles /d Y \
|
||||||
|
&& while [ ! -f /root/.wine/user.reg ]; do sleep 1; done
|
||||||
|
|
||||||
|
ARG INNOSETUP_VERSION
|
||||||
|
ENV MY_INNOSETUP_VERSION=${INNOSETUP_VERSION}
|
||||||
|
RUN wine-x11-run wine64 /3rd_party/mingw64/innosetup-${MY_INNOSETUP_VERSION}.exe /SP- /VERYSILENT /ALLUSERS /SUPPRESSMSGBOXES /DOWNLOADISCRYPT=1
|
||||||
|
|
||||||
ARG BINUTILS_VERSION
|
ARG BINUTILS_VERSION
|
||||||
ENV MY_BINUTILS_VERSION=${BINUTILS_VERSION}
|
ENV MY_BINUTILS_VERSION=${BINUTILS_VERSION}
|
||||||
RUN cd /3rd_party/mingw64 && sha256sum -c ./binutils-${MY_BINUTILS_VERSION}.tar.xz.sha256 && cd - \
|
RUN cd /3rd_party/mingw64 && sha256sum -c ./binutils-${MY_BINUTILS_VERSION}.tar.xz.sha256 && cd - \
|
||||||
|
@@ -292,6 +292,8 @@ if [ "${PROJECT_IS_MINGW}" == "1" ] && [ "${PROJECT_IS_MINGW_UNIX}" != "1" ]; th
|
|||||||
MSYS=winsymlinks:nativestrict
|
MSYS=winsymlinks:nativestrict
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
PROJECT_ENABLE_INNOSETUP=1
|
||||||
|
|
||||||
export MSYS
|
export MSYS
|
||||||
export NUM_JOBS
|
export NUM_JOBS
|
||||||
export OPENSSL_ROOT_DIR
|
export OPENSSL_ROOT_DIR
|
||||||
|
@@ -26,6 +26,7 @@ PROJECT_CLEANUP[EXPAT]="3rd_party/mingw64/expat-*"
|
|||||||
PROJECT_CLEANUP[GCC]="3rd_party/mingw64/gcc-*"
|
PROJECT_CLEANUP[GCC]="3rd_party/mingw64/gcc-*"
|
||||||
PROJECT_CLEANUP[ICU]="3rd_party/mingw64/icu-release-*"
|
PROJECT_CLEANUP[ICU]="3rd_party/mingw64/icu-release-*"
|
||||||
PROJECT_CLEANUP[JSON]="3rd_party/json-*"
|
PROJECT_CLEANUP[JSON]="3rd_party/json-*"
|
||||||
|
PROJECT_CLEANUP[INNOSETUP]="3rd_party/mingw64/innosetup-*"
|
||||||
PROJECT_CLEANUP[LIBBITCOIN_SYSTEM_ON]="3rd_party/boost_${PROJECT_VERSIONS[BOOST_MAJOR]}_${PROJECT_VERSIONS[BOOST_MINOR]}_*"
|
PROJECT_CLEANUP[LIBBITCOIN_SYSTEM_ON]="3rd_party/boost_${PROJECT_VERSIONS[BOOST_MAJOR]}_${PROJECT_VERSIONS[BOOST_MINOR]}_*"
|
||||||
PROJECT_CLEANUP[LIBSODIUM]="3rd_party/libsodium-*:3rd_party/libsodium*"
|
PROJECT_CLEANUP[LIBSODIUM]="3rd_party/libsodium-*:3rd_party/libsodium*"
|
||||||
PROJECT_CLEANUP[MINGW]="3rd_party/mingw64/mingw-w64-*"
|
PROJECT_CLEANUP[MINGW]="3rd_party/mingw64/mingw-w64-*"
|
||||||
@@ -52,6 +53,7 @@ PROJECT_DOWNLOADS[GCC]="https://mirrorservice.org/sites/sourceware.org/pub/gcc/r
|
|||||||
PROJECT_DOWNLOADS[GTEST]="https://github.com/google/googletest/archive/refs/tags/v${PROJECT_VERSIONS[GTEST]}.tar.gz;googletest-${PROJECT_VERSIONS[GTEST]}.tar.gz;3rd_party"
|
PROJECT_DOWNLOADS[GTEST]="https://github.com/google/googletest/archive/refs/tags/v${PROJECT_VERSIONS[GTEST]}.tar.gz;googletest-${PROJECT_VERSIONS[GTEST]}.tar.gz;3rd_party"
|
||||||
PROJECT_DOWNLOADS[ICU]="https://github.com/unicode-org/icu/archive/refs/tags/release-${PROJECT_VERSIONS[ICU]}.tar.gz;icu-release-${PROJECT_VERSIONS[ICU]}.tar.gz;3rd_party/mingw64"
|
PROJECT_DOWNLOADS[ICU]="https://github.com/unicode-org/icu/archive/refs/tags/release-${PROJECT_VERSIONS[ICU]}.tar.gz;icu-release-${PROJECT_VERSIONS[ICU]}.tar.gz;3rd_party/mingw64"
|
||||||
PROJECT_DOWNLOADS[JSON]="https://github.com/nlohmann/json/archive/refs/tags/v${PROJECT_VERSIONS[JSON]}.tar.gz;json-${PROJECT_VERSIONS[JSON]}.tar.gz;3rd_party"
|
PROJECT_DOWNLOADS[JSON]="https://github.com/nlohmann/json/archive/refs/tags/v${PROJECT_VERSIONS[JSON]}.tar.gz;json-${PROJECT_VERSIONS[JSON]}.tar.gz;3rd_party"
|
||||||
|
PROJECT_DOWNLOADS[INNOSETUP]="https://files.jrsoftware.org/is/6/innosetup-${PROJECT_VERSIONS[INNOSETUP]}.exe;innosetup-${PROJECT_VERSIONS[INNOSETUP]}.exe;3rd_party/mingw64"
|
||||||
PROJECT_DOWNLOADS[LIBSODIUM]="https://github.com/jedisct1/libsodium/archive/refs/tags/${PROJECT_VERSIONS[LIBSODIUM]}-RELEASE.tar.gz;libsodium-${PROJECT_VERSIONS[LIBSODIUM]}.tar.gz;3rd_party"
|
PROJECT_DOWNLOADS[LIBSODIUM]="https://github.com/jedisct1/libsodium/archive/refs/tags/${PROJECT_VERSIONS[LIBSODIUM]}-RELEASE.tar.gz;libsodium-${PROJECT_VERSIONS[LIBSODIUM]}.tar.gz;3rd_party"
|
||||||
PROJECT_DOWNLOADS[MINGW]="https://sourceforge.net/projects/mingw-w64/files/mingw-w64/mingw-w64-release/mingw-w64-v${PROJECT_VERSIONS[MINGW]}.tar.bz2;;mingw-w64-v${PROJECT_VERSIONS[MINGW]}.tar.bz2;3rd_party/mingw64"
|
PROJECT_DOWNLOADS[MINGW]="https://sourceforge.net/projects/mingw-w64/files/mingw-w64/mingw-w64-release/mingw-w64-v${PROJECT_VERSIONS[MINGW]}.tar.bz2;;mingw-w64-v${PROJECT_VERSIONS[MINGW]}.tar.bz2;3rd_party/mingw64"
|
||||||
PROJECT_DOWNLOADS[OPENSSL]="https://github.com/openssl/openssl/releases/download/openssl-${PROJECT_VERSIONS[OPENSSL]}/openssl-${PROJECT_VERSIONS[OPENSSL]}.tar.gz;openssl-${PROJECT_VERSIONS[OPENSSL]}.tar.gz;3rd_party"
|
PROJECT_DOWNLOADS[OPENSSL]="https://github.com/openssl/openssl/releases/download/openssl-${PROJECT_VERSIONS[OPENSSL]}/openssl-${PROJECT_VERSIONS[OPENSSL]}.tar.gz;openssl-${PROJECT_VERSIONS[OPENSSL]}.tar.gz;3rd_party"
|
||||||
|
@@ -16,6 +16,7 @@ PROJECT_VERSIONS[EXPAT2]="2_7_1"
|
|||||||
PROJECT_VERSIONS[GCC]="15.1.0"
|
PROJECT_VERSIONS[GCC]="15.1.0"
|
||||||
PROJECT_VERSIONS[GTEST]="1.17.0"
|
PROJECT_VERSIONS[GTEST]="1.17.0"
|
||||||
PROJECT_VERSIONS[ICU]="76-1"
|
PROJECT_VERSIONS[ICU]="76-1"
|
||||||
|
PROJECT_VERSIONS[INNOSETUP]="6.4.3"
|
||||||
PROJECT_VERSIONS[JSON]="3.12.0"
|
PROJECT_VERSIONS[JSON]="3.12.0"
|
||||||
PROJECT_VERSIONS[LIBSODIUM]="1.0.20"
|
PROJECT_VERSIONS[LIBSODIUM]="1.0.20"
|
||||||
PROJECT_VERSIONS[MINGW]="13.0.0"
|
PROJECT_VERSIONS[MINGW]="13.0.0"
|
||||||
|
2
support/3rd_party/json-3.12.0.tar.gz.sha256
vendored
2
support/3rd_party/json-3.12.0.tar.gz.sha256
vendored
@@ -1 +1 @@
|
|||||||
4b92eb0c06d10683f7447ce9406cb97cd4b453be18d7279320f7b2f025c10187 json-3.12.0.tar.gz
|
4b92eb0c06d10683f7447ce9406cb97cd4b453be18d7279320f7b2f025c10187 *json-3.12.0.tar.gz
|
||||||
|
Reference in New Issue
Block a user