Commit 859c26fa authored by Heather Ellsworth's avatar Heather Ellsworth

Merge branch 'master' into 'master'

Add gnome intro page, explaining tools and dev workflow

See merge request Librem5/developer.puri.sm!65
parents 1294a37b 1c96a58f
......@@ -5,6 +5,6 @@ Using flatpak
The `official flatpak documentation <http://docs.flatpak.org/en/latest/>`_ should be used as reference but we will provide some basic steps for installing flatpak on the dev system::
purism@pureos:~$ sudo apt-get install flatpak
purism@pureos:~$ sudo apt-get install flatpak flatpak-builder
purism@pureos:~$ flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
purism@pureos:~$ flatpak install flathub org.gnome.Platform//3.30
......@@ -5,25 +5,21 @@ GNOME Builder
.. note:: It is assumed that you have already gone through the :ref:`flatpak` section to setup flatpak on your x86 workstation.
*************************************
Setting up Builder for flatpak builds
*************************************
Builder is a fantastic IDE traditionally used for building GNOME GTK+ apps however the fun doesn't have to stop there. It can build KDE apps as long as there is flatpak metadata for the application - more on that later.
First, checkout the `official documentation for GNOME Builder <https://builder.readthedocs.io/en/latest/>`_ and go through the steps to install GNOME Builder on your workstation.
First, checkout the `official documentation for GNOME Builder <https://builder.readthedocs.io/en/latest/>`_
For this example, a nightly builder (version: 3.28.0-82-g8f6aa47) will be used.
**Install the stable version of GNOME Builder**::
It is assumed that you have both `flatpak` and `flatpak-builder` installed. Following the `Builder install instructions <https://builder.readthedocs.io/en/latest/installation.html>`_, you can install a nightly or stable version.
$ flatpak install flathub org.gnome.Builder
**If you have say a nightly build installed already, you can update it with**::
**Run GNOME Builder**::
$ flatpak update org.gnome.Builder//master
$ flatpak run org.gnome.Builder
**If you'd like to install a specific commit of GNOME Builder**::
**You can later update the stable version of GNOME Builder**::
$ flatpak update --commit=f34ee25c71ae org.gnome.Builder//master
$ flatpak update org.gnome.Builder
***************************************
Setting up QEMU on Debian based systems
......
.. _intro:
Introduction
=============
Apps for the Librem 5 will be typically built using the open source GTK+ toolkit. In fact many of the apps available will be ported from already existing GTK+ apps which are part of the GNOME environment. In your efforts to write an app or port a current app to the Librem 5, you are likely going to use GTK+ and the tooling around it for development.
*************************************
The tools
*************************************
- GNOME Builder
- flatpak, flatpak-builder (Your app package format)
- flatpak runtimes
- :ref:`Librem 5 emulator <qemu>`
- GTK+ (UI toolkit)
- GNOME environment (Librem 5 runs GNOME by default)
- libhandy (library with GTK+ widgets for mobile phones)
*************************************
The Workflow
*************************************
A typical developer workflow will involve something of this sort:
- Install flatpak and flatpak-builder
- Install GNOME Builder
- Git checkout a Gnome app to port, or start a new GNOME Application project within GNOME Builder
- Adjust dependencies for the project to pull in libhandy or other possible requirements
- Adjust project code and/or xml files for UI changes to accommodate for mobile
- Build a flatpak from GNOME Builder
- Copy flatpak into the emulator, install flatpak on emulator, run flatpak app on emulator
- Debug issues
- Rinse and repeat until your app works well on the Librem 5 emulator
- Contribute the app or port
......@@ -6,6 +6,7 @@ GNOME
.. toctree::
GNOME/Intro
GNOME/Flatpak_setup
GNOME/GBuilder
GNOME/Gtk+
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment