FedoraLisp.org

Updated: 24-Sept-2005.

This site provides a Lisp-oriented, i386-architecture Yum repository for Fedora and Red Hat Linux systems. It's a bit sparse right now, but all the basics are here. I'll be building it out as I get more time and energy.

The packages that are part of this repository have little bits of "value added" integration that either let them play together better or are better integrated into a Fedora system. For instance, SBCL and SLIME info files are installed by default and may be invoked from the command line with info sbcl or info slime. The CLHS package sets itself up so that SLIME knows about it when it's installed; all CLHS lookups happen locally rather than going to the web. All this happens automatically when the RPMs are installed.

NOTE: Currently, this repository only has support for the newest versions of Yum distributed with Fedora Core 3 and above. If you are using an older version of Yum on Fedora Core 1 and 2, you'll have to wait until I add the support for these.

NOTE: Recently, SBCL appreared as part of Fedora Extras. The built-in Fedora Extras will conflict with the SBCL RPM available from this repository. Further, the SBCL in Fedora Extras is not guaranteed to be compatible with the version of SLIME that is available here (and as of 24-Sept-2005, it conflicts). If you want to use the version of SBCL available from Fedora Extras, you should probably not use FedoraLisp.org. If you want to use FedoraLisp.org, then you'll have to add a line reading exclude=sbcl to your /etc/yum.repos.d/fedora-extras.repo file. This will cause Yum to ignore the version of SBCL in Fedora Extras and use the Fedora Lisp version instead. In time, I'll try to correct the issue and find a solution that works well.

Yum Configuration

The Yum configuration is:

[fedoralisp-stable]
name=FedoraLisp.org (stable)
baseurl=http://www.fedoralisp.org/yum/fedora/$releasever/$basearch
gpgkey=http://www.fedoralisp.org/RPM-GPG-KEY
gpgcheck=1

Add this information to a file named something like fedoralisp-stable.repo in /etc/yum.repos.d/. To save you the trouble of editing, you can download the file from here and save it to your /etc/yum.repos.d/.

Packages

The currently supported packages are:

sbcl

Steel Bank Common Lisp. This is built from the monthly releases. I always enable threading which is only supported on 2.6.x Linux kernels. If you're using FC 3 or 4, you should have no problem.

NOTE: Versions of SBCL prior to 0.9.5 do not work with the memory randomization security features of recent 2.6.x Linux kernels, including the latest standard Fedora kernels for FC3 and FC4. To make older versions of SBCL work, you need to (as root):

echo 0 > /proc/sys/kernel/randomize_va_space

slime

Superior Lisp Interaction Mode for Emacs. This is compiled from CVS. Historically, SBCL and SLIME have been brittle when used together, with changes in SBCL often breaking SLIME. As I release a new SBCL, I'll try to ensure that I release an updated, compatible SLIME. Note that SLIME installs into /usr/share/emacs/site-lisp/slime/ and can be used easily by anyone on the machine. Simply add:

(setq inferior-lisp-program "sbcl")
(require 'slime)
(slime-setup)

to your .emacs file to get started. Note that this installation also associates *.asd files (ASDF system definitions) with lisp-mode. See /usr/share/emacs/site-lisp/site-start.d/slime-mode-init.el for more information.

clhs

The Common Lisp HyperSpec. This package contains a full copy of the CLHS. It installs locally into /usr/share/doc/clhs-<version>. It also includes a small integration with SLIME (contained in /usr/share/emacs/site-lisp/site-start.d/clhs-init.el) that directs SLIME to the local copy for lookups invoked with C-c C-d h.

mod_lisp

This is Marc Battyani's mod_lisp Apache module implementing a connection to a persistent Lisp process. See the mod_lisp page on Fractal Concept. You'll have to edit /etc/httpd/conf.d/lisp.conf appropriately for your configuration. Remember to restart the server with /usr/sbin/apachectl restart if it's already running.

Resources

For more information about Lisp programming, you can start at these two sites and work outward.

CLiki

Finding Lisp

Help

I regret that I'm unable to provide assistance for this repository at this time. If you find something amiss, however, please be sure to report it so I can correct it for the next guy. If you have suggestions for other code that would be appropriate for this repository, please let me know. Note that this repository is specifically trying to avoid overlapping with ASDF-Install. If a package is available using ASDF-Install, it's probably best to use that mechanism to install it rather than trying to repackage it for Yum.

In any case, you can contact me at dave findinglisp com.