diff options
author | Micah Lee <micah@micahflee.com> | 2024-02-28 07:54:23 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-28 07:54:23 -0800 |
commit | 3438f505e9bbab1f72939d3975d1ef55fadaa7c8 (patch) | |
tree | 55d37ff3dfc284206266bf2f38f89f32c5ca3709 | |
parent | e4d6a6947e6689612197a76d43371675d5f6b5d7 (diff) | |
parent | 2d22910c999f3960adf5e9fa136744e78e31b8ea (diff) | |
download | onionshare-3438f505e9bbab1f72939d3975d1ef55fadaa7c8.tar.gz onionshare-3438f505e9bbab1f72939d3975d1ef55fadaa7c8.zip |
Merge pull request #1880 from onionshare/fix-macos-silicon-build
Adds packages in zip_include_packages as well
-rw-r--r-- | RELEASE.md | 2 | ||||
-rw-r--r-- | desktop/scripts/build-macos.py | 15 | ||||
-rw-r--r-- | desktop/setup-freeze.py | 142 |
3 files changed, 90 insertions, 69 deletions
@@ -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 ``` diff --git a/desktop/scripts/build-macos.py b/desktop/scripts/build-macos.py index 8bbadfba..0d09ac72 100644 --- a/desktop/scripts/build-macos.py +++ b/desktop/scripts/build-macos.py @@ -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") diff --git a/desktop/setup-freeze.py b/desktop/setup-freeze.py index fe58be9d..d311a942 100644 --- a/desktop/setup-freeze.py +++ b/desktop/setup-freeze.py @@ -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"), |