Skip to content

Contributing

Alessandro Iepure edited this page Mar 27, 2023 · 8 revisions

Devtoolbox is a Linux app built with Python using the GTK4 toolkit with libadwaita. The only officially supported packaging format is Flatpak.

Install from source code

To install the latest snapshot make sure you have the following dependencies on your system:

  • org.gnome.Platform 43 (flatpak)
  • org.gnome.Sdk 43 (flatpak)
  • flatpak-builder (system package manager)

Then use the following commands to build and install after creating the repo and build directories (they can have any name):

git clone https://github.com/aleiepure/devtoolbox.git
cd devtoolbox
flatpak-builder --repo=</path/to/repo/dir/> --force-clean --user </path/to/build/dir/> me.iepure.devtoolbox.json
flatpak remote-add --user devtoolbox devtoolbox --no-gpg-verify
flatpak install --user devtoolbox me.iepure.devtoolbox

To run the app use

flatpak run me.iepure.devtoolbox

Remember to uninstall any source-build versions before downloading the latest stable one from Flathub.

Translations

Translations are handled via Weblate. Feel free to add your language or contribute to an existing one.

Bundle creation and installation

Assuming an x86_64 architecture, run inside the working directory the following commands after creating the repo and build directories (they can have any name):

flatpak-builder --repo=</path/to/repo/dir/> --force-clean --user </path/to/build/dir/> me.iepure.devtoolbox.json
flatpak build-export --arch=x86_64 </path/to/repo/dir/> </path/to/build/dir/>
flatpak build-bundle --arch=x86_64 </path/to/repo/dir/> output.flatpak me.iepure.devtoolbox
flatpak install output.flatpak

Code contributions

When contributing to the source code, use the same style and conventions present in the files already in the repo. Along with GTK4, libadwaita and GtkSourceView widgets, several custom ones are also used. Refer to the corresponding documentation to learn how to use them:

REUSE

This project is REUSE compliant and thus all files must have a license clearly stated at the beginning using this format:

# Copyright (C) <year> <author name>
# SPDX-Licence-Identifier: <SPDX licence (i.e. GPL-3.0-or-later)>

using the appropriate comment syntax. If the file is in binary form or doesn't accept comments (i.e. JSON files) use the file .reuse/dep5 to list files and/or folders with the same information as above using the following syntax

Files: <relative path to file>, <relative path to file>, ...
Copyright: <year> <author name>
License: <SPDX licence (i.e. GPL-3.0-or-later)>

Files without extensions must be separated into their own section.

Please refer to the REUSE documentation to learn how to download and use their tools for compliance checks before opening a PR.

Clone this wiki locally