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