3 # http://dl.sourceforge.net/djvu/gsdjvu-1.3.tar.gz (or newer)
6 %bcond_without cairo # cairo support (disable for cairo bootstrap)
7 %bcond_without system_freetype # system freetype
8 %bcond_without system_jbig2dec # system jbig2dec
9 %bcond_with system_libjpeg # system libjpeg (incompatible with D_MAX_BLOCKS_IN_MCU=64 variant)
10 %bcond_with system_libtiff # system libtiff (incompatible with modified libjpeg)
11 %bcond_without system_openjp2 # system openjpeg2
12 %bcond_with system_lcms2 # build with included lcms2 (which is thread safe)
13 %bcond_without system_tesseract # system tesseract+leptonlib
14 %bcond_without gtk # gsx (GTK+ based frontend)
15 %bcond_without texdocs # skip tetex BRs
17 Summary: PostScript & PDF interpreter and renderer
18 Summary(de.UTF-8): PostScript & PDF Interpreter und Renderer
19 Summary(fr.UTF-8): Interpréteur et visualisateur PostScript & PDF
20 Summary(ja.UTF-8): PostScript インタープリタ・レンダラー
21 Summary(pl.UTF-8): Bezpłatny interpreter i renderer PostScriptu i PDF
22 Summary(tr.UTF-8): PostScript & PDF yorumlayıcı ve gösterici
27 Group: Applications/Graphics
28 #Source0Download: https://github.com/ArtifexSoftware/ghostpdl-downloads/releases
29 Source0: https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10020/%{name}-%{version}.tar.xz
30 # Source0-md5: 80c1cdfada72f2eb5987dc0d590ea5b2
31 Source1: http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/%{name}-non-english-man-pages.tar.bz2
32 # Source1-md5: 9b5953aa0cc155f4364f20036b848585
33 Patch0: %{name}-missquotes.patch
34 Patch1: %{name}-a4.patch
35 Patch2: ijs-pkgconfig.patch
37 Patch6: %{name}-gdevcd8-fixes.patch
40 Patch20: %{name}-scripts.patch
42 Patch28: %{name}-iccprofiles-initdir.patch
44 URL: http://www.ghostscript.com/
45 BuildRequires: autoconf >= 2.63
46 BuildRequires: automake >= 1.6
47 %{?with_cairo:BuildRequires: cairo-devel >= 1.2.0}
48 BuildRequires: cups-devel >= 1.5
49 BuildRequires: dbus-devel
50 BuildRequires: docbook-style-dsssl
51 BuildRequires: fontconfig-devel
52 %{?with_system_freetype:BuildRequires: freetype-devel >= 1:2.13.0}
53 %{?with_gtk:BuildRequires: gtk+3-devel >= 3.0}
54 %{?with_system_jbig2dec:BuildRequires: jbig2dec-devel >= 0.20}
55 %{?with_system_lcms2:BuildRequires: lcms2-devel >= 2.10}
56 BuildRequires: libidn-devel
57 %{?with_system_libjpeg:BuildRequires: libjpeg-devel >= 9e}
58 BuildRequires: libpaper-devel
59 BuildRequires: libpng-devel >= 2:1.6.39
60 BuildRequires: libstdc++-devel
61 %{?with_system_libtiff:BuildRequires: libtiff-devel >= 4.5.0}
62 BuildRequires: libtool
63 %{?with_system_openjp2:BuildRequires: openjpeg2-devel >= 2.4.0}
64 BuildRequires: pkgconfig
65 BuildRequires: rpm-build >= 4.6
66 BuildRequires: tar >= 1:1.22
67 %{?with_system_tesseract:BuildRequires: tesseract-devel >= 4.1.0}
68 # for documentation regeneration
71 BuildRequires: tetex-dvips
73 BuildRequires: xorg-lib-libX11-devel
74 BuildRequires: xorg-lib-libXext-devel
75 BuildRequires: xorg-lib-libXt-devel
77 BuildRequires: zlib-devel >= 1.2.13
78 %{?with_system_freetype:Requires: freetype >= 1:2.13.0}
79 %{?with_system_jbig2dec:Requires: jbig2dec >= 0.20}
80 %{?with_system_lcms2:Requires: lcms2 >= 2.10}
81 %{?with_system_libjpeg:Requires: libjpeg >= 9e}
82 Requires: libpng >= 2:1.6.39
83 %{?with_system_libtiff:Requires: libtiff >= 4.5.0}
84 Requires: zlib >= 1.2.13
85 Obsoletes: ghostscript-afpl < 8.54
86 Obsoletes: ghostscript-esp < 8.50
87 Obsoletes: ghostscript-gpl < 8.51
88 Obsoletes: ghostscript-svga < 9.24
89 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
91 %define _ulibdir %{_prefix}/lib
94 cos nGhostscript is a PostScript interpreter. It can render both
95 PostScript and PDF compliant files to devices which include an X
96 window, many printer formats (including support for color printers),
97 and popular graphics file formats.
99 %description -l de.UTF-8
100 Ghostscipt ist ein PostScript-Interpretierer. Er kann sowohl
101 PostScript als auch PDF-konforme Dateien an Geräte ausgeben, zu denen
102 ein X-Fenster, viele Druckerformate (einschließlich Support für
103 Farbdrucker) und gängige Grafikdateiformate zählen.
105 %description -l fr.UTF-8
106 Ghostscript est un interpréteur PostScript. Il peut rendre des
107 fichiers PostScript ou PDF sur des périphériques dont une fenêtre X,de
108 nombreux types d'imprimantes (dont un support pour imprimantes
109 couleur), et des formats de fichiers graphiques populaires.
111 %description -l ja.UTF-8
112 Ghostscript は PostScript インタープリタです。ポストスクリプトと PDF をレンダリングし、X window
113 や他のプリンタフォーマットで出力 します。このパッケージは日本語対応しています。
115 %description -l pl.UTF-8
116 Ghostcript jest interpreterem PostScriptu, języka używanego do opisu
117 formatu dokumentu. Ghostscript potrafi przetworzyć dokument w formacie
118 PostScript i PDF na szereg postaci wyjściowych: drukarki (włączając
119 kolorowe), okno X-Window i popularne formaty graficzne.
121 %description -l tr.UTF-8
122 GhostScript, PostScript ve PDF uyumlu dosyaları, X penceresinde
123 gösterebilir ve birçok yazıcının (renkli yazıcılar dahil) basabileceği
127 Summary: Ghostscript with GTK+ console
128 Summary(pl.UTF-8): Ghostscript z konsolą GTK+
129 Group: Applications/Graphics
130 Requires: %{name} = %{version}-%{release}
131 Obsoletes: ghostscript-afpl-gtk < 8.54
132 Obsoletes: ghostscript-esp-gtk < 8.50
133 Obsoletes: ghostscript-gpl-gtk < 8.51
136 Ghostscript with GTK+ console.
138 %description gtk -l pl.UTF-8
139 Ghostscript z konsolą GTK+.
142 Summary: X Window System drivers for Ghostscript
143 Summary(pl.UTF-8): Sterowniki systemu X Window dla Ghostscripta
144 Group: Applications/Graphics
145 Requires: %{name} = %{version}-%{release}
148 X Window System output drivers for Ghostscript: x11, x11alpha.
150 %description x11 -l pl.UTF-8
151 Sterowniki wyjściowe systemu X Window dla Ghostscripta: x11, x11alpha.
154 Summary: libgs header files
155 Summary(pl.UTF-8): Pliki nagłówkowe libgs
156 Group: Development/Libraries
157 Requires: %{name} = %{version}-%{release}
158 Obsoletes: ghostscript-afpl-devel < 8.54
159 Obsoletes: ghostscript-esp-devel < 8.50
162 Header files for libgs - ghostscript shared library.
164 %description devel -l pl.UTF-8
165 Pliki nagłówkowe libgs - współdzielonej biblioteki ghostscript.
168 Summary: Documentation for ghostscript
173 The documentation files that come with ghostscript.
176 Summary: IJS (InkJet Server) shared library
177 Summary(pl.UTF-8): Biblioteka współdzielona IJS (InkJet Server)
179 Conflicts: ghostscript < 9.10-2
182 IJS (InkJet Server) Raster Image Transport Protocol shared library.
184 %description ijs -l pl.UTF-8
185 Biblioteka współdzielona protokołu transportu obrazów rastrowych IJS
189 Summary: IJS development files
190 Summary(pl.UTF-8): Pliki dla programistów IJS
191 Group: Development/Libraries
192 Requires: %{name}-ijs = %{version}-%{release}
193 Obsoletes: ghostscript-afpl-ijs-devel < 8.54
194 Obsoletes: ghostscript-esp-ijs-devel < 8.50
196 %description ijs-devel
197 IJS development files.
199 %description ijs-devel -l pl.UTF-8
200 Pliki do tworzenia programów z użyciem biblioteki IJS.
203 Summary: Static libijs library
204 Summary(pl.UTF-8): Statyczna biblioteka IJS
205 Group: Development/Libraries
206 Requires: %{name}-ijs-devel = %{version}-%{release}
207 Obsoletes: ghostscript-afpl-ijs-static < 8.54
208 Obsoletes: ghostscript-esp-ijs-static < 8.50
210 %description ijs-static
211 Static libijs library.
213 %description ijs-static -l pl.UTF-8
214 Statyczna wersja biblioteki IJS.
230 %{?with_system_freetype:%{__rm} -r freetype}
232 %{?with_system_jbig2dec:%{__rm} -r jbig2dec}
233 # (unmodified) libpng 1.6.39 and zlib 1.2.13
234 %{__rm} -r libpng zlib
235 # libjpeg (9e with additional CLAMP_DC) is built with different configuration (D_MAX_BLOCKS_IN_MCU=64)
236 %{?with_system_libjpeg:%{__rm} -r jpeg}
237 # lcms2mt is thread safe version of lcms2 2.10
238 %{?with_system_lcms2:%{__rm} -r lcms2mt}
240 %{?with_system_openjp2:%{__rm} -r openjpeg}
241 # tesseract 5.0.0-alpha-20201231, leptonica 1.81.0
242 %{?with_system_tesseract:%{__rm} -r tesseract leptonica}
244 %{?with_system_libtiff:%{__rm} -r tiff}
250 %{!?with_cairo:--disable-cairo} \
251 --disable-compile-inits \
252 --enable-dynamic --disable-hidden-visibility \
254 --with-fontpath="%{_datadir}/fonts:%{_datadir}/fonts/Type1" \
258 %{?with_system_libtiff:--with-system-libtiff} \
272 docdir=%{_docdir}/%{name}-%{version}
275 docdir=%{_docdir}/%{name}-%{version}
278 rm -rf $RPM_BUILD_ROOT
280 %{__make} soinstall \
281 DESTDIR=$RPM_BUILD_ROOT \
282 docdir=%{_docdir}/%{name}-%{version}
285 DESTDIR=$RPM_BUILD_ROOT \
286 docdir=%{_docdir}/%{name}-%{version}
288 %{__make} -C ijs install \
289 DESTDIR=$RPM_BUILD_ROOT
291 cp -p base/gserrors.h $RPM_BUILD_ROOT%{_includedir}/ghostscript
293 cp -p LICENSE $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
295 %{__rm} $RPM_BUILD_ROOT%{_bindir}/*.sh \
296 $RPM_BUILD_ROOT%{_mandir}/man1/{ps2pdf1{2,3},eps2eps}.1
298 echo ".so gs.1" > $RPM_BUILD_ROOT%{_mandir}/man1/ghostscript.1
299 echo ".so ps2pdf.1" > $RPM_BUILD_ROOT%{_mandir}/man1/ps2pdf12.1
300 echo ".so ps2pdf.1" > $RPM_BUILD_ROOT%{_mandir}/man1/ps2pdf13.1
301 echo ".so ps2ps.1" > $RPM_BUILD_ROOT%{_mandir}/man1/eps2eps.1
302 echo ".so gslp.1" > $RPM_BUILD_ROOT%{_mandir}/man1/gsbj.1
303 echo ".so gslp.1" > $RPM_BUILD_ROOT%{_mandir}/man1/gsdj.1
304 echo ".so gslp.1" > $RPM_BUILD_ROOT%{_mandir}/man1/gsdj500.1
305 echo ".so gslp.1" > $RPM_BUILD_ROOT%{_mandir}/man1/gslj.1
307 bzip2 -dc %{SOURCE1} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
308 %{__rm} $RPM_BUILD_ROOT%{_mandir}/README.ghostscript-non-english-man-pages
310 ln -sf gs $RPM_BUILD_ROOT%{_bindir}/gsc
311 ln -sf gs $RPM_BUILD_ROOT%{_bindir}/ghostscript
314 rm -rf $RPM_BUILD_ROOT
316 %post -p /sbin/ldconfig
317 %postun -p /sbin/ldconfig
319 %post ijs -p /sbin/ldconfig
320 %postun ijs -p /sbin/ldconfig
323 %defattr(644,root,root,755)
324 %attr(755,root,root) %{_bindir}/dvipdf
325 %attr(755,root,root) %{_bindir}/eps2eps
326 %attr(755,root,root) %{_bindir}/ghostscript
327 %attr(755,root,root) %{_bindir}/gs
328 %attr(755,root,root) %{_bindir}/gsbj
329 %attr(755,root,root) %{_bindir}/gsc
330 %attr(755,root,root) %{_bindir}/gsdj
331 %attr(755,root,root) %{_bindir}/gsdj500
332 %attr(755,root,root) %{_bindir}/gslj
333 %attr(755,root,root) %{_bindir}/gslp
334 %attr(755,root,root) %{_bindir}/gsnd
335 %attr(755,root,root) %{_bindir}/pdf2dsc
336 %attr(755,root,root) %{_bindir}/pdf2ps
337 %attr(755,root,root) %{_bindir}/pf2afm
338 %attr(755,root,root) %{_bindir}/pfbtopfa
339 %attr(755,root,root) %{_bindir}/printafm
340 %attr(755,root,root) %{_bindir}/ps2ascii
341 %attr(755,root,root) %{_bindir}/ps2epsi
342 %attr(755,root,root) %{_bindir}/ps2pdf
343 %attr(755,root,root) %{_bindir}/ps2pdf12
344 %attr(755,root,root) %{_bindir}/ps2pdf13
345 %attr(755,root,root) %{_bindir}/ps2pdf14
346 %attr(755,root,root) %{_bindir}/ps2pdfwr
347 %attr(755,root,root) %{_bindir}/ps2ps
348 %attr(755,root,root) %{_bindir}/ps2ps2
349 %attr(755,root,root) %{_bindir}/pphs
350 %attr(755,root,root) %{_libdir}/libgs.so.*.*
351 %attr(755,root,root) %ghost %{_libdir}/libgs.so.10
352 %dir %{_datadir}/%{name}
353 %dir %{_datadir}/%{name}/%{version}
354 %{_datadir}/%{name}/%{version}/Resource
355 %{_datadir}/%{name}/%{version}/iccprofiles
356 %dir %{_datadir}/%{name}/%{version}/lib
357 %{_datadir}/%{name}/%{version}/lib/*.ppd
358 %{_datadir}/%{name}/%{version}/lib/*.ps
359 %{_datadir}/%{name}/%{version}/lib/*.rpd
360 %{_datadir}/%{name}/%{version}/lib/*.upp
361 %{_datadir}/%{name}/%{version}/lib/*.x[bp]m
362 %{_mandir}/man1/dvipdf.1*
363 %{_mandir}/man1/eps2eps.1*
364 %{_mandir}/man1/ghostscript.1*
365 %{_mandir}/man1/gs.1*
366 %{_mandir}/man1/gsbj.1*
367 %{_mandir}/man1/gsdj.1*
368 %{_mandir}/man1/gsdj500.1*
369 %{_mandir}/man1/gslj.1*
370 %{_mandir}/man1/gslp.1*
371 %{_mandir}/man1/gsnd.1*
372 %{_mandir}/man1/pdf2dsc.1*
373 %{_mandir}/man1/pdf2ps.1*
374 %{_mandir}/man1/pf2afm.1*
375 %{_mandir}/man1/pfbtopfa.1*
376 %{_mandir}/man1/printafm.1*
377 %{_mandir}/man1/ps2ascii.1*
378 %{_mandir}/man1/ps2epsi.1*
379 %{_mandir}/man1/ps2pdf.1*
380 %{_mandir}/man1/ps2pdf12.1*
381 %{_mandir}/man1/ps2pdf13.1*
382 %{_mandir}/man1/ps2pdf14.1*
383 %{_mandir}/man1/ps2pdfwr.1*
384 %{_mandir}/man1/ps2ps.1*
385 %lang(cs) %{_mandir}/cs/man1/*
386 %lang(es) %{_mandir}/es/man1/*
387 %lang(fr) %{_mandir}/fr/man1/*
388 %lang(pl) %{_mandir}/pl/man1/*
391 %defattr(644,root,root,755)
392 %doc %{_docdir}/%{name}-%{version}
396 %defattr(644,root,root,755)
397 %attr(755,root,root) %{_bindir}/gsx
401 %defattr(644,root,root,755)
402 %dir %{_libdir}/%{name}/%{version}
403 %attr(755,root,root) %{_libdir}/%{name}/%{version}/X11.so
406 %defattr(644,root,root,755)
407 %attr(755,root,root) %{_libdir}/libgs.so
408 %{_includedir}/ghostscript
411 %defattr(644,root,root,755)
413 %attr(755,root,root) %{_bindir}/ijs_client_example
414 %attr(755,root,root) %{_bindir}/ijs_server_example
415 %attr(755,root,root) %{_libdir}/libijs-*.so
418 %defattr(644,root,root,755)
419 %attr(755,root,root) %{_libdir}/libijs.so
422 %{_pkgconfigdir}/ijs.pc
425 %defattr(644,root,root,755)