Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| xfce:building [2021/04/22 17:46] – [Package specific dependencies] ochosi | xfce:building [2026/02/11 15:49] (current) – Add build instructions for meson andreldm | ||
|---|---|---|---|
| Line 17: | Line 17: | ||
| First you will need to decide on which version of Xfce that you want to compile. Xfce version numbers are constructed like this: 1.2.3 => major.minor.micro. If the minor version is an even number, this means that it is a stable release. An odd numbered minor version indicate a development, | First you will need to decide on which version of Xfce that you want to compile. Xfce version numbers are constructed like this: 1.2.3 => major.minor.micro. If the minor version is an even number, this means that it is a stable release. An odd numbered minor version indicate a development, | ||
| - | The latest releases available can be found on the [[http:// | + | The latest releases available can be found on the [[https://www.xfce.org/ |
| ---- | ---- | ||
| Line 31: | Line 31: | ||
| Xfce packages have two types of releases: collection releases and individual releases. Click the links below to open the relevant download location. | Xfce packages have two types of releases: collection releases and individual releases. Click the links below to open the relevant download location. | ||
| - | * [[http:// | + | * [[https:// |
| - | * [[http:// | + | * [[https:// |
| ==== From the code repository ==== | ==== From the code repository ==== | ||
| Line 44: | Line 44: | ||
| git clone https:// | git clone https:// | ||
| - | After the repository is cloned, you will need to choose which branch you want to compile. By default, the '' | + | After the repository is cloned, you will need to choose which branch you want to compile. By default, the '' |
| - | To switch to another branch ('' | + | To switch to another branch ('' |
| - | git checkout --track origin/ | + | git checkout --track origin/ |
| After this, you can update your local copy of the repository with git pull and switch to another branch with '' | After this, you can update your local copy of the repository with git pull and switch to another branch with '' | ||
| Line 63: | Line 63: | ||
| * [[http:// | * [[http:// | ||
| * Gtk+ and Glib headers, in some distributions called the -devel packages | * Gtk+ and Glib headers, in some distributions called the -devel packages | ||
| - | * Xfce 4.14 requires Gtk+ 3.22 and Glib 2.42 | + | * Xfce 4.20 requires Gtk+ 3.24 and Glib-2.0 >= 2.72 (See also: [[https:// |
| - | * Xfce 4.12 requires Gtk+ 2.24 and Glib | + | * Same version for gmodule-2.0, gobject-2.0, gthread-2.0, |
| + | * gdk-pixbuf-2.0 >= 2.42.8 | ||
| + | * gobject-introspection >= 1.72 | ||
| + | * wayland 1.20 | ||
| + | * wayland-protocols 1.25 | ||
| + | * gtk-layer-shell 0.7.0 | ||
| * pkgconfig | * pkgconfig | ||
| + | * meson (Xfce 4.21+) | ||
| * Coffee or tea | * Coffee or tea | ||
| - | For history, here are the versions needed for older xfce releases, which are not supported anymore | + | For history, here are the versions needed for older Xfce releases: |
| + | * Xfce 4.18 requires Gtk+ 3.24 and Glib 2.66 | ||
| + | * Xfce 4.16 requires Gtk+ 3.22 and Glib 2.50 | ||
| + | * Xfce 4.14 requires Gtk+ 3.22 and Glib 2.42 | ||
| + | * Xfce 4.12 requires Gtk+ 2.24 and Glib | ||
| * Xfce 4.10 requires Gtk+ 2.20 and Glib 2.24 | * Xfce 4.10 requires Gtk+ 2.20 and Glib 2.24 | ||
| * Xfce 4.8 requires Gtk+ 2.14 and Glib 2.20 | * Xfce 4.8 requires Gtk+ 2.14 and Glib 2.20 | ||
| Line 79: | Line 89: | ||
| The Xfce packages need to be built in a specific order. If you don't follow this, compile options might not be available or the configure stage will abort because of missing dependencies. | The Xfce packages need to be built in a specific order. If you don't follow this, compile options might not be available or the configure stage will abort because of missing dependencies. | ||
| - | * xfce4-dev-tools (only required if you build from GIT) | + | * xfce4-dev-tools (only required if you build with autotools and from GIT) |
| * libxfce4util | * libxfce4util | ||
| * xfconf | * xfconf | ||
| Line 112: | Line 122: | ||
| ---- | ---- | ||
| - | ===== Building the packages ===== | + | |
| + | ===== Building the packages | ||
| + | |||
| + | <note important> | ||
| + | |||
| + | Now it is finally time to start compiling the Xfce desktop. Last remaining thing is to choose an installation location. Possible examples are ''/ | ||
| + | |||
| + | ==== Compiling and installing ==== | ||
| + | |||
| + | Next step is compiling the various packages following the dependency chain above. If you have downloaded the tarballs, you will need to unpack them before going on. Inside each package directory you should run the following command: | ||
| + | |||
| + | meson setup --prefix=${PREFIX} build && meson compile -C build && meson install -C build | ||
| + | |||
| + | Specific setup options for each package can be shown with '' | ||
| + | |||
| + | However, if you want to provide backtraces or test new code, no binary stripping, no optimizations and leaving debug enabled are recommended. | ||
| + | |||
| + | If you install the package in a public prefix, for example ''/ | ||
| + | |||
| + | [[|Back To Top]] | ||
| + | ---- | ||
| + | |||
| + | ===== Building the packages (autotools) ===== | ||
| + | |||
| + | <note important> | ||
| ==== Installation location and variables ==== | ==== Installation location and variables ==== | ||
| Line 166: | Line 201: | ||
| ===== Finding additional Help ===== | ===== Finding additional Help ===== | ||
| - | Hopefully everything went fine after reading this guide. If you still have problems or questions you can ask on the [[http:// | + | Hopefully everything went fine after reading this guide. If you still have problems or questions you can ask on the [[https://www.xfce.org/ |
| Have fun building Xfce! | Have fun building Xfce! | ||
| Line 172: | Line 207: | ||
| [[|Back To Top]] | [[|Back To Top]] | ||
| ---- | ---- | ||
| - | [[: | + | [[: |