source: pst/typesetting/dvisvgm.xml@ f51350a6

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 f51350a6 was f51350a6, checked in by Pierre Labastie <pierre.labastie@…>, 19 months ago

Fix building dvisvgm with ghostscript-10.0.0

In this version of ghostscript, some private symbols have been
hidden. One of the private symbols is gs_error_names, which is used
by dvisvgm. Fortunately, dvisvgm, has already the infrastructure
for this case, since private symbols are always hidden in Windows.
Upstream has a patch:
https://github.com/mgieseki/dvisvgm/commit/9bf81fd0
which can be reduced to a sed.

  • Property mode set to 100644
File size: 7.5 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 <!-- his can be accessed via https://dvisvgm.de/Downloads/
8 NOT via the tags at github - those use autogen.sh -->
9 <!ENTITY dvisvgm-download-http "https://github.com/mgieseki/dvisvgm/releases/download/&dvisvgm-version;/dvisvgm-&dvisvgm-version;.tar.gz">
10 <!ENTITY dvisvgm-download-ftp " ">
11 <!ENTITY dvisvgm-md5sum "57f23eefa075556e36de64ea9b61d8fd">
12 <!ENTITY dvisvgm-size "3.0 MB">
13 <!ENTITY dvisvgm-buildsize "280 MB (41 MB installed, add 949 MB for the tests)">
14 <!ENTITY dvisvgm-time "1.2 SBU (add 0.7 SBU for the tests, both using parallelism=4)">
15]>
16
17<sect1 id="dvisvgm" xreflabel="dvisvgm-&dvisvgm-version;">
18 <?dbhtml filename="dvisvgm.html"?>
19
20 <sect1info>
21 <date>$Date$</date>
22 </sect1info>
23
24 <title>dvisvgm-&dvisvgm-version;</title>
25
26 <indexterm zone="dvisvgm">
27 <primary sortas="a-dvisvgm">dvisvgm</primary>
28 </indexterm>
29
30 <sect2 role="package">
31 <title>Introduction to dvisvgm</title>
32
33 <para>
34 The <application>dvisvgm</application> package converts DVI, EPS and
35 PDF files to SVG format.
36 </para>
37
38 &lfs112_checked;
39
40 <bridgehead renderas="sect3">Package Information</bridgehead>
41 <itemizedlist spacing="compact">
42 <listitem>
43 <para>
44 Download (HTTP): <ulink url="&dvisvgm-download-http;"/>
45 </para>
46 </listitem>
47 <listitem>
48 <para>
49 Download (FTP): <ulink url="&dvisvgm-download-ftp;"/>
50 </para>
51 </listitem>
52 <listitem>
53 <para>
54 Download MD5 sum: &dvisvgm-md5sum;
55 </para>
56 </listitem>
57 <listitem>
58 <para>
59 Download size: &dvisvgm-size;
60 </para>
61 </listitem>
62 <listitem>
63 <para>
64 Estimated disk space required: &dvisvgm-buildsize;
65 </para>
66 </listitem>
67 <listitem>
68 <para>
69 Estimated build time: &dvisvgm-time;
70 </para>
71 </listitem>
72 </itemizedlist>
73
74 <bridgehead renderas="sect3">dvisvgm Dependencies</bridgehead>
75
76 <bridgehead renderas="sect4">Required</bridgehead>
77 <para role="required">
78 <!-- EDITORS: the docs say it needs clipper, but it uses an internal
79 modified version and cannot be built with system clipper -->
80 <xref linkend="brotli"/>,
81 <xref linkend="gs"/>, and
82 <xref linkend="potrace"/>
83 </para>
84
85 <bridgehead renderas="sect4">Recommended</bridgehead>
86 <para role="recommended">
87 <xref linkend="woff2"/>
88 </para>
89
90 <bridgehead renderas="sect4">Optional</bridgehead>
91 <para role="optional">
92 <xref linkend="asciidoc"/> with
93 <xref linkend="xmlto"/> and
94 <xref linkend="libxslt"/> (see command explanations),
95 <ulink url="http://dblatex.sourceforge.net/">dblatex</ulink> (with the above) and
96 <!-- version checked for dvisvgm-2.9, 0.7.3 is mentioned in the
97 news and is the latest version at 2020-03-21
98 maybe change to 'a recent version' if that releases faster -->
99 <ulink url="https://github.com/Cyan4973/xxHash/releases/latest">xxHash</ulink>
100 (the current version is included in the tarball)
101 </para>
102
103 <para condition="html" role="usernotes">
104 User Notes: <ulink url="&blfs-wiki;/dvisvgm"/>
105 </para>
106 </sect2>
107
108 <sect2 role="installation">
109 <title>Installation of dvisvgm</title>
110
111<!-- Editors: This is in the book for svg output from asymptote. tested in
112 https://www.linuxfromscratch.org/~ken/asy-nontex-testfiles/asy-test-20200123.tar.xz
113 Can also be tested with texlive including tikz
114 https://www.linuxfromscratch.org/~ken/tex-testfiles/ https://www.linuxfromscratch.org/~ken/
115 Or, use use it to convert first or specified page(s) of a PDF to SVG - see the man page
116-->
117 <para>
118 To enable the build system to link to
119 <filename class="libraryfile">libkpathsea.so</filename>, as the
120 <systemitem class="username">root</systemitem> user create a symlink from
121 <filename class="directory">/usr/lib</filename>:
122 </para>
123
124<screen role="root"><userinput>ln -svf $TEXLIVE_PREFIX/lib/libkpathsea.so /usr/lib</userinput></screen>
125
126 <para>
127 Fix an issue introduced by ghostscript-10.0.0:
128 </para>
129
130<screen><userinput>sed "s/gs_error_names\[/error_names[/" -i src/Ghostscript.cpp</userinput></screen>
131
132 <para>
133 The testsuite assumes that a modern version of <application>Python</application>
134 has been installed as plain <command>python</command>. Changing this to use
135 <command>python3</command> requires a sed to one <filename>Makefile.in</filename>
136 file.
137 </para>
138
139 <para>
140 Install <application>dvisvgm</application> by running the following
141 commands:
142 </para>
143
144<screen><userinput>sed -i 's/python/&amp;3/' tests/Makefile.in &amp;&amp;
145./configure \
146 --bindir=$TEXLIVE_PREFIX/bin/${TEXARCH} \
147 --mandir=$TEXLIVE_PREFIX/texmf-dist/doc/man \
148 --with-kpathsea=$TEXLIVE_PREFIX &amp;&amp;
149make</userinput></screen>
150
151 <para>
152 To test the results, issue: <command>make check</command>.
153 </para>
154
155 <para>
156 Now, as the <systemitem class="username">root</systemitem> user:
157 </para>
158
159<screen role="root"><userinput>make install</userinput></screen>
160
161 </sect2>
162
163 <sect2 role="commands">
164 <title>Command Explanations</title>
165
166 <para>
167 <command>ln -svf $TEXLIVE_PREFIX/lib/libkpathsea.so /usr/lib</command>:
168 Without this, the program will not link correctly,
169 </para>
170
171<!-- The autoreconf command is not used above anymore.
172 <para>
173 <command>autoreconf -fiv</command>: The versions of
174 <application>autoconf</application> and <application>automake</application>
175 used when this package was created are older than the current versions in
176 LFS. That causes 'make' to fail when it reaches the 'tests' subdirectory
177 unless autoreconf is forced to install missing (i.e. newer) auxiliary
178 files.
179 </para>
180-->
181
182 <!-- EDITORS: the doc target to rebuild the manpage (make man) is not
183 recognised unless invoked from the doc directory (unlike make pdf which
184 can be invoked from top-level but needs dblatex), and I see no utility
185 in explaining how to regenerate it. ken -->
186 <para>
187 <parameter>--with-kpathsea=$TEXLIVE_PREFIX</parameter>: This allows
188 the build system to find the headers for <filename
189 class="libraryfile">kpathsea</filename>
190 </para>
191
192 </sect2>
193
194 <sect2 role="content">
195 <title>Contents</title>
196
197 <segmentedlist>
198 <segtitle>Installed Programs</segtitle>
199 <segtitle>Installed Libraries</segtitle>
200 <segtitle>Installed Directories</segtitle>
201
202 <seglistitem>
203 <seg>
204 dvisvgm
205 </seg>
206 <seg>
207 None
208 </seg>
209 <seg>
210 None
211 </seg>
212 </seglistitem>
213 </segmentedlist>
214
215 <variablelist>
216 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
217 <?dbfo list-presentation="list"?>
218 <?dbhtml list-presentation="table"?>
219
220 <varlistentry id="dvisvgm-prog">
221 <term><command>dvisvgm</command></term>
222 <listitem>
223 <para>
224 converts DVI, EPS and PDF files to the SVG format
225 </para>
226 <indexterm zone="dvisvgm dvisvgm-prog">
227 <primary sortas="b-dvisvgm">dvisvgm</primary>
228 </indexterm>
229 </listitem>
230 </varlistentry>
231
232 </variablelist>
233 </sect2>
234
235</sect1>
Note: See TracBrowser for help on using the repository browser.