]> git.pld-linux.org Git - packages/ghostscript.git/blobdiff - ghostscript.spec
Up to 10.02.0
[packages/ghostscript.git] / ghostscript.spec
index 1a9a17b5b9ac64950df4624b1353470cf9a7face..f9e6bebbf57fec9185873fe08ebe29bfc1d8289d 100644 (file)
@@ -1,13 +1,18 @@
-#
 # TODO:
-#      - fix svga bcond
-#      - cups subpackage?
+# - add djvu driver:
+#   http://dl.sourceforge.net/djvu/gsdjvu-1.3.tar.gz (or newer)
 #
 # Conditional build:
-%bcond_without system_jbig2dec # build with included jbig2dec
-%bcond_with    svga            # with svgalib display support (vgalib and lvga256 devices)
-%bcond_without gtk             # without gsx
-#
+%bcond_without cairo           # cairo support (disable for cairo bootstrap)
+%bcond_without system_freetype # system freetype
+%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:       PostScript & PDF interpreter and renderer
 Summary(de.UTF-8):     PostScript & PDF Interpreter und Renderer
 Summary(fr.UTF-8):     Interpréteur et visualisateur PostScript & PDF
@@ -15,48 +20,74 @@ Summary(ja.UTF-8):  PostScript インタープリタ・レンダラー
 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:       8.60
-Release:       2
-License:       GPL
+Version:       10.02.0
+Release:       1
+License:       AGPL v3+
 Group:         Applications/Graphics
-Source0:       http://dl.sourceforge.net/ghostscript/%{name}-%{version}.tar.bz2
-# Source0-md5: 89fc0a90e67caf151a9d6855200c68ca
+#Source0Download: https://github.com/ArtifexSoftware/ghostpdl-downloads/releases
+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}-setuid.patch
-Patch2:                %{name}-time_h.patch
-Patch3:                %{name}-am.patch
-# no device for cdj850 in non-espgs ghostscript
-# look for patch in old spec for GNU ghostscript
-#Patch4:               %{name}-gdevcd8-fixes.patch
-#Patch5:               %{name}-glib.patch
-Patch6:                %{name}-ijs_pkgconfig_64.patch
+Patch1:                %{name}-a4.patch
+Patch2:                ijs-pkgconfig.patch
+
+Patch6:                %{name}-gdevcd8-fixes.patch
+
+# fedora
+Patch20:       %{name}-scripts.patch
+
+Patch28:       %{name}-iccprofiles-initdir.patch
+
 URL:           http://www.ghostscript.com/
-BuildRequires: autoconf
-BuildRequires: automake
+BuildRequires: autoconf >= 2.63
+BuildRequires: automake >= 1.6
+%{?with_cairo:BuildRequires:   cairo-devel >= 1.2.0}
+BuildRequires: cups-devel >= 1.5
+BuildRequires: dbus-devel
 BuildRequires: docbook-style-dsssl
-BuildRequires: glib2-devel
-%{?with_system_jbig2dec:BuildRequires: jbig2dec-devel}
-# for gsx
-%{?with_gtk:BuildRequires:     gtk+-devel}
-BuildRequires: libpng-devel >= 1.0.8
+BuildRequires: fontconfig-devel
+%{?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: libidn-devel
+%{?with_system_libjpeg:BuildRequires:  libjpeg-devel >= 9c}
+BuildRequires: libpaper-devel
+BuildRequires: libpng-devel >= 2:1.6.37
 BuildRequires: libstdc++-devel
-BuildRequires: libtiff-devel
+%{?with_system_libtiff:BuildRequires:  libtiff-devel >= 4.2.0}
 BuildRequires: libtool
+%{?with_system_openjp2:BuildRequires:  openjpeg2-devel}
 BuildRequires: pkgconfig
-# Required by 'gdevvglb' device.
-%{?with_svga:BuildRequires:    svgalib-devel}
+BuildRequires: rpm-build >= 4.6
+BuildRequires: tar >= 1:1.22
 # for documentation regeneration
+%if %{with texdocs}
 BuildRequires: tetex
 BuildRequires: tetex-dvips
+%endif
+BuildRequires: xorg-lib-libX11-devel
 BuildRequires: xorg-lib-libXext-devel
 BuildRequires: xorg-lib-libXt-devel
-Obsoletes:     ghostscript-afpl
-Obsoletes:     ghostscript-gpl
-Obsoletes:     ghostscript-esp
+BuildRequires: xz
+BuildRequires: zlib-devel >= 1.2.11
+%{?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.2.0}
+Requires:      zlib >= 1.2.11
+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
+
 %description
 cos nGhostscript is a PostScript interpreter. It can render both
 PostScript and PDF compliant files to devices which include an X
@@ -76,9 +107,8 @@ nombreux types d'imprimantes (dont un support pour imprimantes
 couleur), et des formats de fichiers graphiques populaires.
 
 %description -l ja.UTF-8
-Ghostscript は PostScript インタープリタです。ポストスクリプトと PDF
-をレンダリングし、X window や他のプリンタフォーマットで出力
-します。このパッケージは日本語対応しています。
+Ghostscript は PostScript インタープリタです。ポストスクリプトと PDF をレンダリングし、X window
+や他のプリンタフォーマットで出力 します。このパッケージは日本語対応しています。
 
 %description -l pl.UTF-8
 Ghostcript jest interpreterem PostScriptu, języka używanego do opisu
@@ -96,9 +126,9 @@ Summary:     Ghostscript with GTK+ console
 Summary(pl.UTF-8):     Ghostscript z konsolą GTK+
 Group:         Applications/Graphics
 Requires:      %{name} = %{version}-%{release}
-Obsoletes:     ghostscript-afpl-gtk
-Obsoletes:     ghostscript-gpl-gtk
-Obsoletes:     ghostscript-esp-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.
@@ -106,13 +136,25 @@ Ghostscript with GTK+ console.
 %description gtk -l pl.UTF-8
 Ghostscript z konsolą GTK+.
 
+%package x11
+Summary:       X Window System drivers for Ghostscript
+Summary(pl.UTF-8):     Sterowniki systemu X Window dla Ghostscripta
+Group:         Applications/Graphics
+Requires:      %{name} = %{version}-%{release}
+
+%description x11
+X Window System output drivers for Ghostscript: x11, x11alpha.
+
+%description x11 -l pl.UTF-8
+Sterowniki wyjściowe systemu X Window dla Ghostscripta: x11, x11alpha.
+
 %package devel
 Summary:       libgs header files
 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.
@@ -120,13 +162,34 @@ Header files for libgs - ghostscript shared library.
 %description devel -l pl.UTF-8
 Pliki nagłówkowe libgs - współdzielonej biblioteki ghostscript.
 
+%package doc
+Summary:       Documentation for ghostscript
+Group:         Documentation
+BuildArch:     noarch
+
+%description doc
+The documentation files that come with ghostscript.
+
+%package ijs
+Summary:       IJS (InkJet Server) shared library
+Summary(pl.UTF-8):     Biblioteka współdzielona IJS (InkJet Server)
+Group:         Libraries
+Conflicts:     ghostscript < 9.10-2
+
+%description ijs
+IJS (InkJet Server) Raster Image Transport Protocol shared library.
+
+%description ijs -l pl.UTF-8
+Biblioteka współdzielona protokołu transportu obrazów rastrowych IJS
+(InkJet Server).
+
 %package ijs-devel
 Summary:       IJS development files
 Summary(pl.UTF-8):     Pliki dla programistów IJS
 Group:         Development/Libraries
-Requires:      %{name} = %{version}-%{release}
-Obsoletes:     ghostscript-afpl-ijs-devel
-Obsoletes:     ghostscript-esp-ijs-devel
+Requires:      %{name}-ijs = %{version}-%{release}
+Obsoletes:     ghostscript-afpl-ijs-devel < 8.54
+Obsoletes:     ghostscript-esp-ijs-devel < 8.50
 
 %description ijs-devel
 IJS development files.
@@ -139,8 +202,8 @@ Summary:    Static libijs library
 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.
@@ -153,36 +216,43 @@ Statyczna wersja biblioteki IJS.
 %patch0 -p1
 %patch1 -p1
 %patch2 -p1
-#%patch3 -p1
-#%patch4 -p1
-#%patch5 -p1
+
 %patch6 -p1
 
+%patch20 -p1
+
+%patch28 -p1
+
+# use system libs:
+# 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 (9d with additional CLAMP_DC) is built with different configuration (D_MAX_BLOCKS_IN_MCU=64)
+%{?with_system_libjpeg:%{__rm} -r jpeg}
+# 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
-# workarounds
-touch ijs/ijs-config.1
-%if %{with system_jbig2dec}
-if [ -d jbig2dec ]; then
-       rm -rf jbig2dec
-fi
-%endif
-cd jasper
-%{__libtoolize}
-%{__aclocal}
-%{__autoconf}
-cd ..
 %{__aclocal}
 %{__autoconf}
-CFLAGS="%{rpmcflags} -DA4 -fPIC"
-export CFLAGS
 %configure \
+       %{!?with_cairo:--disable-cairo} \
+       --disable-compile-inits \
+        --enable-dynamic --disable-hidden-visibility \
+       --with-drivers=ALL \
        --with-fontpath="%{_datadir}/fonts:%{_datadir}/fonts/Type1" \
        --with-ijs \
        --with-jbig2dec \
-       --with-jasper \
-       --with-x \
-        --with-drivers=ALL%{?with_svga:,vgalib,lvga256} \
-       --enable-dynamic
+       --with-pdftoraster \
+       %{?with_system_libtiff:--with-system-libtiff} \
+       --with-x
 
 cd ijs
 %{__libtoolize}
@@ -191,36 +261,35 @@ cd ijs
 %{__automake}
 %configure \
        --enable-shared
+%{__make}
 cd ..
 
-%{__make} -j1 \
+%{__make} -j1 so \
        docdir=%{_docdir}/%{name}-%{version}
 
-%{__make} -j1 so \
+%{__make} -j1 \
        docdir=%{_docdir}/%{name}-%{version}
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_datadir}/ghostscript/lib,%{_libdir},%{_includedir}/ps}
 
-
-%{__make} install \
+%{__make} soinstall \
        DESTDIR=$RPM_BUILD_ROOT \
        docdir=%{_docdir}/%{name}-%{version}
 
-%{__make} soinstall \
+%{__make} install \
        DESTDIR=$RPM_BUILD_ROOT \
        docdir=%{_docdir}/%{name}-%{version}
 
 %{__make} -C ijs install \
        DESTDIR=$RPM_BUILD_ROOT
 
-install lib/{gs_frsd,pdfopt,pdfwrite}.ps $RPM_BUILD_ROOT%{_datadir}/%{name}/lib
+cp -p base/gserrors.h $RPM_BUILD_ROOT%{_includedir}/ghostscript
+
+cp -p LICENSE $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
 
-rm -rf $RPM_BUILD_ROOT%{_datadir}/%{name}/doc \
-       $RPM_BUILD_ROOT%{_bindir}/*.sh \
-       $RPM_BUILD_ROOT%{_mandir}/man1/{ps2pdf1{2,3},gsbj,gsdj,gsdj500,gslj,eps2eps}.1 \
-       $RPM_BUILD_ROOT%{_mandir}/de/man1/{ps2pdf1{2,3},eps2eps}.1
+%{__rm} $RPM_BUILD_ROOT%{_bindir}/*.sh \
+       $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
@@ -231,14 +300,9 @@ echo ".so gslp.1"   > $RPM_BUILD_ROOT%{_mandir}/man1/gsdj.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
 
-#mv -f $RPM_BUILD_ROOT%{_bindir}/{gsc,gs}
 ln -sf gs $RPM_BUILD_ROOT%{_bindir}/gsc
 ln -sf gs $RPM_BUILD_ROOT%{_bindir}/ghostscript
 
@@ -248,38 +312,80 @@ rm -rf $RPM_BUILD_ROOT
 %post  -p /sbin/ldconfig
 %postun        -p /sbin/ldconfig
 
+%post  ijs -p /sbin/ldconfig
+%postun        ijs -p /sbin/ldconfig
+
 %files
 %defattr(644,root,root,755)
-%doc %{_docdir}/%{name}-%{version}
-%attr(755,root,root) %{_bindir}/[bdeflpsux]*
+%attr(755,root,root) %{_bindir}/dvipdf
+%attr(755,root,root) %{_bindir}/eps2eps
+%attr(755,root,root) %{_bindir}/ghostscript
 %attr(755,root,root) %{_bindir}/gs
-%attr(755,root,root) %{_bindir}/wftopfa
-%attr(755,root,root) %{_bindir}/gs[!x]*
-%attr(755,root,root) %{_bindir}/ijs_*_example
+%attr(755,root,root) %{_bindir}/gsbj
+%attr(755,root,root) %{_bindir}/gsc
+%attr(755,root,root) %{_bindir}/gsdj
+%attr(755,root,root) %{_bindir}/gsdj500
+%attr(755,root,root) %{_bindir}/gslj
+%attr(755,root,root) %{_bindir}/gslp
+%attr(755,root,root) %{_bindir}/gsnd
+%attr(755,root,root) %{_bindir}/pdf2dsc
+%attr(755,root,root) %{_bindir}/pdf2ps
+%attr(755,root,root) %{_bindir}/pf2afm
+%attr(755,root,root) %{_bindir}/pfbtopfa
+%attr(755,root,root) %{_bindir}/printafm
+%attr(755,root,root) %{_bindir}/ps2ascii
+%attr(755,root,root) %{_bindir}/ps2epsi
+%attr(755,root,root) %{_bindir}/ps2pdf
+%attr(755,root,root) %{_bindir}/ps2pdf12
+%attr(755,root,root) %{_bindir}/ps2pdf13
+%attr(755,root,root) %{_bindir}/ps2pdf14
+%attr(755,root,root) %{_bindir}/ps2pdfwr
+%attr(755,root,root) %{_bindir}/ps2ps
+%attr(755,root,root) %{_bindir}/ps2ps2
+%attr(755,root,root) %{_bindir}/pphs
 %attr(755,root,root) %{_libdir}/libgs.so.*.*
-%attr(755,root,root) %{_libdir}/libijs-*.so
-%dir %{_libdir}/%{name}
-%dir %{_libdir}/%{name}/*.*
-%attr(755,root,root) %{_libdir}/%{name}/*.*/*.so
+%attr(755,root,root) %ghost %{_libdir}/libgs.so.10
 %dir %{_datadir}/%{name}
-%dir %{_datadir}/%{name}/lib
-%{_datadir}/%{name}/lib/*.*
 %dir %{_datadir}/%{name}/%{version}
-%dir %{_datadir}/%{name}/%{version}/lib
-# "*.*" will not match "Fontmap". It is OK.
-%{_datadir}/%{name}/%{version}/lib/*.*
-%{_datadir}/%{name}/%{version}/lib/[!F]*map
-%{_datadir}/%{name}/%{version}/lib/FCOfontmap-PCLPS2
-%config %verify(not md5 mtime size) %{_datadir}/%{name}/%{version}/lib/Fontmap
-%{_datadir}/%{name}/%{version}/lib/pphs
 %{_datadir}/%{name}/%{version}/Resource
-%{_datadir}/%{name}/%{version}/examples
-%{_mandir}/man*/*
-%lang(cs) %{_mandir}/cs/man*/*
-%lang(de) %{_mandir}/de/man*/*
-%lang(es) %{_mandir}/es/man*/*
-%lang(fr) %{_mandir}/fr/man*/*
-%lang(pl) %{_mandir}/pl/man*/*
+%{_datadir}/%{name}/%{version}/iccprofiles
+%dir %{_datadir}/%{name}/%{version}/lib
+%{_datadir}/%{name}/%{version}/lib/*.ppd
+%{_datadir}/%{name}/%{version}/lib/*.ps
+%{_datadir}/%{name}/%{version}/lib/*.rpd
+%{_datadir}/%{name}/%{version}/lib/*.upp
+%{_datadir}/%{name}/%{version}/lib/*.x[bp]m
+%{_mandir}/man1/dvipdf.1*
+%{_mandir}/man1/eps2eps.1*
+%{_mandir}/man1/ghostscript.1*
+%{_mandir}/man1/gs.1*
+%{_mandir}/man1/gsbj.1*
+%{_mandir}/man1/gsdj.1*
+%{_mandir}/man1/gsdj500.1*
+%{_mandir}/man1/gslj.1*
+%{_mandir}/man1/gslp.1*
+%{_mandir}/man1/gsnd.1*
+%{_mandir}/man1/pdf2dsc.1*
+%{_mandir}/man1/pdf2ps.1*
+%{_mandir}/man1/pf2afm.1*
+%{_mandir}/man1/pfbtopfa.1*
+%{_mandir}/man1/printafm.1*
+%{_mandir}/man1/ps2ascii.1*
+%{_mandir}/man1/ps2epsi.1*
+%{_mandir}/man1/ps2pdf.1*
+%{_mandir}/man1/ps2pdf12.1*
+%{_mandir}/man1/ps2pdf13.1*
+%{_mandir}/man1/ps2pdf14.1*
+%{_mandir}/man1/ps2pdfwr.1*
+%{_mandir}/man1/ps2ps.1*
+%lang(cs) %{_mandir}/cs/man1/*
+%lang(es) %{_mandir}/es/man1/*
+%lang(fr) %{_mandir}/fr/man1/*
+%lang(pl) %{_mandir}/pl/man1/*
+
+%files doc
+%defattr(644,root,root,755)
+%doc %{_docdir}/%{name}-%{version}
 
 %if %{with gtk}
 %files gtk
@@ -287,18 +393,28 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_bindir}/gsx
 %endif
 
+%files x11
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/%{version}/X11.so
+
 %files devel
 %defattr(644,root,root,755)
-%{_includedir}/ps
 %attr(755,root,root) %{_libdir}/libgs.so
+%{_includedir}/ghostscript
+
+%files ijs
+%defattr(644,root,root,755)
+%doc ijs/README
+%attr(755,root,root) %{_bindir}/ijs_client_example
+%attr(755,root,root) %{_bindir}/ijs_server_example
+%attr(755,root,root) %{_libdir}/libijs-*.so
 
 %files ijs-devel
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/ijs-config
 %attr(755,root,root) %{_libdir}/libijs.so
-%{_includedir}/ijs
 %{_libdir}/libijs.la
-%{_pkgconfigdir}/*.pc
+%{_includedir}/ijs
+%{_pkgconfigdir}/ijs.pc
 
 %files ijs-static
 %defattr(644,root,root,755)
This page took 0.242774 seconds and 4 git commands to generate.