build: use openssl 3.0 (#5183)

* build: use openssl 3.0

* docs

* mac script
This commit is contained in:
Evgeny 2024-11-22 18:38:49 +00:00 committed by GitHub
parent bff2d7d3b6
commit 4f640c96d1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
13 changed files with 36 additions and 36 deletions

View file

@ -124,12 +124,12 @@ jobs:
run: | run: |
echo "ignore-project: False" >> cabal.project.local echo "ignore-project: False" >> cabal.project.local
echo "package simplexmq" >> cabal.project.local echo "package simplexmq" >> cabal.project.local
echo " extra-include-dirs: /opt/homebrew/opt/openssl@1.1/include" >> cabal.project.local echo " extra-include-dirs: /opt/homebrew/opt/openssl@3.0/include" >> cabal.project.local
echo " extra-lib-dirs: /opt/homebrew/opt/openssl@1.1/lib" >> cabal.project.local echo " extra-lib-dirs: /opt/homebrew/opt/openssl@3.0/lib" >> cabal.project.local
echo "" >> cabal.project.local echo "" >> cabal.project.local
echo "package direct-sqlcipher" >> cabal.project.local echo "package direct-sqlcipher" >> cabal.project.local
echo " extra-include-dirs: /opt/homebrew/opt/openssl@1.1/include" >> cabal.project.local echo " extra-include-dirs: /opt/homebrew/opt/openssl@3.0/include" >> cabal.project.local
echo " extra-lib-dirs: /opt/homebrew/opt/openssl@1.1/lib" >> cabal.project.local echo " extra-lib-dirs: /opt/homebrew/opt/openssl@3.0/lib" >> cabal.project.local
echo " flags: +openssl" >> cabal.project.local echo " flags: +openssl" >> cabal.project.local
- name: Unix prepare cabal.project.local for Mac - name: Unix prepare cabal.project.local for Mac
@ -138,12 +138,12 @@ jobs:
run: | run: |
echo "ignore-project: False" >> cabal.project.local echo "ignore-project: False" >> cabal.project.local
echo "package simplexmq" >> cabal.project.local echo "package simplexmq" >> cabal.project.local
echo " extra-include-dirs: /usr/local/opt/openssl@1.1/include" >> cabal.project.local echo " extra-include-dirs: /usr/local/opt/openssl@3.0/include" >> cabal.project.local
echo " extra-lib-dirs: /usr/local/opt/openssl@1.1/lib" >> cabal.project.local echo " extra-lib-dirs: /usr/local/opt/openssl@3.0/lib" >> cabal.project.local
echo "" >> cabal.project.local echo "" >> cabal.project.local
echo "package direct-sqlcipher" >> cabal.project.local echo "package direct-sqlcipher" >> cabal.project.local
echo " extra-include-dirs: /usr/local/opt/openssl@1.1/include" >> cabal.project.local echo " extra-include-dirs: /usr/local/opt/openssl@3.0/include" >> cabal.project.local
echo " extra-lib-dirs: /usr/local/opt/openssl@1.1/lib" >> cabal.project.local echo " extra-lib-dirs: /usr/local/opt/openssl@3.0/lib" >> cabal.project.local
echo " flags: +openssl" >> cabal.project.local echo " flags: +openssl" >> cabal.project.local
- name: Install AppImage dependencies - name: Install AppImage dependencies

View file

@ -134,7 +134,7 @@ cp scripts/cabal.project.local.linux cabal.project.local
On Mac: On Mac:
``` ```
brew install openssl@1.1 brew install openssl@3.0
cp scripts/cabal.project.local.mac cabal.project.local cp scripts/cabal.project.local.mac cabal.project.local
``` ```

View file

@ -21,9 +21,9 @@ cp scripts/cabal.project.local.mac cabal.project.local
MacOS comes with LibreSSL as default, OpenSSL must be installed to compile SimpleX from source. MacOS comes with LibreSSL as default, OpenSSL must be installed to compile SimpleX from source.
OpenSSL can be installed with `brew install openssl@1.1` OpenSSL can be installed with `brew install openssl@3.0`
You will have to add `/opt/homebrew/opt/openssl@1.1/bin` to your PATH in order to have things working properly You will have to add `/opt/homebrew/opt/openssl@3.0/bin` to your PATH in order to have things working properly
## Project branches ## Project branches

View file

@ -117,7 +117,7 @@ git checkout stable
apt-get update && apt-get install -y build-essential libgmp3-dev zlib1g-dev apt-get update && apt-get install -y build-essential libgmp3-dev zlib1g-dev
cp scripts/cabal.project.local.linux cabal.project.local cp scripts/cabal.project.local.linux cabal.project.local
# nebo na MacOS: # nebo na MacOS:
# brew install openssl@1.1 # brew install openssl@3.0
# cp scripts/cabal.project.local.mac cabal.project.local # cp scripts/cabal.project.local.mac cabal.project.local
# možná budete muset změnit cabal.project.local tak, aby ukazoval na skutečné umístění openssl # možná budete muset změnit cabal.project.local tak, aby ukazoval na skutečné umístění openssl
cabal update cabal update

View file

@ -20,6 +20,6 @@ cp scripts/cabal.project.local.mac cabal.project.local
Systém MacOS je standardně dodáván s LibreSSL, pro kompilaci SimpleX ze zdrojových kódů je nutné nainstalovat OpenSSL. Systém MacOS je standardně dodáván s LibreSSL, pro kompilaci SimpleX ze zdrojových kódů je nutné nainstalovat OpenSSL.
OpenSSL lze nainstalovat pomocí `brew install openssl@1.1`. OpenSSL lze nainstalovat pomocí `brew install openssl@3.0`.
Aby vše fungovalo správně, musíte do své cesty PATH přidat `/opt/homebrew/opt/openssl@1.1/bin`. Aby vše fungovalo správně, musíte do své cesty PATH přidat `/opt/homebrew/opt/openssl@3.0/bin`.

View file

@ -119,7 +119,7 @@ git checkout stable
apt-get update && apt-get install -y build-essential libgmp3-dev zlib1g-dev apt-get update && apt-get install -y build-essential libgmp3-dev zlib1g-dev
cp scripts/cabal.project.local.linux cabal.project.local cp scripts/cabal.project.local.linux cabal.project.local
# ou sur MacOS: # ou sur MacOS:
# brew install openssl@1.1 # brew install openssl@3.0
# cp scripts/cabal.project.local.mac cabal.project.local # cp scripts/cabal.project.local.mac cabal.project.local
# vous devrez peut-être modifier cabal.project.local pour indiquer l'emplacement réel d'openssl # vous devrez peut-être modifier cabal.project.local pour indiquer l'emplacement réel d'openssl
cabal update cabal update

View file

@ -20,6 +20,6 @@ cp scripts/cabal.project.local.mac cabal.project.local
LibreSSL est fourni par défaut sur MacOS, OpenSSL doit être installé pour compiler SimpleX à partir de la source. LibreSSL est fourni par défaut sur MacOS, OpenSSL doit être installé pour compiler SimpleX à partir de la source.
OpenSSL peut être installé avec `brew install openssl@1.1` OpenSSL peut être installé avec `brew install openssl@3.0`
Vous devez ajouter `/opt/homebrew/opt/openssl@1.1/bin` à votre PATH pour que tout fonctionne correctement. Vous devez ajouter `/opt/homebrew/opt/openssl@3.0/bin` à votre PATH pour que tout fonctionne correctement.

View file

@ -133,7 +133,7 @@ cp scripts/cabal.project.local.linux cabal.project.local
Na Macu: Na Macu:
``` ```
brew install openssl@1.1 brew install openssl@3.0
cp scripts/cabal.project.local.mac cabal.project.local cp scripts/cabal.project.local.mac cabal.project.local
``` ```

View file

@ -21,9 +21,9 @@ cp scripts/cabal.project.local.mac cabal.project.local
MacOS ma domyślnie zainstalowany LibreSSL, OpenSSL musi być zainstalowany, aby skompilować SimpleX z kodu źródłowego. MacOS ma domyślnie zainstalowany LibreSSL, OpenSSL musi być zainstalowany, aby skompilować SimpleX z kodu źródłowego.
OpenSSL można zainstalować za pomocą `brew install openssl@1.1` OpenSSL można zainstalować za pomocą `brew install openssl@3.0`
Będziesz musiał dodać `/opt/homebrew/opt/openssl@1.1/bin` do swojego PATH, aby wszystko działało poprawnie Będziesz musiał dodać `/opt/homebrew/opt/openssl@3.0/bin` do swojego PATH, aby wszystko działało poprawnie
## Branche projektu ## Branche projektu

View file

@ -3,12 +3,12 @@ ignore-project: False
-- amend to point to the actual openssl location -- amend to point to the actual openssl location
package simplexmq package simplexmq
extra-include-dirs: /opt/homebrew/opt/openssl@1.1/include extra-include-dirs: /opt/homebrew/opt/openssl@3.0/include
extra-lib-dirs: /opt/homebrew/opt/openssl@1.1/lib extra-lib-dirs: /opt/homebrew/opt/openssl@3.0/lib
package direct-sqlcipher package direct-sqlcipher
extra-include-dirs: /opt/homebrew/opt/openssl@1.1/include extra-include-dirs: /opt/homebrew/opt/openssl@3.0/include
extra-lib-dirs: /opt/homebrew/opt/openssl@1.1/lib extra-lib-dirs: /opt/homebrew/opt/openssl@3.0/lib
flags: +openssl flags: +openssl
test-show-details: direct test-show-details: direct

View file

@ -100,25 +100,25 @@ cp $BUILD_DIR/build/libHSsimplex-chat-*-inplace-ghc*.$LIB_EXT apps/multiplatform
cd apps/multiplatform/common/src/commonMain/cpp/desktop/libs/$OS-$ARCH/ cd apps/multiplatform/common/src/commonMain/cpp/desktop/libs/$OS-$ARCH/
LIBCRYPTO_PATH=$(otool -l libHSdrct-*.$LIB_EXT | grep libcrypto | cut -d' ' -f11) LIBCRYPTO_PATH=$(otool -l libHSdrct-*.$LIB_EXT | grep libcrypto | cut -d' ' -f11)
install_name_tool -change $LIBCRYPTO_PATH @rpath/libcrypto.1.1.$LIB_EXT libHSdrct-*.$LIB_EXT install_name_tool -change $LIBCRYPTO_PATH @rpath/libcrypto.3.0.$LIB_EXT libHSdrct-*.$LIB_EXT
cp $LIBCRYPTO_PATH libcrypto.1.1.$LIB_EXT cp $LIBCRYPTO_PATH libcrypto.3.0.$LIB_EXT
chmod 755 libcrypto.1.1.$LIB_EXT chmod 755 libcrypto.3.0.$LIB_EXT
install_name_tool -id "libcrypto.1.1.$LIB_EXT" libcrypto.1.1.$LIB_EXT install_name_tool -id "libcrypto.3.0.$LIB_EXT" libcrypto.3.0.$LIB_EXT
install_name_tool -id "libffi.8.$LIB_EXT" libffi.$LIB_EXT install_name_tool -id "libffi.8.$LIB_EXT" libffi.$LIB_EXT
LIBCRYPTO_PATH=$(otool -l $LIB | grep libcrypto | cut -d' ' -f11) LIBCRYPTO_PATH=$(otool -l $LIB | grep libcrypto | cut -d' ' -f11)
if [ -n "$LIBCRYPTO_PATH" ]; then if [ -n "$LIBCRYPTO_PATH" ]; then
install_name_tool -change $LIBCRYPTO_PATH @rpath/libcrypto.1.1.$LIB_EXT $LIB install_name_tool -change $LIBCRYPTO_PATH @rpath/libcrypto.3.0.$LIB_EXT $LIB
fi fi
LIBCRYPTO_PATH=$(otool -l libHSsmplxmq*.$LIB_EXT | grep libcrypto | cut -d' ' -f11) LIBCRYPTO_PATH=$(otool -l libHSsmplxmq*.$LIB_EXT | grep libcrypto | cut -d' ' -f11)
if [ -n "$LIBCRYPTO_PATH" ]; then if [ -n "$LIBCRYPTO_PATH" ]; then
install_name_tool -change $LIBCRYPTO_PATH @rpath/libcrypto.1.1.$LIB_EXT libHSsmplxmq*.$LIB_EXT install_name_tool -change $LIBCRYPTO_PATH @rpath/libcrypto.3.0.$LIB_EXT libHSsmplxmq*.$LIB_EXT
fi fi
LIBCRYPTO_PATH=$(otool -l libHSsqlcphr-*.$LIB_EXT | grep libcrypto | cut -d' ' -f11) LIBCRYPTO_PATH=$(otool -l libHSsqlcphr-*.$LIB_EXT | grep libcrypto | cut -d' ' -f11)
if [ -n "$LIBCRYPTO_PATH" ]; then if [ -n "$LIBCRYPTO_PATH" ]; then
install_name_tool -change $LIBCRYPTO_PATH @rpath/libcrypto.1.1.$LIB_EXT libHSsqlcphr-*.$LIB_EXT install_name_tool -change $LIBCRYPTO_PATH @rpath/libcrypto.3.0.$LIB_EXT libHSsqlcphr-*.$LIB_EXT
fi fi
for lib in $(find . -type f -name "*.$LIB_EXT"); do for lib in $(find . -type f -name "*.$LIB_EXT"); do

View file

@ -36,7 +36,7 @@ mkdir dist-newstyle 2>/dev/null || true
scripts/desktop/prepare-openssl-windows.sh 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') openssl_windows_style_path=$(echo `pwd`/dist-newstyle/openssl-3.0.15 | sed 's#/\([a-zA-Z]\)#\1:#' | sed 's#/#\\#g')
rm -rf $BUILD_DIR 2>/dev/null || true rm -rf $BUILD_DIR 2>/dev/null || true
# Existence of this directory produces build error: cabal's bug # Existence of this directory produces build error: cabal's bug
rm -rf dist-newstyle/src/direct-sq* 2>/dev/null || true rm -rf dist-newstyle/src/direct-sq* 2>/dev/null || true
@ -57,7 +57,7 @@ rm -rf apps/multiplatform/common/src/commonMain/cpp/desktop/libs/$OS-$ARCH/
rm -rf apps/multiplatform/desktop/build/cmake rm -rf apps/multiplatform/desktop/build/cmake
mkdir -p apps/multiplatform/common/src/commonMain/cpp/desktop/libs/$OS-$ARCH/ mkdir -p apps/multiplatform/common/src/commonMain/cpp/desktop/libs/$OS-$ARCH/
cp dist-newstyle/openssl-1.1.1w/libcrypto-1_1-x64.dll apps/multiplatform/common/src/commonMain/cpp/desktop/libs/$OS-$ARCH/ cp dist-newstyle/openssl-3.0.15/libcrypto-1_1-x64.dll apps/multiplatform/common/src/commonMain/cpp/desktop/libs/$OS-$ARCH/
cp libsimplex.dll apps/multiplatform/common/src/commonMain/cpp/desktop/libs/$OS-$ARCH/ cp libsimplex.dll apps/multiplatform/common/src/commonMain/cpp/desktop/libs/$OS-$ARCH/
scripts/desktop/prepare-vlc-windows.sh scripts/desktop/prepare-vlc-windows.sh

View file

@ -9,12 +9,12 @@ root_dir="$(dirname "$(dirname "$(readlink "$0")")")"
cd $root_dir cd $root_dir
if [ ! -f dist-newstyle/openssl-1.1.1w/libcrypto-1_1-x64.dll ]; then if [ ! -f dist-newstyle/openssl-3.0.15/libcrypto-1_1-x64.dll ]; then
mkdir dist-newstyle 2>/dev/null || true mkdir dist-newstyle 2>/dev/null || true
cd dist-newstyle cd dist-newstyle
curl --tlsv1.2 https://www.openssl.org/source/openssl-1.1.1w.tar.gz -L -o openssl.tar.gz curl --tlsv1.2 https://www.openssl.org/source/openssl-3.0.15.tar.gz -L -o openssl.tar.gz
$WINDIR\\System32\\tar.exe -xvzf openssl.tar.gz $WINDIR\\System32\\tar.exe -xvzf openssl.tar.gz
cd openssl-1.1.1w cd openssl-3.0.15
./Configure mingw64 ./Configure mingw64
make make
cd ../../ cd ../../