Project:XEmacs/XEmacs on Gentoo

From Gentoo Wiki
Jump to:navigation Jump to:search
This document describes how XEmacs is made available in Gentoo and how it differs from a vanilla XEmacs installation.


A Brief Overview

XEmacs is a highly customizable open source text editor and application development system.

Differences for a Gentoo XEmacs installation


Many elisp extensions for XEmacs are distributed as XEmacs packages. Some of these packages are needed for proper operation of XEmacs, such as the app-xemacs/xemacs-base package. Others are XEmacs-specific packages of applications that are also otherwise distributed. The packaged versions are known to work with XEmacs and may contain XEmacs-specific enhancements. In a normal XEmacs installation these packages can be installed using the built-in XEmacs package manager. In Gentoo the packages are provided as ebuilds, making updating and maintenance easier by using portage. An added benefit is that the xemacs USE flag can be used to pull in relevant XEmacs packages. For example, when emerging dev-lang/ruby with the xemacs USE flag you will also emerge the app-xemacs/ruby-modes packages, enabling ruby support in XEmacs. You can find the list of all packages in the app-xemacs/* category.

You may find it cumbersome to install each XEmacs package individually. The upstream solution to that is the distribution of the SUMO archive, which contains all packages in a single archive. Gentoo takes a different approach and provides app-xemacs/xemacs-packages-all that install all the XEmacs packages that are also distributed in the SUMO archive.

Gnome and GTK+ support in XEmacs currently only supports GTK 1.2 and GNOME 1.x. GNOME 1.x is no longer available through portage and GTK 1.2 is deprecated and will be removed some time in the future. For this reason there are no gnome and gtk USE flags for XEmacs.

After many years of low activity upstream has become more active and as of spring 2021 updated packages have been published in the experimental category. These are provided in the package tree keyworded for testing.

Future plans

XEmacs 21.5

Upstream development is currently focused on XEmacs 21.5, but this version is currently not yet stable enough for release or day-to-day use. Unfortunately only the 21.5 versions provide proper support for UTF-8, which is becoming more and more a requirement, so we expect to add a 21.5 release to the main tree. Until then the 21.5 version is in the package tree but keyworded for testing.

The official emacs overlay is currently not used for experimental XEmacs 21.5 ebuilds and experimental packages. These packages are instead provided in the package tree keyworded for testing.

Developer information


The following information is only relevant to Gentoo developers or other people who want to update or create ebuilds related to XEmacs.

Package to ebuild script

The app-xemacs/* ebuilds in portage are kept up-to-date with the released set of packages using a python script called pebuild originally written by Mats Lidell.