Skip to content

Creating Binary Packages

Mark Jessop edited this page Apr 28, 2024 · 17 revisions

Windows

This all assumes you have the horus-gui source somewhere on your computer, either acquired via git or from a downloaded archive from the releases page. The commands below should be run within the horus-gui directory.

Setting up to run Horus-GUI

Python 3.11 notes (Windows 10 or newer only)

Horus-GUI seems to run OK under Python 3.11.3 on Windows 10/11.

  • Download: https://www.python.org/ftp/python/3.11.3/python-3.11.3-amd64.exe
    • When installing, you can choose to have python added to your system path.
  • Open a command prompt and run python to make sure you're running the right version.
  • Make venv: python -m venv venv
    • If you have multiple installs of python, you will need to replace 'python' with the full path to python.exe e.g.: C:\Users\USERNAME\AppData\Local\Programs\Python\Python311\python.exe -m venv venv
  • Enter venv: venv\Scripts\activate.bat
  • Then get rest of dependencies with: pip install -r requirements.txt
    • Note there is no need to get pyaudio separately, we can just get this via pip in this version!
  • Download libhorus.dll and put into the current directory: https://github.com/projecthorus/horusdemodlib/releases/download/v0.1.21/libhorus.dll
  • Can now test starting Horus-GUI by running: python horus-gui.py
    • Seems to be some issues finding libhorus.dll, so we can override the lib search path by running: python horus-gui.py --libfix

Building a EXE file

  • pip install pyinstaller

  • Copy the following DLLs from a MinGW-64 installation (C:\mingw64\bin) into the current directory:

    • libgcc_s_seh-1.dll
    • libwinpthread-1.dll
    • libstdc++-6.dll
  • Now run: pyinstaller horus-gui_win.spec

  • Should build OK!

  • This will create a directory 'dist/' with horus-gui.exe in it! That's it!

OSX

(Assuming you have Python 3.7 available via Macports)

  • Get to the point of having horus-gui running from the terminal, by following the instructions on the main README.md
  • Note that you need to have horusdemodlib in a directory up from horus-gui (e.g. ../horusdemodlib/ exists, and is built. In particular, we need ../horusdemodlib/build/src/libhorus.dylib)
  • pip install pyinstaller
  • pyinstaller horus-gui_osx.spec

Then, you will need to edit the Info.plist file within the generated appbundle, and add into the <dict> section:

	<key>NSMicrophoneUsageDescription</key>
	<string>Horus-GUI needs audio access to receive telemetry.</string>
Clone this wiki locally