]> git.pld-linux.org Git - packages/ocaml.git/blob - ocaml.spec
- fixed use of _without_x11
[packages/ocaml.git] / ocaml.spec
1
2 # conditional build:
3 # --without emacs
4 # --without tk
5 # --without x11  (implies --without tk)
6
7 %{?_without_x11:%define _without_tk     1}
8
9 Summary:        The Objective Caml compiler and programming environment
10 Summary(pl):    Kompilator Objektowego Caml oraz ¶rodowisko programistyczne
11 Name:           ocaml
12 Version:        3.04
13 Release:        3
14 License:        distributable
15 Vendor:         Group of implementors <caml-light@inria.fr>
16 Group:          Development/Languages
17 Group(cs):      Vývojové prostøedky/Programovací jazyky
18 Group(da):      Udvikling/Sprog
19 Group(de):      Entwicklung/Sprachen
20 Group(es):      Desarrollo/Lenguajes
21 Group(fr):      Development/Langues
22 Group(is):      Þróunartól/Forritunarmál
23 Group(it):      Sviluppo/Linguaggi
24 Group(ja):      ³«È¯/¸À¸ì
25 Group(no):      Utvikling/Programmeringsspråk
26 Group(pl):      Programowanie/Jêzyki
27 Group(pt):      Desenvolvimento/Linguagens
28 Group(ru):      òÁÚÒÁÂÏÔËÁ/ñÚÙËÉ
29 Group(sl):      Razvoj/Jeziki
30 Group(sv):      Utveckling/Språk
31 Group(uk):      òÏÚÒÏÂËÁ/íÏ×É
32 Source0:        ftp://ftp.inria.fr/lang/caml-light/%{name}-%{version}.tar.gz
33 Source1:        ftp://ftp.inria.fr/lang/caml-light/%{name}-%{version}-refman.info.tar.gz
34 Source2:        ftp://ftp.inria.fr/lang/caml-light/%{name}-%{version}-refman.html.tar.gz
35 Source3:        ftp://ftp.inria.fr/lang/caml-light/%{name}-%{version}-refman.ps.gz
36 Source4:        ftp://ftp.inria.fr/INRIA/Projects/cristal/camlp4/camlp4-%{version}-refman.html.tar.gz
37 Source5:        ftp://ftp.inria.fr/INRIA/Projects/cristal/camlp4/camlp4-%{version}-refman.ps.gz
38 Source6:        ftp://ftp.inria.fr/INRIA/Projects/cristal/camlp4/camlp4-%{version}-tutorial.html.tar.gz
39 Source7:        ftp://ftp.inria.fr/INRIA/Projects/cristal/camlp4/camlp4-%{version}-tutorial.ps.gz
40 Patch0:         %{name}-build.patch
41 Patch1:         %{name}-DESTDIR.patch
42 Patch2:         %{name}-manlinks.patch
43 Patch3:         %{name}-db3.patch
44 URL:            http://caml.inria.fr/
45 BuildRequires:  db3-devel
46 %{!?_without_tk:BuildRequires:          tk-devel}
47 %{!?_without_x11:BuildRequires:         XFree86-devel}
48 %{!?_without_emacs:BuildRequires:       xemacs-common}
49 %{!?_without_emacs:BuildRequires:       xemacs-fsf-compat-pkg}
50 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
51
52 %description
53 Objective Caml is a high-level, strongly-typed, functional and
54 object-oriented programming language from the ML family of languages.
55
56 This package comprises two batch compilers (a fast bytecode compiler
57 and an optimizing native-code compiler), an interactive toplevel
58 system, Lex&Yacc tools, a replay debugger, and a comprehensive
59 library.
60
61 %description -l pl
62 Objektowy Caml jest funkcjonalnym, obiektowo zorientowanym jêzykiem
63 wysokiego poziomu z rodziny jêzyków ML.
64
65 Ten pakiet zawiera dwa kompilatory (szybki kompilator bytecode oraz
66 zoptymalizowany natywny kompilator), interaktywny g³ówny system,
67 narzêdzia Lex&Yacc, odpluskwiacz i biblioteki.
68
69 %package doc-ps
70 Summary:        PostScript documentation for OCaml
71 Summary(pl):    Dokumentacja dla OCaml-a w formacie PostSript
72 Group:          Development/Tools
73 Group(cs):      Vývojové prostøedky/Nástroje
74 Group(da):      Udvikling/Værktøj
75 Group(de):      Entwicklung/Tools
76 Group(es):      Desarrollo/Herramientas
77 Group(fr):      Development/Outils
78 Group(is):      Þróunartól/Tól
79 Group(it):      Sviluppo/Tool
80 Group(ja):      ³«È¯/¥Ä¡¼¥ë
81 Group(no):      Utvikling/Verktøy
82 Group(pl):      Programowanie/Narzêdzia
83 Group(pt):      Desenvolvimento/Ferramentas
84 Group(ru):      òÁÚÒÁÂÏÔËÁ/éÎÓÔÒÕÍÅÎÔÙ
85 Group(sl):      Razvoj/Orodja
86 Group(sv):      Utveckling/Verktyg
87 Group(uk):      òÏÚÒÏÂËÁ/¶ÎÓÔÒÕÍÅÎÔÉ
88 Requires:       %{name} = %{version}
89
90 %description doc-ps
91 PostScript documentation for OCaml
92
93 %description doc-ps -l pl
94 Dokumentacja dla OCaml-a w formacie PostSript
95
96 %package doc-html
97 Summary:        HTML documentation for OCaml
98 Summary(pl):    Dokumentacja dla OCaml-a w formacie HTML
99 Group:          Development/Tools
100 Group(cs):      Vývojové prostøedky/Nástroje
101 Group(da):      Udvikling/Værktøj
102 Group(de):      Entwicklung/Tools
103 Group(es):      Desarrollo/Herramientas
104 Group(fr):      Development/Outils
105 Group(is):      Þróunartól/Tól
106 Group(it):      Sviluppo/Tool
107 Group(ja):      ³«È¯/¥Ä¡¼¥ë
108 Group(no):      Utvikling/Verktøy
109 Group(pl):      Programowanie/Narzêdzia
110 Group(pt):      Desenvolvimento/Ferramentas
111 Group(ru):      òÁÚÒÁÂÏÔËÁ/éÎÓÔÒÕÍÅÎÔÙ
112 Group(sl):      Razvoj/Orodja
113 Group(sv):      Utveckling/Verktyg
114 Group(uk):      òÏÚÒÏÂËÁ/¶ÎÓÔÒÕÍÅÎÔÉ
115 Requires:       %{name} = %{version}
116
117 %description doc-html
118 HTML documentation for OCaml
119
120 %description doc-html -l pl
121 Dokumentacja dla OCaml-a w formacie HTML
122
123 %package emacs
124 Summary:        Emacs mode for OCaml
125 Summary(pl):    Tryb Emacsa dla OCaml
126 Group:          Development/Tools
127 Group(cs):      Vývojové prostøedky/Nástroje
128 Group(da):      Udvikling/Værktøj
129 Group(de):      Entwicklung/Tools
130 Group(es):      Desarrollo/Herramientas
131 Group(fr):      Development/Outils
132 Group(is):      Þróunartól/Tól
133 Group(it):      Sviluppo/Tool
134 Group(ja):      ³«È¯/¥Ä¡¼¥ë
135 Group(no):      Utvikling/Verktøy
136 Group(pl):      Programowanie/Narzêdzia
137 Group(pt):      Desenvolvimento/Ferramentas
138 Group(ru):      òÁÚÒÁÂÏÔËÁ/éÎÓÔÒÕÍÅÎÔÙ
139 Group(sl):      Razvoj/Orodja
140 Group(sv):      Utveckling/Verktyg
141 Group(uk):      òÏÚÒÏÂËÁ/¶ÎÓÔÒÕÍÅÎÔÉ
142 Requires:       %{name} = %{version}
143
144 %description emacs
145 Emacs mode files for Objective Caml language
146
147 %description emacs -l pl
148 Pliki trybu Emacsa dla jêzyka Objektowego Caml
149
150 %package labltk
151 Summary:        LabelTk library for OCaml
152 Summary(pl):    Biblioteka LablTk dla OCamla
153 Group:          Development/Libraries
154 Group(cs):      Vývojové prostøedky/Knihovny
155 Group(da):      Udvikling/Biblioteker
156 Group(de):      Entwicklung/Bibliotheken
157 Group(es):      Desarrollo/Bibliotecas
158 Group(fr):      Development/Librairies
159 Group(is):      Þróunartól/Aðgerðasöfn
160 Group(it):      Sviluppo/Librerie
161 Group(ja):      ³«È¯/¥é¥¤¥Ö¥é¥ê
162 Group(no):      Utvikling/Bibliotek
163 Group(pl):      Programowanie/Biblioteki
164 Group(pt_BR):   Desenvolvimento/Bibliotecas
165 Group(pt):      Desenvolvimento/Bibliotecas
166 Group(ru):      òÁÚÒÁÂÏÔËÁ/âÉÂÌÉÏÔÅËÉ
167 Group(sl):      Razvoj/Knji¾nice
168 Group(sv):      Utveckling/Bibliotek
169 Group(uk):      òÏÚÒÏÂËÁ/â¦Â̦ÏÔÅËÉ
170 Requires:       %{name} = %{version}
171
172 %description labltk
173 LablTk gives OCaml program access to Tcl/Tk GUI widgets.
174
175 %description labltk -l pl
176 Biblioteka LablTk daje programom napisanym w OCamlu dostêp do widgetów
177 Tcl/Tk.
178
179 %package x11graphics
180 Summary:        X11 graphic output for OCaml
181 Summary(pl):    Iksowe wyj¶cie graficzne dla OCamla
182 Group:          Development/Libraries
183 Group(cs):      Vývojové prostøedky/Knihovny
184 Group(da):      Udvikling/Biblioteker
185 Group(de):      Entwicklung/Bibliotheken
186 Group(es):      Desarrollo/Bibliotecas
187 Group(fr):      Development/Librairies
188 Group(is):      Þróunartól/Aðgerðasöfn
189 Group(it):      Sviluppo/Librerie
190 Group(ja):      ³«È¯/¥é¥¤¥Ö¥é¥ê
191 Group(no):      Utvikling/Bibliotek
192 Group(pl):      Programowanie/Biblioteki
193 Group(pt_BR):   Desenvolvimento/Bibliotecas
194 Group(pt):      Desenvolvimento/Bibliotecas
195 Group(ru):      òÁÚÒÁÂÏÔËÁ/âÉÂÌÉÏÔÅËÉ
196 Group(sl):      Razvoj/Knji¾nice
197 Group(sv):      Utveckling/Bibliotek
198 Group(uk):      òÏÚÒÏÂËÁ/â¦Â̦ÏÔÅËÉ
199 Requires:       %{name} = %{version}
200
201 %description x11graphics
202 This package gives OCaml program access to drawing in X11 windows.
203
204 %description x11graphics -l pl
205 Ten pakiet daje programom napisanym w OCamlu dostêp do rysowania po
206 oknach X11.
207
208 %package camlp4
209 Summary:        Objective Caml Preprocessor
210 Summary(pl):    Preprocesor Ocamla
211 Group:          Development/Languages
212 Group(cs):      Vývojové prostøedky/Programovací jazyky
213 Group(da):      Udvikling/Sprog
214 Group(de):      Entwicklung/Sprachen
215 Group(es):      Desarrollo/Lenguajes
216 Group(fr):      Development/Langues
217 Group(is):      Þróunartól/Forritunarmál
218 Group(it):      Sviluppo/Linguaggi
219 Group(ja):      ³«È¯/¸À¸ì
220 Group(no):      Utvikling/Programmeringsspråk
221 Group(pl):      Programowanie/Jêzyki
222 Group(pt):      Desenvolvimento/Linguagens
223 Group(ru):      òÁÚÒÁÂÏÔËÁ/ñÚÙËÉ
224 Group(sl):      Razvoj/Jeziki
225 Group(sv):      Utveckling/Språk
226 Group(uk):      òÏÚÒÏÂËÁ/íÏ×É
227 Requires:       %{name} = %{version}
228 Provides:       camlp4 = %{version}
229 Obsoletes:      camlp4
230
231 %description camlp4
232 Camlp4 is a Pre-Processor-Pretty-Printer for Objective Caml. It offers
233 tools for syntax (grammars) and the ability to modify the concrete
234 syntax of the language (quotations, syntax extensions).
235
236 Camlp4 can parse normal Ocaml concrete syntax or any other
237 user-definable syntax. As an example, an alternative syntax is
238 provided, named revised, because it tries to fix some small problems
239 of the normal syntax.
240
241 Camlp4 can pretty print the normal Ocaml concrete syntax or the
242 revised one. It is therefore always possible to have a version of your
243 sources compilable by the compiler Objective Caml without
244 preprocessing.
245
246 %description camlp4 -l pl
247 Camlp4 jest preprocesorem dla Ocamla. Oferuje narzêdzia do sk³adni
248 (gramatyki) oraz umiejêtno¶æ modyfikowania konkretnej sk³adni jêzyka
249 (cytowania, rozszerzenia).
250
251 Camlp4 mo¿e sparsowaæ normaln± sk³adniê Ocamla lub inn± dowoln±
252 definiowaln± przez u¿ytkownika. Jako przyk³ad jest podana alternatywna
253 sk³adnia, nazwana "poprawiona", poniewa¿ próbuje poprawiæ drobne
254 problemy ze zwyk³± sk³adni±.
255
256 Camlp4 umie ³adnie wypisaæ normaln± sk³adniê Camla lub "poprawion±".
257 Dziêki temu jest mo¿liwe posiadanie wersji swoich ¼róde³
258 kompilowalnych przez kompilatora Ocamla bez preprocesingu.
259
260 %prep
261 %setup -q -T -b 0
262 %setup -q -T -D -a 1
263 %setup -q -T -D -a 2
264 # order mess with docs somewhat
265 mkdir docs
266 mkdir docs/html
267 mv htmlman docs/html/ocaml
268 cp %{SOURCE3} docs/ocaml.ps.gz
269 %setup -q -T -D -a 4
270 mv camlp4-%{version}-refman.html docs/html/camlp4
271 cp %{SOURCE5} docs/camlp4.ps.gz
272 %setup -q -T -D -a 6
273 mv camlp4-%{version}-tutorial.html docs/html/camlp4-tutorial
274 cp %{SOURCE7} docs/camlp4-tutorial.ps.gz
275
276 %patch0 -p1
277 %patch1 -p1
278 %patch2 -p1
279 %patch3 -p1
280
281 %build
282 ./configure \
283         -cc "%{__cc} %{rpmcflags}" \
284         -bindir %{_bindir} \
285         -libdir %{_libdir}/%{name} \
286         -mandir %{_mandir}/man1 \
287         -host %{_host} \
288         %{?_without_tk:-notk} \
289         -with-pthread
290
291 # this is crude hack (works in addition to ocaml-db3.patch)
292 cp config/Makefile config/Makefile.tmp
293 sed -e 's|-ldb1|-ldb|; s|-I/usr/include/db1||' < config/Makefile.tmp > config/Makefile
294
295 %{__make} world bootstrap opt ocamlc.opt ocamlopt.opt
296
297 # hack info pages to contain dir entry
298 cat <<EOF >infoman/ocaml.info
299 INFO-DIR-SECTION Programming Languages:
300 START-INFO-DIR-ENTRY    
301 * Ocaml: (ocaml).                             The Ocaml language
302 END-INFO-DIR-ENTRY
303 EOF
304 zcat infoman/ocaml.info.gz >> infoman/ocaml.info
305
306 gzip -9nf infoman/ocaml.info
307
308 %install
309 rm -rf $RPM_BUILD_ROOT
310 install -d $RPM_BUILD_ROOT%{_infodir}
311
312 %{__make} install DESTDIR=$RPM_BUILD_ROOT
313
314 %if %{!?_without_emacs:1}%{?_without_emacs:0}
315 %{__make} -C emacs DESTDIR=$RPM_BUILD_ROOT install \
316         EMACS="`if [ -x %{_bindir}/emacs ]; then echo emacs; \
317                 else echo xemacs; fi`" \
318         EMACSDIR="%{_libdir}/emacs/site-lisp"
319 %endif
320
321 cp -p {parsing/{location,longident,parsetree},typing/typecore}.{cm,ml}i \
322         $RPM_BUILD_ROOT%{_libdir}/%{name}
323                 
324 mv -f $RPM_BUILD_ROOT%{_bindir}/ocamlc $RPM_BUILD_ROOT%{_bindir}/ocamlc.byte
325 ln -sf %{_bindir}/ocamlc.opt $RPM_BUILD_ROOT%{_bindir}/ocamlc
326 mv -f $RPM_BUILD_ROOT%{_bindir}/ocamlopt $RPM_BUILD_ROOT%{_bindir}/ocamlopt.byte
327 ln -sf %{_bindir}/ocamlopt.opt $RPM_BUILD_ROOT%{_bindir}/ocamlopt
328 rm -f $RPM_BUILD_ROOT%{_libdir}/%{_name}/*.ml
329
330 ln -sf %{_libdir}/%{name}/{scrape,add}labels $RPM_BUILD_ROOT%{_bindir}
331
332 install infoman/*info* $RPM_BUILD_ROOT%{_infodir}
333
334 gzip -9nf LICENSE Changes README Upgrading
335
336 %clean
337 rm -rf $RPM_BUILD_ROOT
338
339 %post
340 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
341
342 %postun
343 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
344
345
346 %files
347 %defattr(644,root,root,755)
348 %doc *.gz
349 %attr(755,root,root) %{_bindir}/ocaml
350 %attr(755,root,root) %{_bindir}/ocaml[cmdlopry]*
351 %attr(755,root,root) %{_bindir}/*labels
352 %{_libdir}/%{name}/caml
353 %{_libdir}/%{name}/threads
354 %{_libdir}/%{name}/[abefhimnopqrstuw]*.*
355 %{_libdir}/%{name}/callback.*
356 %{_libdir}/%{name}/char.*
357 %{_libdir}/%{name}/condition.*
358 %{_libdir}/%{name}/dbm.*
359 %{_libdir}/%{name}/digest.*
360 %attr(755,root,root) %{_libdir}/%{name}/dll[bmnstu]*.so
361 %{_libdir}/%{name}/g[ce]*.*
362 %{_libdir}/%{name}/l*.cm*
363 %{_libdir}/%{name}/l*.mli
364 %{_libdir}/%{name}/lib[abc]*.a
365 %{_libdir}/%{name}/libmldbm.a
366 %{_libdir}/%{name}/lib[nstu]*.a
367 %{_libdir}/%{name}/ld.conf
368 %attr(755,root,root) %{_libdir}/%{name}/expunge
369 %attr(755,root,root) %{_libdir}/%{name}/extract_crc
370 %{_libdir}/%{name}/camlheader
371 %{_libdir}/%{name}/camlheader_ur
372 %attr(755,root,root) %{_libdir}/%{name}/*labels
373 %{_mandir}/man*/*ocaml*
374 %{_infodir}/*
375
376 %files camlp4
377 %defattr(644,root,root,755)
378 %attr(755,root,root) %{_bindir}/*camlp4*
379 %attr(755,root,root) %{_bindir}/ocpp
380 %attr(755,root,root) %{_bindir}/odyl
381 %{_libdir}/%{name}/camlp4
382 %{_mandir}/man*/*camlp4*
383 %{_mandir}/man*/*ocpp*
384
385 %if %{!?_without_tk:1}%{?_without_tk:0}
386 %files labltk
387 %defattr(644,root,root,755)
388 %attr(755,root,root) %{_bindir}/labltk
389 %attr(755,root,root) %{_bindir}/ocamlbrowser
390 %dir %{_libdir}/%{name}/labltk
391 %{_libdir}/%{name}/labltk/*.cm*
392 %{_libdir}/%{name}/labltk/*.a
393 %{_libdir}/%{name}/labltk/*.mli
394 %attr(755,root,root) %{_libdir}/%{name}/labltk/*.so
395 %attr(755,root,root) %{_libdir}/%{name}/labltk/labltktop
396 %attr(755,root,root) %{_libdir}/%{name}/labltk/tkcompiler
397 %endif
398
399 %if %{!?_without_x11:1}%{?_without_x11:0}
400 %files x11graphics
401 %defattr(644,root,root,755)
402 %{_libdir}/%{name}/graphics*
403 %{_libdir}/%{name}/libgraphics.a
404 %attr(755,root,root) %{_libdir}/%{name}/dllgraphics.so
405 %endif
406
407 %if %{!?_without_emacs:1}%{?_without_emacs:0}
408 %files emacs
409 %defattr(644,root,root,755)
410 %{_libdir}/emacs/site-lisp/*.el
411 %endif
412
413 %files doc-ps
414 %defattr(644,root,root,755)
415 %doc docs/*.ps.gz
416
417 %files doc-html
418 %defattr(644,root,root,755)
419 %doc docs/html/*
This page took 0.330542 seconds and 4 git commands to generate.