Accepting request 587895 from home:jsmeix:branches:Printing

Ghostscript 9.23rc1 uses lcms2 from SUSE and does no longer require any fonts packages (boo#1082896)

OBS-URL: https://build.opensuse.org/request/show/587895
OBS-URL: https://build.opensuse.org/package/show/Printing/ghostscript?expand=0&rev=88
This commit is contained in:
Johannes Meixner 2018-03-16 13:33:21 +00:00 committed by Git OBS Bridge
parent 540378ba24
commit 7fdc510d60
5 changed files with 122 additions and 58 deletions

View File

@ -1,3 +1,34 @@
-------------------------------------------------------------------
Fri Mar 16 12:39:36 CET 2018 - jsmeix@suse.de
- For now use lcms2 from SUSE because that is what currently
Ghostscript upstream recommends according to
https://ghostscript.com/pipermail/gs-devel/2018-March/010061.html
because since Ghostscript 9.23rc1 there is no longer lcms2
in Ghostscript but now it is lcms2art which is the beginning
of a lcms2 fork, see News.htm that reads in particular
"LCMS2 is not thread safe ... Our fork will be thread safe ...
We will maintain compatibility between Ghostscript and LCMS2
for a time, but not in perpetuity", see also
https://bugzilla.opensuse.org/show_bug.cgi?id=1082896#c14
- On SLE11 and on SLE12-SP1 there is liblcms2-2-2.5
which is too old so that configure fails there with
configure: error: lcms2 not found, or too old
but there is no configure option to build it without lcms2
so that for SLE11 and SLE12-SP1 it is built with
the lcms2art in Ghostscript.
- ppc64le-support.patch is no longer needed because it only
contained a fix for lcms2art/include/lcms2art.h in Ghostscript
but currently lcms2 from SUSE is used instead (see above).
- Do no longer require any fonts packages in particular
neither require ghostscript-fonts-std because the PostScript
Base35 fonts are provided by Ghostscript (in 'Resource')
nor require ghostscript-fonts-other (provides Bitream Charter,
Adobe Utopia, URW Antiqua, URW Grotesq and Hershey fonts where
all but the last are also provided by texlive-<name>-fonts) and
those fonts are not required for PostScript compliance, see
https://bugzilla.opensuse.org/show_bug.cgi?id=1082896#c13
-------------------------------------------------------------------
Thu Mar 15 11:19:33 CET 2018 - jsmeix@suse.de

View File

@ -19,6 +19,7 @@
Name: ghostscript-mini
BuildRequires: freetype2-devel
BuildRequires: libjpeg-devel
BuildRequires: liblcms2-devel
BuildRequires: libpng-devel
BuildRequires: libtiff-devel
BuildRequires: libtool
@ -68,13 +69,7 @@ Source0: ghostscript-%{tarball_version}.tar.gz
# Patch0...Patch9 is for patches from upstream:
# Source10...Source99 is for sources from SUSE which are intended for upstream:
# Patch10...Patch99 is for patches from SUSE which are intended for upstream:
# Patch11 ppc64le-support.patch is a remainder of the previous patch
# now the hunk for LCMS (lcms/include/lcms.h) is removed
# because LCMS 1.x is removed since Ghostscript 9.16
# but the hunk for LCMS2 (lcms2/include/lcms2.h) is still needed
# see http://bugs.ghostscript.com/show_bug.cgi?id=695544
Patch11: ppc64le-support.patch
# Fix for
# Avoid
# ln -s /home/abuild/rpmbuild/BUILDROOT/ghostscript-9.22pre23rc1-104.1.i386/usr/share/doc/ghostscript/9.23 /usr/share/ghostscript/9.23/doc
# ln: failed to create symbolic link '/usr/share/ghostscript/9.23/doc': No such file or directory
# base/unixinst.mak:162: recipe for target 'install-doc' failed
@ -85,20 +80,11 @@ Patch12: fix_ln_docdir_gsdatadir.patch
# Patch100 remove-zlib-h-dependency.patch removes dependency on zlib/zlib.h
# in makefiles as we do not use the zlib sources from the Ghostscript upstream tarball:
Patch100: remove-zlib-h-dependency.patch
# RPM dependencies:
Conflicts: ghostscript
Conflicts: ghostscript-x11
Conflicts: ghostscript-devel
Conflicts: ghostscript-library
# Require Ghostscript's fonts because the Ghostscript package provides the
# "Fontmap" file /usr/share/ghostscript/<version>/Resource/Init/Fontmap.GS
# which lists Ghostscript's fonts but the fonts itself are provided in the
# separated packages ghostscript-fonts-std and ghostscript-fonts-other
# (regarding separated packages see /usr/share/ghostscript/<version>/doc/Fonts.htm)
# so that a RPM requirement is needed to make sure that Ghostscript has its fonts:
Requires: ghostscript-fonts-other
Requires: ghostscript-fonts-std
# Install into this non-root directory (required when norootforbuild is used):
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@ -152,20 +138,17 @@ This package contains the development files for Minimal Ghostscript.
# Be quiet when unpacking and
# use a directory name matching Source0 to make it work also for ghostscript-mini:
%setup -q -n ghostscript-%{tarball_version}
# Patch11 ppc64le-support.patch is a remainder of the previous patch
# now the hunk for LCMS (lcms/include/lcms.h) is removed
# because LCMS 1.x is removed since Ghostscript 9.16
# but the hunk for LCMS2 (lcms2/include/lcms2.h) is still needed
# see http://bugs.ghostscript.com/show_bug.cgi?id=695544
%patch11 -p1 -b .ppc64le-support.orig
# Fix for
# Avoid
# ln -s /home/abuild/rpmbuild/BUILDROOT/ghostscript-9.22pre23rc1-104.1.i386/usr/share/doc/ghostscript/9.23 /usr/share/ghostscript/9.23/doc
# ln: failed to create symbolic link '/usr/share/ghostscript/9.23/doc': No such file or directory
# base/unixinst.mak:162: recipe for target 'install-doc' failed
# make[1]: *** [install-doc] Error 1
%patch12
# Patch100 remove-zlib-h-dependency.patch removes dependency on zlib/zlib.h
# in makefiles as we do not use the zlib sources from the Ghostscript upstream tarball:
# in makefiles as we do not use the zlib sources from the Ghostscript upstream tarball.
# Again use the zlib sources from Ghostscript upstream
# and disable remove-zlib-h-dependency.patch because
# Ghostscript 9.21 does no longer build this way:
#patch100 -p1 -b remove-zlib-h-dependency.orig
# Remove patch backup files to avoid packaging
# cf. https://build.opensuse.org/request/show/581052
@ -176,7 +159,30 @@ rm -f Resource/Init/*.ps.orig
# In contrast we use e.g. lcms2 from the Ghostscript upstream tarball because this one
# is specially modified to work with Ghostscript so that we cannot use lcms2 from SUSE:
#rm -rf freetype jpeg libpng tiff zlib
# Again use the zlib sources from Ghostscript upstream
# and disable remove-zlib-h-dependency.patch because
# Ghostscript 9.21 does no longer build this way:
rm -rf freetype jpeg libpng tiff
# In contrast to the above we use lcms2 from SUSE since Ghostscript 9.23rc1
# because that is what Ghostscript upstream recommends according to
# https://ghostscript.com/pipermail/gs-devel/2018-March/010061.html
# because singe Ghostscript 9.23rc1 there is no longer lcms2 in Ghostscript
# but now it is lcms2art (the beginning of a lcms2 fork - see News.htm).
# On SLE11 and on SLE12-SP1 there is liblcms2-2-2.5
# which is too old so that configure fails there with
# checking for local lcms2 library source... no
# checking for system lcms2 library... checking for _cmsCreateMutex in -llcms2... no
# configure: error: lcms2 not found, or too old
# (on SLE12-SP2 there is liblcms2-2-2.7 which is not too old)
# but there is no configure option to build it without lcms2
# so that for SLE11 and SLE12-SP1 it is built with lcms2art in Ghostscript
# i.e. lcms2art in Ghostscript is only removed when not SLE11 or SLE12-SP1
# cf. https://en.opensuse.org/openSUSE:Build_Service_cross_distribution_howto
%if 0%{?suse_version} == 1110 || 0%{?sle_version} == 120100
echo "Building it with lcms2art in Ghostscript"
%else
rm -rf lcms2art
%endif
%build
# Derive build timestamp from latest changelog entry

View File

@ -1,3 +1,34 @@
-------------------------------------------------------------------
Fri Mar 16 12:39:36 CET 2018 - jsmeix@suse.de
- For now use lcms2 from SUSE because that is what currently
Ghostscript upstream recommends according to
https://ghostscript.com/pipermail/gs-devel/2018-March/010061.html
because since Ghostscript 9.23rc1 there is no longer lcms2
in Ghostscript but now it is lcms2art which is the beginning
of a lcms2 fork, see News.htm that reads in particular
"LCMS2 is not thread safe ... Our fork will be thread safe ...
We will maintain compatibility between Ghostscript and LCMS2
for a time, but not in perpetuity", see also
https://bugzilla.opensuse.org/show_bug.cgi?id=1082896#c14
- On SLE11 and on SLE12-SP1 there is liblcms2-2-2.5
which is too old so that configure fails there with
configure: error: lcms2 not found, or too old
but there is no configure option to build it without lcms2
so that for SLE11 and SLE12-SP1 it is built with
the lcms2art in Ghostscript.
- ppc64le-support.patch is no longer needed because it only
contained a fix for lcms2art/include/lcms2art.h in Ghostscript
but currently lcms2 from SUSE is used instead (see above).
- Do no longer require any fonts packages in particular
neither require ghostscript-fonts-std because the PostScript
Base35 fonts are provided by Ghostscript (in 'Resource')
nor require ghostscript-fonts-other (provides Bitream Charter,
Adobe Utopia, URW Antiqua, URW Grotesq and Hershey fonts where
all but the last are also provided by texlive-<name>-fonts) and
those fonts are not required for PostScript compliance, see
https://bugzilla.opensuse.org/show_bug.cgi?id=1082896#c13
-------------------------------------------------------------------
Thu Mar 15 11:19:33 CET 2018 - jsmeix@suse.de

View File

@ -37,6 +37,7 @@ BuildRequires: dbus-1-devel
BuildRequires: freetype2-devel
BuildRequires: libexpat-devel
BuildRequires: libjpeg-devel
BuildRequires: liblcms2-devel
BuildRequires: libpng-devel
BuildRequires: libtiff-devel
BuildRequires: libtool
@ -88,13 +89,7 @@ Source0: ghostscript-%{tarball_version}.tar.gz
# Patch0...Patch9 is for patches from upstream:
# Source10...Source99 is for sources from SUSE which are intended for upstream:
# Patch10...Patch99 is for patches from SUSE which are intended for upstream:
# Patch11 ppc64le-support.patch is a remainder of the previous patch
# now the hunk for LCMS (lcms/include/lcms.h) is removed
# because LCMS 1.x is removed since Ghostscript 9.16
# but the hunk for LCMS2 (lcms2/include/lcms2.h) is still needed
# see http://bugs.ghostscript.com/show_bug.cgi?id=695544
Patch11: ppc64le-support.patch
# Fix for
# Avoid
# ln -s /home/abuild/rpmbuild/BUILDROOT/ghostscript-9.22pre23rc1-104.1.i386/usr/share/doc/ghostscript/9.23 /usr/share/ghostscript/9.23/doc
# ln: failed to create symbolic link '/usr/share/ghostscript/9.23/doc': No such file or directory
# base/unixinst.mak:162: recipe for target 'install-doc' failed
@ -105,7 +100,6 @@ Patch12: fix_ln_docdir_gsdatadir.patch
# Patch100 remove-zlib-h-dependency.patch removes dependency on zlib/zlib.h
# in makefiles as we do not use the zlib sources from the Ghostscript upstream tarball:
Patch100: remove-zlib-h-dependency.patch
# RPM dependencies:
# Additional RPM Provides of the ghostscript-library packages in openSUSE 11.4 from
# "rpm -q --provides ghostscript-library" and "rpm -q --provides ghostscript-x11":
@ -193,14 +187,6 @@ Recommends: ghostscript-x11 = %{version}-%{release}
%if 0%{?suse_version} > 1210
Recommends: cups-filters-ghostscript
%endif
# Require Ghostscript's fonts because the Ghostscript package provides the
# "Fontmap" file /usr/share/ghostscript/<version>/Resource/Init/Fontmap.GS
# which lists Ghostscript's fonts but the fonts itself are provided in the
# separated packages ghostscript-fonts-std and ghostscript-fonts-other
# (regarding separated packages see /usr/share/ghostscript/<version>/doc/Fonts.htm)
# so that a RPM requirement is needed to make sure that Ghostscript has its fonts:
Requires: ghostscript-fonts-other
Requires: ghostscript-fonts-std
# Install into this non-root directory (required when norootforbuild is used):
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@ -288,20 +274,17 @@ This package contains the development files for Ghostscript.
# Be quiet when unpacking and
# use a directory name matching Source0 to make it work also for ghostscript-mini:
%setup -q -n ghostscript-%{tarball_version}
# Patch11 ppc64le-support.patch is a remainder of the previous patch
# now the hunk for LCMS (lcms/include/lcms.h) is removed
# because LCMS 1.x is removed since Ghostscript 9.16
# but the hunk for LCMS2 (lcms2/include/lcms2.h) is still needed
# see http://bugs.ghostscript.com/show_bug.cgi?id=695544
%patch11 -p1 -b .ppc64le-support.orig
# Fix for
# Avoid
# ln -s /home/abuild/rpmbuild/BUILDROOT/ghostscript-9.22pre23rc1-104.1.i386/usr/share/doc/ghostscript/9.23 /usr/share/ghostscript/9.23/doc
# ln: failed to create symbolic link '/usr/share/ghostscript/9.23/doc': No such file or directory
# base/unixinst.mak:162: recipe for target 'install-doc' failed
# make[1]: *** [install-doc] Error 1
%patch12
# Patch100 remove-zlib-h-dependency.patch removes dependency on zlib/zlib.h
# in makefiles as we do not use the zlib sources from the Ghostscript upstream tarball:
# in makefiles as we do not use the zlib sources from the Ghostscript upstream tarball.
# Again use the zlib sources from Ghostscript upstream
# and disable remove-zlib-h-dependency.patch because
# Ghostscript 9.21 does no longer build this way:
#patch100 -p1 -b remove-zlib-h-dependency.orig
# Remove patch backup files to avoid packaging
# cf. https://build.opensuse.org/request/show/581052
@ -312,7 +295,30 @@ rm -f Resource/Init/*.ps.orig
# In contrast we use e.g. lcms2 from the Ghostscript upstream tarball because this one
# is specially modified to work with Ghostscript so that we cannot use lcms2 from SUSE:
#rm -rf freetype jpeg libpng tiff zlib
# Again use the zlib sources from Ghostscript upstream
# and disable remove-zlib-h-dependency.patch because
# Ghostscript 9.21 does no longer build this way:
rm -rf freetype jpeg libpng tiff
# In contrast to the above we use lcms2 from SUSE since Ghostscript 9.23rc1
# because that is what Ghostscript upstream recommends according to
# https://ghostscript.com/pipermail/gs-devel/2018-March/010061.html
# because singe Ghostscript 9.23rc1 there is no longer lcms2 in Ghostscript
# but now it is lcms2art (the beginning of a lcms2 fork - see News.htm).
# On SLE11 and on SLE12-SP1 there is liblcms2-2-2.5
# which is too old so that configure fails there with
# checking for local lcms2 library source... no
# checking for system lcms2 library... checking for _cmsCreateMutex in -llcms2... no
# configure: error: lcms2 not found, or too old
# (on SLE12-SP2 there is liblcms2-2-2.7 which is not too old)
# but there is no configure option to build it without lcms2
# so that for SLE11 and SLE12-SP1 it is built with lcms2art in Ghostscript
# i.e. lcms2art in Ghostscript is only removed when not SLE11 or SLE12-SP1
# cf. https://en.opensuse.org/openSUSE:Build_Service_cross_distribution_howto
%if 0%{?suse_version} == 1110 || 0%{?sle_version} == 120100
echo "Building it with lcms2art in Ghostscript"
%else
rm -rf lcms2art
%endif
%build
# Derive build timestamp from latest changelog entry

View File

@ -1,10 +0,0 @@
--- ghostscript-9.23rc1/lcms2art/include/lcms2art.h
+++ ghostscript-9.23rc1/lcms2art/include/lcms2art.h
@@ -67,6 +67,7 @@
#include <limits.h>
#include <time.h>
#include <stddef.h>
+#include <endian.h>
#ifndef CMS_USE_CPP_API
# ifdef __cplusplus