# TODO:
-# - tesseract OCR support (experimental)
# - add djvu driver:
# http://dl.sourceforge.net/djvu/gsdjvu-1.3.tar.gz (or newer)
#
%bcond_without system_jbig2dec # system jbig2dec
%bcond_with system_libjpeg # system libjpeg (incompatible with D_MAX_BLOCKS_IN_MCU=64 variant)
%bcond_with system_libtiff # system libtiff (incompatible with modified libjpeg)
+%bcond_without system_openjp2 # system openjpeg2
%bcond_with system_lcms2 # build with included lcms2 (which is thread safe)
%bcond_without gtk # gsx (GTK+ based frontend)
%bcond_without texdocs # skip tetex BRs
Summary(pl.UTF-8): Bezpłatny interpreter i renderer PostScriptu i PDF
Summary(tr.UTF-8): PostScript & PDF yorumlayıcı ve gösterici
Name: ghostscript
-Version: 9.53.1
+Version: 10.02.0
Release: 1
License: AGPL v3+
Group: Applications/Graphics
#Source0Download: https://github.com/ArtifexSoftware/ghostpdl-downloads/releases
-Source0: https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs9531/%{name}-%{version}.tar.xz
-# Source0-md5: 3052b8787050a5d33eb2c2e9c9723766
+Source0: https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10020/%{name}-%{version}.tar.xz
+# Source0-md5: 80c1cdfada72f2eb5987dc0d590ea5b2
Source1: http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/%{name}-non-english-man-pages.tar.bz2
# Source1-md5: 9b5953aa0cc155f4364f20036b848585
Patch0: %{name}-missquotes.patch
+Patch1: %{name}-a4.patch
Patch2: ijs-pkgconfig.patch
Patch6: %{name}-gdevcd8-fixes.patch
-Patch8: %{name}-zlib.patch
# fedora
Patch20: %{name}-scripts.patch
-Patch21: %{name}-9.53.3-drop-ft-callback-def.patch
Patch28: %{name}-iccprofiles-initdir.patch
BuildRequires: dbus-devel
BuildRequires: docbook-style-dsssl
BuildRequires: fontconfig-devel
-%{?with_system_freetype:BuildRequires: freetype-devel >= 1:2.10.1}
+%{?with_system_freetype:BuildRequires: freetype-devel >= 1:2.10.4}
%{?with_gtk:BuildRequires: gtk+3-devel >= 3.0}
%{?with_system_jbig2dec:BuildRequires: jbig2dec-devel >= 0.19}
%{?with_system_lcms2:BuildRequires: lcms2-devel >= 2.6}
BuildRequires: libpaper-devel
BuildRequires: libpng-devel >= 2:1.6.37
BuildRequires: libstdc++-devel
-%{?with_system_libtiff:BuildRequires: libtiff-devel >= 4.1.0}
+%{?with_system_libtiff:BuildRequires: libtiff-devel >= 4.2.0}
BuildRequires: libtool
+%{?with_system_openjp2:BuildRequires: openjpeg2-devel}
BuildRequires: pkgconfig
+BuildRequires: rpm-build >= 4.6
BuildRequires: tar >= 1:1.22
# for documentation regeneration
%if %{with texdocs}
BuildRequires: xorg-lib-libXt-devel
BuildRequires: xz
BuildRequires: zlib-devel >= 1.2.11
-%{?with_system_freetype:Requires: freetype >= 1:2.10.1}
+%{?with_system_freetype:Requires: freetype >= 1:2.10.4}
%{?with_system_jbig2dec:Requires: jbig2dec >= 0.19}
%{?with_system_lcms2:Requires: lcms2 >= 2.6}
%{?with_system_libjpeg:Requires: libjpeg >= 9c}
Requires: libpng >= 2:1.6.37
-%{?with_system_libtiff:Requires: libtiff >= 4.1.0}
+%{?with_system_libtiff:Requires: libtiff >= 4.2.0}
Requires: zlib >= 1.2.11
-Obsoletes: ghostscript-afpl
-Obsoletes: ghostscript-esp
-Obsoletes: ghostscript-gpl
-Obsoletes: ghostscript-svga
+Obsoletes: ghostscript-afpl < 8.54
+Obsoletes: ghostscript-esp < 8.50
+Obsoletes: ghostscript-gpl < 8.51
+Obsoletes: ghostscript-svga < 9.24
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define _ulibdir %{_prefix}/lib
Summary(pl.UTF-8): Ghostscript z konsolą GTK+
Group: Applications/Graphics
Requires: %{name} = %{version}-%{release}
-Obsoletes: ghostscript-afpl-gtk
-Obsoletes: ghostscript-esp-gtk
-Obsoletes: ghostscript-gpl-gtk
+Obsoletes: ghostscript-afpl-gtk < 8.54
+Obsoletes: ghostscript-esp-gtk < 8.50
+Obsoletes: ghostscript-gpl-gtk < 8.51
%description gtk
Ghostscript with GTK+ console.
Summary(pl.UTF-8): Pliki nagłówkowe libgs
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
-Obsoletes: ghostscript-afpl-devel
-Obsoletes: ghostscript-esp-devel
+Obsoletes: ghostscript-afpl-devel < 8.54
+Obsoletes: ghostscript-esp-devel < 8.50
%description devel
Header files for libgs - ghostscript shared library.
%package doc
Summary: Documentation for ghostscript
Group: Documentation
-%if "%{_rpmversion}" >= "5"
BuildArch: noarch
-%endif
%description doc
The documentation files that come with ghostscript.
Summary(pl.UTF-8): Pliki dla programistów IJS
Group: Development/Libraries
Requires: %{name}-ijs = %{version}-%{release}
-Obsoletes: ghostscript-afpl-ijs-devel
-Obsoletes: ghostscript-esp-ijs-devel
+Obsoletes: ghostscript-afpl-ijs-devel < 8.54
+Obsoletes: ghostscript-esp-ijs-devel < 8.50
%description ijs-devel
IJS development files.
Summary(pl.UTF-8): Statyczna biblioteka IJS
Group: Development/Libraries
Requires: %{name}-ijs-devel = %{version}-%{release}
-Obsoletes: ghostscript-afpl-ijs-static
-Obsoletes: ghostscript-esp-ijs-static
+Obsoletes: ghostscript-afpl-ijs-static < 8.54
+Obsoletes: ghostscript-esp-ijs-static < 8.50
%description ijs-static
Static libijs library.
%prep
%setup -q
%patch0 -p1
+%patch1 -p1
%patch2 -p1
%patch6 -p1
-%patch8 -p1
%patch20 -p1
-%patch21 -p1
%patch28 -p1
# use system libs:
-# freetype 2.10.1
+# freetype 2.10.4
%{?with_system_freetype:%{__rm} -r freetype}
# jbig2dec 0.19
%{?with_system_jbig2dec:%{__rm} -r jbig2dec}
# (unmodified) libpng 1.6.37 and zlib 1.2.11
%{__rm} -r libpng zlib
-# libjpeg (9c without CLAMP_DC fixes) is built with different configuration (D_MAX_BLOCKS_IN_MCU=64)
+# libjpeg (9d with additional CLAMP_DC) is built with different configuration (D_MAX_BLOCKS_IN_MCU=64)
%{?with_system_libjpeg:%{__rm} -r jpeg}
-# openjpeg is 2.3.1 + few custom fixes; stick to bundled for now
-# lcms2mt is thread safe version of lcms2
+# lcms2mt is thread safe version of lcms2 2.10
%{?with_system_lcms2:%{__rm} -r lcms2mt}
+# leptonica 1.81.0-git (for tesseract), no switch to use system
+# openjpeg 2.4.0
+%{?with_system_openjp2:%{__rm} -r openjpeg}
+# tesseract 5.0.0-alpha, no switch to use system
%build
%{__aclocal}
%{__autoconf}
%configure \
- CFLAGS="%{rpmcflags} -DA4" \
%{!?with_cairo:--disable-cairo} \
--disable-compile-inits \
- --enable-dynamic \
+ --enable-dynamic --disable-hidden-visibility \
--with-drivers=ALL \
--with-fontpath="%{_datadir}/fonts:%{_datadir}/fonts/Type1" \
--with-ijs \
cp -p LICENSE $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
%{__rm} $RPM_BUILD_ROOT%{_bindir}/*.sh \
- $RPM_BUILD_ROOT%{_mandir}/man1/{ps2pdf1{2,3},eps2eps}.1 \
- $RPM_BUILD_ROOT%{_mandir}/de/man1/{ps2pdf1{2,3},eps2eps}.1
+ $RPM_BUILD_ROOT%{_mandir}/man1/{ps2pdf1{2,3},eps2eps}.1
echo ".so gs.1" > $RPM_BUILD_ROOT%{_mandir}/man1/ghostscript.1
echo ".so ps2pdf.1" > $RPM_BUILD_ROOT%{_mandir}/man1/ps2pdf12.1
echo ".so gslp.1" > $RPM_BUILD_ROOT%{_mandir}/man1/gsdj500.1
echo ".so gslp.1" > $RPM_BUILD_ROOT%{_mandir}/man1/gslj.1
-echo ".so ps2ps.1" > $RPM_BUILD_ROOT%{_mandir}/de/man1/eps2eps.1
-echo ".so ps2pdf.1" > $RPM_BUILD_ROOT%{_mandir}/de/man1/ps2pdf12.1
-echo ".so ps2pdf.1" > $RPM_BUILD_ROOT%{_mandir}/de/man1/ps2pdf13.1
-
bzip2 -dc %{SOURCE1} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
%{__rm} $RPM_BUILD_ROOT%{_mandir}/README.ghostscript-non-english-man-pages
%attr(755,root,root) %{_bindir}/ps2ps2
%attr(755,root,root) %{_bindir}/pphs
%attr(755,root,root) %{_libdir}/libgs.so.*.*
-%attr(755,root,root) %ghost %{_libdir}/libgs.so.9
-%dir %{_libdir}/%{name}
-%dir %{_libdir}/%{name}/%{version}
+%attr(755,root,root) %ghost %{_libdir}/libgs.so.10
%dir %{_datadir}/%{name}
%dir %{_datadir}/%{name}/%{version}
%{_datadir}/%{name}/%{version}/Resource
%{_mandir}/man1/ps2pdfwr.1*
%{_mandir}/man1/ps2ps.1*
%lang(cs) %{_mandir}/cs/man1/*
-%lang(de) %{_mandir}/de/man1/*
%lang(es) %{_mandir}/es/man1/*
%lang(fr) %{_mandir}/fr/man1/*
%lang(pl) %{_mandir}/pl/man1/*