Xfce Wiki

Sub domains


The Xfce development tools are a collection of tools and macros for Xfce developers and people that want to build Xfce from Git In addition it contains the Xfce developer's handbook.

xfce-build containerized build environment

This project also contains the code to build and deploy xfce-build to the [xfce-build area on Docker Hub](https://hub.docker.com/repository/docker/xfce/xfce-build/). This container is the build environment used by Xfce to build the various projects. It can also be used as your own build environment as follows:

docker run --rm -u $(id -u ${USER}):$(id -g ${USER}) \
  --volume $(pwd):/tmp xfce/xfce-build:master /bin/bash \
  -c "cd /tmp; ./autogen.sh && make distcheck"

The steps to build the container are encoded in the [`Dockerfile`](Dockerfile) in this repository, and is built via the build job in [`.gitlab-ci.yml`](.gitlab-ci.yml).

CI templates for Xfce

The [CI folder](ci/) contains the build_project.yml template for building the various Xfce projects, as well as supporting scripts such as `build_libs.sh` which handles building any needed dependencies. This helps us avoid repeating the same build code in each project.

Release notes for 4.15.0

[Please note that this is a development release.]


This macro takes care of setting up the version numbering. It will define the following macros based on SEMVER and TAG:

  1. xdt_version
  2. xdt_version_major
  3. xdt_version_minor
  4. xdt_version_micro
  5. xdt_version_tag
  6. xdt_version_build
  7. xdt_debug_default

If TAG isn't specified, the xdt_version_tag and xdt_version_git will be empty and xdt_debug_default will be set to “minimum”, otherwise the xdt_version_build will contain a git hash and xdt_debug_default will be set to “yes”

Example usage:

AC_INIT([xfce4-someproject], [xdt_version()])

- XDT_I18N macro will now automatically find the linguas if none are specified during the autoconf run.

- Install m4 macros in default search dir. This makes autoconf find the macros by default.

By setting version via XDT_VERSION_INIT and using XDT_I18N without arguments, this is no longer necessary to use a separate configure.ac.in and a plain configure.ac can be used ! A big thank to Natanael Copa (ncopa) for his work on this part !

- xfce4-dev-tools now also handle the CI (docker container, .gitlab-ci.yml templates files etc) on our new gitlab instance. A merge request or a push to master to any of our projects automatically trigger a build. This will help us to catch errors quicker and have better quality. Thanks to Jason Yavorska and Simon Steinbeiss.

- New helpers are also available (xfce-get-release-notes, xfce-get-translations, xfce-update-news) to help our maintainers to do releases

Back to Top

Latest Release

  • xfce4-dev-tools 4.17.0 released (2021/07/25 18:34)
    xfce4-dev-tools 4.17.0 is now available for download from
    What is xfce4-dev-tools?
    The Xfce Development Tools are a set of scripts and m4/autoconf macros
    that ease build system maintenance.
    Release notes for 4.17.0
    [Please note that this is a development release.]
    This is the first development release of xfce-dev-tools 4.17.
    To all developers and contributors, please update :)
    Notable changes: 
    - Reduce the number of warnings at "./autogen.sh" stage. 
    - Simplify the "xdt-autogen" workflow by only calling "autoreconf"
    - autoconf 2.69+ is now needed (released almost 10 years ago)
    - Compilations warnings are now always enabled, whatever the
    "--enable-debug" mode used. This will help us catch compilers warnings.
    - Also, this version get rid of really old m4 macros/usages, like
    AM_GLIB_GNU_GETTEXT or glib-gettextize.
    - Try to build higher version available tag
    - xfce-do-release: A review of confirmation prompts
    - helpers: Improve script portability
    - Improve Xfce Developer Center (developer.xfce.org)
    - xdt-features.m4: Always enable compilation warnings
    - g_locale_to_utf8 is misspelled as g_local_to_utf8
    - xfce-build: Always pick the latest stable release
    - Create the m4/ if it does not exists
    - Use autoreconf to bootstrap xfce4-dev-tools itself
    - Use autoreconf to bootstrap autotools
    - xfce-do-release: Check for `docker` installed
    - Add dependencies to build thunarx-python CI
    - Fix location of apidocs
    - xfce-build: Fix conditional in gitlabci
    - Export apidocs as GitLab artifacts
    - Get rid of glib-gettextize usage and XGETTEXT_ARGS custom args
    - Remove obsolete AM_GLIB_GNU_GETTEXT
    - helpers: Fix command-line if git-config core.editor is unset
    - Update obsolete m4 macros
    - helpers: Add 'xfce-build describe' command

Previous Releases

Back to Top

Source Code Repository

Reporting Bugs

Back to Top

Back to main Xfce documentation page