source: pst/typesetting/asymptote.xml@ 9099566

11.3 12.0 12.1 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/llvm18 xry111/xf86-video-removal
Last change on this file since 9099566 was 9099566, checked in by Ken Moffat <ken@…>, 18 months ago

Update to asymptote-2.83.

  • Property mode set to 100644
File size: 10.1 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 asymptote-download-http "&sourceforge-dl;/asymptote/asymptote-&asymptote-version;.src.tgz">
8 <!ENTITY asymptote-download-ftp " ">
9 <!ENTITY asymptote-md5sum "46f15906963cd852d1acc727b99f731f">
10 <!ENTITY asymptote-size "15 MB">
11 <!ENTITY asymptote-buildsize "222 MB (55 MB installed,with all the dependencies which are within BLFS)">
12 <!-- with 2.68 the j1 time was 2.5 SBU, slow enough to use a parallel build -->
13 <!ENTITY asymptote-time "1.3 SBU (using parallelism=4)">
14]>
15
16<sect1 id="asymptote" xreflabel="asymptote-&asymptote-version;">
17 <?dbhtml filename="asymptote.html"?>
18
19 <sect1info>
20 <date>$Date$</date>
21 </sect1info>
22
23 <title>asymptote-&asymptote-version;</title>
24
25 <indexterm zone="asymptote">
26 <primary sortas="a-asymptote">asymptote</primary>
27 </indexterm>
28
29 <sect2 role="package">
30 <title>Introduction to asymptote</title>
31
32 <para>
33 <application>Asymptote</application> is a powerful descriptive vector
34 graphics language that provides a natural coordinate-based framework for
35 technical drawing. Labels and equations can be typeset with LaTeX. As
36 well as EPS, PDF and PNG output it can produce WebGL 3D HTML rendering
37 and (using <application>dvisvgm</application>) SVG output.
38 </para>
39
40 &lfs112_checked;
41
42 <bridgehead renderas="sect3">Package Information</bridgehead>
43 <itemizedlist spacing="compact">
44 <listitem>
45 <para>
46 Download (HTTP): <ulink url="&asymptote-download-http;"/>
47 </para>
48 </listitem>
49 <listitem>
50 <para>
51 Download (FTP): <ulink url="&asymptote-download-ftp;"/>
52 </para>
53 </listitem>
54 <listitem>
55 <para>
56 Download MD5 sum: &asymptote-md5sum;
57 </para>
58 </listitem>
59 <listitem>
60 <para>
61 Download size: &asymptote-size;
62 </para>
63 </listitem>
64 <listitem>
65 <para>
66 Estimated disk space required: &asymptote-buildsize;
67 </para>
68 </listitem>
69 <listitem>
70 <para>
71 Estimated build time: &asymptote-time;
72 </para>
73 </listitem>
74 </itemizedlist>
75
76<!--<bridgehead renderas="sect3">Additional Downloads</bridgehead>
77 <itemizedlist spacing="compact">
78 <listitem>
79 <para>
80 Required patch:
81 <ulink url="&patch-root;/asymptote-&asymptote-version;-upstream_fixes-1.patch"/>
82 </para>
83 </listitem>
84 </itemizedlist>-->
85
86 <bridgehead renderas="sect3">asymptote Dependencies</bridgehead>
87
88 <bridgehead renderas="sect4">Required</bridgehead>
89 <para role="required">
90 <xref linkend="gs"/> and
91 <xref linkend="texlive"/>
92 </para>
93
94 <bridgehead renderas="sect4">Recommended</bridgehead>
95 <para role="recommended">
96 <xref linkend="curl"/>,
97 <xref linkend="freeglut"/>,
98 <xref linkend="gc"/>,
99 <xref linkend="glew"/>,
100 <xref linkend="glm"/> and
101 <xref linkend="libtirpc"/>
102 </para>
103
104 <bridgehead renderas="sect4">Recommended at runtime</bridgehead>
105 <para role="recommended">
106 <xref role="runtime" linkend="dvisvgm"/> to allow svg output
107 </para>
108
109 <bridgehead renderas="sect4">Optional</bridgehead>
110 <para role="optional">
111 <xref linkend="fftw"/>,
112 <xref linkend="gsl"/>,
113 <xref linkend="libsigsegv"/>,
114 both <xref linkend="boost"/> and
115 <ulink url="https://github.com/Tencent/rapidjson/releases/">rapidjson</ulink>
116 to use
117 <ulink url="https://microsoft.github.io/language-server-protocol/implementors/tools/">LSP</ulink>
118 which can be used with
119 <ulink url="https://asymptote.sourceforge.io/doc/Language-server-protocol.html#index-LSP/">emacs</ulink>,
120 and <ulink url="https://eigen.tuxfamily.org/">eigen</ulink>
121 </para>
122
123 <bridgehead renderas="sect4">Optional (at runtime)</bridgehead>
124 <para role="optional">
125 <xref linkend="imagemagick"/> to convert output to other formats such as
126 JPEG or to create animated GIFs,
127 <ulink url="https://pypi.org/project/PyQt5/">PyQt5</ulink> (not tested,
128 has a build dependency of <xref linkend="qt5"/>) to use xasy.
129 </para>
130
131 <para condition="html" role="usernotes">
132 User Notes: <ulink url="&blfs-wiki;/asymptote"/>
133 </para>
134 </sect2>
135
136 <sect2 role="installation">
137 <title>Installation of asymptote</title>
138
139 <note>
140 <!-- This is specifically about my cylinder test - it has been
141 broken twice, one time the fix involved changing the script,
142 the second was blamed on the low-end hardware (radeon 3400G).
143 I don't use, or understand the commands of, asy so I will not
144 spend time bisecting it. Ken -->
145 <para>
146 Certain 3D PDF scripts may not work when invoked from pdflatex
147 on some zen+ amdgpu APU machines.
148 </para>
149 </note>
150
151<!-- Editors: for testing this, the minimal latex functionality is
152 covered by the cylinder and triangle tests in
153 https://www.linuxfromscratch.org/~ken/tex-testfiles/latex-test-20220322.tar.xz
154 but the more interesting stuff (WebM html, svg, png, pdf) is tested in
155 https://www.linuxfromscratch.org/~ken/asy-nontex-testfiles/asy-test-20200809.tar.xz
156-->
157<!--<para>
158 First apply a patch to fix runtime issues on some machines:
159 </para>
160
161<screen><userinput>patch -Np1 -i ../asymptote-&asymptote-version;-upstream_fixes-1.patch</userinput></screen>-->
162
163 <para>
164 Install <application>asymptote</application> by running the following
165 commands:
166 </para>
167
168<screen><userinput>export TEXARCH=$(uname -m | sed -e 's/i.86/i386/' -e 's/$/-linux/') &amp;&amp;
169
170./configure --prefix=$TEXLIVE_PREFIX \
171 --bindir=$TEXLIVE_PREFIX/bin/$TEXARCH \
172 --datarootdir=$TEXLIVE_PREFIX/texmf-dist \
173 --infodir=$TEXLIVE_PREFIX/texmf-dist/doc/info \
174 --libdir=$TEXLIVE_PREFIX/texmf-dist \
175 --mandir=$TEXLIVE_PREFIX/texmf-dist/doc/man \
176 --disable-lsp \
177 --enable-gc=system \
178 --with-latex=$TEXLIVE_PREFIX/texmf-dist/tex/latex \
179 --with-context=$TEXLIVE_PREFIX/texmf-dist/tex/context/third &amp;&amp;
180
181make</userinput></screen>
182
183 <para>
184 To test the results, issue: <command>make check</command>.
185 </para>
186
187 <para>
188 Now, as the <systemitem class="username">root</systemitem> user:
189 </para>
190
191<screen role="root"><userinput>make install</userinput></screen>
192
193 </sect2>
194
195 <sect2 role="commands">
196 <title>Command Explanations</title>
197
198 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
199 href="../../xincludes/tex-prefix.xml"/>
200
201 <para>
202 <parameter>--libdir=$TEXLIVE_PREFIX/texmf-dist;</parameter>:
203 This parameter ensures that the <filename
204 class="directory">asymptote</filename> directory will similarly
205 overwrite any files installed by install-tl-unx.
206 </para>
207
208 <para>
209 <parameter>--disable-lsp</parameter>: The Language Server Protocol is
210 enabled by default, with several third-party sources included, but it
211 does not build unless boost and repidjson have been installed.
212 </para>
213
214 <para>
215 <parameter>--enable-gc=system</parameter>: this ensures that the system
216 version of <filename class="libraryfile">libgc.so</filename> will be used
217 instead of the version shipped with this package.
218 </para>
219
220 <para>
221 <parameter>--with-latex= ... --with-context=</parameter>: These switches
222 ensure that style files and a tex file will be installed into the
223 <application>texlive</application> directories instead of creating a
224 <filename class="directory">texmf-local</filename> directory for them.
225 </para>
226
227 <!-- commenting for now: 2.44 installs asymptote.info in both places
228 so the old version no longer remains
229
230 <para>
231 <command>rm -fv /opt/texlive/.../asymptote.info</command>:
232 This deletes the file installed by <application>texlive</application>.
233 Exceptionally, asymptote will create an <filename
234 class="directory">asymptote/</filename> subdirectory for its own
235 <filename>asymptote.info</filename> even though a possibly older
236 version from <xref linkend="texlive"/> is in the main
237 <application>texlive</application>
238 <filename class="directory">info/</filename> directory. Both the
239 new version and the existing <filename>asy-faq.info</filename>
240 <emphasis>will</emphasis> be found by <command>info</command>.
241 </para>-->
242
243 </sect2>
244
245 <sect2 role="content">
246 <title>Contents</title>
247
248 <segmentedlist>
249 <segtitle>Installed Programs</segtitle>
250 <segtitle>Installed Libraries</segtitle>
251 <segtitle>Installed Directory</segtitle>
252
253 <seglistitem>
254 <seg>
255 asy, xasy
256 </seg>
257 <seg>
258 None
259 </seg>
260 <seg>
261 $TEXLIVE_PREFIX/texmf-dist/asymptote,
262 $TEXLIVE_PREFIX/doc/asymptote,
263 $TEXLIVE_PREFIX/info/asymptote
264 </seg>
265 </seglistitem>
266 </segmentedlist>
267
268 <variablelist>
269 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
270 <?dbfo list-presentation="list"?>
271 <?dbhtml list-presentation="table"?>
272
273 <varlistentry id="asy">
274 <term><command>asy</command></term>
275 <listitem>
276 <para>
277 is a vector graphics program
278 </para>
279 <indexterm zone="asymptote asy">
280 <primary sortas="b-asy">asy</primary>
281 </indexterm>
282 </listitem>
283 </varlistentry>
284
285 <varlistentry id="xasy">
286 <term><command>xasy</command></term>
287 <listitem>
288 <para>
289 is a Python3 script providing a Qt5 GUI for asy
290 </para>
291 <indexterm zone="asymptote xasy">
292 <primary sortas="b-xasy">xasy</primary>
293 </indexterm>
294 </listitem>
295 </varlistentry>
296
297 </variablelist>
298
299 </sect2>
300
301</sect1>
Note: See TracBrowser for help on using the repository browser.