-
-
Notifications
You must be signed in to change notification settings - Fork 1.9k
/
hook-PyQt5.QtNetwork.py
32 lines (28 loc) · 1.41 KB
/
hook-PyQt5.QtNetwork.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#-----------------------------------------------------------------------------
# Copyright (c) 2013-2021, PyInstaller Development Team.
#
# Distributed under the terms of the GNU General Public License (version 2
# or later) with exception for distributing the bootloader.
#
# The full license is in the file COPYING.txt, distributed with this software.
#
# SPDX-License-Identifier: (GPL-2.0-or-later WITH Bootloader-exception)
#-----------------------------------------------------------------------------
import os.path
from PyInstaller.utils.hooks import eval_statement
from PyInstaller.utils.hooks.qt import add_qt5_dependencies, pyqt5_library_info
from PyInstaller.compat import is_win
# Ensure PyQt5 is importable before adding info depending on it.
if pyqt5_library_info.version is not None:
hiddenimports, binaries, datas = add_qt5_dependencies(__file__)
# Add libraries needed for SSL if these are available. See issue #3520, #4048.
if (is_win and eval_statement("""
from PyQt5.QtNetwork import QSslSocket
print(QSslSocket.supportsSsl())""")):
binaries = []
for dll in ('libeay32.dll', 'ssleay32.dll', 'libssl-1_1-x64.dll',
'libcrypto-1_1-x64.dll'):
dll_path = os.path.join(pyqt5_library_info.location['BinariesPath'],
dll)
if os.path.exists(dll_path):
binaries.append((dll_path, '.'))