From 84e09f195c710d366d29d8ecb13930b37b5b7ecf Mon Sep 17 00:00:00 2001 From: Stanislav Dmitrenko <7953703+avently@users.noreply.github.com> Date: Sat, 18 Nov 2023 02:19:02 +0800 Subject: [PATCH] desktop (windows): fix build of CLI (#3387) --- .github/workflows/build.yml | 9 +++++++++ scripts/desktop/build-lib-windows.sh | 13 +++---------- scripts/desktop/prepare-openssl-windows.sh | 21 +++++++++++++++++++++ 3 files changed, 33 insertions(+), 10 deletions(-) create mode 100644 scripts/desktop/prepare-openssl-windows.sh diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6687f47977..592e03257b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -266,6 +266,15 @@ jobs: if: matrix.os == 'windows-latest' shell: bash run: | + scripts/desktop/prepare-openssl-windows.sh + openssl_windows_style_path=$(echo `pwd`/dist-newstyle/openssl-1.1.1w | sed 's#/\([a-zA-Z]\)#\1:#' | sed 's#/#\\#g') + rm cabal.project.local 2>/dev/null || true + echo "ignore-project: False" >> cabal.project.local + echo "package direct-sqlcipher" >> cabal.project.local + echo " flags: +openssl" >> cabal.project.local + echo " extra-include-dirs: $openssl_windows_style_path\include" >> cabal.project.local + echo " extra-lib-dirs: $openssl_windows_style_path" >> cabal.project.local + rm -rf dist-newstyle/src/direct-sq* sed -i "s/, unix /--, unix /" simplex-chat.cabal cabal build --enable-tests diff --git a/scripts/desktop/build-lib-windows.sh b/scripts/desktop/build-lib-windows.sh index 881e0aea2a..bd2cdc1c23 100755 --- a/scripts/desktop/build-lib-windows.sh +++ b/scripts/desktop/build-lib-windows.sh @@ -30,16 +30,9 @@ BUILD_DIR=dist-newstyle/build/$ARCH-$OS/ghc-*/simplex-chat-* cd $root_dir mkdir dist-newstyle 2>/dev/null || true -if [ ! -f dist-newstyle/openssl-1.1.1w/libcrypto-1_1-x64.dll ]; then - cd dist-newstyle - curl https://www.openssl.org/source/openssl-1.1.1w.tar.gz -o openssl.tar.gz - $WINDIR\\System32\\tar.exe -xvzf openssl.tar.gz - cd openssl-1.1.1w - ./Configure mingw64 - make - cd ../../ -fi -openssl_windows_style_path=$(echo `pwd`/dist-newstyle/openssl-1.1.1w | sed 's#/\([a-z]\)#\1:#' | sed 's#/#\\#g') +scripts/desktop/prepare-openssl-windows.sh + +openssl_windows_style_path=$(echo `pwd`/dist-newstyle/openssl-1.1.1w | sed 's#/\([a-zA-Z]\)#\1:#' | sed 's#/#\\#g') rm -rf $BUILD_DIR 2>/dev/null || true # Existence of this directory produces build error: cabal's bug rm -rf dist-newstyle/src/direct-sq* 2>/dev/null || true diff --git a/scripts/desktop/prepare-openssl-windows.sh b/scripts/desktop/prepare-openssl-windows.sh new file mode 100644 index 0000000000..79822d3ff5 --- /dev/null +++ b/scripts/desktop/prepare-openssl-windows.sh @@ -0,0 +1,21 @@ +#!/bin/bash + +set -e + +function readlink() { + echo "$(cd "$(dirname "$1")"; pwd -P)" +} +root_dir="$(dirname "$(dirname "$(readlink "$0")")")" + +cd $root_dir + +if [ ! -f dist-newstyle/openssl-1.1.1w/libcrypto-1_1-x64.dll ]; then + mkdir dist-newstyle 2>/dev/null || true + cd dist-newstyle + curl https://www.openssl.org/source/openssl-1.1.1w.tar.gz -o openssl.tar.gz + $WINDIR\\System32\\tar.exe -xvzf openssl.tar.gz + cd openssl-1.1.1w + ./Configure mingw64 + make + cd ../../ +fi