Emacs from CVS

From SlackWiki
Revision as of 17:15, 19 May 2010 by Lambda-mon key (talk | contribs) (added note that Emacs no longer maintains CVS source tree -- Use Bazaar!)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

The development version of GNU Emacs offers several features over the official Slackware release (Emacs 22), for example Unicode support, multi-TTY, multiple X client frames and font rendering with Xft. Here is a SlackBuild that creates a package for Emacs 23.

Note that the SlackBuild pulls from the CVS server on Savannah, so you do not need to pull the repository first. If you do, put it in the indicated local cvs directory so that the script will do a "cvs update".

Installation

You should

removepkg emacs

before installing the Emacs 23 package, which will be installed as package emacs-cvs.

Emacs Sources Bazaar

As of 2009-12-27: GNU Emacs has switched from CVS version control to Bazaar.

In order to checkout the latest sources the original author's script: `emacs-cvs.SlackBuild'

The cvs chekcouts in the above script, e.g. lines:

cvs -d:pserver:anonymous@cvs.sv.gnu.org:/sources/emacs co emacs 

should be replaced with one line which initializes a branch:

bzr branch http://bzr.savannah.gnu.org/r/emacs/trunk emacs

and occurences of:

 
cvs co 

should be replaced with:

bzr update

This assumes you are simply using the bazaar repo to only pull changesets and is in keeping with the original author's script.

However, if you intend on making local changes to your branch of `Emacs trunk' it is recomended to first initialize a shared repository e.g.

bzr init-repo --2a emacs/
cd emacs/
bzr branch http://bzr.savannah.gnu.org/r/emacs/trunk trunk

and then branch a local tree `quickfixes' of your `local trunk'

bzr branch trunk/ quickfixes/

This will help keep your local branch checkout of the `Emacs trunk' pristine and help to avoid breaking automated builds of Emacs from bzr while also allowing local edits within the `quickfixes' branch.

Please see http://www.emacswiki.org/emacs/BzrForEmacsDevs for more.

Automatic Updates

I put the following script into /etc/cron.weekly and each Monday I get a newly-updated version of Emacs. I always keep the old package in case there is any problem with the new version.

#! /bin/sh
cd <full path to parent directory>
tar zxvf emacs-cvs.tar.gz
cd emacs-cvs
./emacs-cvs.SlackBuild |mail <yourself>

Problems? Comments?

I have had no problems with the current script. If you notice anything, please let me know.Trashbird1240