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

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

spec: update ghostscript to 9.18

File size: 11.0 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 1317
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: 1%{?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
152./autogen.sh
153configure --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
209echo ".so man1/gs.1" > $RPM_BUILD_ROOT/%{_mandir}/man1/ghostscript.1
210ln -sf gs $RPM_BUILD_ROOT%{_bindir}/ghostscript
211
212# Rename an original cidfmap to cidfmap.GS
213#mv $RPM_BUILD_ROOT%{_datadir}/%{name}/%{gs_dot_ver}/Resource/Init/cidfmap $RPM_BUILD_ROOT%{_datadir}/%{name}/%{gs_dot_ver}/Resource/Init/cidfmap.GS
214# Install our own cidfmap to allow the separated
215# cidfmap which the font packages own.
216#install -m0644 %{SOURCE2} $RPM_BUILD_ROOT%{_datadir}/%{name}/%{gs_dot_ver}/Resource/Init/CIDFnmap
217#install -m0644 %{SOURCE4} $RPM_BUILD_ROOT%{_datadir}/%{name}/%{gs_dot_ver}/Resource/Init/cidfmap
218
219# Documentation
220install -m0644 doc/COPYING $RPM_BUILD_ROOT%{_docdir}/%{name}-%{gs_dot_ver}
221
222# Don't ship libtool la files.
223rm -f $RPM_BUILD_ROOT%{_libdir}/libijs.la
224
225# Don't ship ijs example client or server
226rm -f $RPM_BUILD_ROOT%{_bindir}/ijs_client_example.exe
227rm -f $RPM_BUILD_ROOT%{_bindir}/ijs_server_example.exe
228
229# Don't ship URW fonts; we already have them.
230rm -rf $RPM_BUILD_ROOT%{_datadir}/ghostscript/%{gs_dot_ver}/Resource/Font
231
232mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/ghostscript/%{gs_dot_ver}
233touch $RPM_BUILD_ROOT%{_sysconfdir}/ghostscript/%{gs_dot_ver}/Fontmap.local
234touch $RPM_BUILD_ROOT%{_sysconfdir}/ghostscript/%{gs_dot_ver}/cidfmap.local
235touch $RPM_BUILD_ROOT%{_sysconfdir}/ghostscript/%{gs_dot_ver}/CIDFnmap.local
236
237# The man/de/man1 symlinks are broken (bug #66238).
238find $RPM_BUILD_ROOT%{_mandir}/de/man1 -type l | xargs rm -f
239
240# Don't ship fixmswrd.pl as it pulls in perl (bug #463948).
241rm -f $RPM_BUILD_ROOT%{_bindir}/fixmswrd.pl
242
243# Don't ship CMaps (instead poppler-data paths are in search path).
244rm -f $RPM_BUILD_ROOT%{_datadir}/ghostscript/%{gs_dot_ver}/Resource/CMap/*
245
246MAIN_PWD=`pwd`
247(cd $RPM_BUILD_ROOT; find .%{_datadir}/ghostscript/%{gs_dot_ver}/Resource -type f | \
248 sed -e 's/\.//;' | grep -v Fontmap | grep -v gs_init.ps > $MAIN_PWD/rpm.sharelist
249 find .%{_bindir}/ | sed -e 's/\.//;' | \
250 grep -v '/$\|/hpijs$\|/gsx$\|/ijs-config$' \
251 >> $MAIN_PWD/rpm.sharelist)
252
253
254%clean
255rm -rf $RPM_BUILD_ROOT
256
257#%post -p /sbin/ldconfig
258
259#%postun -p /sbin/ldconfig
260
261%files -f rpm.sharelist
262%defattr(-,root,root)
263%dir %{_sysconfdir}/ghostscript
264%dir %{_sysconfdir}/ghostscript/%{gs_dot_ver}
265%dir %{_datadir}/ghostscript/%{gs_dot_ver}
266%dir %{_datadir}/ghostscript/%{gs_dot_ver}/Resource
267%dir %{_datadir}/ghostscript/%{gs_dot_ver}/Resource/Init
268%config %{_datadir}/ghostscript/%{gs_dot_ver}/Resource/Init/gs_init.ps
269%config %{_datadir}/ghostscript/%{gs_dot_ver}/Resource/Init/Fontmap*
270%dir %{_datadir}/ghostscript/%{gs_dot_ver}/Resource/CMap
271%dir %{_datadir}/ghostscript/%{gs_dot_ver}/Resource/CIDFont
272%dir %{_datadir}/ghostscript/%{gs_dot_ver}/Resource/CIDFSubst
273%dir %{_datadir}/ghostscript/%{gs_dot_ver}/Resource/ColorSpace
274%dir %{_datadir}/ghostscript/%{gs_dot_ver}/Resource/Decoding
275%dir %{_datadir}/ghostscript/%{gs_dot_ver}/Resource/Encoding
276%dir %{_datadir}/ghostscript/%{gs_dot_ver}/Resource/IdiomSet
277%dir %{_datadir}/ghostscript/%{gs_dot_ver}/Resource/SubstCID
278%{_datadir}/ghostscript/%{gs_dot_ver}/lib
279%{_datadir}/ghostscript/%{gs_dot_ver}/iccprofiles
280%{_mandir}/man*/*
281%lang(de) %{_mandir}/de/man*/*
282%{_libdir}/gsdll2.dll
283%{_libdir}/ijs*.dll
284#%dir %{_libdir}/%{name}
285#%{_libdir}/%{name}/%{gs_dot_ver}
286%config(noreplace) %{_sysconfdir}/ghostscript/%{gs_dot_ver}/*
287
288%files doc
289%defattr(-,root,root)
290%doc %{_datadir}/ghostscript/%{gs_dot_ver}/examples
291%doc %{_docdir}/%{name}-%{gs_dot_ver}
292
293%files devel
294%defattr(-,root,root)
295%dir %{_includedir}/ghostscript
296%{_includedir}/ghostscript/*.h
297%dir %{_includedir}/ijs
298%{_includedir}/ijs/*
299%{_bindir}/ijs-config
300%{_libdir}/pkgconfig/ijs.pc
301%{_libdir}/ijs*.a
302%{_libdir}/gs.a
303%{_libdir}/gs.lib
304
305%changelog
306* Wed Jan 13 2016 Silvan Scherrer <silvan.scherrer@aroa.ch> 9.18-1
307- updated to ghostscript version 9.18
308- install the cmd files as well
309- added lcms2 as requirement
310- enabled ijs build
311- rebuild with latest libraries
312- adjusted debug package creation to latest rpm macros
313- removed the cups package, as in cups-filter since gs 9.08
314
315* Sun Feb 15 2015 yd <yd@os2power.com> 9.10-4
316- rebuild for new libpng release.
317
318* Tue Dec 16 2014 yd
319- r937, r941, fix FONTPATH handling, add PSFONTS dir.
320
321* Fri Dec 12 2014 yd
322- initial unixroot build.
Note: See TracBrowser for help on using the repository browser.