Explicitly build and copy OpenSSL shared

This is a workaround to ensure that we use and pack a shared library for OpenSSL 1.1.1l.
We currently compile OpenSSL statically for CPython, but our Python Dependenies (such as
PyQt6) require a shared library. Because Conan won't allow for building the same library
with two different options (easily) we need to install it explicitly and do a manual copy
to the VirtualEnv, such that Pyinstaller can find it.

Contributes to CURA-9365
This commit is contained in:
j.spijker@ultimaker.com 2022-07-13 15:01:26 +02:00 committed by Jelle Spijker
parent 2a2945bcfe
commit ce018da48f

View File

@ -163,6 +163,18 @@ jobs:
env:
TEMP_KEYCHAIN_PASSWORD: ${{ steps.macos-keychain.outputs.keychain-password }}
# FIXME: This is a workaround to ensure that we use and pack a shared library for OpenSSL 1.1.1l. We currently compile
# OpenSSL statically for CPython, but our Python Dependenies (such as PyQt6) require a shared library.
# Because Conan won't allow for building the same library with two different options (easily) we need to install it explicitly
# and do a manual copy to the VirtualEnv, such that Pyinstaller can find it.
- name: Install OpenSSL shared
run: |
conan install openssl/1.1.1l@_/_ --build=missing --update -o openssl:shared=True -g deploy
cp openssl/bin/*.dll ./cura_inst/Scripts/
cp openssl/lib/*.lib ./cura_inst/Lib/
cp openssl/lib/*.so* ./cura_inst/bin/
cp openssl/lib/*.dylib* ./cura_inst/bin/
- name: Create the Cura dist
run: pyinstaller ./cura_inst/Ultimaker-Cura.spec