Merge pull request #1880 from onionshare/fix-macos-silicon-build

Adds packages in zip_include_packages as well
This commit is contained in:
Micah Lee 2024-02-28 07:54:23 -08:00 committed by GitHub
commit 3438f505e9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 90 additions and 69 deletions

View File

@ -238,8 +238,6 @@ Make the Apple Silicon app bundle:
```sh
/Library/Frameworks/Python.framework/Versions/3.11/bin/poetry run python ./setup-freeze.py bdist_mac
rm -rf build/OnionShare.app/Contents/Resources/lib
mv build/exe.macosx-10.9-universal2-3.11/lib build/OnionShare.app/Contents/Resources/
/Library/Frameworks/Python.framework/Versions/3.11/bin/poetry run python ./scripts/build-macos.py cleanup-build
```

View File

@ -167,12 +167,15 @@ def cleanup_build():
"QtWebEngineQuick",
"QtWebEngineQuickDelegatesQml",
]:
shutil.rmtree(
f"{app_path}/Contents/MacOS/lib/PySide6/Qt/lib/{framework}.framework"
)
print(
f"Deleted: {app_path}/Contents/MacOS/lib/PySide6/Qt/lib/{framework}.framework"
)
try:
shutil.rmtree(
f"{app_path}/Contents/MacOS/lib/PySide6/Qt/lib/{framework}.framework"
)
print(
f"Deleted: {app_path}/Contents/MacOS/lib/PySide6/Qt/lib/{framework}.framework"
)
except FileNotFoundError:
pass
try:
os.remove(f"{app_path}/Contents/MacOS/lib/PySide6/{framework}.abi3.so")
print(f"Deleted: {app_path}/Contents/MacOS/lib/PySide6/{framework}.abi3.so")

View File

@ -57,6 +57,86 @@ elif platform.system() == "Linux":
print("Install the patchelf package")
sys.exit()
build_exe_options = {
"packages": [
"cffi",
"engineio",
"engineio.async_drivers.gevent",
"engineio.async_drivers.gevent_uwsgi",
"gevent",
"jinja2.ext",
"onionshare",
"onionshare_cli",
"PySide6",
"shiboken6",
"PySide6.QtCore",
"PySide6.QtGui",
"PySide6.QtWidgets",
],
"excludes": [
"test",
"tkinter",
"PySide6.Qt3DAnimation",
"PySide6.Qt3DCore",
"PySide6.Qt3DExtras",
"PySide6.Qt3DInput",
"PySide6.Qt3DLogic",
"PySide6.Qt3DRender",
"PySide6.QtCharts",
"PySide6.QtConcurrent",
"PySide6.QtDataVisualization",
"PySide6.QtHelp",
"PySide6.QtLocation",
"PySide6.QtMultimedia",
"PySide6.QtMultimediaWidgets",
"PySide6.QtNetwork",
"PySide6.QtOpenGL",
"PySide6.QtOpenGLFunctions",
"PySide6.QtPositioning",
"PySide6.QtPrintSupport",
"PySide6.QtQml",
"PySide6.QtQuick",
"PySide6.QtQuickControls2",
"PySide6.QtQuickWidgets",
"PySide6.QtRemoteObjects",
"PySide6.QtScript",
"PySide6.QtScriptTools",
"PySide6.QtScxml",
"PySide6.QtSensors",
"PySide6.QtSerialPort",
"PySide6.QtSql",
"PySide6.QtTest",
"PySide6.QtTextToSpeech",
"PySide6.QtUiTools",
"PySide6.QtWebChannel",
"PySide6.QtWebEngine",
"PySide6.QtWebEngineCore",
"PySide6.QtWebEngineWidgets",
"PySide6.QtWebSockets",
"PySide6.QtXml",
"PySide6.QtXmlPatterns",
],
"include_files": include_files,
"include_msvcr": include_msvcr,
}
# If Mac Silicon, the dependencies need to be in zip_include_packages
if platform.system() == "Darwin" and platform.processor() == "arm":
build_exe_options["zip_include_packages"] = [
"cffi",
"engineio",
"engineio.async_drivers.gevent",
"engineio.async_drivers.gevent_uwsgi",
"gevent",
"jinja2.ext",
"PySide6",
"shiboken6",
"PySide6.QtCore",
"PySide6.QtGui",
"PySide6.QtWidgets",
]
setup(
name="onionshare",
version=version,
@ -68,67 +148,7 @@ setup(
),
options={
# build_exe, for Windows and macOS
"build_exe": {
"packages": [
"cffi",
"engineio",
"engineio.async_drivers.gevent",
"engineio.async_drivers.gevent_uwsgi",
"gevent",
"jinja2.ext",
"onionshare",
"onionshare_cli",
"PySide6",
"PySide6.QtCore",
"PySide6.QtGui",
"PySide6.QtWidgets",
],
"excludes": [
"test",
"tkinter",
"PySide6.Qt3DAnimation",
"PySide6.Qt3DCore",
"PySide6.Qt3DExtras",
"PySide6.Qt3DInput",
"PySide6.Qt3DLogic",
"PySide6.Qt3DRender",
"PySide6.QtCharts",
"PySide6.QtConcurrent",
"PySide6.QtDataVisualization",
"PySide6.QtHelp",
"PySide6.QtLocation",
"PySide6.QtMultimedia",
"PySide6.QtMultimediaWidgets",
"PySide6.QtNetwork",
"PySide6.QtOpenGL",
"PySide6.QtOpenGLFunctions",
"PySide6.QtPositioning",
"PySide6.QtPrintSupport",
"PySide6.QtQml",
"PySide6.QtQuick",
"PySide6.QtQuickControls2",
"PySide6.QtQuickWidgets",
"PySide6.QtRemoteObjects",
"PySide6.QtScript",
"PySide6.QtScriptTools",
"PySide6.QtScxml",
"PySide6.QtSensors",
"PySide6.QtSerialPort",
"PySide6.QtSql",
"PySide6.QtTest",
"PySide6.QtTextToSpeech",
"PySide6.QtUiTools",
"PySide6.QtWebChannel",
"PySide6.QtWebEngine",
"PySide6.QtWebEngineCore",
"PySide6.QtWebEngineWidgets",
"PySide6.QtWebSockets",
"PySide6.QtXml",
"PySide6.QtXmlPatterns",
],
"include_files": include_files,
"include_msvcr": include_msvcr,
},
"build_exe": build_exe_options,
# bdist_mac, making the macOS app bundle
"bdist_mac": {
"iconfile": os.path.join("onionshare", "resources", "onionshare.icns"),