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

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

spec: ghostscript, initial build.

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