glfs/general/prog/clisp.xml
Bruce Dubbs b9874725d3 Many tags.
Mostly Programming and Xorg sections and dependencies.
2024-02-15 19:26:48 -06:00

246 lines
7.0 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../../general.ent">
%general-entities;
<!ENTITY clisp-download-http "&gnu-http;/clisp/latest/clisp-&clisp-version;.tar.bz2">
<!ENTITY clisp-download-ftp " ">
<!ENTITY clisp-md5sum "1962b99d5e530390ec3829236d168649">
<!ENTITY clisp-size "7.8 MB">
<!ENTITY clisp-buildsize "163 MB (add 8 MB for tests)">
<!ENTITY clisp-time "0.9 SBU (1.2 SBU with tests)">
]>
<sect1 id="clisp" xreflabel="Clisp-&clisp-version;">
<?dbhtml filename="clisp.html"?>
<title>Clisp-&clisp-version;</title>
<indexterm zone="clisp">
<primary sortas="a-Clisp">Clisp</primary>
</indexterm>
<sect2 role="package">
<title>Introduction to Clisp</title>
<para>
<application>GNU Clisp</application> is a Common Lisp implementation
which includes an interpreter, compiler, debugger, and many extensions.
</para>
&lfs121_checked;
<bridgehead renderas="sect3">Package Information</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>
Download (HTTP): <ulink url="&clisp-download-http;"/>
</para>
</listitem>
<listitem>
<para>
Download (FTP): <ulink url="&clisp-download-ftp;"/>
</para>
</listitem>
<listitem>
<para>
Download MD5 sum: &clisp-md5sum;
</para>
</listitem>
<listitem>
<para>
Download size: &clisp-size;
</para>
</listitem>
<listitem>
<para>
Estimated disk space required: &clisp-buildsize;
</para>
</listitem>
<listitem>
<para>
Estimated build time: &clisp-time;
</para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect3">Additional Downloads</bridgehead>
<itemizedlist spacing='compact'>
<listitem>
<para>
Optional patch: <ulink
url="&patch-root;/clisp-&clisp-version;-readline7_fixes-1.patch"/>
(required if building against libffcall)
</para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect3">Clisp Dependencies</bridgehead>
<bridgehead renderas="sect4">Recommended</bridgehead>
<para role="recommended">
<xref linkend="libsigsegv"/>
</para>
<bridgehead renderas="sect4">Optional</bridgehead>
<para role="optional">
<xref linkend="libnsl"/> and
<ulink url="https://www.gnu.org/software/libffcall/">libffcall</ulink>
</para>
</sect2>
<sect2 role="installation">
<title>Installation of Clisp</title>
<note>
<para>
This package does not support parallel build.
</para>
</note>
<para>
If you are building on a 32-bit system, work around a bug in GCC caused
by the latest version of binutils:
</para>
<screen><userinput remap="pre">case $(uname -m) in
i?86) export CFLAGS="${CFLAGS:--O2 -g} -falign-functions=4" ;;
esac</userinput></screen>
<para>
Remove two tests, which fail for unknown reasons:
</para>
<screen><userinput>sed -i -e '/socket/d' -e '/"streams"/d' tests/tests.lisp</userinput></screen>
<para>
Install <application>Clisp</application> by running the following
commands:
</para>
<para>
If you are building <application>clisp</application> against
<application>libffcall</application>, apply the patch to fix a build failure
with current <application>readline</application>:
</para>
<screen><userinput>patch -Np1 -i ../clisp-&clisp-version;-readline7_fixes-1.patch</userinput></screen>
<para>
Install <application>Clisp</application> by running the following
commands:
</para>
<screen><userinput>mkdir build &amp;&amp;
cd build &amp;&amp;
../configure --srcdir=../ \
--prefix=/usr \
--docdir=/usr/share/doc/clisp-&clisp-version; \
--with-libsigsegv-prefix=/usr &amp;&amp;
ulimit -s 16384 &amp;&amp;
make -j1</userinput></screen>
<para>
To test the results, issue: <command>make check</command>.
</para>
<para>
Now, as the <systemitem class="username">root</systemitem> user:
</para>
<screen role="root"><userinput>make install</userinput></screen>
</sect2>
<sect2 role="commands">
<title>Command Explanations</title>
<para>
<command>ulimit -s 16384</command>: this increases the maximum stack
size, as recommended by the <command>configure</command>.
</para>
<para>
<command>--docdir=/usr/share/doc/clisp-&clisp-version;</command>:
this ensures the html documentation will go into a versioned directory
instead of straight into <filename
class="directory">/usr/share/html/</filename>.
</para>
<para>
<command>--with-libsigsegv-prefix=/usr</command>: use this to tell
<command>configure</command> that you have installed
<package>libsigsegv</package> in /usr, otherwise it will not be
found.
</para>
<para>
<option>--with-libffcall-prefix=/usr</option>: use this to tell
<command>configure</command> that you have installed the optional
<package>libffcall</package> in /usr, otherwise like
<package>libsigsegv</package> it will not be found.
</para>
</sect2>
<sect2 role="content">
<title>Contents</title>
<segmentedlist>
<segtitle>Installed Programs</segtitle>
<segtitle>Installed Libraries</segtitle>
<segtitle>Installed Directories</segtitle>
<seglistitem>
<seg>
clisp, clisp-link
</seg>
<seg>
various static libraries in
<filename class="directory">/usr/lib/clisp-&clisp-version;/base/</filename>
</seg>
<seg>
/usr/lib/clisp-&clisp-version;
/usr/share/doc/clisp-&clisp-version;
/usr/share/emacs/site-lisp;
</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="clisp-prog">
<term><command>clisp</command></term>
<listitem>
<para>
is an ANSI Common Lisp compiler, interpreter, and debugger
</para>
<indexterm zone="clisp clisp-prog">
<primary sortas="b-clisp">clisp</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="clisp-link">
<term><command>clisp-link</command></term>
<listitem>
<para>
is used to link an external module to clisp
</para>
<indexterm zone="clisp clisp-link">
<primary sortas="b-clisp-link">clisp-link</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>