dangerzone/BUILD.md

3.7 KiB

Development environment

Debian/Ubuntu

Install dependencies:

sudo apt install -y podman dh-python python3 python3-stdeb python3-pyside2.qtcore python3-pyside2.qtgui python3-pyside2.qtwidgets python3-appdirs python3-click python3-xdg python3-requests python3-colorama python3-psutil

Build the latest container:

./install/linux/build-image.sh

Run from source tree:

./dev_scripts/dangerzone

Create a .deb:

./install/linux/build-deb.py

Fedora

Install dependencies:

sudo dnf install -y rpm-build podman python3 python3-setuptools python3-pyside2 python3-appdirs python3-click python3-pyxdg python3-requests python3-colorama python3-psutil

Build the latest container:

./install/linux/build-image.sh

Run from source tree:

./dev_scripts/dangerzone

Create a .rpm:

./install/linux/build-rpm.py

macOS

Install Xcode from the App Store.

Install Docker Desktop. Make sure to choose your correct CPU, either Intel Chip or Apple Chip.

Install Python 3.9.9 from python.org.

Install Python dependencies:

pip3 install --user poetry
poetry install

Install Homebrew dependencies:

brew install create-dmg

Build the dangerzone container image:

./install/macos/build-image.sh

Run from source tree:

# start a shell in the virtual environment
poetry shell

# run the CLI
./dev_scripts/dangerzone-cli --help

# run the GUI
./dev_scripts/dangerzone

To create an app bundle, use the build_app.py script:

poetry run ./install/macos/build-app.py

If you want to build for distribution, you'll need a codesigning certificate, and then run:

poetry run ./install/macos/build-app.py --with-codesign

The output is in the dist folder.

Windows

Install Docker Desktop.

Install Python 3.9.9 (x86) from python.org. When installing it, make sure to check the "Add Python 3.9 to PATH" checkbox on the first page of the installer.

Install poetry. Open PowerShell, and run:

(Invoke-WebRequest -Uri https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py -UseBasicParsing).Content | python

Change to the dangerzone folder, and install the poetry dependencies:

poetry install

Build the dangerzone container image:

python .\install\windows\build-image.py

After that you can launch dangerzone during development with:

.\dev_scripts\dangerzone.bat
.\dev_scripts\dangerzone-cli.bat --help

If you want to build the installer

If you want to sign binaries with Authenticode

You'll need a code signing certificate.

To make a .exe

Open a command prompt, cd into the dangerzone directory, and run:

poetry run python .\setup-windows.py build

In build\exe.win32-3.9\ you will find dangerzone.exe, dangerzone-cli.exe, and all supporting files.

To build the installer

Note that you must have a codesigning certificate installed in order to use the install\windows\build-app.bat script, because it codesigns dangerzone.exe, dangerzone-cli.exe and Dangerzone.msi.

poetry run .\install\windows\build-app.bat

When you're done you will have dist\Dangerzone.msi.