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

Last change on this file since 479 was 479, checked in by Yuri Dario, 11 years ago

spec: ghostscript, fix FONTPATH handling.

File size: 10.7 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 937
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: 2%{?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
21
22Source: %{name}-%{version}%{?svn_rev:-r%{svn_rev}}.zip
23
24Requires: urw-fonts >= 1.1, ghostscript-fonts
25Requires: poppler-data
26BuildRequires: xz
27BuildRequires: libjpeg-devel
28BuildRequires: zlib-devel, libpng-devel, unzip
29BuildRequires: glib2-devel
30# Omni requires libxml
31BuildRequires: libxml2-devel
32BuildRequires: libtiff-devel
33#BuildRequires: cups-devel >= 1.1.13
34BuildRequires: libtool
35#BuildRequires: jasper-devel, gnutls-devel
36#BuildRequires: dbus-devel
37#BuildRequires: poppler-data
38#BuildRequires: lcms2-devel
39#BuildRequires: openjpeg-devel
40%{?_with_freetype:BuildRequires: freetype-devel}
41BuildRoot: %{_tmppath}/%{name}-%{gs_ver}-root
42
43# See bug #83516.
44Conflicts: ttfonts-ja < 1.2-23
45Conflicts: ttfonts-ko < 1.0.11-27
46Conflicts: ttfonts-zh_CN < 2.12-2
47Conflicts: ttfonts-zh_TW < 2.11-20
48
49%description
50Ghostscript is a set of software that provides a PostScript
51interpreter, a set of C procedures (the Ghostscript library, which
52implements the graphics capabilities in the PostScript language) and
53an interpreter for Portable Document Format (PDF) files. Ghostscript
54translates PostScript code into many common, bitmapped formats, like
55those understood by your printer or screen. Ghostscript is normally
56used to display PostScript files and to print PostScript files to
57non-PostScript printers.
58
59If you need to display PostScript files or print them to
60non-PostScript printers, you should install ghostscript. If you
61install ghostscript, you also need to install the ghostscript-fonts
62package.
63
64%package devel
65Summary: Files for developing applications that use ghostscript
66Requires: %{name} = %{version}-%{release}
67Group: Development/Libraries
68
69%description devel
70The header files for developing applications that use ghostscript.
71
72%package doc
73Summary: Documentation for ghostscript
74Requires: %{name} = %{version}-%{release}
75Group: Documentation
76BuildArch: noarch
77
78%description doc
79The documentation files that come with ghostscript.
80
81%package gtk
82Summary: A GTK-enabled PostScript interpreter and renderer
83Requires: %{name} = %{version}-%{release}
84Group: Applications/Publishing
85
86%description gtk
87A GTK-enabled version of Ghostscript, called 'gsx'.
88
89%package cups
90Summary: CUPS filter for interpreting PostScript and PDF
91Requires: %{name} = %{version}-%{release}
92Requires: cups
93Group: System Environment/Daemons
94
95%description cups
96CUPS filter and conversion rules for interpreting PostScript and PDF.
97
98%package debug
99Summary: HLL debug data for exception handling support.
100
101%description debug
102HLL debug data for exception handling support.
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
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 %{_datadir}/fonts/default/%{name} \
148 %{_datadir}/fonts/default/Type1 \
149 %{_datadir}/fonts/default/amspsfnt/pfb \
150 %{_datadir}/fonts/default/cmpsfont/pfb \
151 %{_datadir}/fonts \
152 %{_datadir}/%{name}/conf.d \
153 %{_sysconfdir}/%{name} \
154 %{_sysconfdir}/%{name}/%{gs_dot_ver} \
155 %{_datadir}/poppler/cMap/*
156do
157 FONTPATH="$FONTPATH${FONTPATH:+:}$path"
158done
159
160#autoconf --force
161# --with-ijs --enable-dynamic
162export CONFIG_SITE="/@unixroot/usr/share/config.legacy";
163export CONFIG_SHELL="/@unixroot/usr/bin/sh.exe";
164%configure --with-fontpath="$FONTPATH" \
165 --with-drivers=ALL --disable-compile-inits \
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%files debug
322%defattr(-,root,root)
323%{_bindir}/*.dbg
324%{_libdir}/*.dbg
325
326%changelog
327* Tue Dec 16 2014 yd
328- r937, fix FONTPATH handling.
329
330* Fri Dec 12 2014 yd
331- initial unixroot build.
Note: See TracBrowser for help on using the repository browser.