3 %bcond_without ocaml_opt # native, optimized compiler
5 # ppc64, sparc64 and x32 variants not supported currently
6 # alpha, hppa, ia64, mips removed since 4.00
7 %ifnarch %{ix86} %{x8664} arm aarch64 ppc sparc sparcv9
8 %undefine with_ocaml_opt
13 Summary: The Objective Caml compiler and programming environment
14 Summary(pl.UTF-8): Kompilator OCamla (Objective Caml) oraz środowisko programistyczne
19 License: QPL v1.0 with linking exception (compiler), LGPL v2 with linking exception (library)
20 Group: Development/Languages
21 Source0: http://caml.inria.fr/distrib/ocaml-%{sver}/%{name}-%{version}.tar.xz
22 # Source0-md5: 7343cd398d477001db2c3f2ac92e12ea
23 Source1: http://caml.inria.fr/distrib/ocaml-%{sver}/%{name}-%{sver}-refman-html.tar.gz
24 # Source1-md5: 1bda3d0a46328a985c817d551423e2c6
25 Source3: http://caml.inria.fr/distrib/ocaml-%{sver}/%{name}-%{sver}-refman.info.tar.gz
26 # Source3-md5: c808dbbe35a6cc5d14da6c3b2f175d2c
27 Source4: https://github.com/mmottl/pure-fun/archive/v1.0.13/pure-fun-1.0.13.tar.gz
28 # Source4-md5: 0a6ff033df78d0880fe4883ace025ebe
30 Source5: http://www.ocaml.info/ocaml_sources/ds-contrib.tar.gz
31 # Source5-md5: 77fa1da7375dea1393cc0b6cd802d7e1
32 URL: https://www.ocaml.org/
33 Requires: %{name}-runtime = %{epoch}:%{version}-%{release}
34 Provides: ocaml-bytes-devel
35 Provides: ocaml-ocamldoc
36 Obsoletes: ocaml-bytes-devel
37 Obsoletes: ocaml-doc-ps < 4.12
38 Obsoletes: ocaml-emacs < 4.12
39 Obsoletes: ocaml-ocamldoc
40 Obsoletes: ocaml-x11graphics < 4.12
41 Obsoletes: ocaml-x11graphics-devel < 4.12
42 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
44 %define specflags -fno-strict-aliasing
47 Objective Caml is a high-level, strongly-typed, functional and
48 object-oriented programming language from the ML family of languages.
50 This package comprises two batch compilers (a fast bytecode compiler
51 and an optimizing native-code compiler), an interactive toplevel
52 system, Lex&Yacc tools, a replay debugger, and a comprehensive
55 %description -l pl.UTF-8
56 OCaml (Objective Caml) jest funkcyjnym, obiektowo zorientowanym
57 językiem wysokiego poziomu z silnym typowaniem. Należy do rodziny
60 Ten pakiet zawiera dwa kompilatory (szybki kompilator do bajtkodu oraz
61 optymalizujący kompilator do kodu natywnego), interaktywne środowisko
62 pracy, narzędzia do tworzenia analizatorów leksykalnych oraz
63 składniowych (ocamllex, ocamlyacc), odpluskwiacz (ocamldebug) i
67 Summary: Runtime system for OCaml
68 Summary(pl.UTF-8): Środowisko uruchomieniowe dla OCamla
72 This package contains binaries needed to run bytecode OCaml programs:
73 ocamlrun bytecode interpreter, and basic dynamic link libraries.
75 %description runtime -l pl.UTF-8
76 Pakiet ten zawiera binaria potrzebne do uruchamiania programów w
77 OCamlu skompilowanych do bajtkodu: interpreter bajtkodu (ocamlrun)
78 oraz podstawowe biblioteki linkowane dynamicznie.
81 Summary: Sources of OCaml standard library
82 Summary(pl.UTF-8): Źródła biblioteki standardowej OCamla
83 Group: Development/Languages
84 Requires: %{name} = %{epoch}:%{version}-%{release}
86 %description lib-source
87 This sources come helpful during debugging of user programs with
90 %description lib-source -l pl.UTF-8
91 Źródła te są przydatne przy odpluskwianiu programów użytkownika z
95 Summary: HTML documentation for OCaml
96 Summary(pl.UTF-8): Dokumentacja dla OCamla w formacie HTML
97 Group: Development/Tools
100 HTML documentation for OCaml.
102 %description doc-html -l pl.UTF-8
103 Dokumentacja dla OCamla w formacie HTML.
106 Summary: Info documentation for OCaml
107 Summary(pl.UTF-8): Dokumentacja info dla OCamla
108 Group: Development/Tools
110 %description doc-info
111 Info documentation for OCaml.
113 %description doc-info -l pl.UTF-8
114 Dokumentacja info dla OCamla.
116 %package compiler-objects
117 Summary: Compiled parts of OCaml compiler
118 Summary(pl.UTF-8): Skompilowane części kompilatora OCamla
119 Group: Development/Languages
120 Requires: %{name} = %{epoch}:%{version}-%{release}
121 Provides: ocaml-devel
122 Obsoletes: ocaml-devel
124 %description compiler-objects
125 This package contains *.cmi and *.cmo files being parts of OCaml
126 compiler. They are needed to compile some programs.
128 %description compiler-objects -l pl.UTF-8
129 Pakiet ten zawiera pliki *.cmi oraz *.cmo będące częściami kompilatora
130 OCamla. Są one wymagane do kompilacji niektórych programów.
132 %package ocamldoc-devel
133 Summary: Files needed to develop programs using ocamldoc
134 Summary(pl.UTF-8): Pliki potrzebne do tworzenia programów używających ocamldoc
135 Group: Development/Languages
136 Requires: %{name} = %{epoch}:%{version}-%{release}
138 %description ocamldoc-devel
139 You need this package if you are going to write ocamldoc front end or
142 %description ocamldoc-devel -l pl.UTF-8
143 Będziesz potrzebować tego pakietu, jeśli zamierzasz pisać front end
144 dla ocamldoc lub coś podobnego.
146 # maybe we'll want to add some more stuff here?
148 Summary: Example source code for OCaml
149 Summary(pl.UTF-8): Przykładowe kody źródłowe w OCamlu
150 Group: Development/Languages
151 Requires: %{name} = %{epoch}:%{version}-%{release}
153 %description examples
154 This packages contains sources for Okasaki's Purely Functional
155 Datastructures in OCaml, along with some contributions.
157 %description examples -l pl.UTF-8
158 Pakiet ten zawiera źródła Czysto Funkcyjnych Struktur Danych autorstwa
159 Okasaki'ego, napisane w OCamlu, wraz z dodatkami.
164 tar xzf %{SOURCE4} -C examples
165 tar xzf %{SOURCE5} -C examples
166 # order mess with docs somewhat
168 mv htmlman docs/html/ocaml
174 --libdir=%{_libdir}/ocaml \
175 %{!?with_ocaml_opt:--disable-native-compiler}
179 %if %{with ocaml_opt}
185 rm -rf $RPM_BUILD_ROOT
186 install -d $RPM_BUILD_ROOT{%{_includedir},%{_infodir},%{_examplesdir}/%{name}-%{version}}
187 install -d $RPM_BUILD_ROOT%{_libdir}/%{name}/site-lib
190 DESTDIR=$RPM_BUILD_ROOT
192 cat > $RPM_BUILD_ROOT%{_libdir}/%{name}/ld.conf <<EOF
193 %{_libdir}/%{name}/stublibs
197 # move includes to the proper place
198 %{__mv} $RPM_BUILD_ROOT%{_libdir}/ocaml/caml $RPM_BUILD_ROOT%{_includedir}/caml
199 # but leave compatibility symlink
200 ln -s ../../include/caml $RPM_BUILD_ROOT%{_libdir}/ocaml/caml
202 # compiled sources of compiler, needed by some programs
203 for f in %{?with_ocaml_opt:asmcomp} bytecomp parsing typing utils ; do
204 install -d $RPM_BUILD_ROOT%{_libdir}/%{name}/compiler/$f
205 cp $f/*.{cmi,cmo} $RPM_BUILD_ROOT%{_libdir}/%{name}/compiler/$f
206 %{?with_ocaml_opt:cp $f/*.{cmx,o} $RPM_BUILD_ROOT%{_libdir}/%{name}/compiler/$f}
209 cp -r examples/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
210 ln -sf %{_libdir}/%{name}/{scrape,add}labels $RPM_BUILD_ROOT%{_bindir}
213 %{__rm} -r $RPM_BUILD_ROOT%{_mandir}/man3
216 cp -f infoman/*.gz $RPM_BUILD_ROOT%{_infodir}
219 rm -rf $RPM_BUILD_ROOT
221 %post doc-info -p /sbin/postshell
222 -/usr/sbin/fix-info-dir -c %{_infodir}
224 %postun doc-info -p /sbin/postshell
225 -/usr/sbin/fix-info-dir -c %{_infodir}
228 %defattr(644,root,root,755)
229 %doc Changes LICENSE README.adoc
230 %attr(755,root,root) %{_bindir}/addlabels
231 %attr(755,root,root) %{_bindir}/ocaml
232 %attr(755,root,root) %{_bindir}/ocamlc
233 %attr(755,root,root) %{_bindir}/ocamlc.byte
234 %{?with_ocaml_opt:%attr(755,root,root) %{_bindir}/ocamlc.opt}
235 %attr(755,root,root) %{_bindir}/ocamlcmt
236 %attr(755,root,root) %{_bindir}/ocamlcp
237 %attr(755,root,root) %{_bindir}/ocamlcp.byte
238 %{?with_ocaml_opt:%attr(755,root,root) %{_bindir}/ocamlcp.opt}
239 %attr(755,root,root) %{_bindir}/ocamldebug
240 %attr(755,root,root) %{_bindir}/ocamldep
241 %attr(755,root,root) %{_bindir}/ocamldep.byte
242 %{?with_ocaml_opt:%attr(755,root,root) %{_bindir}/ocamldep.opt}
243 %attr(755,root,root) %{_bindir}/ocamldoc
244 %{?with_ocaml_opt:%attr(755,root,root) %{_bindir}/ocamldoc.opt}
245 %attr(755,root,root) %{_bindir}/ocamllex
246 %attr(755,root,root) %{_bindir}/ocamllex.byte
247 %{?with_ocaml_opt:%attr(755,root,root) %{_bindir}/ocamllex.opt}
248 %attr(755,root,root) %{_bindir}/ocamlmklib
249 %attr(755,root,root) %{_bindir}/ocamlmklib.byte
250 %{?with_ocaml_opt:%attr(755,root,root) %{_bindir}/ocamlmklib.opt}
251 %attr(755,root,root) %{_bindir}/ocamlmktop
252 %attr(755,root,root) %{_bindir}/ocamlmktop.byte
253 %{?with_ocaml_opt:%attr(755,root,root) %{_bindir}/ocamlmktop.opt}
254 %attr(755,root,root) %{_bindir}/ocamlobjinfo
255 %attr(755,root,root) %{_bindir}/ocamlobjinfo.byte
256 %{?with_ocaml_opt:%attr(755,root,root) %{_bindir}/ocamlobjinfo.opt}
257 %{?with_ocaml_opt:%attr(755,root,root) %{_bindir}/ocamlopt}
258 %{?with_ocaml_opt:%attr(755,root,root) %{_bindir}/ocamlopt.byte}
259 %{?with_ocaml_opt:%attr(755,root,root) %{_bindir}/ocamlopt.opt}
260 %attr(755,root,root) %{_bindir}/ocamloptp
261 %attr(755,root,root) %{_bindir}/ocamloptp.byte
262 %{?with_ocaml_opt:%attr(755,root,root) %{_bindir}/ocamloptp.opt}
263 %attr(755,root,root) %{_bindir}/ocamlprof
264 %attr(755,root,root) %{_bindir}/ocamlprof.byte
265 %{?with_ocaml_opt:%attr(755,root,root) %{_bindir}/ocamlprof.opt}
266 %attr(755,root,root) %{_bindir}/ocamlyacc
267 %attr(755,root,root) %{_bindir}/scrapelabels
269 %{_libdir}/%{name}/caml
270 %{_libdir}/%{name}/compiler-libs
271 %{_libdir}/%{name}/threads
272 %{_libdir}/%{name}/*.a
273 %{?with_ocaml_opt:%{_libdir}/%{name}/*.o}
274 %{_libdir}/%{name}/*.cm*
275 %{_libdir}/%{name}/Makefile.config
276 %{_libdir}/%{name}/ld.conf
277 %{_libdir}/%{name}/camlheader
278 %{_libdir}/%{name}/camlheaderd
279 %{_libdir}/%{name}/camlheaderi
280 %{_libdir}/%{name}/camlheader_ur
281 %dir %{_libdir}/%{name}/ocamldoc
282 %{_libdir}/%{name}/ocamldoc/*.hva
283 %attr(755,root,root) %{_libdir}/%{name}/expunge
284 %attr(755,root,root) %{_libdir}/%{name}/extract_crc
285 %{_mandir}/man1/ocaml*
286 %exclude %{_mandir}/man1/ocamlrun.1*
289 %defattr(644,root,root,755)
290 %attr(755,root,root) %{_bindir}/ocamlrun
291 %attr(755,root,root) %{_bindir}/ocamlrund
292 %attr(755,root,root) %{_bindir}/ocamlruni
293 %dir %{_libdir}/%{name}
294 %dir %{_libdir}/%{name}/site-lib
295 %dir %{_libdir}/%{name}/stublibs
296 %{_libdir}/%{name}/eventlog_metadata
297 %attr(755,root,root) %{_libdir}/%{name}/stublibs/dll*.so
298 %{?with_ocaml_opt:%attr(755,root,root) %{_libdir}/%{name}/libasmrun_shared.so}
299 %attr(755,root,root) %{_libdir}/%{name}/libcamlrun_shared.so
300 %{_mandir}/man1/ocamlrun.1*
303 %defattr(644,root,root,755)
304 %{_libdir}/%{name}/*.ml
305 %{_libdir}/%{name}/*.mli
306 %{_libdir}/%{name}/*/*.mli
309 %defattr(644,root,root,755)
310 %doc docs/html/ocaml/*
313 %defattr(644,root,root,755)
314 %{_infodir}/ocaml.info*
316 %files compiler-objects
317 %defattr(644,root,root,755)
318 %{_libdir}/%{name}/compiler
320 %files ocamldoc-devel
321 %defattr(644,root,root,755)
322 %{_libdir}/%{name}/ocamldoc/*.cm*
323 %{?with_ocaml_opt:%{_libdir}/%{name}/ocamldoc/*.a}
326 %defattr(644,root,root,755)
327 %{_examplesdir}/%{name}-%{version}