source: pst/printing/gs.xml@ fc87c5a0

12.2 lazarus trunk
Last change on this file since fc87c5a0 was a3ee3886, checked in by Xi Ruoyao <xry111@…>, 4 weeks ago

gs: Space adjustment and mention the build failure with gcc-14 is related to libidn

I was just wondering why it built fine for me.

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