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: |
echo "ignore-project: False" >> 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-lib-dirs: /opt/homebrew/opt/openssl@1.1/lib" >> 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@3.0/lib" >> cabal.project.local
echo "" >> 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-lib-dirs: /opt/homebrew/opt/openssl@1.1/lib" >> 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@3.0/lib" >> cabal.project.local
echo " flags: +openssl" >> cabal.project.local
- name: Unix prepare cabal.project.local for Mac
@ -138,12 +138,12 @@ jobs:
run: |
echo "ignore-project: False" >> 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-lib-dirs: /usr/local/opt/openssl@1.1/lib" >> 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@3.0/lib" >> cabal.project.local
echo "" >> 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-lib-dirs: /usr/local/opt/openssl@1.1/lib" >> 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@3.0/lib" >> cabal.project.local
echo " flags: +openssl" >> cabal.project.local
- name: Install AppImage dependencies

View file

@ -134,7 +134,7 @@ cp scripts/cabal.project.local.linux cabal.project.local
On Mac:
```
brew install openssl@1.1
brew install openssl@3.0
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.
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

View file

@ -117,7 +117,7 @@ git checkout stable
apt-get update && apt-get install -y build-essential libgmp3-dev zlib1g-dev
cp scripts/cabal.project.local.linux cabal.project.local
# nebo na MacOS:
# brew install openssl@1.1
# brew install openssl@3.0
# 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
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.
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
cp scripts/cabal.project.local.linux cabal.project.local
# ou sur MacOS:
# brew install openssl@1.1
# brew install openssl@3.0
# 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
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.
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:
```
brew install openssl@1.1
brew install openssl@3.0
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.
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

View file

@ -3,12 +3,12 @@ ignore-project: False
-- amend to point to the actual openssl location
package simplexmq
extra-include-dirs: /opt/homebrew/opt/openssl@1.1/include
extra-lib-dirs: /opt/homebrew/opt/openssl@1.1/lib
extra-include-dirs: /opt/homebrew/opt/openssl@3.0/include
extra-lib-dirs: /opt/homebrew/opt/openssl@3.0/lib
package direct-sqlcipher
extra-include-dirs: /opt/homebrew/opt/openssl@1.1/include
extra-lib-dirs: /opt/homebrew/opt/openssl@1.1/lib
extra-include-dirs: /opt/homebrew/opt/openssl@3.0/include
extra-lib-dirs: /opt/homebrew/opt/openssl@3.0/lib
flags: +openssl
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/
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
cp $LIBCRYPTO_PATH libcrypto.1.1.$LIB_EXT
chmod 755 libcrypto.1.1.$LIB_EXT
install_name_tool -id "libcrypto.1.1.$LIB_EXT" libcrypto.1.1.$LIB_EXT
install_name_tool -change $LIBCRYPTO_PATH @rpath/libcrypto.3.0.$LIB_EXT libHSdrct-*.$LIB_EXT
cp $LIBCRYPTO_PATH libcrypto.3.0.$LIB_EXT
chmod 755 libcrypto.3.0.$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
LIBCRYPTO_PATH=$(otool -l $LIB | grep libcrypto | cut -d' ' -f11)
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
LIBCRYPTO_PATH=$(otool -l libHSsmplxmq*.$LIB_EXT | grep libcrypto | cut -d' ' -f11)
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
LIBCRYPTO_PATH=$(otool -l libHSsqlcphr-*.$LIB_EXT | grep libcrypto | cut -d' ' -f11)
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
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
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
# Existence of this directory produces build error: cabal's bug
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
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/
scripts/desktop/prepare-vlc-windows.sh

View file

@ -9,12 +9,12 @@ root_dir="$(dirname "$(dirname "$(readlink "$0")")")"
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
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
cd openssl-1.1.1w
cd openssl-3.0.15
./Configure mingw64
make
cd ../../