[gimp-web-devel/pat/bootstrap] content: update the Build on Linux page.



commit 12d83beb336fb6dc99b7342b37913a12990ca58e
Author: Jehan <jehan girinstud io>
Date:   Wed Sep 7 13:22:24 2022 +0200

    content: update the Build on Linux page.
    
    - Add a section about supported distribution on advice to choose a
      distribution to contribute (as this is regularly asked).
    - Add info about `INSTALL` and build scripts to be the actual
      authoritative list for dependencies, not this tutorial.
    - Redirect to the Gitlab CI scripts as a good source for finding
      up-to-date build instructions.
    - Add tricks to install dependencies based on the GIMP package in the
      distribution you use. Such trick is available at least on Debian-based
      distribs (`apt build-dep`) and Fedora (`dnf builddep`) as far as I
      know.

 content/core/setup/build/Linux.md | 107 +++++++++++++++++++++++++++++++++++---
 1 file changed, 101 insertions(+), 6 deletions(-)
---
diff --git a/content/core/setup/build/Linux.md b/content/core/setup/build/Linux.md
index 723f8a3..b1c2dd0 100644
--- a/content/core/setup/build/Linux.md
+++ b/content/core/setup/build/Linux.md
@@ -9,20 +9,64 @@ The main GIMP building instructions are at [Building GIMP](../).
 
 This page is for Linux-specific additions to that page.
 
+## Supported Distributions
+
+GIMP can be installed on pretty much any GNU/Linux distribution out
+there. For the **stable branch** in particular, we take great care at
+not bumping the minimum requirements too often. We also try not to bump
+build tools (`meson`, `autotools`…) without a good reason.
+
+We allow a bit more flexibility for optional dependencies.
+
+For the **development branch**, requirements might be higher than the
+stable branch, though we also try to avoid bumping without very good
+reasons (and will try to find ways to use new features while still
+keeping an old requirement, for instance using macros to test the
+dependency version).
+
+A base rule is that we try to never bump a dependency if the minimum
+version is not already at least in [Debian
+testing](https://www.debian.org/distrib/packages) which acts as our base
+reference for the development branch of being "*reasonably recent yet
+not too recent*".
+
+As a general advice, software developers should anyway use distributions
+providing reasonably recent packages if you don't want to have to
+compile yourself too many dependencies. Ideally, in GIMP case, you
+should only have to build `babl`, `GEGL` and `GIMP`. All the rest could
+come from the package manager.
+
+Distributions commonly used by core GIMP developers are: Debian testing,
+Debian unstable and Fedora. Some passing contributors have also been
+using Arch or Gentoo. Other distributions with longer support, and
+especially LTS versions, can be quite unsuited for software development;
+as the installed version grow older, you end up having to build yourself
+more and more dependencies.
 
 ## Dependencies
 
-GIMP depends on many packages in addition to <code>babl</code>, <code>gegl</code>, <code>libmypaint</code> 
and <code>mypaint-brushes</code>.
+GIMP depends on many packages in addition to `babl`, `gegl`, `libmypaint` and `mypaint-brushes`.
 
-gimp.org may change the requirements for each GIMP release.
-gimp.org changes which packages are required.
-The package names generally do not change.
 Build options affect which packages are required.
 
-This page lists dependencies for some linux distributions, on certain dates, with all build options enabled.
+The requirements may change for each release, so the authoritative file
+should always be
+[INSTALL](https://gitlab.gnome.org/GNOME/gimp/blob/gimp-2-10/INSTALL.in)
+(equivalent [INSTALL](https://gitlab.gnome.org/GNOME/gimp/blob/master/INSTALL.in)
+for the development version), within the source repository instead.
+In unexpected cases where even `INSTALL` is missing information, the
+build system is the most authoritative source.
 
+Therefore this build tutorial is to be taken as a generic build helper
+or guidelines.
+If something does not work with the given commands, you are expected to
+try and understand error messages, because it will never be possible to
+keep this tutorial perfectly up-to-date with every possible
+distributions and environments out there.
 
-#### Ubuntu 19.10
+This page lists dependencies for some linux distributions, on certain dates, with all build options enabled.
+
+### Ubuntu 19.10
 
 Working in October 2019.
 
@@ -75,3 +119,54 @@ Added in 2020, when building optional vala language plugins, the vala compiler t
 Since Ubuntu 20.04 focal, the tool `gtk-encode-symbolic-svg`, an executable binary, has moved from package 
`gtk-3-examples` to package `libgtk-3-bin`.
 
 Since 2021, when building using the clang compiler, the OpenMP library i.e. `-lomp`: `libomp-dev`
+
+### Debian testing
+
+Since our <abbr title="Continuous Integration">CI</abbr> build uses
+Debian testing, and that we try to keep this build as full-featured and
+up-to-date as possible (because it is here to warn us of any new issue),
+if you use Debian testing, it might be a very good idea to look at the
+[.gitlab-ci.yml](https://gitlab.gnome.org/GNOME/gimp/-/blob/master/.gitlab-ci.yml)
+file in our repository.
+
+In particular, look at the `build-image` job for most dependencies
+installed from the package manager and at `deps-debian` job for the
+dependencies we build ourselves. Copying these commands might be all
+there is to do for you.
+
+### Other Debian flavors and derivatives
+
+If your distribution is Debian-based, you may also find the below trick
+useful.
+
+For Debian and derivative distributions (Ubuntu, Mint…), a good start
+would be to install the `build-essential` package. There exists also a
+special command which would install all the packages necessary to build
+the GIMP package. It gets you mostly there in a single command:
+
+```sh
+sudo apt build-dep gimp
+```
+
+You may get an error about incomplete `sources.list`:
+
+```sh
+$ sudo apt build-dep gimp
+Reading package lists... Done
+E: You must put some 'deb-src' URIs in your sources.list
+```
+
+If this happens, this forum thread gives a few hints on how to properly
+set your system with <abbr title="Command Line Interface">CLI</abbr> and
+<abbr title="Graphical User Interface">GUI</abbr> alternative methods:
+https://askubuntu.com/a/857433
+
+### Fedora
+
+Fedora has a similar command as Debian which will install all packages
+necessary to build the GIMP package. It gets you mostly there in a
+single command:
+
+```sh
+sudo dnf builddep gimp
+```


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]