glfs/general/genlib/libxslt.xml
Douglas R. Reno 3979b674b9 Drop the libxslt python module from libxslt since it doesn't support python3 and doesn't appear to be used by anything else in the book.
git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@23548 af4574ff-66df-0310-9fd7-8a98e5e911e0
2020-08-17 16:02:18 +00:00

272 lines
8.4 KiB
XML

<?xml version="1.0" encoding="ISO-8859-1"?>
<!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 libxslt-download-http "http://xmlsoft.org/sources/libxslt-&libxslt-version;.tar.gz">
<!ENTITY libxslt-download-ftp "ftp://xmlsoft.org/libxslt/libxslt-&libxslt-version;.tar.gz">
<!ENTITY libxslt-md5sum "db8765c8d076f1b6caafd9f2542a304a">
<!ENTITY libxslt-size "3.4 MB">
<!ENTITY libxslt-buildsize "36 MB (with tests)">
<!ENTITY libxslt-time "0.3 SBU (with tests)">
]>
<sect1 id="libxslt" xreflabel="libxslt-&libxslt-version;">
<?dbhtml filename="libxslt.html"?>
<sect1info>
<othername>$LastChangedBy$</othername>
<date>$Date$</date>
</sect1info>
<title>libxslt-&libxslt-version;</title>
<indexterm zone="libxslt">
<primary sortas="a-libxslt">libxslt</primary>
</indexterm>
<sect2 role="package">
<title>Introduction to libxslt</title>
<para>
The <application>libxslt</application> package contains
XSLT libraries used for extending <filename
class="libraryfile">libxml2</filename> libraries to
support XSLT files.
</para>
&lfs10_checked;
<bridgehead renderas="sect3">Package Information</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>
Download (HTTP): <ulink url="&libxslt-download-http;"/>
</para>
</listitem>
<listitem>
<para>
Download (FTP): <ulink url="&libxslt-download-ftp;"/>
</para>
</listitem>
<listitem>
<para>
Download MD5 sum: &libxslt-md5sum;
</para>
</listitem>
<listitem>
<para>
Download size: &libxslt-size;
</para>
</listitem>
<listitem>
<para>
Estimated disk space required: &libxslt-buildsize;
</para>
</listitem>
<listitem>
<para>
Estimated build time: &libxslt-time;
</para>
</listitem>
</itemizedlist>
<!--
<bridgehead renderas="sect3">Additional Downloads</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>
Required patch:
<ulink url="&patch-root;/libxslt-&libxslt-version;-security_fix-1.patch"/>
</para>
</listitem>
</itemizedlist>
-->
<bridgehead renderas="sect3">libxslt Dependencies</bridgehead>
<bridgehead renderas="sect4">Required</bridgehead>
<para role="required">
<xref linkend="libxml2"/>
</para>
<bridgehead renderas="sect4">Recommended</bridgehead>
<para role="recommended">
<xref linkend="DocBook"/> and
<xref linkend="docbook-xsl"/>
</para>
<note>
<para>
Although it is not a direct dependency, many applications
using <application>libxslt</application> will expect
<xref linkend="DocBook"/> and <xref linkend="docbook-xsl"/>
to be present.
</para>
</note>
<bridgehead renderas="sect4">Optional</bridgehead>
<para role="optional">
<xref linkend="libgcrypt"/> and
<xref linkend="libxml2py2"/>
<!-- Seems to be used for tests -->
<note><simpara>The <xref role="nodep" linkend="libxml2py2"/>
dependency is only appropriate if the <application>Python2</application>
module for this package is needed. The
libxslt <application>Python2</application> module is not needed for
any package in BLFS but various non-BLFS packages may install
<application>Python2</application> modules which reference it.
</simpara></note>
</para>
<para condition="html" role="usernotes">User Notes:
<ulink url="&blfs-wiki;/libxslt"/>
</para>
</sect2>
<sect2 role="installation">
<title>Installation of libxslt</title>
<!--
<para>
First, install a security patch to fix a security framework bypass:
</para>
<screen><userinput remap="pre">patch -Np1 -i ../libxslt-&libxslt-version;-security_fix-1.patch</userinput></screen>
-->
<para>
Install <application>libxslt</application> by running the following
commands:
</para>
<screen><userinput>sed -i s/3000/5000/ libxslt/transform.c doc/xsltproc.{1,xml} &amp;&amp;
./configure --prefix=/usr --disable-static --without-python &amp;&amp;
make</userinput></screen>
<para>
A shipped man page is glitched. If the recommended dependencies are
installed, regenerate it by running the following commands:
</para>
<screen><userinput>sed -e 's@http://cdn.docbook.org/release/xsl@https://cdn.docbook.org/release/xsl-nons@' \
-e 's@\$Date\$@31 October 2019@' -i doc/xsltproc.xml &amp;&amp;
xsltproc/xsltproc --nonet doc/xsltproc.xml -o doc/xsltproc.1</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>sed -i s/3000/5000/ ...</command>: this increases the recursion
limit in libxslt. This is needed by some packages for their documentation.
</para>
<para>
<parameter>--without-python</parameter>: This parameter disables the libxslt
python module since it does not support Python3. If you wish to enable
this module, make sure that <xref role="nodep" linkend="libxml2py2"/> is
installed, and remove this parameter.
</para>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../xincludes/static-libraries.xml"/>
</sect2>
<sect2 role="content">
<title>Contents</title>
<segmentedlist>
<segtitle>Installed Programs</segtitle>
<segtitle>Installed Libraries</segtitle>
<segtitle>Installed Directories</segtitle>
<seglistitem>
<seg>
xslt-config and xsltproc
</seg>
<seg>
libexslt.so, libxslt.so and optionally, libxsltmod.so
<application>Python</application> module
</seg>
<seg>
/usr/include/libexslt,
/usr/include/libxslt,
/usr/lib/libxslt-plugins,
/usr/share/doc/libxslt-&libxslt-version;, and
/usr/share/doc/libxslt-python-&libxslt-version;</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="xslt-config">
<term><command>xslt-config</command></term>
<listitem>
<para>
is used to find out the pre-processor, linking and
compiling flags necessary to use the <application>libxslt</application>
libraries in 3rd-party programs.
</para>
<indexterm zone="libxslt xslt-config">
<primary sortas="b-xslt-config">xslt-config</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="xsltproc">
<term><command>xsltproc</command></term>
<listitem>
<para>
is used to apply XSLT stylesheets to XML documents.
</para>
<indexterm zone="libxslt xsltproc">
<primary sortas="b-xsltproc">xsltproc</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libexslt">
<term><filename class="libraryfile">libexslt.so</filename></term>
<listitem>
<para>
is used to provide extensions to XSLT functions.
</para>
<indexterm zone="libxslt libexslt">
<primary sortas="c-libexslt">libexslt.so</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libxslt-lib">
<term><filename class="libraryfile">libxslt.so</filename></term>
<listitem>
<para>
provides extensions to the
<filename class="libraryfile">libxml2</filename>
libraries to parse files that use the XSLT format.
</para>
<indexterm zone="libxslt libxslt-lib">
<primary sortas="c-libxslt">libxslt.so</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>