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

Last change on this file since 1010 was 735, checked in by Silvan Scherrer, 9 years ago

spec: ghostscript: take care of \ vs / in FONTPATH, don't use Dos Api with a libc build

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