]> git.pld-linux.org Git - packages/ocaml.git/blame_incremental - ocaml.spec
- converted to UTF-8
[packages/ocaml.git] / ocaml.spec
... / ...
CommitLineData
1#
2# Conditional build:
3%bcond_without emacs # without emacs subpackage
4%bcond_without x # without X11 support
5%bcond_without tk # without Tcl/Tk support
6#
7# --without x11 implies --without tk
8%{!?with_x:%undefine with_tk}
9
10%define p4ver 3.06
11%define sver 3.09
12
13Summary: The Objective Caml compiler and programming environment
14Summary(pl.UTF-8): Kompilator OCamla (Objective Caml) oraz środowisko programistyczne
15Name: ocaml
16Version: 3.09.3
17Release: 1
18Epoch: 1
19License: distributable
20Vendor: Group of implementors <caml-light@inria.fr>
21Group: Development/Languages
22Source0: http://caml.inria.fr/distrib/%{name}-%{sver}/%{name}-%{version}.tar.bz2
23# Source0-md5: 8b3744efd0d51b82d55b61d0e2bf0e2b
24Source1: http://caml.inria.fr/distrib/%{name}-%{sver}/%{name}-%{sver}-refman.html.tar.gz
25# Source1-md5: b25eb211bf91bcaa536b12d12731ceec
26Source2: http://caml.inria.fr/distrib/%{name}-%{sver}/%{name}-%{sver}-refman.ps.gz
27# Source2-md5: 598bb8e86329afe1ae374385b2e177e7
28Source3: ftp://ftp.inria.fr/INRIA/Projects/cristal/camlp4/camlp4-%{p4ver}-manual.html.tar.gz
29# Source3-md5: 21370bae4e7f6435b38aeb21db7ce8bb
30Source4: ftp://ftp.inria.fr/INRIA/Projects/cristal/camlp4/camlp4-%{p4ver}-manual.dvi.gz
31# Source4-md5: 035915d1a530aa7ec9b194d9a7d258eb
32Source5: ftp://ftp.inria.fr/INRIA/Projects/cristal/camlp4/camlp4-%{p4ver}-tutorial.html.tar.gz
33# Source5-md5: 96d8eb4ca5abd58c9a280ba59f73b192
34Source6: ftp://ftp.inria.fr/INRIA/Projects/cristal/camlp4/camlp4-%{p4ver}-tutorial.dvi.gz
35# Source6-md5: fcd87c235109364242a0c9ccf176dff8
36Source7: http://www.ocaml.info/ocaml_sources/pure-fun-1.0.6.tar.bz2
37# Source7-md5: 94eac3fa1ac51b8ada344b04839cb43c
38Source8: http://www.ocaml.info/ocaml_sources/ds-contrib.tar.gz
39# Source8-md5: 77fa1da7375dea1393cc0b6cd802d7e1
40Source9: http://caml.inria.fr/distrib/%{name}-%{sver}/%{name}-%{sver}-refman.info.tar.gz
41# Source9-md5: 280160b1fc7c8513074c3fda0446de29
42Patch0: %{name}-build.patch
43Patch1: %{name}-db3.patch
44Patch2: %{name}-objinfo.patch
45Patch3: %{name}-tk85support.patch
46Patch4: %{name}-CFLAGS.patch
47Patch5: %{name}-as_needed.patch
48URL: http://caml.inria.fr/
49BuildRequires: db-devel >= 4.1
50%{?with_tk:BuildRequires: tk-devel}
51%{?with_x:BuildRequires: xorg-lib-libX11-devel}
52%if %{with emacs}
53BuildRequires: sed >= 4.0
54BuildRequires: xemacs
55BuildRequires: xemacs-common
56BuildRequires: xemacs-fsf-compat-pkg
57%endif
58Requires: %{name}-runtime = %{epoch}:%{version}-%{release}
59Provides: ocaml-ocamldoc
60Obsoletes: ocaml-ocamldoc
61BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
62
63%define specflags -fno-strict-aliasing
64
65%description
66Objective Caml is a high-level, strongly-typed, functional and
67object-oriented programming language from the ML family of languages.
68
69This package comprises two batch compilers (a fast bytecode compiler
70and an optimizing native-code compiler), an interactive toplevel
71system, Lex&Yacc tools, a replay debugger, and a comprehensive
72library.
73
74%description -l pl.UTF-8
75OCaml (Objective Caml) jest funkcyjnym, obiektowo zorientowanym językiem
76wysokiego poziomu z silnym typowaniem. Należy do rodziny języków ML.
77
78Ten pakiet zawiera dwa kompilatory (szybki kompilator do bajtkodu
79oraz optymalizujący kompilator do kodu natywnego), interaktywne środowisko
80pracy, narzędzia do tworzenia analizatorów leksykalnych oraz składniowych
81(ocamllex, ocamlyacc), odpluskwiacz (ocamldebug) i biblioteki.
82
83%package runtime
84Summary: Runtime system for OCaml
85Summary(pl.UTF-8): Środowisko uruchomieniowe dla OCamla
86Group: Libraries
87
88%description runtime
89This package contains binaries needed to run bytecode OCaml programs:
90ocamlrun bytecode interpreter, and basic dynamic link libraries.
91
92%description runtime -l pl.UTF-8
93Pakiet ten zawiera binaria potrzebne do uruchamiania programów w
94OCamlu skompilowanych do bajtkodu: interpreter bajtkodu (ocamlrun) oraz
95podstawowe biblioteki linkowane dynamicznie.
96
97%package lib-source
98Summary: Sources of OCaml standard library
99Summary(pl.UTF-8): Źródła biblioteki standardowej OCamla
100Group: Development/Languages
101Requires: %{name} = %{epoch}:%{version}-%{release}
102
103%description lib-source
104This sources come helpful during debugging of user programs with ocamldebug.
105
106%description lib-source -l pl.UTF-8
107Źródła te są przydatne przy odpluskwianiu programów użytkownika
108z użyciem ocamldebug.
109
110%package doc-html
111Summary: HTML documentation for OCaml
112Summary(pl.UTF-8): Dokumentacja dla OCamla w formacie HTML
113Group: Development/Tools
114
115%description doc-html
116HTML documentation for OCaml.
117
118%description doc-html -l pl.UTF-8
119Dokumentacja dla OCamla w formacie HTML.
120
121%package doc-ps
122Summary: PostScript documentation for OCaml
123Summary(pl.UTF-8): Dokumentacja dla OCamla w formacie PostScript
124Group: Development/Tools
125
126%description doc-ps
127PostScript documentation for OCaml.
128
129%description doc-ps -l pl.UTF-8
130Dokumentacja dla OCamla w formacie PostScript.
131
132%package doc-info
133Summary: Info documentation for OCaml
134Summary(pl.UTF-8): Dokumentacja info dla OCamla
135Group: Development/Tools
136
137%description doc-info
138Info documentation for OCaml.
139
140%description doc-info -l pl.UTF-8
141Dokumentacja info dla OCamla.
142
143%package emacs
144Summary: Emacs mode for OCaml
145Summary(pl.UTF-8): Tryb OCamla dla Emacsa
146Group: Development/Tools
147Requires: %{name} = %{epoch}:%{version}-%{release}
148
149%description emacs
150Emacs mode files for Objective Caml language.
151
152%description emacs -l pl.UTF-8
153Pliki trybu OCamla dla Emacsa.
154
155%package labltk
156Summary: Runtime for LablTk library
157Summary(pl.UTF-8): Środowisko uruchomieniowe dla biblioteki LablTk
158Group: Libraries
159Requires: %{name} = %{epoch}:%{version}-%{release}
160
161%description labltk
162LablTk gives OCaml program access to Tcl/Tk GUI widgets. This package
163contains files needed to run bytecode OCaml programs using LablTk.
164
165%description labltk -l pl.UTF-8
166Biblioteka LablTk daje programom napisanym w OCamlu dostęp do widgetów
167Tcl/Tk. Pakiet ten zawiera binaria potrzebne do uruchamiania programów
168używających LablTk.
169
170%package labltk-devel
171Summary: LablTk library for OCaml
172Summary(pl.UTF-8): Biblioteka LablTk dla OCamla
173Group: Development/Libraries
174Requires: %{name}-labltk = %{epoch}:%{version}-%{release}
175
176%description labltk-devel
177LablTk gives OCaml program access to Tcl/Tk GUI widgets. This package
178contains files needed to develop OCaml programs using LablTk.
179
180%description labltk-devel -l pl.UTF-8
181Biblioteka LablTk daje programom napisanym w OCamlu dostęp do widgetów
182Tcl/Tk. Pakiet ten zawiera pliki niezbędne do tworzenia programów
183używających LablTk.
184
185%package x11graphics
186Summary: X11 graphic output for OCaml
187Summary(pl.UTF-8): Dostęp do X11 dla OCamla
188Group: Development/Libraries
189Requires: %{name} = %{epoch}:%{version}-%{release}
190
191%description x11graphics
192x11graphics module gives OCaml program access to drawing in X11
193windows. This package contains files needed to run bytecode OCaml
194programs using x11graphics.
195
196%description x11graphics -l pl.UTF-8
197Moduł x11graphics daje programom napisanym w OCamlu możliwość
198korzystania z interfejsu graficznego X11. Pakiet ten zawiera binaria
199potrzebne do uruchamiania programów używających x11graphics.
200
201%package x11graphics-devel
202Summary: X11 graphic output for OCaml
203Summary(pl.UTF-8): Dostęp do X11 dla OCamla
204Group: Development/Libraries
205Requires: %{name}-x11graphics = %{epoch}:%{version}-%{release}
206
207%description x11graphics-devel
208x11graphics module gives OCaml program access to drawing in X11
209windows. This package contains files needed to develop OCaml programs
210using x11graphics.
211
212%description x11graphics-devel -l pl.UTF-8
213Moduł x11graphics daje programom napisanym w OCamlu możliwość
214korzystania z interfejsu graficznego X11. Pakiet ten zawiera pliki
215niezbędne do tworzenia programów używających x11graphics.
216
217%package camlp4
218Summary: Objective Caml Preprocessor
219Summary(pl.UTF-8): Preprocesor OCamla
220Group: Development/Languages
221Requires: %{name} = %{epoch}:%{version}-%{release}
222Provides: camlp4 = %{epoch}:%{version}-%{release}
223Obsoletes: camlp4
224
225%description camlp4
226Camlp4 is a Pre-Processor-Pretty-Printer for Objective Caml. It offers
227tools for syntax (grammars) and the ability to modify the concrete
228syntax of the language (quotations, syntax extensions).
229
230Camlp4 can parse normal Ocaml concrete syntax or any other
231user-definable syntax. As an example, an alternative syntax is
232provided, named revised, because it tries to fix some small problems
233of the normal syntax.
234
235Camlp4 can pretty print the normal Ocaml concrete syntax or the
236revised one. It is therefore always possible to have a version of your
237sources compilable by the Objective Caml compiler without
238preprocessing.
239
240%description camlp4 -l pl.UTF-8
241Camlp4 jest preprocesorem OCamla. Oferuje narzędzia do manipulowania
242składnią (gramatyki) oraz możliwość modyfikowania oryginalnej składni
243języka (cytowania, rozszerzenia).
244
245Camlp4 może sparsować oryginalną składnię Ocamla lub dowolną inną
246definiowalną przez użytkownika. Jako przykład podana jest alternatywna
247składnia (revised syntax), która próbuje poprawić drobne problemy
248występujące w składni oryginalnej.
249
250Camlp4 umie ładnie formatować źródła zarówno w oryginalnej jak i
251poprawionej składni OCamla. Potrafi także tłumaczyć programy z jednej
252składni na drugą.
253
254%package camlp4-doc-html
255Summary: Objective Caml Preprocessor - HTML documentation
256Summary(pl.UTF-8): Preprocesor OCamla - dokumentacja HTML
257Group: Development/Languages
258
259%description camlp4-doc-html
260Objective Caml Preprocessor - HTML documentation.
261
262%description camlp4-doc-html -l pl.UTF-8
263Preprocesor OCamla - dokumentacja HTML.
264
265%package compiler-objects
266Summary: Compiled parts of OCaml compiler
267Summary(pl.UTF-8): Skompilowane części kompilatora OCamla
268Group: Development/Languages
269Requires: %{name} = %{epoch}:%{version}-%{release}
270Obsoletes: ocaml-devel
271Provides: ocaml-devel
272
273%description compiler-objects
274This package contains *.cmi and *.cmo files being parts of OCaml
275compiler. They are needed to compile some programs.
276
277%description compiler-objects -l pl.UTF-8
278Pakiet ten zawiera pliki *.cmi oraz *.cmo będące częściami kompilatora
279OCamla. Są one wymagane do kompilacji niektórych programów.
280
281%package ocamldoc-devel
282Summary: Files needed to develop programs using ocamldoc
283Summary(pl.UTF-8): Pliki potrzebne do tworzenia programów używających ocamldoc
284Group: Development/Languages
285Requires: %{name} = %{epoch}:%{version}-%{release}
286
287%description ocamldoc-devel
288You need this package if you are going to write ocamldoc front end or
289something like that.
290
291%description ocamldoc-devel -l pl.UTF-8
292Będziesz potrzebować tego pakietu, jeśli zamierzasz pisać front end
293dla ocamldoc lub coś podobnego.
294
295# maybe we'll want to add some more stuff here?
296%package examples
297Summary: Example source code for OCaml
298Summary(pl.UTF-8): Przykładowe kody źródłowe w OCamlu
299Group: Development/Languages
300Requires: %{name} = %{epoch}:%{version}-%{release}
301
302%description examples
303This packages contains sources for Okasaki's Purely Functional
304Datastructures in OCaml, along with some contributions.
305
306%description examples -l pl.UTF-8
307Pakiet ten zawiera źródła Czysto Funkcyjnych Struktur Danych
308autorstwa Okasaki'ego, napisane w OCamlu, wraz z dodatkami.
309
310%prep
311%setup -q -a1 -a3 -a5
312mkdir examples
313tar xjf %{SOURCE7} -C examples
314tar xzf %{SOURCE8} -C examples
315tar xzf %{SOURCE9}
316# order mess with docs somewhat
317mkdir -p docs/html
318mv htmlman docs/html/ocaml
319cp %{SOURCE2} docs/ocaml.ps.gz
320mv camlp4-%{p4ver}-manual.html docs/html/camlp4
321cp %{SOURCE4} docs/camlp4.ps.gz
322mv camlp4-%{p4ver}-tutorial.html docs/html/camlp4-tutorial
323cp %{SOURCE6} docs/camlp4-tutorial.ps.gz
324%patch0 -p1
325%patch1 -p1
326%patch2 -p1
327%patch3 -p1
328%patch4 -p1
329%patch5 -p1
330
331%build
332cp -f /usr/share/automake/config.sub config/gnu
333./configure \
334 -cc "%{__cc}" \
335 -bindir %{_bindir} \
336 -libdir %{_libdir}/%{name} \
337 -mandir %{_mandir}/man1 \
338 -host %{_host} \
339 %{!?with_tk:-no-tk} \
340 -with-pthread \
341 -x11lib %{_libdir}
342
343%{__make} -j1 world bootstrap opt.opt CFLAGS="%{rpmcflags} -Wall"
344%{__make} -C tools objinfo CFLAGS="%{rpmcflags} -Wall" -j1
345
346%install
347rm -rf $RPM_BUILD_ROOT
348install -d $RPM_BUILD_ROOT{%{_includedir},%{_infodir},%{_examplesdir}/%{name}-{labltk-,}%{version}}
349
350%{__make} install \
351 BINDIR=$RPM_BUILD_ROOT%{_bindir} \
352 LIBDIR=$RPM_BUILD_ROOT%{_libdir}/%{name} \
353 MANDIR=$RPM_BUILD_ROOT%{_mandir}
354
355cat > $RPM_BUILD_ROOT%{_libdir}/%{name}/ld.conf <<EOF
356%{_libdir}/%{name}/stublibs
357%{_libdir}/%{name}
358EOF
359
360%if %{with emacs}
361%{__make} -C emacs DESTDIR=$RPM_BUILD_ROOT install \
362 EMACS="`if [ -x %{_bindir}/emacs ]; then echo emacs; \
363 else echo xemacs; fi`" \
364 EMACSDIR="$RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp"
365%endif
366
367# symlink .opt versions of compilers (if present)
368# warning: don't do that with camlp4 (can't load extensions then)
369for f in ocamlc ocamlopt ocamldoc ocamllex; do
370 if test -f $RPM_BUILD_ROOT%{_bindir}/$f.opt; then
371 mv -f $RPM_BUILD_ROOT%{_bindir}/$f \
372 $RPM_BUILD_ROOT%{_bindir}/$f.byte
373 ln -sf %{_bindir}/$f.opt $RPM_BUILD_ROOT%{_bindir}/$f
374 fi
375done
376
377# move includes to the proper place
378mv -f $RPM_BUILD_ROOT%{_libdir}/%{name}/caml $RPM_BUILD_ROOT%{_includedir}/caml
379# but leave compatibility symlink
380ln -s ../../include/caml $RPM_BUILD_ROOT%{_libdir}/%{name}/caml
381
382# compiled sources of compiler, needed by some programs
383for f in {asm,byte}comp parsing typing utils ; do
384 install -d $RPM_BUILD_ROOT%{_libdir}/%{name}/compiler/$f
385 cp $f/*.{cmi,cmo,cmx,o} $RPM_BUILD_ROOT%{_libdir}/%{name}/compiler/$f
386done
387
388# this isn't installed by default, but is useful
389install tools/objinfo $RPM_BUILD_ROOT%{_bindir}/ocamlobjinfo
390cp -r examples/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
391cp -r otherlibs/labltk/examples* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-labltk-%{version}
392ln -sf %{_libdir}/%{name}/{scrape,add}labels $RPM_BUILD_ROOT%{_bindir}
393
394# shutup checkfiles
395rm -rf $RPM_BUILD_ROOT%{_mandir}/man3
396rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/labltk/{labltktop,pp}
397
398# install info pages
399cp -f infoman/*.gz $RPM_BUILD_ROOT%{_infodir}
400
401%clean
402rm -rf $RPM_BUILD_ROOT
403
404%post doc-info
405[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
406
407%postun doc-info
408[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
409
410%files
411%defattr(644,root,root,755)
412%doc LICENSE Changes README Upgrading
413%attr(755,root,root) %{_bindir}/ocaml*
414%{!?_without_tk:%exclude %{_bindir}/ocamlbrowser}
415%exclude %{_bindir}/ocamlrun
416%attr(755,root,root) %{_bindir}/*labels
417%{_includedir}/caml
418%{_libdir}/%{name}/caml
419%{_libdir}/%{name}/threads
420%dir %{_libdir}/%{name}/vmthreads
421%dir %{_libdir}/%{name}/vmthreads/*.cm*
422%dir %{_libdir}/%{name}/vmthreads/*.a
423%{_libdir}/%{name}/*.a
424%{_libdir}/%{name}/*.o
425%{_libdir}/%{name}/*.cm*
426%exclude %{_libdir}/%{name}/*graphics*
427%{_libdir}/%{name}/ld.conf
428%{_libdir}/%{name}/camlheader
429%{_libdir}/%{name}/camlheader_ur
430%dir %{_libdir}/%{name}/ocamldoc
431%{_libdir}/%{name}/ocamldoc/*.hva
432%attr(755,root,root) %{_libdir}/%{name}/expunge
433%attr(755,root,root) %{_libdir}/%{name}/extract_crc
434%attr(755,root,root) %{_libdir}/%{name}/*labels
435%{_mandir}/man1/*ocaml*
436
437%files runtime
438%defattr(644,root,root,755)
439%attr(755,root,root) %{_bindir}/ocamlrun
440%dir %{_libdir}/%{name}
441%dir %{_libdir}/%{name}/stublibs
442%attr(755,root,root) %{_libdir}/%{name}/stublibs/dll*.so
443%exclude %{_libdir}/%{name}/stublibs/dllgraphics.so
444%if %{with tk}
445%exclude %{_libdir}/%{name}/stublibs/dlllabltk.so
446%exclude %{_libdir}/%{name}/stublibs/dlltkanim.so
447%endif
448
449%files lib-source
450%defattr(644,root,root,755)
451%{_libdir}/%{name}/*.ml
452%{_libdir}/%{name}/*.mli
453%{_libdir}/%{name}/*/*.mli
454
455%files doc-html
456%defattr(644,root,root,755)
457%doc docs/html/ocaml/*
458
459%files doc-ps
460%defattr(644,root,root,755)
461%doc docs/*.ps.gz
462
463%files doc-info
464%defattr(644,root,root,755)
465%{_infodir}/ocaml.info*
466
467# they are poor, html is much better
468#%files manpages
469#%%{_mandir}/man3/*
470
471%if %{with emacs}
472%files emacs
473%defattr(644,root,root,755)
474%{_datadir}/emacs/site-lisp/*.el*
475%endif
476
477%if %{with tk}
478%files labltk
479%defattr(644,root,root,755)
480%attr(755,root,root) %{_libdir}/%{name}/stublibs/dlllabltk.so
481%attr(755,root,root) %{_libdir}/%{name}/stublibs/dlltkanim.so
482
483%files labltk-devel
484%defattr(644,root,root,755)
485%attr(755,root,root) %{_bindir}/labltk
486%attr(755,root,root) %{_bindir}/ocamlbrowser
487%dir %{_libdir}/%{name}/labltk
488%{_libdir}/%{name}/labltk/*.cm*
489%{_libdir}/%{name}/labltk/*.a
490%attr(755,root,root) %{_libdir}/%{name}/labltk/tkcompiler
491%{_examplesdir}/%{name}-labltk-%{version}
492%endif
493
494%if %{with x}
495%files x11graphics
496%defattr(644,root,root,755)
497%attr(755,root,root) %{_libdir}/%{name}/stublibs/dllgraphics.so
498
499%files x11graphics-devel
500%defattr(644,root,root,755)
501%{_libdir}/%{name}/graphics*.cm*
502%{_libdir}/%{name}/graphics.a
503%{_libdir}/%{name}/libgraphics.a
504%endif
505
506%files camlp4
507%defattr(644,root,root,755)
508%attr(755,root,root) %{_bindir}/*camlp4*
509%attr(755,root,root) %{_bindir}/ocpp
510# Not installed since 3.05, is it needed?
511#%attr(755,root,root) %{_bindir}/odyl
512%{_libdir}/%{name}/camlp4
513%{_mandir}/man*/*camlp4*
514%{_mandir}/man*/*ocpp*
515
516%files camlp4-doc-html
517%defattr(644,root,root,755)
518%doc docs/html/camlp4*
519
520%files compiler-objects
521%defattr(644,root,root,755)
522%{_libdir}/%{name}/compiler
523
524%files ocamldoc-devel
525%defattr(644,root,root,755)
526%{_libdir}/%{name}/ocamldoc/*.cm*
527%{_libdir}/%{name}/ocamldoc/*.a
528
529%files examples
530%defattr(644,root,root,755)
531%{_examplesdir}/%{name}-%{version}
This page took 0.042203 seconds and 4 git commands to generate.