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 gtk # gsx (GTK+ based frontend)
14 %bcond_without texdocs # skip tetex BRs
16 Summary: PostScript & PDF interpreter and renderer
17 Summary(de.UTF-8): PostScript & PDF Interpreter und Renderer
18 Summary(fr.UTF-8): Interpréteur et visualisateur PostScript & PDF
19 Summary(ja.UTF-8): PostScript インタープリタ・レンダラー
20 Summary(pl.UTF-8): Bezpłatny interpreter i renderer PostScriptu i PDF
21 Summary(tr.UTF-8): PostScript & PDF yorumlayıcı ve gösterici
26 Group: Applications/Graphics
27 #Source0Download: https://github.com/ArtifexSoftware/ghostpdl-downloads/releases
28 Source0: https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs9540/%{name}-%{version}.tar.xz
29 # Source0-md5: 72535d31018129a1a8ff636a47ba1f92
30 Source1: http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/%{name}-non-english-man-pages.tar.bz2
31 # Source1-md5: 9b5953aa0cc155f4364f20036b848585
32 Patch0: %{name}-missquotes.patch
33 Patch1: %{name}-a4.patch
34 Patch2: ijs-pkgconfig.patch
35 Patch3: %{name}-tiff.patch
37 Patch6: %{name}-gdevcd8-fixes.patch
38 Patch8: %{name}-zlib.patch
41 Patch20: %{name}-scripts.patch
43 Patch28: %{name}-iccprofiles-initdir.patch
45 URL: http://www.ghostscript.com/
46 BuildRequires: autoconf >= 2.63
47 BuildRequires: automake >= 1.6
48 %{?with_cairo:BuildRequires: cairo-devel >= 1.2.0}
49 BuildRequires: cups-devel >= 1.5
50 BuildRequires: dbus-devel
51 BuildRequires: docbook-style-dsssl
52 BuildRequires: fontconfig-devel
53 %{?with_system_freetype:BuildRequires: freetype-devel >= 1:2.10.4}
54 %{?with_gtk:BuildRequires: gtk+3-devel >= 3.0}
55 %{?with_system_jbig2dec:BuildRequires: jbig2dec-devel >= 0.19}
56 %{?with_system_lcms2:BuildRequires: lcms2-devel >= 2.6}
57 BuildRequires: libidn-devel
58 %{?with_system_libjpeg:BuildRequires: libjpeg-devel >= 9c}
59 BuildRequires: libpaper-devel
60 BuildRequires: libpng-devel >= 2:1.6.37
61 BuildRequires: libstdc++-devel
62 %{?with_system_libtiff:BuildRequires: libtiff-devel >= 4.2.0}
63 BuildRequires: libtool
64 BuildRequires: pkgconfig
65 BuildRequires: rpm-build >= 4.6
66 BuildRequires: tar >= 1:1.22
67 # for documentation regeneration
70 BuildRequires: tetex-dvips
72 BuildRequires: xorg-lib-libX11-devel
73 BuildRequires: xorg-lib-libXext-devel
74 BuildRequires: xorg-lib-libXt-devel
76 BuildRequires: zlib-devel >= 1.2.11
77 %{?with_system_freetype:Requires: freetype >= 1:2.10.4}
78 %{?with_system_jbig2dec:Requires: jbig2dec >= 0.19}
79 %{?with_system_lcms2:Requires: lcms2 >= 2.6}
80 %{?with_system_libjpeg:Requires: libjpeg >= 9c}
81 Requires: libpng >= 2:1.6.37
82 %{?with_system_libtiff:Requires: libtiff >= 4.2.0}
83 Requires: zlib >= 1.2.11
84 Obsoletes: ghostscript-afpl < 8.54
85 Obsoletes: ghostscript-esp < 8.50
86 Obsoletes: ghostscript-gpl < 8.51
87 Obsoletes: ghostscript-svga < 9.24
88 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
90 %define _ulibdir %{_prefix}/lib
93 cos nGhostscript is a PostScript interpreter. It can render both
94 PostScript and PDF compliant files to devices which include an X
95 window, many printer formats (including support for color printers),
96 and popular graphics file formats.
98 %description -l de.UTF-8
99 Ghostscipt ist ein PostScript-Interpretierer. Er kann sowohl
100 PostScript als auch PDF-konforme Dateien an Geräte ausgeben, zu denen
101 ein X-Fenster, viele Druckerformate (einschließlich Support für
102 Farbdrucker) und gängige Grafikdateiformate zählen.
104 %description -l fr.UTF-8
105 Ghostscript est un interpréteur PostScript. Il peut rendre des
106 fichiers PostScript ou PDF sur des périphériques dont une fenêtre X,de
107 nombreux types d'imprimantes (dont un support pour imprimantes
108 couleur), et des formats de fichiers graphiques populaires.
110 %description -l ja.UTF-8
111 Ghostscript は PostScript インタープリタです。ポストスクリプトと PDF をレンダリングし、X window
112 や他のプリンタフォーマットで出力 します。このパッケージは日本語対応しています。
114 %description -l pl.UTF-8
115 Ghostcript jest interpreterem PostScriptu, języka używanego do opisu
116 formatu dokumentu. Ghostscript potrafi przetworzyć dokument w formacie
117 PostScript i PDF na szereg postaci wyjściowych: drukarki (włączając
118 kolorowe), okno X-Window i popularne formaty graficzne.
120 %description -l tr.UTF-8
121 GhostScript, PostScript ve PDF uyumlu dosyaları, X penceresinde
122 gösterebilir ve birçok yazıcının (renkli yazıcılar dahil) basabileceği
126 Summary: Ghostscript with GTK+ console
127 Summary(pl.UTF-8): Ghostscript z konsolą GTK+
128 Group: Applications/Graphics
129 Requires: %{name} = %{version}-%{release}
130 Obsoletes: ghostscript-afpl-gtk < 8.54
131 Obsoletes: ghostscript-esp-gtk < 8.50
132 Obsoletes: ghostscript-gpl-gtk < 8.51
135 Ghostscript with GTK+ console.
137 %description gtk -l pl.UTF-8
138 Ghostscript z konsolą GTK+.
141 Summary: X Window System drivers for Ghostscript
142 Summary(pl.UTF-8): Sterowniki systemu X Window dla Ghostscripta
143 Group: Applications/Graphics
144 Requires: %{name} = %{version}-%{release}
147 X Window System output drivers for Ghostscript: x11, x11alpha.
149 %description x11 -l pl.UTF-8
150 Sterowniki wyjściowe systemu X Window dla Ghostscripta: x11, x11alpha.
153 Summary: libgs header files
154 Summary(pl.UTF-8): Pliki nagłówkowe libgs
155 Group: Development/Libraries
156 Requires: %{name} = %{version}-%{release}
157 Obsoletes: ghostscript-afpl-devel < 8.54
158 Obsoletes: ghostscript-esp-devel < 8.50
161 Header files for libgs - ghostscript shared library.
163 %description devel -l pl.UTF-8
164 Pliki nagłówkowe libgs - współdzielonej biblioteki ghostscript.
167 Summary: Documentation for ghostscript
172 The documentation files that come with ghostscript.
175 Summary: IJS (InkJet Server) shared library
176 Summary(pl.UTF-8): Biblioteka współdzielona IJS (InkJet Server)
178 Conflicts: ghostscript < 9.10-2
181 IJS (InkJet Server) Raster Image Transport Protocol shared library.
183 %description ijs -l pl.UTF-8
184 Biblioteka współdzielona protokołu transportu obrazów rastrowych IJS
188 Summary: IJS development files
189 Summary(pl.UTF-8): Pliki dla programistów IJS
190 Group: Development/Libraries
191 Requires: %{name}-ijs = %{version}-%{release}
192 Obsoletes: ghostscript-afpl-ijs-devel < 8.54
193 Obsoletes: ghostscript-esp-ijs-devel < 8.50
195 %description ijs-devel
196 IJS development files.
198 %description ijs-devel -l pl.UTF-8
199 Pliki do tworzenia programów z użyciem biblioteki IJS.
202 Summary: Static libijs library
203 Summary(pl.UTF-8): Statyczna biblioteka IJS
204 Group: Development/Libraries
205 Requires: %{name}-ijs-devel = %{version}-%{release}
206 Obsoletes: ghostscript-afpl-ijs-static < 8.54
207 Obsoletes: ghostscript-esp-ijs-static < 8.50
209 %description ijs-static
210 Static libijs library.
212 %description ijs-static -l pl.UTF-8
213 Statyczna wersja biblioteki IJS.
231 %{?with_system_freetype:%{__rm} -r freetype}
233 %{?with_system_jbig2dec:%{__rm} -r jbig2dec}
234 # (unmodified) libpng 1.6.37 and zlib 1.2.11
235 %{__rm} -r libpng zlib
236 # libjpeg (9c without CLAMP_DC fixes) is built with different configuration (D_MAX_BLOCKS_IN_MCU=64)
237 %{?with_system_libjpeg:%{__rm} -r jpeg}
238 # lcms2mt is thread safe version of lcms2 2.10
239 %{?with_system_lcms2:%{__rm} -r lcms2mt}
240 # leptonica 1.81.0-git (for tesseract), no switch to use system
242 %{?with_system_openjp2:%{__rm} -r openjpeg}
243 # tesseract 5.0.0-alpha, no switch to use system
249 %{!?with_cairo:--disable-cairo} \
250 --disable-compile-inits \
253 --with-fontpath="%{_datadir}/fonts:%{_datadir}/fonts/Type1" \
257 %{?with_system_libtiff:--with-system-libtiff} \
271 docdir=%{_docdir}/%{name}-%{version}
274 docdir=%{_docdir}/%{name}-%{version}
277 rm -rf $RPM_BUILD_ROOT
279 %{__make} soinstall \
280 DESTDIR=$RPM_BUILD_ROOT \
281 docdir=%{_docdir}/%{name}-%{version}
284 DESTDIR=$RPM_BUILD_ROOT \
285 docdir=%{_docdir}/%{name}-%{version}
287 %{__make} -C ijs install \
288 DESTDIR=$RPM_BUILD_ROOT
290 cp -p base/gserrors.h $RPM_BUILD_ROOT%{_includedir}/ghostscript
292 cp -p LICENSE $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
294 %{__rm} $RPM_BUILD_ROOT%{_bindir}/*.sh \
295 $RPM_BUILD_ROOT%{_mandir}/man1/{ps2pdf1{2,3},eps2eps}.1 \
296 $RPM_BUILD_ROOT%{_mandir}/de/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 echo ".so ps2ps.1" > $RPM_BUILD_ROOT%{_mandir}/de/man1/eps2eps.1
308 echo ".so ps2pdf.1" > $RPM_BUILD_ROOT%{_mandir}/de/man1/ps2pdf12.1
309 echo ".so ps2pdf.1" > $RPM_BUILD_ROOT%{_mandir}/de/man1/ps2pdf13.1
311 bzip2 -dc %{SOURCE1} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
312 %{__rm} $RPM_BUILD_ROOT%{_mandir}/README.ghostscript-non-english-man-pages
314 ln -sf gs $RPM_BUILD_ROOT%{_bindir}/gsc
315 ln -sf gs $RPM_BUILD_ROOT%{_bindir}/ghostscript
318 rm -rf $RPM_BUILD_ROOT
320 %post -p /sbin/ldconfig
321 %postun -p /sbin/ldconfig
323 %post ijs -p /sbin/ldconfig
324 %postun ijs -p /sbin/ldconfig
327 %defattr(644,root,root,755)
328 %attr(755,root,root) %{_bindir}/dvipdf
329 %attr(755,root,root) %{_bindir}/eps2eps
330 %attr(755,root,root) %{_bindir}/ghostscript
331 %attr(755,root,root) %{_bindir}/gs
332 %attr(755,root,root) %{_bindir}/gsbj
333 %attr(755,root,root) %{_bindir}/gsc
334 %attr(755,root,root) %{_bindir}/gsdj
335 %attr(755,root,root) %{_bindir}/gsdj500
336 %attr(755,root,root) %{_bindir}/gslj
337 %attr(755,root,root) %{_bindir}/gslp
338 %attr(755,root,root) %{_bindir}/gsnd
339 %attr(755,root,root) %{_bindir}/pdf2dsc
340 %attr(755,root,root) %{_bindir}/pdf2ps
341 %attr(755,root,root) %{_bindir}/pf2afm
342 %attr(755,root,root) %{_bindir}/pfbtopfa
343 %attr(755,root,root) %{_bindir}/printafm
344 %attr(755,root,root) %{_bindir}/ps2ascii
345 %attr(755,root,root) %{_bindir}/ps2epsi
346 %attr(755,root,root) %{_bindir}/ps2pdf
347 %attr(755,root,root) %{_bindir}/ps2pdf12
348 %attr(755,root,root) %{_bindir}/ps2pdf13
349 %attr(755,root,root) %{_bindir}/ps2pdf14
350 %attr(755,root,root) %{_bindir}/ps2pdfwr
351 %attr(755,root,root) %{_bindir}/ps2ps
352 %attr(755,root,root) %{_bindir}/ps2ps2
353 %attr(755,root,root) %{_bindir}/pphs
354 %attr(755,root,root) %{_libdir}/libgs.so.*.*
355 %attr(755,root,root) %ghost %{_libdir}/libgs.so.9
356 %dir %{_libdir}/%{name}
357 %dir %{_libdir}/%{name}/%{version}
358 %dir %{_datadir}/%{name}
359 %dir %{_datadir}/%{name}/%{version}
360 %{_datadir}/%{name}/%{version}/Resource
361 %{_datadir}/%{name}/%{version}/iccprofiles
362 %dir %{_datadir}/%{name}/%{version}/lib
363 %{_datadir}/%{name}/%{version}/lib/*.ppd
364 %{_datadir}/%{name}/%{version}/lib/*.ps
365 %{_datadir}/%{name}/%{version}/lib/*.rpd
366 %{_datadir}/%{name}/%{version}/lib/*.upp
367 %{_datadir}/%{name}/%{version}/lib/*.x[bp]m
368 %{_mandir}/man1/dvipdf.1*
369 %{_mandir}/man1/eps2eps.1*
370 %{_mandir}/man1/ghostscript.1*
371 %{_mandir}/man1/gs.1*
372 %{_mandir}/man1/gsbj.1*
373 %{_mandir}/man1/gsdj.1*
374 %{_mandir}/man1/gsdj500.1*
375 %{_mandir}/man1/gslj.1*
376 %{_mandir}/man1/gslp.1*
377 %{_mandir}/man1/gsnd.1*
378 %{_mandir}/man1/pdf2dsc.1*
379 %{_mandir}/man1/pdf2ps.1*
380 %{_mandir}/man1/pf2afm.1*
381 %{_mandir}/man1/pfbtopfa.1*
382 %{_mandir}/man1/printafm.1*
383 %{_mandir}/man1/ps2ascii.1*
384 %{_mandir}/man1/ps2epsi.1*
385 %{_mandir}/man1/ps2pdf.1*
386 %{_mandir}/man1/ps2pdf12.1*
387 %{_mandir}/man1/ps2pdf13.1*
388 %{_mandir}/man1/ps2pdf14.1*
389 %{_mandir}/man1/ps2pdfwr.1*
390 %{_mandir}/man1/ps2ps.1*
391 %lang(cs) %{_mandir}/cs/man1/*
392 %lang(de) %{_mandir}/de/man1/*
393 %lang(es) %{_mandir}/es/man1/*
394 %lang(fr) %{_mandir}/fr/man1/*
395 %lang(pl) %{_mandir}/pl/man1/*
398 %defattr(644,root,root,755)
399 %doc %{_docdir}/%{name}-%{version}
403 %defattr(644,root,root,755)
404 %attr(755,root,root) %{_bindir}/gsx
408 %defattr(644,root,root,755)
409 %attr(755,root,root) %{_libdir}/%{name}/%{version}/X11.so
412 %defattr(644,root,root,755)
413 %attr(755,root,root) %{_libdir}/libgs.so
414 %{_includedir}/ghostscript
417 %defattr(644,root,root,755)
419 %attr(755,root,root) %{_bindir}/ijs_client_example
420 %attr(755,root,root) %{_bindir}/ijs_server_example
421 %attr(755,root,root) %{_libdir}/libijs-*.so
424 %defattr(644,root,root,755)
425 %attr(755,root,root) %{_libdir}/libijs.so
428 %{_pkgconfigdir}/ijs.pc
431 %defattr(644,root,root,755)