diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index 8bc30ad..08b3d61 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -76,16 +76,20 @@ jobs: run: | sudo apt-get update sudo apt-get install -y python3-tk python3-dev - sudo apt-get install -y libappindicator3-dev gir1.2-appindicator3-0.1 + # Pystray requirements + sudo apt-get install -y libgtk-3-dev python3-gi python3-gi-cairo gir1.2-gtk-3.0 + # Direct dependencies for system tray functionality + sudo apt-get install -y gir1.2-appindicator3-0.1 + # Additional libraries sudo apt-get install -y libcairo2-dev libgirepository1.0-dev + # For QR code display + sudo apt-get install -y python3-pil.imagetk - name: Install dependencies run: | python -m pip install --upgrade pip pip install pyinstaller pip install -r requirements.txt - pip install pycairo PyGObject - - name: Build executable run: | pyinstaller macropad_linux.spec diff --git a/macropad_linux.spec b/macropad_linux.spec index 0d9927c..f6f28d8 100644 --- a/macropad_linux.spec +++ b/macropad_linux.spec @@ -1,25 +1,39 @@ # -*- mode: python ; coding: utf-8 -*- +block_cipher = None a = Analysis( ['main.py'], pathex=[], binaries=[], datas=[], - hiddenimports=['qrcode', 'PIL', 'PIL._tkinter_finder', 'pystray._base', 'gi', 'gi.repository.AppIndicator3'], + hiddenimports=[ + 'qrcode', + 'PIL._tkinter_finder', + 'pystray._base', + 'gi', + 'gi.repository.Gtk', + 'gi.repository.AppIndicator3', + 'gi.repository.GdkPixbuf', + 'packaging.version', + 'packaging.specifiers', + 'packaging.requirements', + ], hookspath=[], hooksconfig={}, runtime_hooks=[], excludes=[], + win_no_prefer_redirects=False, + win_private_assemblies=False, + cipher=block_cipher, noarchive=False, - optimize=0, ) -pyz = PYZ(a.pure) - +pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher) exe = EXE( pyz, a.scripts, a.binaries, + a.zipfiles, a.datas, [], name='macropad', @@ -29,7 +43,7 @@ exe = EXE( upx=True, upx_exclude=[], runtime_tmpdir=None, - console=True, # Setting to True temporarily for debugging + console=True, # Set to True for debugging disable_windowed_traceback=False, argv_emulation=False, target_arch=None,