Project:XEmacs/XEmacs on Gentoo

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

Introduction

A Brief Overview

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

Differences for a Gentoo XEmacs installation

Overview

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.

XEmacs 21.5 - The new stable version

Upstream has declared that no updates will be done on the stable version 21.4. This includes no updates related to recent tool chain changes in gcc and clang. Changes that are strict and will refuse to accept many parts of the old code in the 21.4 version. This made maintaining 21.4 for Gentoo near impossible or at least a very tedious task.

Upstream has though been cooperative and willing to release 21.5.35 from the main development branch. This is the first 21.5 release since 21.5.34 was released 2013-06-24. So a great improvement over patching the 21.5.34 release. Most important this removes many problems and makes bug fixes easier since being closer to the main line development. Hence the decision to make 21.5 the new stable version of XEmacs for Gentoo.

To further simplify maintenance multi language support is now set by default. The mule use flag has therefor been removed. That is in line with the upstream development.

Experimental packages used in stable

For similar reasons upstream does currently only release packages in the experimental download area. This means that over time packages, as they are being updated by upstream, will start to use the experimental code base and will be stabilized as such.

Developer information

Introduction

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.