Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
xfce:building [2013/03/15 04:27] – [Source] Improved grammar kevinbowen | xfce:building [2019/06/22 12:13] – [Package specific dependencies] skunnyk | ||
---|---|---|---|
Line 17: | Line 17: | ||
===== Released packages ===== | ===== Released packages ===== | ||
- | Xfce packages have two types of releases. Click the links to open the the download locations. | + | Xfce packages have two types of releases. Click the links, below, |
- | * [[http:// | + | * [[http:// |
* [[http:// | * [[http:// | ||
===== From the code repository ===== | ===== From the code repository ===== | ||
- | For the latest code you need to make local copies of the GIT repositories, this is the place where developers submit their code. If you decide to use GIT, try to use the same branch for all the packages to avoid dependency version problems. | + | For the latest code, you need to make local copies of the [[https:// |
- | You first need to make clones of each GIT repository, like the command below, where '' | + | You first need to make clones of each GIT repository, like the command below, where '' |
- | git clone git:// | + | git clone https:// |
- | After the repository is cloned you 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 '' | ||
====== Dependencies ====== | ====== Dependencies ====== | ||
Line 46: | Line 45: | ||
* [[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.12 requires Gtk+ 2.24 and Glib | ||
+ | * pkgconfig | ||
+ | * Coffee or tea | ||
+ | |||
+ | |||
+ | For history, here are the versions needed for older xfce releases, which are not supported anymore | ||
* 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 | ||
* Xfce 4.6 requires Gtk+ 2.10 and Glib 2.12 | * Xfce 4.6 requires Gtk+ 2.10 and Glib 2.12 | ||
- | * pkgconfig | + | |
- | * Coffee | + | |
===== Xfce's dependency chain ===== | ===== Xfce's dependency chain ===== | ||
Line 59: | Line 64: | ||
* libxfce4util | * libxfce4util | ||
* xfconf | * xfconf | ||
- | * libxfce4ui, garcon, < | + | * libxfce4ui |
- | * exo | + | * garcon, |
- | * xfce4-panel | + | |
* thunar | * thunar | ||
- | * xfce4-settings, | + | * xfce4-panel, |
===== Package specific dependencies ===== | ===== Package specific dependencies ===== | ||
Line 73: | Line 77: | ||
| ^ Dependency(-ies) ^ Optional Dependency(-ies) ^ | | ^ Dependency(-ies) ^ Optional Dependency(-ies) ^ | ||
^ xfce4-dev-tools | autoconf, automake, intltool, pkgconfig | | | ^ xfce4-dev-tools | autoconf, automake, intltool, pkgconfig | | | ||
- | ^ libxfce4util | glib ((new in 4.10, was gobject in previous releaes)) | + | ^ libxfce4util | glib2 | | |
- | ^ xfconf | libxfce4util, | + | ^ xfconf | libxfce4util, |
^ libxfce4ui | libxfce4util, | ^ libxfce4ui | libxfce4util, | ||
- | ^ garcon | gio, libxfce4util | + | ^ garcon | gio, libxfce4util | | |
- | ^ libxfcegui4 ((deprecated, | + | ^ exo | libxfce4util, |
- | ^ exo | libxfce4util, | + | |
^ xfce4-panel | libxfce4ui, exo, garcon, libwnck | libstartup-notification | | ^ xfce4-panel | libxfce4ui, exo, garcon, libwnck | libstartup-notification | | ||
- | ^ thunar | libxfce4ui, exo, libpng, gtk+, glib | libexif, | + | ^ thunar | libxfce4ui, exo, libpng, gtk+, glib | libexif, |
- | ^ xfce4-settings | libxfce4ui, exo, xfconf, | + | ^ xfce4-settings | libxfce4ui, exo, xfconf, |
- | ^ xfce4-session | libxfce4ui, perl-xml-parser, | + | ^ xfce4-session | libxfce4ui, perl-xml-parser, |
- | ^ xfwm4 | libxfce4util, | + | ^ xfwm4 | libxfce4util, |
- | ^ xfdesktop | libxfce4ui, xfconf, libwnck, exo ((was optional in 4.8)) | thunarx, garcon, libnotify | | + | ^ xfdesktop | libxfce4ui, xfconf, libwnck, exo garcon |
- | ^ xfce4-appfinder | libxfce4ui, garcon, gio ((new dependency since 4.10)) | | | + | ^ xfce4-appfinder | libxfce4ui, garcon, gio | | |
- | ^ xfce-utils ((deprecated fince Xfce 4.10, file conflicts with other packages)) | libxfce4ui | dbus-glib | | + | ^ tumbler | dbus-glib, gio, gmodule, gdk-pixbuf | freetype-config (fonts), jpeg (jpeg thumbnails from exif), libffmpegthumbnailer (video), gstreamer-1.0 (video), poppler-glib (pdf), libgsf (odf), libopenraw-gnome (various raw images) | |
- | ^ gtk-xfce-engine-2 | gtk+ | | | + | |
- | ^ tumbler | dbus-glib, gio, gmodule, gdk-pixbuf | freetype-config (fonts), jpeg (jpeg thumbnails from exif), libffmpegthumbnailer (video), gstreamer-0.10 (video), poppler-glib (pdf), libgsf (odf), libopenraw-gnome (various raw images) | | + | |
====== Building ====== | ====== Building ====== | ||
Line 103: | Line 104: | ||
export CFLAGS=" | export CFLAGS=" | ||
- | | + | |
+ | If you want a debugging environment, | ||
+ | |||
+ | export CFLAGS="" | ||
===== Compiling and installing ===== | ===== Compiling and installing ===== | ||
- | Next step is compiling the various packages following the dependency chain above. If you have downloaded the tarballs, you need to unpack them before going on. Inside each package directory you should run the following command: | + | 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: |
./configure --prefix=${PREFIX} && make && make install | ./configure --prefix=${PREFIX} && make && make install | ||
Line 114: | Line 118: | ||
./ | ./ | ||
- | Specific configure options for each package can be shown with '' | + | Specific configure options for each package can be shown with '' |
+ | |||
+ | However, if you want to provide backtraces or test new code, no '' | ||
< | < | ||
- | If you install the package in a public prefix, for example ''/ | + | If you install the package in a public prefix, for example ''/ |
sudo make install | sudo make install | ||
+ | |||
+ | ==== Debug Levels ==== | ||
+ | |||
+ | Most Xfce modules use the m4 macro // | ||
+ | |||
+ | ? no | ||
+ | ! Cast checks and asserts in the Glib macros are disabled, this might be a tad faster, but it can results in segfaults and unexpected crashes. | ||
+ | ? minimum | ||
+ | ! This is the same as '' | ||
+ | ? yes | ||
+ | ! A number of '' | ||
+ | ? full | ||
+ | ! Same as the level above, including '' | ||
====== Help ====== | ====== Help ====== |