3.4 KiB
🙌 Contribute to Gradience
Code
Fork this repository, then create a push request when you're done adding features or fixing bugs.
Localization
You can help Gradience translate into your native language. If you found any typos or think you can improve a translation, you can use the Weblate platform.
🏗️ Building from source
GNOME Builder
GNOME Builder is the environment used for developing this application. It can use Flatpak manifests to create a consistent building and running environment cross-distro. Thus, it is highly recommended you use it.
- Download GNOME Builder.
- In Builder, click the "Clone Repository" button at the bottom, using
https://github.com/GradienceTeam/Gradience.git
as the URL. - Click the build button at the top once the project is loaded.
Flatpak Builder
flatpak-builder
is a wrapper around the flatpak build
command that automates the building of applications and their dependencies.
It uses Flatpak manifests to download and pack needed dependencies with compiled program into a single Flatpak image that can be later distributed or installed on your system. We recommend this method if you have problems with GNOME Builder.
Prerequisites
- Flatpak Builder
flatpak-builder
- GNOME SDK runtime
org.gnome.Sdk//44
- GNOME Platform runtime
org.gnome.Platform//44
Install required runtimes:
flatpak install org.gnome.Sdk//44 org.gnome.Platform//44
Build Instruction
User installation
git clone https://github.com/GradienceTeam/Gradience.git
cd Gradience
git submodule update --init --recursive
flatpak-builder --install --user --force-clean repo/ build-aux/flatpak/com.github.GradienceTeam.Gradience.json
System installation
git clone https://github.com/GradienceTeam/Gradience.git
cd Gradience
git submodule update --init --recursive
flatpak-builder --install --system --force-clean repo/ build-aux/flatpak/com.github.GradienceTeam.Gradience.json
Meson
Prerequisites
The following packages are required to build Gradience:
- Python 3
python
- PyGObject
python-gobject
- Blueprint
blueprint-compiler
- GTK 4
gtk4
- Libadwaita (>= 1.2.alpha)
libadwaita
- Libsoup 3 (>= 3.2.0)
libsoup
- Meson
meson
- Ninja
ninja-build
Required Python libraries:
pip install -r requirements.txt
Build Instruction
Global installation
git clone https://github.com/GradienceTeam/Gradience.git
cd Gradience
git submodule update --init --recursive
meson setup builddir
meson configure builddir -Dprefix=/usr/local
sudo ninja -C builddir install
Local build (for testing and development purposes)
git clone https://github.com/GradienceTeam/Gradience.git
cd Gradience
git submodule update --init --recursive
meson setup builddir
meson configure builddir -Dprefix="$(pwd)/builddir"
ninja -C builddir install
ninja -C builddir run
Note
During testing and development, as a convenience, you can use the
local.sh
script to quickly rebuild local builds. If you want to use CLI in local builds, you should type:./local_cli.sh <command>
instead ofgradience-cli
.