mirror of
https://github.com/GradienceTeam/Gradience.git
synced 2024-10-16 05:34:05 +00:00
e412a2c537
Signed-off-by: tfuxu <73042332+tfuxu@users.noreply.github.com> Co-authored-by: 0xMRTT <0xMRTT@evta.fr> Co-authored-by: 0xMRTT <0xMRTT@proton.me> Co-authored-by: daudix-UFO <ddaudix@gmail.com>
109 lines
3.4 KiB
Markdown
109 lines
3.4 KiB
Markdown
## 🙌 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](https://hosted.weblate.org/engage/GradienceTeam) platform.
|
|
|
|
[![Translations](https://hosted.weblate.org/widgets/GradienceTeam/-/gradience/287x66-white.png)](https://hosted.weblate.org/engage/GradienceTeam)
|
|
|
|
|
|
## 🏗️ 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.
|
|
|
|
1. Download [GNOME Builder](https://flathub.org/apps/details/org.gnome.Builder).
|
|
2. In Builder, click the "Clone Repository" button at the bottom, using `https://github.com/GradienceTeam/Gradience.git` as the URL.
|
|
3. 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:
|
|
```shell
|
|
flatpak install org.gnome.Sdk//44 org.gnome.Platform//44
|
|
```
|
|
|
|
#### Build Instruction
|
|
|
|
##### User installation
|
|
```shell
|
|
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
|
|
```shell
|
|
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`](https://jwestman.pages.gitlab.gnome.org/blueprint-compiler/setup.html)
|
|
- GTK 4 `gtk4`
|
|
- Libadwaita (>= 1.2.alpha) `libadwaita`
|
|
- Libsoup 3 (>= 3.2.0) `libsoup`
|
|
- Meson `meson`
|
|
- Ninja `ninja-build`
|
|
|
|
Required Python libraries:
|
|
|
|
```shell
|
|
pip install -r requirements.txt
|
|
```
|
|
|
|
#### Build Instruction
|
|
|
|
##### Global installation
|
|
|
|
```shell
|
|
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)
|
|
|
|
```shell
|
|
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 of `gradience-cli`.
|