source: general/prog/guile.xml@ 1ef3927

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 7.10 7.4 7.5 7.6 7.6-blfs 7.6-systemd 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind gnome kde5-13430 kde5-14269 kde5-14686 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts krejzi/svn lazarus lxqt nosym perl-modules plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition systemd-11177 systemd-13485 trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 1ef3927 was 590724d, checked in by Randy McMurchy <randy@…>, 13 years ago

Added a patch to the Guile instructions to fix breakage using newer compilers, also fixed the documentation installation instructions

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@8698 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 8.3 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY guile-download-http "http://ftp.gnu.org/pub/gnu/guile/guile-&guile-version;.tar.gz">
8 <!ENTITY guile-download-ftp "ftp://ftp.gnu.org/pub/gnu/guile/guile-&guile-version;.tar.gz">
9 <!ENTITY guile-md5sum "991b5b3efcbbc3f7507d05bc42f80a5e">
10 <!ENTITY guile-size "3.9 MB">
11 <!ENTITY guile-buildsize "47 MB (additional 50 MB to install all the docs)">
12 <!ENTITY guile-time "1.2 SBU">
13]>
14
15<sect1 id="guile" xreflabel="Guile-&guile-version;">
16<?dbhtml filename="guile.html"?>
17
18 <sect1info>
19 <othername>$LastChangedBy$</othername>
20 <date>$Date$</date>
21 </sect1info>
22
23 <title>Guile-&guile-version;</title>
24
25 <indexterm zone="guile">
26 <primary sortas="a-Guile">Guile</primary>
27 </indexterm>
28
29 <sect2 role="package">
30 <title>Introduction to Guile</title>
31
32 <para>The <application>Guile</application> package contains the Project
33 GNU's extension language library. <application>Guile</application> also
34 contains a stand alone <application>Scheme</application> interpreter.</para>
35
36 <bridgehead renderas="sect3">Package Information</bridgehead>
37 <itemizedlist spacing="compact">
38 <listitem>
39 <para>Download (HTTP): <ulink url="&guile-download-http;"/></para>
40 </listitem>
41 <listitem>
42 <para>Download (FTP): <ulink url="&guile-download-ftp;"/></para>
43 </listitem>
44 <listitem>
45 <para>Download MD5 sum: &guile-md5sum;</para>
46 </listitem>
47 <listitem>
48 <para>Download size: &guile-size;</para>
49 </listitem>
50 <listitem>
51 <para>Estimated disk space required: &guile-buildsize;</para>
52 </listitem>
53 <listitem>
54 <para>Estimated build time: &guile-time;</para>
55 </listitem>
56 </itemizedlist>
57
58 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
59 <itemizedlist spacing="compact">
60 <listitem>
61 <para>Required patch: <ulink
62 url="&patch-root;/guile-&guile-version;-snarf-1.patch"/></para>
63 </listitem>
64 </itemizedlist>
65
66 <bridgehead renderas="sect3">Guile Dependencies</bridgehead>
67
68 <!-- <bridgehead renderas="sect4">Required</bridgehead>
69 <para role="required"><xref linkend="gmp"/></para> -->
70
71 <bridgehead renderas="sect4">Optional</bridgehead>
72 <para role="optional"><xref linkend="emacs"/></para>
73
74 <para condition="html" role="usernotes">User Notes:
75 <ulink url="&blfs-wiki;/guile"/></para>
76
77 </sect2>
78
79 <sect2 role="installation">
80 <title>Installation of Guile</title>
81
82 <para>Install <application>Guile</application> by running the following
83 commands:</para>
84
85<!-- <screen><userinput>./configure -prefix=/usr -enable-posix \
86 -disable-static -enable-networking -enable-regex &amp;&amp;
87make</userinput></screen> -->
88
89<screen><userinput>patch -Np1 -i ../guile-&guile-version;-snarf-1.patch &amp;&amp;
90./configure --prefix=/usr &amp;&amp;
91make &amp;&amp;
92
93makeinfo --plaintext -o doc/goops/goops.txt doc/goops/goops.texi &amp;&amp;
94makeinfo --plaintext -o doc/r5rs/r5rs.txt doc/r5rs/r5rs.texi &amp;&amp;
95makeinfo --plaintext -o doc/ref/guile.txt doc/ref/guile.texi &amp;&amp;
96makeinfo --plaintext -o doc/tutorial/guile-tut.txt \
97 doc/tutorial/guile-tut.texi &amp;&amp;
98
99for DIRNAME in goops r5rs ref tutorial
100do
101 make -k -C doc/${DIRNAME} html
102done &amp;&amp;
103unset DIRNAME</userinput></screen>
104
105 <para>If you have <xref linkend="tetex"/> installed and wish to
106 build alternate formats (PDF and postscript) of the documentation, issue
107 the following commands:</para>
108
109<screen><userinput>for DIRNAME in goops r5rs ref tutorial
110do
111 make -k -C doc/${DIRNAME} pdf ps
112done &amp;&amp;
113unset DIRNAME</userinput></screen>
114
115 <para>To test the results, issue: <command>make check</command>.</para>
116
117 <para>Now, as the <systemitem class="username">root</systemitem> user:</para>
118
119<screen role="root"><userinput>make install &amp;&amp;
120
121find examples -name "Makefile*" -exec rm {} \; &amp;&amp;
122install -v -m755 -d /usr/share/doc/guile-&guile-version; &amp;&amp;
123cp -v -R examples /usr/share/doc/guile-&guile-version; &amp;&amp;
124
125for DIRNAME in goops r5rs ref tutorial
126do
127 install -v -m755 -d /usr/share/doc/guile-&guile-version;/${DIRNAME} &amp;&amp;
128 install -v -m644 doc/${DIRNAME}/*.txt \
129 /usr/share/doc/guile-&guile-version;/${DIRNAME} &amp;&amp;
130 if [ -d doc/${DIRNAME}/${DIRNAME}.html ]; then
131 cp -v -R doc/${DIRNAME}/${DIRNAME}.html \
132 /usr/share/doc/guile-&guile-version;/${DIRNAME}
133 fi &amp;&amp;
134done &amp;&amp;
135
136install -v -m644 doc/goops/hierarchy.* \
137 /usr/share/doc/guile-&guile-version;/goops &amp;&amp;
138cp -v -R doc/ref/guile.html \
139 /usr/share/doc/guile-&guile-version;/ref &amp;&amp;
140cp -v -R doc/tutorial/guile-tut.html \
141 /usr/share/doc/guile-&guile-version;/tutorial &amp;&amp;
142unset DIRNAME</userinput></screen>
143
144 <para>If you built the alternate formats of the documentation, install them
145 using the following commands issued by the
146 <systemitem class="username">root</systemitem> user:</para>
147
148<screen role="root"><userinput>for DIRNAME in goops r5rs ref tutorial
149do
150 install -v -m644 doc/${DIRNAME}/*.{pdf,ps,dvi} \
151 /usr/share/doc/guile-&guile-version;/${DIRNAME}
152done</userinput></screen>
153
154 </sect2>
155
156 <sect2 role="content">
157 <title>Contents</title>
158
159 <segmentedlist>
160 <segtitle>Installed Programs</segtitle>
161 <segtitle>Installed Libraries</segtitle>
162 <segtitle>Installed Directories</segtitle>
163
164 <seglistitem>
165 <seg>guile, guile-config, guile-snarf, and guile-tools</seg>
166 <seg>libguile.{so,a}, libguile-srfi-srfi-*.{so,a} and
167 /libguilereadline-v-17.{so,a}</seg>
168 <seg>/usr/include/guile, /usr/include/libguile,
169 /usr/share/doc/guile-&guile-version; and /usr/share/guile</seg>
170 </seglistitem>
171 </segmentedlist>
172
173 <variablelist>
174 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
175 <?dbfo list-presentation="list"?>
176 <?dbhtml list-presentation="table"?>
177
178 <varlistentry id="guile-prog">
179 <term><command>guile</command></term>
180 <listitem>
181 <para>is a stand-alone Scheme interpreter for
182 <application>Guile</application>.</para>
183 <indexterm zone="guile guile-prog">
184 <primary sortas="b-guile">guile</primary>
185 </indexterm>
186 </listitem>
187 </varlistentry>
188
189 <varlistentry id="guile-config">
190 <term><command>guile-config</command></term>
191 <listitem>
192 <para>is a <application>Guile</application> script which provides
193 the information necessary to link your programs against the
194 <application>Guile</application> library, in much the same way
195 PkgConfig does.</para>
196 <indexterm zone="guile guile-config">
197 <primary sortas="b-guile-config">guile-config</primary>
198 </indexterm>
199 </listitem>
200 </varlistentry>
201
202 <varlistentry id="guile-snarf">
203 <term><command>guile-snarf</command></term>
204 <listitem>
205 <para>is a script to parse declarations in your
206 <application>C</application> code for <application>Scheme</application>
207 visible <application>C</application> functions, i
208 <application>Scheme</application> objects to be used by
209 <application>C</application> code, etc.</para>
210 <indexterm zone="guile guile-snarf">
211 <primary sortas="b-guile-snarf">guile-snarf</primary>
212 </indexterm>
213 </listitem>
214 </varlistentry>
215
216 <varlistentry id="guile-tools">
217 <term><command>guile-tools</command></term>
218 <listitem>
219 <para>is a wrapper program installed along with
220 <command>guile</command> which knows where a particular
221 module is installed and calls it passing its args to a program.</para>
222 <indexterm zone="guile guile-tools">
223 <primary sortas="b-guile-tools">guile-tools</primary>
224 </indexterm>
225 </listitem>
226 </varlistentry>
227
228 </variablelist>
229
230 </sect2>
231
232</sect1>
Note: See TracBrowser for help on using the repository browser.