source: spec/trunk/SPECS/ghostscript.spec@ 642

Last change on this file since 642 was 642, checked in by Silvan Scherrer, 10 years ago

specs: add a legacy libtiff due to name change in v4

File size: 10.9 KB
Line 
1#define svn_url F:/rd/ports/ghostscript/trunk
2%define svn_url http://svn.netlabs.org/repos/ports/ghostscript/trunk
3%define svn_rev 941
4
5%define _with_freetype 1
6%define gs_ver 9.10
7%define gs_dot_ver 9.10
8%{expand: %%define build_with_freetype %{?_with_freetype:1}%{!?_with_freetype:0}}
9
10Summary: A PostScript interpreter and renderer
11Name: ghostscript
12Version: %{gs_ver}
13
14Release: 5%{?dist}
15
16# Included CMap data is Redistributable, no modification permitted,
17# see http://bugzilla.redhat.com/487510
18License: GPLv3+ and Redistributable, no modification permitted
19URL: http://www.ghostscript.com/
20Group: Applications/Publishing
21Vendor: bww bitwise works GmbH
22
23Source: %{name}-%{version}%{?svn_rev:-r%{svn_rev}}.zip
24
25Requires: urw-fonts >= 1.1, ghostscript-fonts
26Requires: poppler-data
27BuildRequires: xz
28BuildRequires: libjpeg-devel
29BuildRequires: zlib-devel, libpng-devel, unzip
30BuildRequires: glib2-devel
31# Omni requires libxml
32BuildRequires: libxml2-devel
33BuildRequires: libtiff-devel
34#BuildRequires: cups-devel >= 1.1.13
35BuildRequires: libtool
36#BuildRequires: jasper-devel, gnutls-devel
37#BuildRequires: dbus-devel
38BuildRequires: poppler-data
39#BuildRequires: lcms2-devel
40#BuildRequires: openjpeg-devel
41%{?_with_freetype:BuildRequires: freetype-devel}
42BuildRoot: %{_tmppath}/%{name}-%{gs_ver}-root
43
44# See bug #83516.
45Conflicts: ttfonts-ja < 1.2-23
46Conflicts: ttfonts-ko < 1.0.11-27
47Conflicts: ttfonts-zh_CN < 2.12-2
48Conflicts: ttfonts-zh_TW < 2.11-20
49
50%description
51Ghostscript is a set of software that provides a PostScript
52interpreter, a set of C procedures (the Ghostscript library, which
53implements the graphics capabilities in the PostScript language) and
54an interpreter for Portable Document Format (PDF) files. Ghostscript
55translates PostScript code into many common, bitmapped formats, like
56those understood by your printer or screen. Ghostscript is normally
57used to display PostScript files and to print PostScript files to
58non-PostScript printers.
59
60If you need to display PostScript files or print them to
61non-PostScript printers, you should install ghostscript. If you
62install ghostscript, you also need to install the ghostscript-fonts
63package.
64
65%package devel
66Summary: Files for developing applications that use ghostscript
67Requires: %{name} = %{version}-%{release}
68Group: Development/Libraries
69
70%description devel
71The header files for developing applications that use ghostscript.
72
73%package doc
74Summary: Documentation for ghostscript
75Requires: %{name} = %{version}-%{release}
76Group: Documentation
77BuildArch: noarch
78
79%description doc
80The documentation files that come with ghostscript.
81
82%package gtk
83Summary: A GTK-enabled PostScript interpreter and renderer
84Requires: %{name} = %{version}-%{release}
85Group: Applications/Publishing
86
87%description gtk
88A GTK-enabled version of Ghostscript, called 'gsx'.
89
90%package cups
91Summary: CUPS filter for interpreting PostScript and PDF
92Requires: %{name} = %{version}-%{release}
93Requires: cups
94Group: System Environment/Daemons
95
96%description cups
97CUPS filter and conversion rules for interpreting PostScript and PDF.
98
99%package debug
100Summary: HLL debug data for exception handling support.
101
102%debug_package
103
104%prep
105%if %{?svn_rev:%(sh -c 'if test -f "%{_sourcedir}/%{name}-%{version}-r%{svn_rev}.zip" ; then echo 1 ; else echo 0 ; fi')}%{!?svn_rev):0}
106%setup -q
107%else
108%setup -n "%{name}-%{version}" -Tc
109svn export %{?svn_rev:-r %{svn_rev}} %{svn_url} . --force
110rm -f "%{_sourcedir}/%{name}-%{version}%{?svn_rev:-r%{svn_rev}}.zip"
111(cd .. && zip -SrX9 "%{_sourcedir}/%{name}-%{version}%{?svn_rev:-r%{svn_rev}}.zip" "%{name}-%{version}")
112%endif
113
114#rm -rf expat freetype icclib jasper jpeg lcms2 libpng openjpeg zlib cups/libs
115rm -rf expat freetype jpeg libpng zlib cups/libs tiff
116
117
118
119# Convert manual pages to UTF-8
120#from8859_1() {
121# iconv -f iso-8859-1 -t utf-8 < "$1" > "${1}_"
122# mv "${1}_" "$1"
123#}
124#for i in man/de/*.1; do
125# if [ "$(file --brief --mime-encoding "$i")" = iso-8859-1 ]; then
126# from8859_1 "$i"
127# fi
128#done
129
130# Convert ps files to UTF-8
131#for i in examples/cjk/gsc*.ps; do from8859_1 "$i"; done
132
133%build
134# Compile without strict aliasing opts due to these files:
135# gdevescv.c gdevl4v.c gdevopvp.c gdevbbox.c gdevdbit.c gdevddrw.c
136# gdevp14.c gdevpdfd.c gdevpdfi.c gdevpdfo.c gdevpdft.c gdevpdfv.c
137# gdevpdte.c gdevpdtt.c gdevps.c gdevpx.c gscoord.c gscparam.c gscrd.c
138# gsdps1.c gsimage.c gspath1.c gsptype1.c gsptype2.c gstype2.c
139# gstype42.c gxccache.c gxchar.c gxclimag.c gxclpath.c gxfcopy.c
140# gximag3x.c gximage3.c gxipixel.c gxshade1.c gxstroke.c gxtype1.c
141# ibnum.c iscanbin.c zchar1.c zchar.c zcharx.c zfapi.c zfont32.c
142# zfunc0.c zfunc3.c zfunc4.c zpcolor.c zshade.c
143EXTRACFLAGS="-fno-strict-aliasing"
144
145FONTPATH=
146for path in \
147 /@system_drive/psfonts \
148 /@system_drive/os2/psfonts \
149 %{_datadir}/fonts/default/%{name} \
150 %{_datadir}/fonts/default/Type1 \
151 %{_datadir}/fonts/default/amspsfnt/pfb \
152 %{_datadir}/fonts/default/cmpsfont/pfb \
153 %{_datadir}/fonts \
154 %{_datadir}/%{name}/conf.d \
155 %{_sysconfdir}/%{name} \
156 %{_sysconfdir}/%{name}/%{gs_dot_ver} \
157 %{_datadir}/poppler/cMap/*
158do
159 FONTPATH="$FONTPATH${FONTPATH:+;}$path"
160done
161
162autoconf --force
163# --with-ijs --enable-dynamic
164%configure --with-fontpath="$FONTPATH" \
165 --with-drivers=ALL --disable-compile-inits --with-system-libtiff=yes \
166 CFLAGS="$CFLAGS $EXTRACFLAGS"
167
168# Build IJS
169#cd ijs
170#./autogen.sh
171#configure --enable-shared --disable-static
172#make
173#cd ..
174
175%if %{build_with_freetype}
176FT_CFLAGS=$(pkg-config --cflags freetype2)
177make so RPM_OPT_FLAGS="$RPM_OPT_FLAGS $EXTRACFLAGS" prefix=%{_prefix} \
178 FT_BRIDGE=1 FT_CFLAGS="$FT_CFLAGS" FT_LIB=freetype
179%else
180make so RPM_OPT_FLAGS="$RPM_OPT_FLAGS $EXTRACFLAGS" prefix=%{_prefix}
181%endif
182#make cups
183
184%install
185rm -rf $RPM_BUILD_ROOT
186mkdir -p $RPM_BUILD_ROOT
187mkdir -p $RPM_BUILD_ROOT/%{_mandir}
188mkdir -p $RPM_BUILD_ROOT/%{_bindir}
189mkdir -p $RPM_BUILD_ROOT/%{_datadir}
190mkdir -p $RPM_BUILD_ROOT/%{_docdir}
191mkdir -p $RPM_BUILD_ROOT/%{_libdir}
192mkdir -p $RPM_BUILD_ROOT/%{_includedir}/ijs
193
194make soinstall \
195%{?_with_freetype:FT_BRIDGE=1} \
196 prefix=$RPM_BUILD_ROOT%{_prefix} \
197 mandir=$RPM_BUILD_ROOT%{_mandir} \
198 datadir=$RPM_BUILD_ROOT%{_datadir} \
199 gsincludedir=$RPM_BUILD_ROOT%{_includedir}/ghostscript/ \
200 bindir=$RPM_BUILD_ROOT%{_bindir} \
201 libdir=$RPM_BUILD_ROOT%{_libdir} \
202 docdir=$RPM_BUILD_ROOT%{_docdir}/%{name}-%{gs_dot_ver} \
203 gsdir=$RPM_BUILD_ROOT%{_datadir}/%{name} \
204 gsdatadir=$RPM_BUILD_ROOT%{_datadir}/%{name}/%{gs_dot_ver} \
205 gssharedir=$RPM_BUILD_ROOT%{_libdir}/%{name}/%{gs_dot_ver} \
206 CUPSSERVERROOT=$RPM_BUILD_ROOT`cups-config --serverroot` \
207 CUPSSERVERBIN=$RPM_BUILD_ROOT`cups-config --serverbin` \
208 CUPSDATA=$RPM_BUILD_ROOT`cups-config --datadir`
209
210mv -f $RPM_BUILD_ROOT%{_bindir}/gsc.exe $RPM_BUILD_ROOT%{_bindir}/gsos2.exe
211# add symlink for scripts
212ln -s %{_bindir}/gsos2.exe %{buildroot}%{_bindir}/gs.exe
213rm -f $RPM_BUILD_ROOT%{_libdir}/gsdll2.%{gs_dot_ver}.dll
214
215#cd ijs
216#makeinstall
217#cd ..
218
219echo ".so man1/gs.1" > $RPM_BUILD_ROOT/%{_mandir}/man1/ghostscript.1
220ln -sf gs $RPM_BUILD_ROOT%{_bindir}/ghostscript
221
222# Rename an original cidfmap to cidfmap.GS
223#mv $RPM_BUILD_ROOT%{_datadir}/%{name}/%{gs_dot_ver}/Resource/Init/cidfmap $RPM_BUILD_ROOT%{_datadir}/%{name}/%{gs_dot_ver}/Resource/Init/cidfmap.GS
224# Install our own cidfmap to allow the separated
225# cidfmap which the font packages own.
226#install -m0644 %{SOURCE2} $RPM_BUILD_ROOT%{_datadir}/%{name}/%{gs_dot_ver}/Resource/Init/CIDFnmap
227#install -m0644 %{SOURCE4} $RPM_BUILD_ROOT%{_datadir}/%{name}/%{gs_dot_ver}/Resource/Init/cidfmap
228
229# Documentation
230install -m0644 doc/COPYING $RPM_BUILD_ROOT%{_docdir}/%{name}-%{gs_dot_ver}
231
232# Don't ship libtool la files.
233rm -f $RPM_BUILD_ROOT%{_libdir}/libijs.la
234
235# Don't ship ijs example client or server
236rm -f $RPM_BUILD_ROOT%{_bindir}/ijs_{client,server}_example
237
238# Don't ship URW fonts; we already have them.
239#rm -rf $RPM_BUILD_ROOT%{_datadir}/ghostscript/%{gs_dot_ver}/Resource/Font
240
241mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/ghostscript/%{gs_dot_ver}
242touch $RPM_BUILD_ROOT%{_sysconfdir}/ghostscript/%{gs_dot_ver}/Fontmap.local
243touch $RPM_BUILD_ROOT%{_sysconfdir}/ghostscript/%{gs_dot_ver}/cidfmap.local
244touch $RPM_BUILD_ROOT%{_sysconfdir}/ghostscript/%{gs_dot_ver}/CIDFnmap.local
245
246# The man/de/man1 symlinks are broken (bug #66238).
247find $RPM_BUILD_ROOT%{_mandir}/de/man1 -type l | xargs rm -f
248
249# Don't ship fixmswrd.pl as it pulls in perl (bug #463948).
250rm -f $RPM_BUILD_ROOT%{_bindir}/fixmswrd.pl
251
252# Don't ship CMaps (instead poppler-data paths are in search path).
253rm -f $RPM_BUILD_ROOT%{_datadir}/ghostscript/%{gs_dot_ver}/Resource/CMap/*
254
255MAIN_PWD=`pwd`
256(cd $RPM_BUILD_ROOT; find .%{_datadir}/ghostscript/%{gs_dot_ver}/Resource -type f | \
257 sed -e 's/\.//;' | grep -v Fontmap | grep -v gs_init.ps > $MAIN_PWD/rpm.sharelist
258 find .%{_bindir}/ | sed -e 's/\.//;' | \
259 grep -v '/$\|/hpijs$\|/gsx$\|/ijs-config$' \
260 >> $MAIN_PWD/rpm.sharelist)
261
262
263%clean
264rm -rf $RPM_BUILD_ROOT
265
266#%post -p /sbin/ldconfig
267
268#%postun -p /sbin/ldconfig
269
270%files -f rpm.sharelist
271%defattr(-,root,root)
272%dir %{_sysconfdir}/ghostscript
273%dir %{_sysconfdir}/ghostscript/%{gs_dot_ver}
274%dir %{_datadir}/ghostscript/%{gs_dot_ver}
275%dir %{_datadir}/ghostscript/%{gs_dot_ver}/Resource
276%dir %{_datadir}/ghostscript/%{gs_dot_ver}/Resource/Init
277%config %{_datadir}/ghostscript/%{gs_dot_ver}/Resource/Init/gs_init.ps
278%config %{_datadir}/ghostscript/%{gs_dot_ver}/Resource/Init/Fontmap*
279%dir %{_datadir}/ghostscript/%{gs_dot_ver}/Resource/CMap
280%dir %{_datadir}/ghostscript/%{gs_dot_ver}/Resource/ColorSpace
281%dir %{_datadir}/ghostscript/%{gs_dot_ver}/Resource/Decoding
282%dir %{_datadir}/ghostscript/%{gs_dot_ver}/Resource/Encoding
283%dir %{_datadir}/ghostscript/%{gs_dot_ver}/Resource/SubstCID
284%{_datadir}/ghostscript/%{gs_dot_ver}/lib
285%{_datadir}/ghostscript/%{gs_dot_ver}/iccprofiles
286%{_mandir}/man*/*
287%lang(de) %{_mandir}/de/man*/*
288%{_libdir}/gsdll2.dll
289#%{_libdir}/libijs-*.so*
290#%dir %{_libdir}/%{name}
291#%{_libdir}/%{name}/%{gs_dot_ver}
292%config(noreplace) %{_sysconfdir}/ghostscript/%{gs_dot_ver}/*
293
294%files doc
295%defattr(-,root,root)
296%doc %{_datadir}/ghostscript/%{gs_dot_ver}/examples
297%doc %{_docdir}/%{name}-%{gs_dot_ver}
298
299%files gtk
300%defattr(-,root,root)
301%{_bindir}/gsx.exe
302
303%files cups
304%defattr(-,root,root)
305#%{_datadir}/cups/model/pxl*
306#%{_datadir}/cups/mime/*.convs
307#%{_cups_serverbin}/filter/*
308
309%files devel
310%defattr(-,root,root)
311%dir %{_includedir}/ghostscript
312%{_includedir}/ghostscript/*.h
313#%dir %{_includedir}/ijs
314#%{_includedir}/ijs/*
315#%{_bindir}/ijs-config
316#%{_libdir}/pkgconfig/ijs.pc
317#%{_libdir}/libijs.so
318%{_libdir}/gs.a
319%{_libdir}/gs.lib
320
321%changelog
322* Wed Jan 13 2016 Silvan Scherrer <silvan.scherrer@aroa.ch> 9.10-5
323- rebuild with latest libraries
324- adjusted debug package creation to latest rpm macros
325
326* Sun Feb 15 2015 yd <yd@os2power.com> 9.10-4
327- rebuild for new libpng release.
328
329* Tue Dec 16 2014 yd
330- r937, r941, fix FONTPATH handling, add PSFONTS dir.
331
332* Fri Dec 12 2014 yd
333- initial unixroot build.
Note: See TracBrowser for help on using the repository browser.