[gimp-web-devel/pat/bootstrap] content: fixing/rewording main build page.



commit 3a04d82103066efcfd120c7c1738099e22aeb43a
Author: Jehan <jehan girinstud io>
Date:   Wed Sep 7 12:30:31 2022 +0200

    content: fixing/rewording main build page.
    
    - Moving around dependencies (some stuff may have been plug-in only but
      are now used by core or at least libgimp*).
    - Removing libexif which is not a dependency anymore. Adding GExiv2
      instead.
    - Various markdown syntax fixes.
    - Various text fixes.
    - Moving the GIMP documentation section in its own page.

 content/core/setup/build-gimp-web.md | 34 +++++++++++++++
 content/core/setup/build/_index.md   | 80 +++++++++++++++---------------------
 2 files changed, 66 insertions(+), 48 deletions(-)
---
diff --git a/content/core/setup/build-gimp-web.md b/content/core/setup/build-gimp-web.md
new file mode 100644
index 0000000..4c1cb22
--- /dev/null
+++ b/content/core/setup/build-gimp-web.md
@@ -0,0 +1,34 @@
+---
+title: "Building GIMP documentation"
+Author: "GIMP team"
+Date: 2021-06-20
+weight: 2
+show_subs: false
+---
+
+To contribute to the documentation, you can also build the
+[documentation website](https://docs.gimp.org/).
+
+It uses `docbook` that requires some software, such as:
+
+* gettext
+* automake
+* docbook2odf
+* pngcrush
+* pngnq
+* docbook-xsl
+* docbook-utils
+* dblatex
+
+Now, to build the documentation:
+
+```sh
+ git clone --depth=0 git gitlab gnome org:GNOME/gimp-help.git
+ cd gimp-help
+ # Set this variable to your own language. It should correspond to a directory in the "po" source folder.
+ export LINGUAS=en
+ ./autogen.sh [--without-gimp ALL_LINGUAS="en"]
+ make
+ make pdf-local
+```
+
diff --git a/content/core/setup/build/_index.md b/content/core/setup/build/_index.md
index af59ecb..ec322c9 100644
--- a/content/core/setup/build/_index.md
+++ b/content/core/setup/build/_index.md
@@ -8,8 +8,7 @@ show_subs: false
 
 This page describes how to build GIMP.
 
-See also the file [INSTALL](https://gitlab.gnome.org/GNOME/gimp/blob/gimp-2-10/INSTALL.in).
-That text file also describes how to build GIMP.
+See also the file [INSTALL](https://gitlab.gnome.org/GNOME/gimp/blob/gimp-2-10/INSTALL.in), within GIMP 
repository.
 
 ## Prerequisites
 
@@ -20,12 +19,14 @@ You should know how to use:
 ## GIMP's dependencies
 
 GIMP depends on quite a few libraries, including but not limited to:
-* [GLib](https://docs.gtk.org/glib/) – a library used by many gnome applications, containing utilities and 
common data structures for programs written in C.
-* [GObject](https://docs.gtk.org/gobject) - a library for implemnting objects (as in 
Object-Oriented-Programming) in C.
-* [GTK](https://developer-old.gnome.org/gtk2/stable/index.html) – a graphical toolkit for building 
cross-platform user interfaces. GIMP 2.99 and later need GTK 3.0.
+* [GLib](https://docs.gtk.org/glib/) – a library used by many GNOME applications, containing utilities and 
common data structures for programs written in C.
+* [GObject](https://docs.gtk.org/gobject) - a library for implementing objects (as in 
Object-Oriented-Programming) in C.
+* [GTK](https://developer-old.gnome.org/gtk2/stable/index.html) – a graphical toolkit for building 
cross-platform user interfaces. GIMP 2.10 needs GTK+2 whereas GIMP 2.99 and later need GTK 3.0.
+* [GExiv2](https://gitlab.gnome.org/GNOME/gexiv2/) - a library for manipulating exif data (image metadata).
 * [Cairo_(graphics)](https://www.cairographics.org/) – a 2D graphics library, used for drawing some of 
GIMP’s widget and also used by Gtk+.
-* Python-Cairo: Python bindings for Cairo
+* Python-Cairo: Python bindings for Cairo (not necessary anymore for GIMP 2.99 and later).
 * [Pango](https://docs.gtk.org/Pango/) – a library for laying out and rendering text, used also in Gtk+.
+* [liblcms](http://www.littlecms.com/)  - the Little Color Management System, a library for working with 
color profiles.
 * [libmypaint](https://github.com/mypaint/libmypaint/) - a painting library that allows a lot of flexibility 
for brushes; it needs both libmypaint (the libmypaint-v1 branch) and mypaint-brushes (the v1.3.x branch).
 
 GIMP's core depends also on two libraries which are mainly (but not only) intended to be used with GIMP:
@@ -35,11 +36,9 @@ GIMP's core depends also on two libraries which are mainly (but not only) intend
 Some of GIMP's plugins depend on (at least) the following libraries
 * [librsvg](https://wiki.gnome.org/Projects/LibRsvg) – a library for rendering 
[[Wikipedia:Scalable_Vector_Graphics|SVG]] files.
 * [libpng](http://www.libpng.org/pub/png/libpng.html) – a library for reading and writing 
[[Wikipedia:Portable_Network_Graphics|PNG]] image files. Used by Gtk+, GIMP and GEGL.
-* [libexif](http://libexif.sourceforge.net/) - a library for manipulating exif data (image metadata).
 * [libwmf](http://wvware.sourceforge.net/libwmf.html) - a library for working with [[Wikipedia:Windows 
Metafile|WMF]] files.
 * [libtiff](http://www.libtiff.org/) - a library for reading and writing 
[[Wikipedia:Tagged_Image_File_Format|TIFF]] image files.
 * [libjpeg](http://libjpeg.sourceforge.net/) - a library for reading and writing [[Wikipedia:JPEG|JPEG]] 
image files.
-* [liblcms](http://www.littlecms.com/)  - the Little Color Management System, a library for working with 
color profiles.
 This list is incomplete.
 
 See also the file [INSTALL](https://gitlab.gnome.org/GNOME/gimp/blob/gimp-2-10/INSTALL.in) (or equivalent 
[INSTALL](https://gitlab.gnome.org/GNOME/gimp/blob/master/INSTALL.in) in GIMP master for the development 
version).
@@ -61,7 +60,7 @@ If you're building GIMP from master, you may not want to install it in your syst
 You should then create another prefix directory where GIMP (and some dependencies) may be installed safely. 
On Linux you could use `$HOME/.local`. Let's name your custom prefix :
 
 ```sh
- GIMP_PREFIX=${HOME}/gimp_prefix
+ export GIMP_PREFIX=${HOME}/gimp_prefix
 ```
 
 3. Set some environment variables:
@@ -87,11 +86,10 @@ Some dependencies may be installed in this prefix too, so the build system shoul
  export ACLOCAL_FLAGS="-I $INSTALL_PREFIX/share/aclocal $ACLOCAL_FLAGS"
 ```
 
-Later, to run the GIMGIMP you have installed outside the usual places, you also need some of these 
environment variables.
-If you intend to frequently run the GIMP you have built, you may want to set some of these environment 
variables in your profile (a shell script that sets environment variables when you login).
+Later, to run the GIMP you have installed outside the usual places, you also need some of these environment 
variables.
+If you intend to frequently run your self-built GIMP, you may want to set some of these environment 
variables in your profile (a shell script that sets environment variables when you login).
 In particular, you may want to set `PATH` and `LD_LIBRARY_PATH`, which affect runtime.
 
-
 4. For Debian or derivatives (Ubuntu, Mint…) only:
 
 Additionally to the previous commands (not in replacement), update some variables this way if you use a 
Debian derivative:
@@ -102,7 +100,7 @@ Additionally to the previous commands (not in replacement), update some variable
   export LD_LIBRARY_PATH="${GIMP_PREFIX}/lib/${arch}:${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}"
 ```
 
-Note: The `"${var:+:$var}"` syntax prevents a trailing `":"` character in the variable, that may lead to 
issues (especially for `LD_LIBRARY_PATH`).
+*Note: The `"${var:+:$var}"` syntax prevents a trailing `":"` character in the variable, that may lead to 
issues (especially for `LD_LIBRARY_PATH`).*
 
 ## Download the source code
 
@@ -174,13 +172,13 @@ For both Libmypaint and Mypaint-brushes, use Autotools to install:
  cd ..
 ```
 
-### BABL and GEGL
+### babl and GEGL
 
 Babl and GEGL use Meson. The build needs to be out-of-source, but the process is simple.
 
 You can read the file `meson_options.txt` to find a list of options.
 
-You may enable Link-time optimization (meson option <code>b_lto</code>)to have better performance.
+You may enable Link-time optimization (meson option `b_lto`) to have better performance.
 
 ```sh
  cd babl
@@ -194,17 +192,22 @@ You may enable Link-time optimization (meson option <code>b_lto</code>)to have b
  ninja install
 ```
 
-Then repeat for gegl.
+Then repeat for GEGL.
 
 ### GIMP
 
 Finally, you're ready to build GIMP!
 
-You can choose between Autotools and Meson.
+For the stable branch (`gimp-2-10` for GIMP 2.10.x versions), you must build with autotools.
 
-Meson is much faster than Autotools, but newer so considered "beta" quality.
+For the unstable branch (`master` for GIMP 2.99 versions which will lead
+to future stable GIMP 3.0 branch), you can choose between Autotools and
+Meson. Note that meson is currently in intensive testing phase, and is
+recommended to packagers for bug reporting, in the process of becoming
+the next default build system. Yet the autotools build system still
+exist as fallback on `master` branch.
 
-####  Autotools build
+#### Autotools build
 
 The steps are similar to that for libmypaint, except that ./autogen.sh runs ./configure for you.
 
@@ -240,12 +243,20 @@ Then:
  make && make install
 ```
 
+*Note: it is also possible to build autotools out-of-tree, calling the
+`configure` script from another directory, i.e.:*
+
+```sh
+ mkdir _build && cd _build
+ ../configure --prefix=${GIMP_PREFIX} && make && make install
+```
+
 ####  Meson build
 
 You can configure the build with options.
 
-Options for the meson build of GIMP are described in the repository file <code>gimp/meson_options.txt</code>.
-In the example below, the line '-Dpython=true' is one such option.
+Options for the meson build of GIMP are described in the repository file `meson_options.txt`.
+In the example below, the line `-Dpython=true` is one such option.
 
 Meson itself also provides options, such as :
 
@@ -299,30 +310,3 @@ See the OS-specific pages for more specific advice:
 * [build/Linux](linux) - Building GIMP on Linux
 * [build/macOS](macos) - Building GIMP on macOS
 * [build/Windows](windows) - Building GIMP on Windows
-
-## Build the web GIMP documentation
-
-You can also build the [documentation website](https://docs.gimp.org/).
-
-It uses <code>docbook</code> that requires some softwares, such as:
-
-* gettext
-* automake
-* docbook2odf
-* pngcrush
-* pngnq
-* docbook-xsl
-* docbook-utils
-* dblatex
-
-Now, to build the documentation:
-
-```sh
- git clone --depth=0 git gitlab gnome org:GNOME/gimp-help.git
- cd gimp-help
- # Set this variable to your own language. It should correspond to a directory in the "po" source folder.
- export LINGUAS=en
- ./autogen.sh [--without-gimp ALL_LINGUAS="en"]
- make
- make pdf-local
-```


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