aboutsummaryrefslogtreecommitdiff
path: root/desktop/package/windows/build.py
diff options
context:
space:
mode:
Diffstat (limited to 'desktop/package/windows/build.py')
-rw-r--r--desktop/package/windows/build.py234
1 files changed, 0 insertions, 234 deletions
diff --git a/desktop/package/windows/build.py b/desktop/package/windows/build.py
deleted file mode 100644
index bbccbe46..00000000
--- a/desktop/package/windows/build.py
+++ /dev/null
@@ -1,234 +0,0 @@
-#!/usr/bin/env python3
-import os
-import inspect
-import subprocess
-import shutil
-import glob
-
-root = os.path.dirname(
- os.path.dirname(
- os.path.dirname(
- os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))
- )
- )
-)
-
-
-def run(cmd, cwd=None):
- subprocess.run(cmd, cwd=cwd, check=True)
-
-
-def main():
- cli_dir = os.path.join(root, "cli")
- desktop_dir = os.path.join(root, "desktop")
-
- print("○ Clean up from last build")
- if os.path.exists(os.path.join(cli_dir, "dist")):
- shutil.rmtree(os.path.join(cli_dir, "dist"))
- if os.path.exists(os.path.join(desktop_dir, "windows")):
- shutil.rmtree(os.path.join(desktop_dir, "windows"))
-
- print("○ Building onionshare-cli")
- run(["poetry", "install"], cli_dir)
- run(["poetry", "build"], cli_dir)
- whl_filename = glob.glob(os.path.join(cli_dir, "dist", "*.whl"))[0]
- whl_basename = os.path.basename(whl_filename)
- shutil.copyfile(whl_filename, os.path.join(desktop_dir, whl_basename))
-
- print("○ Create the binary")
- run(["briefcase", "create"], desktop_dir)
-
- print("○ Delete unused Qt5 DLLs to save space")
- for filename in [
- "plugins/assetimporters/assimp.dll",
- "plugins/assetimporters/uip.dll",
- "plugins/audio/qtaudio_wasapi.dll",
- "plugins/audio/qtaudio_windows.dll",
- "plugins/bearer/qgenericbearer.dll",
- "plugins/canbus/qtpassthrucanbus.dll",
- "plugins/canbus/qtpeakcanbus.dll",
- "plugins/canbus/qtsysteccanbus.dll",
- "plugins/canbus/qttinycanbus.dll",
- "plugins/canbus/qtvectorcanbus.dll",
- "plugins/canbus/qtvirtualcanbus.dll",
- "plugins/gamepads/xinputgamepad.dll",
- "plugins/generic/qtuiotouchplugin.dll",
- "plugins/geometryloaders/defaultgeometryloader.dll",
- "plugins/geometryloaders/gltfgeometryloader.dll",
- "plugins/geoservices/qtgeoservices_esri.dll",
- "plugins/geoservices/qtgeoservices_itemsoverlay.dll",
- "plugins/geoservices/qtgeoservices_mapbox.dll",
- "plugins/geoservices/qtgeoservices_nokia.dll",
- "plugins/geoservices/qtgeoservices_osm.dll",
- "plugins/mediaservice/dsengine.dll",
- "plugins/mediaservice/qtmedia_audioengine.dll",
- "plugins/mediaservice/wmfengine.dll",
- "plugins/platforminputcontexts/qtvirtualkeyboardplugin.dll",
- "plugins/platformthemes/qxdgdesktopportal.dll",
- "plugins/playlistformats/qtmultimedia_m3u.dll",
- "plugins/position/qtposition_positionpoll.dll",
- "plugins/position/qtposition_serialnmea.dll",
- "plugins/position/qtposition_winrt.dll",
- "plugins/printsupport/windowsprintersupport.dll",
- "plugins/qmltooling/qmldbg_debugger.dll",
- "plugins/qmltooling/qmldbg_inspector.dll",
- "plugins/qmltooling/qmldbg_local.dll",
- "plugins/qmltooling/qmldbg_messages.dll",
- "plugins/qmltooling/qmldbg_native.dll",
- "plugins/qmltooling/qmldbg_nativedebugger.dll",
- "plugins/qmltooling/qmldbg_preview.dll",
- "plugins/qmltooling/qmldbg_profiler.dll",
- "plugins/qmltooling/qmldbg_quickprofiler.dll",
- "plugins/qmltooling/qmldbg_server.dll",
- "plugins/qmltooling/qmldbg_tcp.dll",
- "plugins/renderers/openglrenderer.dll",
- "plugins/renderplugins/scene2d.dll",
- "plugins/scenegraph/qsgd3d12backend.dll",
- "plugins/sceneparsers/assimpsceneimport.dll",
- "plugins/sceneparsers/gltfsceneexport.dll",
- "plugins/sceneparsers/gltfsceneimport.dll",
- "plugins/sensorgestures/qtsensorgestures_plugin.dll",
- "plugins/sensorgestures/qtsensorgestures_shakeplugin.dll",
- "plugins/sensors/qtsensors_generic.dll",
- "plugins/sqldrivers/qsqlite.dll",
- "plugins/sqldrivers/qsqlodbc.dll",
- "plugins/sqldrivers/qsqlpsql.dll",
- "plugins/texttospeech/qtexttospeech_sapi.dll",
- "plugins/virtualkeyboard/qtvirtualkeyboard_hangul.dll",
- "plugins/virtualkeyboard/qtvirtualkeyboard_openwnn.dll",
- "plugins/virtualkeyboard/qtvirtualkeyboard_pinyin.dll",
- "plugins/virtualkeyboard/qtvirtualkeyboard_tcime.dll",
- "plugins/virtualkeyboard/qtvirtualkeyboard_thai.dll",
- "plugins/webview/qtwebview_webengine.dll",
- "qml/Qt/labs/animation/labsanimationplugin.dll",
- "qml/Qt/labs/calendar/qtlabscalendarplugin.dll",
- "qml/Qt/labs/folderlistmodel/qmlfolderlistmodelplugin.dll",
- "qml/Qt/labs/location/locationlabsplugin.dll",
- "qml/Qt/labs/lottieqt/lottieqtplugin.dll",
- "qml/Qt/labs/platform/qtlabsplatformplugin.dll",
- "qml/Qt/labs/qmlmodels/labsmodelsplugin.dll",
- "qml/Qt/labs/settings/qmlsettingsplugin.dll",
- "qml/Qt/labs/sharedimage/sharedimageplugin.dll",
- "qml/Qt/labs/wavefrontmesh/qmlwavefrontmeshplugin.dll",
- "qml/Qt3D/Animation/quick3danimationplugin.dll",
- "qml/Qt3D/Core/quick3dcoreplugin.dll",
- "qml/Qt3D/Extras/quick3dextrasplugin.dll",
- "qml/Qt3D/Input/quick3dinputplugin.dll",
- "qml/Qt3D/Logic/quick3dlogicplugin.dll",
- "qml/Qt3D/Render/quick3drenderplugin.dll",
- "qml/QtBluetooth/declarative_bluetooth.dll",
- "qml/QtCharts/qtchartsqml2.dll",
- "qml/QtDataVisualization/datavisualizationqml2.dll",
- "qml/QtGamepad/declarative_gamepad.dll",
- "qml/QtGraphicalEffects/private/qtgraphicaleffectsprivate.dll",
- "qml/QtGraphicalEffects/qtgraphicaleffectsplugin.dll",
- "qml/QtLocation/declarative_location.dll",
- "qml/QtMultimedia/declarative_multimedia.dll",
- "qml/QtNfc/declarative_nfc.dll",
- "qml/QtPositioning/declarative_positioning.dll",
- "qml/QtPurchasing/declarative_purchasing.dll",
- "qml/QtQml/Models.2/modelsplugin.dll",
- "qml/QtQml/qmlplugin.dll",
- "qml/QtQml/RemoteObjects/qtqmlremoteobjects.dll",
- "qml/QtQml/StateMachine/qtqmlstatemachine.dll",
- "qml/QtQml/WorkerScript.2/workerscriptplugin.dll",
- "qml/QtQuick/Controls/qtquickcontrolsplugin.dll",
- "qml/QtQuick/Controls/Styles/Flat/qtquickextrasflatplugin.dll",
- "qml/QtQuick/Controls.2/Fusion/qtquickcontrols2fusionstyleplugin.dll",
- "qml/QtQuick/Controls.2/Imagine/qtquickcontrols2imaginestyleplugin.dll",
- "qml/QtQuick/Controls.2/Material/qtquickcontrols2materialstyleplugin.dll",
- "qml/QtQuick/Controls.2/qtquickcontrols2plugin.dll",
- "qml/QtQuick/Controls.2/Universal/qtquickcontrols2universalstyleplugin.dll",
- "qml/QtQuick/Dialogs/dialogplugin.dll",
- "qml/QtQuick/Dialogs/Private/dialogsprivateplugin.dll",
- "qml/QtQuick/Extras/qtquickextrasplugin.dll",
- "qml/QtQuick/Layouts/qquicklayoutsplugin.dll",
- "qml/QtQuick/LocalStorage/qmllocalstorageplugin.dll",
- "qml/QtQuick/Particles.2/particlesplugin.dll",
- "qml/QtQuick/Pdf/pdfplugin.dll",
- "qml/QtQuick/PrivateWidgets/widgetsplugin.dll",
- "qml/QtQuick/Scene2D/qtquickscene2dplugin.dll",
- "qml/QtQuick/Scene3D/qtquickscene3dplugin.dll",
- "qml/QtQuick/Shapes/qmlshapesplugin.dll",
- "qml/QtQuick/Templates.2/qtquicktemplates2plugin.dll",
- "qml/QtQuick/Timeline/qtquicktimelineplugin.dll",
- "qml/QtQuick/VirtualKeyboard/qtquickvirtualkeyboardplugin.dll",
- "qml/QtQuick/VirtualKeyboard/Settings/qtquickvirtualkeyboardsettingsplugin.dll",
- "qml/QtQuick/VirtualKeyboard/Styles/qtquickvirtualkeyboardstylesplugin.dll",
- "qml/QtQuick/Window.2/windowplugin.dll",
- "qml/QtQuick/XmlListModel/qmlxmllistmodelplugin.dll",
- "qml/QtQuick.2/qtquick2plugin.dll",
- "qml/QtQuick3D/Effects/qtquick3deffectplugin.dll",
- "qml/QtQuick3D/Helpers/qtquick3dhelpersplugin.dll",
- "qml/QtQuick3D/Materials/qtquick3dmaterialplugin.dll",
- "qml/QtQuick3D/qquick3dplugin.dll",
- "qml/QtRemoteObjects/qtremoteobjects.dll",
- "qml/QtScxml/declarative_scxml.dll",
- "qml/QtSensors/declarative_sensors.dll",
- "qml/QtTest/qmltestplugin.dll",
- "qml/QtWebChannel/declarative_webchannel.dll",
- "qml/QtWebEngine/qtwebengineplugin.dll",
- "qml/QtWebSockets/declarative_qmlwebsockets.dll",
- "qml/QtWebView/declarative_webview.dll",
- "Qt5DBus.dll",
- "Qt5PrintSupport.dll",
- "Qt5Script.dll",
- "Qt5ScriptTools.dll",
- "Qt5Scxml.dll",
- "Qt5Sensors.dll",
- "Qt5SerialBus.dll",
- "Qt5SerialPort.dll",
- "Qt5Sql.dll",
- "Qt5Svg.dll",
- "Qt5Test.dll",
- "Qt5TextToSpeech.dll",
- "Qt5VirtualKeyboard.dll",
- "Qt5WebChannel.dll",
- "Qt5WebEngine.dll",
- "Qt5WebEngineCore.dll",
- "Qt5WebEngineWidgets.dll",
- "Qt5WebSockets.dll",
- "Qt5WebView.dll",
- "Qt5Xml.dll",
- "Qt5XmlPatterns.dll",
- ]:
- os.remove(
- os.path.join(
- desktop_dir,
- "windows",
- "msi",
- "OnionShare",
- "src",
- "app_packages",
- "PySide2",
- filename.replace("/", "\\"),
- )
- )
-
- print("○ Create the installer")
- run(["briefcase", "package"], desktop_dir)
- msi_filename = glob.glob(os.path.join(desktop_dir, "windows", "OnionShare-*.msi"))[
- 0
- ]
- print(f"○ Created unsigned installer: {msi_filename}")
-
- print("○ Signing installer")
- run(
- [
- "signtool.exe",
- "sign",
- "/v",
- "/d",
- "OnionShare",
- "/a",
- "/tr",
- "http://time.certum.pl/",
- msi_filename,
- ],
- desktop_dir,
- )
- print(f"○ Signed installer: {msi_filename}")
-
-
-if __name__ == "__main__":
- main()