glfs/pst/typesetting/asymptote.xml
Ken Moffat 4f0e9e6f67 Tag most of TeX source.
I dislike tagging what I've recently edited, because I tend to
read what I intended to write, rather than what is there, aka
"marking my own homework".  But I'll come back to divsvgm tomorrow
after the public book has rendered, and walk through the
instructions.
2021-08-24 02:16:42 +01:00

277 lines
9.0 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 asymptote-download-http "&sourceforge-dl;/asymptote/asymptote-&asymptote-version;.src.tgz">
<!ENTITY asymptote-download-ftp " ">
<!ENTITY asymptote-md5sum "b57e685568a7cca69024a86c7276eb6d">
<!ENTITY asymptote-size "4.5 MB">
<!ENTITY asymptote-buildsize "190 MB (with all the dependencies which are within BLFS)">
<!-- with 2.68 the j1 time was 2.5 SBU, slow enough to use a parallel build -->
<!ENTITY asymptote-time "0.9 SBU (using parallelism=4)">
]>
<sect1 id="asymptote" xreflabel="asymptote-&asymptote-version;">
<?dbhtml filename="asymptote.html"?>
<sect1info>
<date>$Date$</date>
</sect1info>
<title>asymptote-&asymptote-version;</title>
<indexterm zone="asymptote">
<primary sortas="a-asymptote">asymptote</primary>
</indexterm>
<sect2 role="package">
<title>Introduction to asymptote</title>
<para>
<application>Asymptote</application> is a powerful descriptive vector
graphics language that provides a natural coordinate-based framework for
technical drawing. Labels and equations can be typeset with LaTeX. As
well as EPS, PDF and PNG output it can produce WebGL 3D HTML rendering
and (using <application>dvisvgm</application>) SVG output.
</para>
&lfs110_checked;
<bridgehead renderas="sect3">Package Information</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>
Download (HTTP): <ulink url="&asymptote-download-http;"/>
</para>
</listitem>
<listitem>
<para>
Download (FTP): <ulink url="&asymptote-download-ftp;"/>
</para>
</listitem>
<listitem>
<para>
Download MD5 sum: &asymptote-md5sum;
</para>
</listitem>
<listitem>
<para>
Download size: &asymptote-size;
</para>
</listitem>
<listitem>
<para>
Estimated disk space required: &asymptote-buildsize;
</para>
</listitem>
<listitem>
<para>
Estimated build time: &asymptote-time;
</para>
</listitem>
</itemizedlist>
<!--<bridgehead renderas="sect3">Additional Downloads</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>
Required patch:
<ulink url="&patch-root;/asymptote-&asymptote-version;-ghostscript_fix-1.patch"/>
</para>
</listitem>
</itemizedlist>-->
<bridgehead renderas="sect3">asymptote Dependencies</bridgehead>
<bridgehead renderas="sect4">Required</bridgehead>
<para role="required">
<xref linkend="gs"/> and
<xref linkend="texlive"/>
</para>
<bridgehead renderas="sect4">Recommended</bridgehead>
<para role="recommended">
<xref linkend="curl"/>,
<xref linkend="freeglut"/>,
<xref linkend="gc"/>,
<xref linkend="glew"/>,
<xref linkend="glm"/> and
<xref linkend="libtirpc"/>
</para>
<bridgehead renderas="sect4">Recommended at runtime</bridgehead>
<para role="recommended">
<xref role="runtime" linkend="dvisvgm"/>
</para>
<bridgehead renderas="sect4">Optional</bridgehead>
<para role="optional">
<xref linkend="fftw"/>,
<xref linkend="gsl"/>,
<xref linkend="libsigsegv"/>
</para>
<bridgehead renderas="sect4">Optional (at runtime)</bridgehead>
<para role="optional">
<xref linkend="imagemagick"/> to convert output to other formats such as
JPEG or to create animated GIFs,
<ulink url="https://pypi.org/project/PyQt5/">PyQt5</ulink> (not tested,
has a build dependency of <xref linkend="qt5"/>) to use xasy.
</para>
<para condition="html" role="usernotes">
User Notes: <ulink url="&blfs-wiki;/asymptote"/>
</para>
</sect2>
<sect2 role="installation">
<title>Installation of asymptote</title>
<!-- Editors: for testing this, the minimal latex functionality is
covered by the cylinder and triangle tests in
https://www.linuxfromscratch.org/~ken/tex-testfiles/latex-test-20190318.tar.xz
but the more interesting stuff (WebM html, svg, png, pdf) is tested in
https://www.linuxfromscratch.org/~ken/asy-nontex-testfiles/asy-test-20200123.tar.xz
-->
<!--<para>
First apply a patch for building with ghostscript-9.53:
</para>
<screen><userinput>patch -Np1 -i ../asymptote-&asymptote-version;-ghostscript_fix-1.patch</userinput></screen>-->
<para>
Install <application>asymptote</application> by running the following
commands:
</para>
<screen><userinput>export TEXARCH=$(uname -m | sed -e 's/i.86/i386/' -e 's/$/-linux/') &amp;&amp;
./configure --prefix=/opt/texlive/&texlive-year; \
--bindir=/opt/texlive/&texlive-year;/bin/$TEXARCH \
--datarootdir=/opt/texlive/&texlive-year;/texmf-dist \
--infodir=/opt/texlive/&texlive-year;/texmf-dist/doc/info \
--libdir=/opt/texlive/&texlive-year;/texmf-dist \
--mandir=/opt/texlive/&texlive-year;/texmf-dist/doc/man \
--enable-gc=system \
--with-latex=/opt/texlive/&texlive-year;/texmf-dist/tex/latex \
--with-context=/opt/texlive/&texlive-year;/texmf-dist/tex/context/third &amp;&amp;
make</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>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../xincludes/tex-prefix.xml"/>
<para>
<parameter>--libdir=/opt/texlive/&texlive-year;/texmf-dist;</parameter>:
This parameter ensures that the <filename
class="directory">asymptote</filename> directory will similarly
overwrite any files installed by install-tl-unx.
</para>
<para>
<parameter>--enable-gc=system</parameter>: this ensures that the system
version of <filename class="libraryfile">libgc.so</filename> will be used
instead of the version shipped with this package.
</para>
<para>
<parameter>--with-latex= ... --with-context=</parameter>: These switches
ensure that style files and a tex file will be installed into the
<application>texlive</application> directories instead of creating a
<filename class="directory">texmf-local</filename> directory for them.
</para>
<!-- commenting for now: 2.44 installs asymptote.info in both places
so the old version no longer remains
<para>
<command>rm -fv /opt/texlive/.../asymptote.info</command>:
This deletes the file installed by <application>texlive</application>.
Exceptionally, asymptote will create an <filename
class="directory">asymptote/</filename> subdirectory for its own
<filename>asymptote.info</filename> even though a possibly older
version from <xref linkend="texlive"/> is in the main
<application>texlive</application>
<filename class="directory">info/</filename> directory. Both the
new version and the existing <filename>asy-faq.info</filename>
<emphasis>will</emphasis> be found by <command>info</command>.
</para>-->
</sect2>
<sect2 role="content">
<title>Contents</title>
<segmentedlist>
<segtitle>Installed Programs</segtitle>
<segtitle>Installed Libraries</segtitle>
<segtitle>Installed Directory</segtitle>
<seglistitem>
<seg>
asy, xasy
</seg>
<seg>
None
</seg>
<seg>
/opt/texlive/&texlive-year;texmf-dist/asymptote,
/opt/texlive/&texlive-year;/doc/asymptote,
/opt/texlive/&texlive-year;/info/asymptote
</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="asy">
<term><command>asy</command></term>
<listitem>
<para>
is a vector graphics program
</para>
<indexterm zone="asymptote asy">
<primary sortas="b-asy">asy</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="xasy">
<term><command>xasy</command></term>
<listitem>
<para>
is a Python3 script providing a Qt5 GUI for asy
</para>
<indexterm zone="asymptote xasy">
<primary sortas="b-xasy">xasy</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>