From a710e1534614df6f3deef66bee9800adf520b6f9938cc0de79f6e68796cacb36 Mon Sep 17 00:00:00 2001 From: Johannes Meixner Date: Fri, 24 Feb 2012 15:09:50 +0000 Subject: [PATCH] Accepting request 106825 from home:jsmeix Plain upstream Ghostscript 9.05 built from scratch (bnc#735824) OBS-URL: https://build.opensuse.org/request/show/106825 OBS-URL: https://build.opensuse.org/package/show/Printing/ghostscript?expand=0&rev=1 --- .gitattributes | 23 +++ .gitignore | 1 + ghostscript-9.05.tar.gz | 3 + ghostscript.changes | 54 ++++++ ghostscript.spec | 373 ++++++++++++++++++++++++++++++++++++++++ 5 files changed, 454 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 ghostscript-9.05.tar.gz create mode 100644 ghostscript.changes create mode 100644 ghostscript.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/ghostscript-9.05.tar.gz b/ghostscript-9.05.tar.gz new file mode 100644 index 0000000..17d42d4 --- /dev/null +++ b/ghostscript-9.05.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:593f77f7584704bdf9de41598a084a4208c3ad3b940a1de1faaf8f59a15cc207 +size 32570231 diff --git a/ghostscript.changes b/ghostscript.changes new file mode 100644 index 0000000..6b83111 --- /dev/null +++ b/ghostscript.changes @@ -0,0 +1,54 @@ +------------------------------------------------------------------- +Fri Feb 24 15:21:05 CET 2012 - jsmeix@suse.de + +- Adapt RPM dependencies to what is actually used + in openSUSE:Factory (dated 22 Feb. 2012). + +------------------------------------------------------------------- +Thu Feb 16 15:36:21 CET 2012 - jsmeix@suse.de + +- Added RPM dependencies to make sure ghostscript-x11 and the + main-package have exact matching version-release because both + could have any kind of Ghostscript-internal dependencies. + This is only an approximation to have ghostscript-x11 and + the main-package from the same build where the main-package + and its sub-package have been made but currently there is + no clean way to specify a 'same build' RPM dependency. + Therefore currently ghostscript-x11 and the main-package could + have same version-release but nevertheless come from different + projects/repositories (e.g. with different patches or + whatever kind of differences). + +------------------------------------------------------------------- +Wed Feb 15 11:42:41 CET 2012 - jsmeix@suse.de + +- Split files which require X11 stuff into a ghostscript-x11 + sub-package (currently only /usr/lib/ghostscript/9.05/X11.so) + so that the ghostscript package can be installed without X11. + +------------------------------------------------------------------- +Thu Feb 9 11:34:33 CET 2012 - jsmeix@suse.de + +- Upgrade to version 9.05 (see bnc#735824): + New simple ink-coverage device (inkconv). + The ps2write device has a large number of improvements. + Fixes and improvements for the CUPS Raster output device + (in particular Ghostscript bug 691922 regarding color model). + Renamed the PXL CUPS filter from "pstopxl" to "gstopxl". + For details see the doc/News.htm file. +- Removed "make cups" and "make cups-install" from spec file + using "configure ... --with-install-cups" instead + (new since version 9.04, see "configure --help"). + +------------------------------------------------------------------- +Tue Dec 13 15:18:06 UTC 2011 - jw@suse.com + +- Upgrade to version 9.04 (see bnc#735824): + For details see the doc/News.htm file. +- Added "make cups" and "make cups-install" to spec file. + +------------------------------------------------------------------- +Tue Mar 15 16:06:40 CET 2011 - jsmeix@suse.de + +- Initial package. + diff --git a/ghostscript.spec b/ghostscript.spec new file mode 100644 index 0000000..26c761b --- /dev/null +++ b/ghostscript.spec @@ -0,0 +1,373 @@ +# +# spec file for package ghostscript +# +# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany. +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + +# norootforbuild + +Name: ghostscript +BuildRequires: cups-devel +BuildRequires: docbook-toys +BuildRequires: dos2unix +BuildRequires: ed +BuildRequires: flex +BuildRequires: fontconfig-devel +BuildRequires: freetype2-devel +BuildRequires: gcc-c++ +BuildRequires: libexpat-devel +BuildRequires: libjasper-devel +%if 0%{?suse_version:%{suse_version}} > 1130 +BuildRequires: liblcms-devel +%endif +BuildRequires: libopenssl-devel +BuildRequires: libpng-devel +BuildRequires: libtiff-devel +BuildRequires: pkg-config +BuildRequires: t1utils +BuildRequires: xorg-x11-devel +BuildRequires: xorg-x11-fonts +BuildRequires: zlib-devel +AutoReqProv: on +Summary: The Ghostscript interpreter for PostScript and PDF +Group: System/Libraries +License: GPL-3.0 +Url: http://www.ghostscript.com/ +Version: 9.05 +Release: 1 +# Source0...Source9 is for sources from upstream: +# URL for Source0: http://downloads.ghostscript.com/public/ghostscript-9.05.tar.gz +# URL for MD5 checksums: http://downloads.ghostscript.com/public/MD5SUMS +# MD5 checksum for Source0: f7c6f0431ca8d44ee132a55d583212c1 +Source0: ghostscript-%{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: +# +# Source100...Source999 is for sources from SUSE which are not intended for upstream: +# +# Patch100...Patch999 is for patches from SUSE which are not intended for upstream: +# +# 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": +# ghostscript +# gs +# gs_lib +# pstoraster +# ghostscript_any +# ghostscript-serv +# gs_x11 +# ghostscript_x11 +# ghostscript-mini +# Which of those are actually used in openSUSE:Factory (dated 22 Feb. 2012): +# ghostscript +# gs +# gs_lib +# ghostscript_any +# ghostscript_x11 +# ghostscript-mini +# Which other packages need those in openSUSE:Factory (dated 22 Feb. 2012): +# blocxx-doc BuildRequires ghostscript +# iproute2 BuildRequires ghostscript +# gle-graphics Requires ghostscript +# webdot Requires ghostscript +# ddd BuildRequires ghostscript_any +# emacs-auctex BuildRequires ghostscript_any +# kernel-docs BuildRequires ghostscript_any +# texlive-bin BuildRequires ghostscript_any +# cups Requires ghostscript_any +# html2ps Requires ghostscript_any +# latex2html Requires ghostscript_any +# pstoedit Requires ghostscript_any +# ghostview Requires ghostscript_x11 +# gv Requires ghostscript_x11 +# texlive-bin Requires ghostscript_x11 +# klatexformula BuildRequires gs and Requires gs +# capi4hylafax Requires gs_lib +# hylafax Requires gs_lib +# graphviz-plugins BuildRequires ghostscript-mini +# Provide the additional RPM Provides of the ghostscript-library package +# (ghostscript_x11 is provided by the ghostscript-x11 sub-package, see below): +Provides: gs +Provides: gs_lib +Provides: ghostscript_any +# There is a needless requirement for pstoraster in gutenprint up to openSUSE 11.4. +# Satisfy it to be backward compatible with installed gutenprint packages: +Provides: pstoraster +# Replace any version of the packages ghostscript-library and ghostscript-mini silently. +# The "Obsoletes: ghostscript-mini" is intentionally unversioned because +# this package ghostscript should replace any version of ghostscript-mini. +# There is intentionally no "Provides: ghostscript-mini" here because this +# would cause a conflict when this package ghostscript should be re-replaced +# by ghostscript-library because ghostscript-library conflicts with ghostscript-mini +# so that there would be no easy way back from ghostscript to ghostscript-library. +# Different versions must be explicitly specified in Provides and Obsoletes +# to avoid a RPMLINT warning that the package obsoletes itself +# because an unversioned RPM dependency means "all versions". +# The RPM documentation http://www.rpm.org/max-rpm/s1-rpm-depend-manual-dependencies.html +# and /usr/share/doc/packages/rpm/manual/dependencies (in rpm-4.8.0 in openSUSE 11.4) +# does not show a comparison operator for "not equal" so that two obsoletes are used: +Provides: ghostscript-library = %{version} +Obsoletes: ghostscript-library < %{version} +Obsoletes: ghostscript-library > %{version} +Obsoletes: ghostscript-mini +# The ghostscript-x11 sub-package requires the exact matching version-release +# of the ghostscript main-package (see below) so that the ghostscript main-package +# should conflict with a non-matching ghostscript-x11 package to make sure +# that the ghostscript main-package is not changed without changing +# the ghostscript-x11 sub-package accordingly. +# The RPM documentation http://www.rpm.org/max-rpm/s1-rpm-depend-manual-dependencies.html +# and /usr/share/doc/packages/rpm/manual/dependencies (in rpm-4.8.0 in openSUSE 11.4) +# does not show a comparison operator for "not equal" so that two conflicts are used: +Conflicts: ghostscript-x11 < %{version}-%{release} +Conflicts: ghostscript-x11 > %{version}-%{release} +# When the ghostscript main-package is installed, usually the exact matching +# version-release of the ghostscript-x11 sub-package should be also installed: +Recommends: ghostscript-x11 = %{version}-%{release} +# Prerequire /sbin/ldconfig which is used in the traditional bash scriptlets for post/postun: +PreReq: /sbin/ldconfig +# Install into this non-root directory (required when norootforbuild is used): +BuildRoot: %{_tmppath}/%{name}-%{version}-build +# Used in "configure --with-fontpath=...": +%define gsfontpath /usr/share/fonts/truetype:/usr/share/fonts/Type1:/usr/share/fonts/CID:/usr/share/fonts/URW + +%description +Ghostscript is a package of software that provides: + +An interpreter for the PostScript language, +with the ability to convert PostScript language files +to many raster formats, view them on displays, +and print them on printers that don't have +PostScript language capability built in. + +An interpreter for Portable Document Format (PDF) files, +with the same abilities. + +The ability to convert PostScript language files +to PDF (with some limitations) and vice versa. + +A set of C procedures (the Ghostscript library) +that implement the graphics and filtering +(data compression / decompression / conversion) +capabilities that appear as primitive operations +in the PostScript language and in PDF. + +For information how to use Ghostscript see +/usr/share/ghostscript/%{version}/doc/Use.htm + +%package x11 +Summary: X11 library for Ghostscript +Group: Productivity/Publishing/PS +License: GPL-3.0 +# Require the exact matching version-release of the ghostscript main-package because +# a non-matching ghostscript main-package may let it fail or even crash (e.g. segfault) +# because all Ghostscript software is built from one same Ghostscript source tar ball +# so that there could be any kind of Ghostscript-internal dependencies. +# The exact matching version-release of the ghostscript main-package is available +# on the same package repository where the ghostscript-x11 sub-package is because +# all are built simulaneously from the same Ghostscript source package: +Requires: ghostscript = %{version}-%{release} +# Unfortunately ghostscript-library.spec and ghostscript-mini.spec have +# an unversioned "Provides: ghostscript" and for RPM this means that both +# ghostscript-library and ghostscript-mini provide any version of "ghostscript" +# so that any version of ghostscript-library and ghostscript-mini fulfills +# the above versioned requirement which is wrong and therefore an explicit conflicts +# is used here to avoid the mess. +# Above the ghostscript main package "Provides: ghostscript-library = version" so that +# versioned conflicts are needed to avoid a conflict with the ghostscript main package. +# The RPM documentation http://www.rpm.org/max-rpm/s1-rpm-depend-manual-dependencies.html +# and /usr/share/doc/packages/rpm/manual/dependencies (in rpm-4.8.0 in openSUSE 11.4) +# does not show a comparison operator for "not equal" so that two conflicts are used: +Conflicts: ghostscript-library < %{version}-%{release} +Conflicts: ghostscript-library > %{version}-%{release} +Conflicts: ghostscript-mini +# In openSUSE:Factory (dated 22 Feb. 2012) ghostview gv and texlive-bin require ghostscript_x11 (see above): +Provides: ghostscript_x11 + +%description x11 +This package contains the X11 library which is needed +to view PostScript and PDF files with Ghostscript +under the X Window System. + +%package devel +License: GPL-3.0 +Summary: Development files for Ghostscript +Requires: ghostscript = %{version} +Group: Development/Libraries/C and C++ + +%description devel +This package contains the development files for Ghostscript. + +%prep +# Be quiet when unpacking: +%setup -q + +%build +# Set our preferred architecture-specific flags for the compiler and linker: +export CFLAGS="$RPM_OPT_FLAGS" +export CXXFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" +autoreconf -fi +# --enable-cups and --with-install-cups (the latter is new since version 9.04) +# make and install cups/filter/gstoraster and cups/filter/gstopxl +# and related files (gstoraster.convs pxlcolor.ppd pxlmono.ppd): +./configure --prefix=%{_prefix} \ + --bindir=%{_bindir} \ + --mandir=%{_mandir} \ + --datadir=%{_datadir} \ + --infodir=%{_infodir} \ + --libdir=%{_libdir} \ + --with-fontpath=%{gsfontpath} \ + --with-libiconv=maybe \ + --with-system-libtiff \ + --enable-freetype \ + --with-ijs \ + --with-jbig2dec \ + --with-jasper \ + --enable-dynamic \ + --enable-cups \ + --with-install-cups \ + --with-drivers=ALL \ + --disable-gtk \ + --disable-compile-inits \ + --with-pdftoraster \ + --without-omni +make +# make libgs.so and two programs which use it, gsx which uses Gtk+ and gsc which does not: +make so + +%install +make install DESTDIR=%{buildroot} +# install libgs.so gsx gsc and some header files: +make soinstall DESTDIR=%{buildroot} + +# Use traditional bash scriptlet with an explicite "exit 0" line at the end to be fail safe +# see http://en.opensuse.org/openSUSE:Packaging_scriptlet_snippets +%post +/sbin/ldconfig +exit 0 + +# Use traditional bash scriptlet with an explicite "exit 0" line at the end to be fail safe +# see http://en.opensuse.org/openSUSE:Packaging_scriptlet_snippets +%postun +/sbin/ldconfig +exit 0 + +%files +%defattr(-, root, root) +%config %{_sysconfdir}/cups/gstoraster.convs +%{_bindir}/dumphint +%{_bindir}/dvipdf +%{_bindir}/eps2eps +%{_bindir}/font2c +%{_bindir}/gs +%{_bindir}/gsx +%{_bindir}/gsc +%{_bindir}/gsbj +%{_bindir}/gsdj +%{_bindir}/gsdj500 +%{_bindir}/gslj +%{_bindir}/gslp +%{_bindir}/gsnd +%{_bindir}/lprsetup.sh +%{_bindir}/pdf2dsc +%{_bindir}/pdf2ps +%{_bindir}/pdfopt +%{_bindir}/pf2afm +%{_bindir}/pfbtopfa +%{_bindir}/pphs +%{_bindir}/printafm +%{_bindir}/ps2ascii +%{_bindir}/ps2epsi +%{_bindir}/ps2pdf +%{_bindir}/ps2pdf12 +%{_bindir}/ps2pdf13 +%{_bindir}/ps2pdf14 +%{_bindir}/ps2pdfwr +%{_bindir}/ps2ps +%{_bindir}/ps2ps2 +%{_bindir}/unix-lpr.sh +%{_bindir}/wftopfa +%if 0%{?suse_version} == 0 || 0%{?suse_version} > 1120 +%dir /usr/lib/cups +%dir /usr/lib/cups/filter +/usr/lib/cups/filter/gstopxl +/usr/lib/cups/filter/gstoraster +%else +%dir %{_libdir}/cups +%dir %{_libdir}/cups/filter +%{_libdir}/cups/filter/gstopxl +%{_libdir}/cups/filter/gstoraster +%endif +%dir %{_datadir}/cups +%dir %{_datadir}/cups/model +%{_datadir}/cups/model/pxlcolor.ppd +%{_datadir}/cups/model/pxlmono.ppd +%doc %{_mandir}/man1/dvipdf.1.gz +%doc %{_mandir}/man1/eps2eps.1.gz +%doc %{_mandir}/man1/font2c.1.gz +%doc %{_mandir}/man1/gs.1.gz +%doc %{_mandir}/man1/gsbj.1.gz +%doc %{_mandir}/man1/gsdj.1.gz +%doc %{_mandir}/man1/gsdj500.1.gz +%doc %{_mandir}/man1/gslj.1.gz +%doc %{_mandir}/man1/gslp.1.gz +%doc %{_mandir}/man1/gsnd.1.gz +%doc %{_mandir}/man1/pdf2dsc.1.gz +%doc %{_mandir}/man1/pdf2ps.1.gz +%doc %{_mandir}/man1/pdfopt.1.gz +%doc %{_mandir}/man1/pf2afm.1.gz +%doc %{_mandir}/man1/pfbtopfa.1.gz +%doc %{_mandir}/man1/printafm.1.gz +%doc %{_mandir}/man1/ps2ascii.1.gz +%doc %{_mandir}/man1/ps2epsi.1.gz +%doc %{_mandir}/man1/ps2pdf.1.gz +%doc %{_mandir}/man1/ps2pdf12.1.gz +%doc %{_mandir}/man1/ps2pdf13.1.gz +%doc %{_mandir}/man1/ps2pdf14.1.gz +%doc %{_mandir}/man1/ps2pdfwr.1.gz +%doc %{_mandir}/man1/ps2ps.1.gz +%doc %{_mandir}/man1/wftopfa.1.gz +%doc %{_mandir}/de/man1/dvipdf.1.gz +%doc %{_mandir}/de/man1/eps2eps.1.gz +%doc %{_mandir}/de/man1/font2c.1.gz +%doc %{_mandir}/de/man1/gsnd.1.gz +%doc %{_mandir}/de/man1/pdf2dsc.1.gz +%doc %{_mandir}/de/man1/pdf2ps.1.gz +%doc %{_mandir}/de/man1/pdfopt.1.gz +%doc %{_mandir}/de/man1/printafm.1.gz +%doc %{_mandir}/de/man1/ps2ascii.1.gz +%doc %{_mandir}/de/man1/ps2pdf.1.gz +%doc %{_mandir}/de/man1/ps2pdf12.1.gz +%doc %{_mandir}/de/man1/ps2pdf13.1.gz +%doc %{_mandir}/de/man1/ps2pdf14.1.gz +%doc %{_mandir}/de/man1/ps2ps.1.gz +%doc %{_mandir}/de/man1/wftopfa.1.gz +%{_datadir}/ghostscript/ +%{_libdir}/libgs.so.* +%{_libdir}/ghostscript/ +%exclude %{_libdir}/ghostscript/%{version}/X11.so + +%files x11 +%defattr(-,root,root) +%{_libdir}/ghostscript/%{version}/X11.so + +%files devel +%defattr(-,root,root) +%{_includedir}/ghostscript/ +%{_libdir}/libgs.so + +%changelog