# https://pynsist.readthedocs.io/en/latest/cfgfile.html

[Application]
name=git-cola
version=4.12.0
entry_point=cola.main:shortcut_launch
icon=cola/icons/git-cola.ico
extra_preamble=contrib/win32/pynsist-preamble.py
console=false

# We might want to pursue shell integration, which would at minimum require a
# custom template. https://pynsist.readthedocs.io/en/latest/design.html
# [Build]
# nsi_template=contrib/win32/pynsist-template.nsi

[Python]
version=3.9.13
bitness=64
include_msvcrt=true

[Shortcut git-dag]
entry_point=cola.dag:shortcut_launch
icon=cola/icons/git-cola.ico
extra_preamble=contrib/win32/pynsist-preamble.py

[Command git-cola]
entry_point=cola.main:main
extra_preamble=contrib/win32/pynsist-preamble.py

[Command git-cola-sequence-editor]
entry_point=cola.sequenceeditor:main
extra_preamble=contrib/win32/pynsist-preamble.py

[Command git-dag]
entry_point=cola.dag:main
extra_preamble=contrib/win32/pynsist-preamble.py

# To identify unused DLL files to exclude, we can use Process Explorer.
# https://docs.microsoft.com/en-us/sysinternals/downloads/process-explorer
# Run git-cola and use the Help->Keyboard Shortcut feature and the DAG feature.
# Take note of the loaded DLL files under the pythonw.exe process.
# This will also include windows and python DLL files.
# Sorting the DLL files list under Process Explorer by path will list
# the git-cola DLL files first together.
# This gives a list of necessary DLLs and the rest can be excluded.

[Include]
packages=cola
pypi_wheels= packaging==21.3
    notify_py==0.3.43
    PyQt5==5.15.4
    PyQt5-Qt5==5.15.2
    PyQt5-sip==12.8.1
    pywin32==306
    QtPy==2.4.1
    send2trash==1.8.2
files=share/
exclude= pkgs/PyQt5/Qt/bin/Qt5Bluetooth.dll
    pkgs/PyQt5/Qt/bin/Qt5DBus.dll
    pkgs/PyQt5/Qt/bin/Qt5Designer.dll
    pkgs/PyQt5/Qt/bin/Qt5Help.dll
    pkgs/PyQt5/Qt/bin/Qt5Location.dll
    pkgs/PyQt5/Qt/bin/Qt5Multimedia.dll
    pkgs/PyQt5/Qt/bin/Qt5MultimediaWidgets.dll
    pkgs/PyQt5/Qt/bin/Qt5NetworkAuth.dll
    pkgs/PyQt5/Qt/bin/Qt5Nfc.dll
    pkgs/PyQt5/Qt/bin/Qt5Positioning.dll
    pkgs/PyQt5/Qt/bin/Qt5PositioningQuick.dll
    pkgs/PyQt5/Qt/bin/Qt5PrintSupport.dll
    pkgs/PyQt5/Qt/bin/Qt5Qml.dll
    pkgs/PyQt5/Qt/bin/Qt5QmlModels.dll
    pkgs/PyQt5/Qt/bin/Qt5QmlWorkerScript.dll
    pkgs/PyQt5/Qt/bin/Qt5Quick.dll
    pkgs/PyQt5/Qt/bin/Qt5QuickControls2.dll
    pkgs/PyQt5/Qt/bin/Qt5QuickParticles.dll
    pkgs/PyQt5/Qt/bin/Qt5QuickShapes.dll
    pkgs/PyQt5/Qt/bin/Qt5QuickTemplates.dll
    pkgs/PyQt5/Qt/bin/Qt5QuickTemplates2.dll
    pkgs/PyQt5/Qt/bin/Qt5QuickTest.dll
    pkgs/PyQt5/Qt/bin/Qt5QuickWidgets.dll
    pkgs/PyQt5/Qt/bin/Qt5RemoteObjects.dll
    pkgs/PyQt5/Qt/bin/Qt5Sensors.dll
    pkgs/PyQt5/Qt/bin/Qt5SerialPort.dll
    pkgs/PyQt5/Qt/bin/Qt5Sql.dll
    pkgs/PyQt5/Qt/bin/Qt5Test.dll
    pkgs/PyQt5/Qt/bin/Qt5WebSockets.dll
    pkgs/PyQt5/Qt/bin/Qt5WinExtras.dll
    pkgs/PyQt5/Qt/bin/Qt5Xml.dll
    pkgs/PyQt5/Qt/bin/Qt5XmlPatterns.dll
    pkgs/PyQt5/Qt/bin/concrt140.dll
    pkgs/PyQt5/Qt/bin/d3dcompiler_47.dll
    pkgs/PyQt5/Qt/bin/libeay32.dll
    pkgs/PyQt5/Qt/bin/opengl32sw.dll
    pkgs/PyQt5/Qt/plugins/audio
    pkgs/PyQt5/Qt/plugins/generic
    pkgs/PyQt5/Qt/plugins/geometryloaders
    pkgs/PyQt5/Qt/plugins/geoservices
    pkgs/PyQt5/Qt/plugins/mediaservice
    pkgs/PyQt5/Qt/plugins/platforms/qminimal.dll
    pkgs/PyQt5/Qt/plugins/platforms/qoffscreen.dll
    pkgs/PyQt5/Qt/plugins/platforms/qwebgl.dll
    pkgs/PyQt5/Qt/plugins/platformthemes
    pkgs/PyQt5/Qt/plugins/playlistformats
    pkgs/PyQt5/Qt/plugins/position
    pkgs/PyQt5/Qt/plugins/printsupport
    pkgs/PyQt5/Qt/plugins/sceneparsers
    pkgs/PyQt5/Qt/plugins/sensorgestures
    pkgs/PyQt5/Qt/plugins/sensors
    pkgs/PyQt5/Qt/plugins/sqldrivers
    pkgs/PyQt5/Qt/plugins/styles
    pkgs/PyQt5/Qt/plugins/texttospeech
    pkgs/PyQt5/Qt/plugins/webview
    pkgs/PyQt5/QtBluetooth.pyd
    pkgs/PyQt5/QtDesigner.pyd
    pkgs/PyQt5/QtQml.pyd
    pkgs/PyQt5/QtQuick.pyd
    pkgs/PyQt5/QtQuickWidgets.pyd
