
Align build instructions about Python Poetry, which where previously present only on MacOS and Windows. With this commit we: 1. Add Poetry instructions on Linux. 2. Add missing Poetry instructions on Windows, when running Dangerzone from source.
4.4 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-colorama
Install poetry:
python -m pip install poetry
Change to the dangerzone
folder, and install the poetry dependencies:
poetry install
Build the latest container:
./install/linux/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
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-colorama
Install poetry:
python -m pip install poetry
Change to the dangerzone
folder, and install the poetry dependencies:
poetry install
Build the latest container:
./install/linux/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
Create a .rpm:
./install/linux/build-rpm.py
macOS
Install Docker Desktop. Make sure to choose your correct CPU, either Intel Chip or Apple Chip.
Install the latest version of Python 3.10 from python.org, and make sure /Library/Frameworks/Python.framework/Versions/3.10/bin
is in your PATH
.
Install Python dependencies:
python3 -m pip install 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 the latest version of Python 3.10 (64-bit) from python.org. Make sure to check the "Add Python 3.10 to PATH" checkbox on the first page of the installer.
Install Microsoft Visual C++ 14.0 or greater. Get it with "Microsoft C++ Build Tools" and make sure to select "Desktop development with C++" when installing.
Install poetry. Open PowerShell, and run:
python -m pip install poetry
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:
# start a shell in the virtual environment
poetry shell
# run the CLI
.\dev_scripts\dangerzone-cli.bat --help
# run the GUI
.\dev_scripts\dangerzone.bat
If you want to build the installer
- Go to https://dotnet.microsoft.com/download/dotnet-framework and download and install .NET Framework 3.5 SP1 Runtime. I downloaded
dotnetfx35.exe
. - Go to https://wixtoolset.org/releases/ and download and install WiX toolset. I downloaded
wix311.exe
. - Add
C:\Program Files (x86)\WiX Toolset v3.11\bin
to the path.
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.10\
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
.