3.9 KiB
Developers setup
Requirements
Diffuse depends on these projects:
- Python 3.8+
- PyPi
- Cairo and GObject Introspection development headers
- Meson
- Flatpak and Flatpak builder (Linux only)
Install the dependencies
Install the system dependencies
It's a bit difficult to get the command lines for all the systems, but these examples should be enough to find the packages on most systems.
Debian/Ubuntu
sudo apt install python3-pip libcairo2-dev libgirepository1.0-dev meson flatpak flatpak-builder
Note: Tested on Debian 11 (Buster) and Ubuntu 20.04 (Focal)
Fedora
sudo dnf install python-pip cairo-devel cairo-gobject-devel meson flatpak flatpak-builder
Note: Tested on Fedora 34
Mac OS
On Mac, all deps can be fetched using Homebrew.
brew install meson python3 py3cairo pygobject3 gtk+3 librsvg
Note: Tested on macOS 12.5 (Monterey)
You don't need to use pip
because the above brew
command installs all dependencies.
Install the project dependencies
To install the requirements just to execute the binary, run:
pip install -r requirements.txt
For developer tools, run this one instead (it includes requirements.txt):
pip install -r requirements.dev.txt
Setup
Setup on Linux using Flatpak
Build, test and install
To build, test and install Diffuse locally:
flatpak install runtime/org.gnome.Sdk/$(uname -p)/42
flatpak-builder --user --install build-flatpak io.github.mightycreak.Diffuse.yml
Run
To run Diffuse through Flatpak:
flatpak run io.github.mightycreak.Diffuse
Uninstall
To uninstall Diffuse:
flatpak remove io.github.mightycreak.Diffuse
Setup on Linux using Meson
Build and test
Diffuse is using Meson as its build system.
To build and test Diffuse:
meson setup build
cd build
meson compile
meson test
Install on system and run
To install Diffuse on your system (e.g. /usr/local/
):
meson install # requires admin privileges
To run Diffuse:
diffuse
Install in a custom directory and run
Meson allows to change the default installation directories, see command-line documentation.
To install Diffuse in a custom directory (e.g. ~/bin/diffuse
):
meson install --destdir ~/bin/diffuse
To run Diffuse:
export PYTHONPATH=$HOME/bin/diffuse/usr/local/share/diffuse
cd ~/bin/diffuse/usr/local/bin
./diffuse
Uninstall
To uninstall Diffuse afterwards:
sudo ninja uninstall -C build
sudo rm -v /usr/local/share/locale/*/LC_MESSAGES/diffuse.mo
Setup on Mac OS
Build and test
Diffuse is using Meson as its build system.
To build and test Diffuse:
meson setup build
cd build
meson compile
meson test
Install on system and run
To install Diffuse on your system (e.g. /usr/local/
):
meson install # requires admin privileges
To run Diffuse:
diffuse
Note: The diffuse
command can be used to launch Diffuse as a native Mac app
that is installed into /Applications/Diffuse.app
.
Setup on Windows (deprecated)
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).