Tough_Crowd/docs/developers.md

64 lines
1.5 KiB
Markdown
Raw Normal View History

# Developers documentation
## Setup on Linux
### Build, test and install using Flatpak
To install Diffuse locally:
```sh
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:
```sh
flatpak run io.github.mightycreak.Diffuse
```
To uninstall Diffuse:
```sh
flatpak remove io.github.mightycreak.Diffuse
```
### Build, test and install using Meson
Diffuse build system is meson.
To install diffuse locally:
```sh
meson setup build
cd build
meson compile
meson test
meson install # requires admin privileges
```
To uninstall diffuse afterwards:
```sh
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](https://mesonbuild.com/Commands.html#configure).
## 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).