source: pst/printing/gs.xml

trunk
Last change on this file was d135c4e, checked in by Xi Ruoyao <xry111@…>, 8 days ago

ghostscript: housekeeping after --enable-dynamic removal

  • Property mode set to 100644
File size: 13.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 <!-- When updating, ensure gs-packver is updated in packages.ent -->
8
9 <!ENTITY gs-download-http
10 "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs&gs-packver;/ghostscript-&gs-dl-version;.tar.xz">
11 <!ENTITY gs-download-ftp " ">
12 <!ENTITY gs-md5sum "c75560fdd05dc1f1daa33415156d5a20">
13 <!ENTITY gs-size "60 MB">
14 <!ENTITY gs-buildsize "377 MB (with fonts and libgs.so)">
15 <!ENTITY gs-time "1.9 SBU (Using parallelism=4; with libgs.so)">
16
17 <!ENTITY gs-standard-fonts-download
18 "&sourceforge-dl;/gs-fonts/ghostscript-fonts-std-8.11.tar.gz">
19 <!ENTITY gs-standard-fonts-md5sum "6865682b095f8c4500c54b285ff05ef6">
20 <!ENTITY gs-standard-fonts-size "3.7 MB">
21
22 <!ENTITY gs-other-fonts-download
23 "&sourceforge-dl;/gs-fonts/gnu-gs-fonts-other-6.0.tar.gz">
24 <!ENTITY gs-other-fonts-md5sum "33457d3f37de7ef03d2eea05a9e6aa4f">
25 <!ENTITY gs-other-fonts-size "796 KB">
26]>
27
28<sect1 id="gs" xreflabel="ghostscript-&gs-version;">
29 <?dbhtml filename="gs.html"?>
30
31 <sect1info>
32 <date>$Date$</date>
33 </sect1info>
34
35 <title>ghostscript-&gs-version;</title>
36
37 <indexterm zone="gs">
38 <primary sortas="a-Ghostscript">Ghostscript</primary>
39 </indexterm>
40
41 <sect2 role="package">
42 <title>Introduction to Ghostscript</title>
43
44 <para>
45 <application>Ghostscript</application> is a versatile processor
46 for PostScript data with the ability to render PostScript to different
47 targets. It is a mandatory part of the cups printing stack.
48 </para>
49
50 &lfs112_checked;
51
52 <bridgehead renderas="sect3">Package Information</bridgehead>
53 <itemizedlist spacing="compact">
54 <listitem>
55 <para>
56 Download (HTTP): <ulink url="&gs-download-http;"/>
57 </para>
58 </listitem>
59 <listitem>
60 <para>
61 Download (FTP): <ulink url="&gs-download-ftp;"/>
62 </para>
63 </listitem>
64 <listitem>
65 <para>
66 Download MD5 sum: &gs-md5sum;
67 </para>
68 </listitem>
69 <listitem>
70 <para>
71 Download size: &gs-size;
72 </para>
73 </listitem>
74 <listitem>
75 <para>
76 Estimated disk space required: &gs-buildsize;
77 </para>
78 </listitem>
79 <listitem>
80 <para>
81 Estimated build time: &gs-time;
82 </para>
83 </listitem>
84 </itemizedlist>
85
86 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
87 <!-- devs: do not comment out the bridgehead, unless you comment
88 out all the additional downloads (including font files)
89 Commenting this out since it's no longer needed, but keeping it for the
90 inevitable next time that we need a patch for this package.-->
91<!--
92 <itemizedlist spacing="compact">
93 <listitem>
94 <para>
95 Required patch:
96 <ulink url="&patch-root;/ghostscript-&gs-version;-upstream_fix-1.patch"/>
97 </para>
98 </listitem>
99 </itemizedlist>
100-->
101 <para>
102 If you wish, you can download additional fonts.
103 </para>
104
105 <itemizedlist spacing="compact">
106 <title>Standard Fonts</title>
107 <listitem>
108 <para>
109 Download (HTTP): <ulink url="&gs-standard-fonts-download;"/>
110 </para>
111 </listitem>
112 <listitem>
113 <para>
114 Download MD5 sum: &gs-standard-fonts-md5sum;
115 </para>
116 </listitem>
117 <listitem>
118 <para>
119 Download size: &gs-standard-fonts-size;
120 </para>
121 </listitem>
122 </itemizedlist>
123
124 <itemizedlist spacing="compact">
125 <title>Other Fonts</title>
126 <listitem>
127 <para>
128 Download (HTTP): <ulink url="&gs-other-fonts-download;"/>
129 </para>
130 </listitem>
131 <listitem>
132 <para>
133 Download MD5 sum: &gs-other-fonts-md5sum;
134 </para>
135 </listitem>
136 <listitem>
137 <para>
138 Download size: &gs-other-fonts-size;
139 </para>
140 </listitem>
141 </itemizedlist>
142
143 <bridgehead renderas="sect3">Ghostscript Dependencies</bridgehead>
144
145 <bridgehead renderas="sect4">Recommended</bridgehead>
146 <para role="recommended">
147 <xref linkend="cups"/> (required for building the <quote>cups</quote>
148 device backend, which is needed by
149 <application>cups-filters</application>),
150 <xref linkend="fontconfig"/> (required, if you are installing any
151 suggested font),
152 <xref linkend="freetype2"/>,
153 <xref linkend="lcms2"/>,
154 <xref linkend="libjpeg"/>,
155 <xref linkend="libpng"/>,
156 <xref linkend="libtiff"/>, and
157 <xref linkend="openjpeg2"/>
158 </para>
159
160 <bridgehead renderas="sect4">Optional</bridgehead>
161 <para role="optional">
162 <xref linkend="cairo"/>,
163 <xref linkend="gtk3"/>,
164 <xref linkend="libidn"/>,
165 <xref linkend="libpaper"/>, and
166 <xref linkend="x-window-system"/>
167 </para>
168
169 <para condition="html" role="usernotes">
170 User Notes: <ulink url="&blfs-wiki;/gs"/>
171 </para>
172 </sect2>
173
174 <sect2 role="installation">
175 <title>Installation of Ghostscript</title>
176
177 <note>
178 <para>
179 The <application>Ghostscript</application> build system is not
180 user-friendly. In order to use system copies of various graphics
181 libraries, you must do it using unconventional methods.
182 </para>
183 </note>
184
185 <para>
186 <application>Ghostscript</application> includes (old) copies of
187 several libraries. Some of these seem to have been patched to fix known
188 vulnerabilities, but others of these copies are less-well maintained.
189 To ensure that any future fixes are applied throughout the whole system,
190 it is recommended that you first install the released versions of these
191 libraries and then configure <application>Ghostscript</application>
192 to link to them.
193 </para>
194
195 <para>
196 If you have installed the recommended dependencies on your system,
197 remove the copies of
198 <application>freetype</application>, <application>lcms2</application>,
199 <application>libjpeg</application>, <application>libpng</application>,
200 and <application>openjpeg</application>:
201 </para>
202
203<screen><userinput>rm -rf freetype lcms2mt jpeg libpng openjpeg</userinput></screen>
204
205<!--
206 <para>
207 Apply an upstream fix to prevent a build problem.
208 </para>
209
210<screen><userinput remap="pre">patch -Np1 -i ../ghostscript-&gs-version;-upstream_fix-1.patch</userinput></screen>
211-->
212 <para>
213 Compile <application>Ghostscript</application>:
214 </para>
215
216<screen><userinput>rm -rf zlib &amp;&amp;
217
218./configure --prefix=/usr \
219 --disable-compile-inits \
220 --with-system-libtiff &amp;&amp;
221make</userinput></screen>
222
223 <note>
224 <para>
225 The shared library depends on <xref linkend="gtk3"/>. It is only used by
226 external programs like <xref linkend="asymptote"/>, <xref
227 linkend="dvisvgm"/>, and <xref linkend="imagemagick"/>.
228 </para>
229 </note>
230
231 <para>
232 To compile the shared library
233 <filename class="libraryfile">libgs.so</filename>, run the following
234 additional command as an unprivileged user:
235 </para>
236
237<screen><userinput>make so</userinput></screen>
238
239 <para>
240 This package does not come with a test suite. A set of example files
241 may be used for testing, but it is only possible after installation
242 of the package.
243 </para>
244
245 <para>
246 Now, as the <systemitem class="username">root</systemitem> user:
247 </para>
248
249<screen role="root"><userinput>make install</userinput></screen>
250
251 <para>
252 If you want the shared library too:
253 </para>
254
255<screen role="root"><userinput>make soinstall &amp;&amp;
256install -v -m644 base/*.h /usr/include/ghostscript &amp;&amp;
257ln -sfvn ghostscript /usr/include/ps</userinput></screen>
258
259 <para>
260 Now make the documentation accessible from a standard place:
261 </para>
262<!-- Starting with 9.23, the install does not seem to copy the examples any more -->
263
264<screen role="root"><userinput>mv -v /usr/share/doc/ghostscript/&gs-version; /usr/share/doc/ghostscript-&gs-version; &amp;&amp;
265rm -rfv /usr/share/doc/ghostscript &amp;&amp;
266cp -r examples/ /usr/share/ghostscript/&gs-version;/</userinput></screen>
267
268 <para>
269 If you have downloaded the fonts, unpack them to
270 <filename class="directory">/usr/share/ghostscript</filename> and ensure
271 the ownership of the files are
272 <systemitem class="username">root</systemitem>:
273 <systemitem class="groupname">root</systemitem>.
274 </para>
275
276<screen role="root"><userinput>tar -xvf ../ghostscript-fonts-std-8.11.tar.gz -C /usr/share/ghostscript --no-same-owner &amp;&amp;
277tar -xvf ../gnu-gs-fonts-other-6.0.tar.gz -C /usr/share/ghostscript --no-same-owner &amp;&amp;
278fc-cache -v /usr/share/ghostscript/fonts/</userinput></screen>
279
280 <para>
281 You can now test the rendering of various postscript and pdf files from the
282 <filename class="directory">/usr/share/ghostscript/&gs-version;/examples
283 </filename>. To do this, run the following command (in a X Windows display):
284 </para>
285
286<screen remap="test"><userinput>gs -q -dBATCH /usr/share/ghostscript/&gs-version;/examples/tiger.eps</userinput></screen>
287
288 </sect2>
289
290 <sect2 role="commands">
291 <title>Command Explanations</title>
292
293 <para>
294 <command>rm -rf zlib </command>: <application>zlib</application>
295 was installed as part of LFS.
296 </para>
297
298 <para>
299 <parameter>--disable-compile-inits</parameter>: This option makes
300 <command>gs</command> and <filename>libgs.so</filename> slightly smaller.
301 </para>
302
303 <para>
304 <parameter>--with-system-libtiff</parameter>: Remove this option if
305 you've not installed <xref linkend="libtiff"/>.
306 </para>
307
308 <para>
309 <command>install -v -m644 base/*.h... </command>: Some packages
310 (<application>ImageMagick</application> is one) need the
311 <application>Ghostscript</application> interface headers in place to link
312 to the shared library. These commands install the headers.
313 </para>
314
315 <para>
316 <command>ln -sfvn ghostscript /usr/include/ps</command>: Some packages
317 expect to find the interface headers in an alternate location.
318 </para>
319
320 <para>
321 <command>mv -v /usr/share/doc/ghostscript/&gs-version;
322 /usr/share/doc/ghostscript-&gs-version;</command>: This moves the
323 documentation where it is expected to be found.
324 </para>
325
326 <para>
327 <option>--disable-cups</option>: this option will save a tiny amount of
328 space by not linking <command>gs</command> and <filename>libgs.so</filename>
329 to the <xref linkend="cups"/> libraries if you have installed those.
330 </para>
331 </sect2>
332
333 <sect2 role="content">
334 <title>Contents</title>
335 <segmentedlist>
336 <segtitle>Installed Programs</segtitle>
337 <segtitle>Installed Library</segtitle>
338 <segtitle>Installed Directories</segtitle>
339
340 <seglistitem>
341 <seg>
342 dvipdf, eps2eps, gs, gsbj, gsc (from soinstall), gsdj,
343 gsdj500, gslj, gslp, gsnd, gsx (from soinstall), lprsetup.sh,
344 pdf2dsc, pdf2ps, pf2afm, pfbtopfa, pphs, printafm, ps2ascii,
345 ps2epsi, ps2pdf, ps2pdf12, ps2pdf13, ps2pdf14, ps2pdfwr,
346 ps2ps, ps2ps2, and unix-lpr.sh
347 <!-- I don't see bdftops,fixmswrd.pl or pv.sh on my builds [ I don't
348 have any bdf tools from xorg ] but they are still referenced in
349 base/unixinst.mak -->
350 </seg>
351 <seg>libgs.so</seg>
352 <seg>
353 /usr/include/ghostscript,
354 /usr/share/ghostscript, and
355 /usr/share/doc/ghostscript-&gs-version;
356 </seg>
357 </seglistitem>
358 </segmentedlist>
359
360 <variablelist>
361 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
362 <?dbfo list-presentation="list"?>
363 <?dbhtml list-presentation="table"?>
364
365 <varlistentry id="gplgs-prog">
366 <term><command>gs</command></term>
367 <listitem>
368 <para>
369 is an interpreter for Adobe Systems' PostScript(tm) and Portable
370 Document Format (PDF)
371 </para>
372 <indexterm zone="gs gplgs-prog">
373 <primary sortas="b-gs">gs</primary>
374 </indexterm>
375 </listitem>
376 </varlistentry>
377
378 <varlistentry id="libgs.so">
379 <term><filename class="libraryfile">libgs.so</filename></term>
380 <listitem>
381 <para>
382 provides <application>Ghostscript</application> functionality to
383 other programs, such as <application>GSView</application>,
384 <application>ImageMagick</application>, and
385 <application>libspectre</application>
386 </para>
387 <indexterm zone="gs libgs.so">
388 <primary sortas="c-libgs.so">libgs.so</primary>
389 </indexterm>
390 </listitem>
391 </varlistentry>
392 </variablelist>
393
394 <para>
395 <application>Ghostscript</application> provides many different
396 scripts used to convert PostScript, PDF, and other formats. Please refer to
397 the HTML documentation or the man pages for information about the
398 capabilities provided.
399 </para>
400 </sect2>
401
402</sect1>
Note: See TracBrowser for help on using the repository browser.