Tough_Crowd/docs/developers.md

1.7 KiB

Developers documentation

Requirements

Diffuse is implemented in Python and should run on any platform with Python and PyGObject.

  • Python >= 3.4
  • PyGObject >= 3.18

Setup on Linux

Build, test and install using Flatpak

To install Diffuse locally:

flatpak install runtime/org.gnome.Sdk/$(uname -p)/3.38
flatpak-builder build-flatpak --user --install io.github.mightycreak.Diffuse.yml

To run Diffuse through Flatpak:

flatpak run io.github.mightycreak.Diffuse

To uninstall Diffuse:

flatpak remove io.github.mightycreak.Diffuse

Build, test and install using Meson

Diffuse build system is meson.

To install diffuse locally:

meson setup build
cd build
meson compile
meson test
meson install # requires admin privileges

To uninstall diffuse afterwards:

sudo ninja uninstall -C build
sudo rm -v /usr/local/share/locale/*/LC_MESSAGES/diffuse.mo

Meson allows to change the default installation directories, see command-line documentation.

Setup on Windows

Note: The Windows port is not maintained and would need some love. Contributions are very welcome! 😉

The windows-installer directory contains scripts for building an installable package for Windows that includes all dependencies.

Diffuse can be packaged as a portable application by copying the installation directory to a pen drive and creating a front end that sets the XDG_CONFIG_HOME and XDG_DATA_DIR environment variables prior to launching Diffuse. The XDG_CONFIG_HOME and XDG_DATA_DIR environment variables indicate where Diffuse should store persistent settings (eg. the path to a writable directory on the pen drive).