]> git.pld-linux.org Git - packages/ocaml.git/blame_incremental - ocaml.spec
Release 7 (by relup.sh)
[packages/ocaml.git] / ocaml.spec
... / ...
CommitLineData
1#
2# Conditional build:
3%bcond_without ocaml_opt # native, optimized compiler
4
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
9%endif
10
11%define sver 4.12
12
13Summary: The Objective Caml compiler and programming environment
14Summary(pl.UTF-8): Kompilator OCamla (Objective Caml) oraz środowisko programistyczne
15Name: ocaml
16Version: 4.12.0
17Release: 7
18Epoch: 1
19License: QPL v1.0 with linking exception (compiler), LGPL v2 with linking exception (library)
20Group: Development/Languages
21Source0: http://caml.inria.fr/distrib/ocaml-%{sver}/%{name}-%{version}.tar.xz
22# Source0-md5: 7343cd398d477001db2c3f2ac92e12ea
23Source1: http://caml.inria.fr/distrib/ocaml-%{sver}/%{name}-%{sver}-refman-html.tar.gz
24# Source1-md5: 1bda3d0a46328a985c817d551423e2c6
25Source3: http://caml.inria.fr/distrib/ocaml-%{sver}/%{name}-%{sver}-refman.info.tar.gz
26# Source3-md5: c808dbbe35a6cc5d14da6c3b2f175d2c
27Source4: https://github.com/mmottl/pure-fun/archive/v1.0.13/pure-fun-1.0.13.tar.gz
28# Source4-md5: 0a6ff033df78d0880fe4883ace025ebe
29# note: dead URL
30Source5: http://www.ocaml.info/ocaml_sources/ds-contrib.tar.gz
31# Source5-md5: 77fa1da7375dea1393cc0b6cd802d7e1
32Patch0: %{name}-10266.patch
33Patch1: %{name}-info.patch
34URL: https://www.ocaml.org/
35Requires: %{name}-runtime = %{epoch}:%{version}-%{release}
36Provides: ocaml-bytes-devel
37Provides: ocaml-ocamldoc
38Obsoletes: ocaml-bytes-devel < 1.4
39Obsoletes: ocaml-doc-ps < 1:4.12
40Obsoletes: ocaml-emacs < 1:4.12
41Obsoletes: ocaml-ocamldoc <= pre4
42BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
43
44%define specflags -fno-strict-aliasing
45
46%if %{without ocaml_opt}
47%define _noautoreq Backend_intf Inlining_decision_intf Simplify_boxed_integer_ops_intf
48%endif
49
50%description
51Objective Caml is a high-level, strongly-typed, functional and
52object-oriented programming language from the ML family of languages.
53
54This package comprises two batch compilers (a fast bytecode compiler
55and an optimizing native-code compiler), an interactive toplevel
56system, Lex&Yacc tools, a replay debugger, and a comprehensive
57library.
58
59%description -l pl.UTF-8
60OCaml (Objective Caml) jest funkcyjnym, obiektowo zorientowanym
61językiem wysokiego poziomu z silnym typowaniem. Należy do rodziny
62języków ML.
63
64Ten pakiet zawiera dwa kompilatory (szybki kompilator do bajtkodu oraz
65optymalizujący kompilator do kodu natywnego), interaktywne środowisko
66pracy, narzędzia do tworzenia analizatorów leksykalnych oraz
67składniowych (ocamllex, ocamlyacc), odpluskwiacz (ocamldebug) i
68biblioteki.
69
70%package runtime
71Summary: Runtime system for OCaml
72Summary(pl.UTF-8): Środowisko uruchomieniowe dla OCamla
73Group: Libraries
74
75%description runtime
76This package contains binaries needed to run bytecode OCaml programs:
77ocamlrun bytecode interpreter, and basic dynamic link libraries.
78
79%description runtime -l pl.UTF-8
80Pakiet ten zawiera binaria potrzebne do uruchamiania programów w
81OCamlu skompilowanych do bajtkodu: interpreter bajtkodu (ocamlrun)
82oraz podstawowe biblioteki linkowane dynamicznie.
83
84%package lib-source
85Summary: Sources of OCaml standard library
86Summary(pl.UTF-8): Źródła biblioteki standardowej OCamla
87Group: Development/Languages
88Requires: %{name} = %{epoch}:%{version}-%{release}
89
90%description lib-source
91This sources come helpful during debugging of user programs with
92ocamldebug.
93
94%description lib-source -l pl.UTF-8
95Źródła te są przydatne przy odpluskwianiu programów użytkownika z
96użyciem ocamldebug.
97
98%package doc-html
99Summary: HTML documentation for OCaml
100Summary(pl.UTF-8): Dokumentacja dla OCamla w formacie HTML
101Group: Development/Tools
102
103%description doc-html
104HTML documentation for OCaml.
105
106%description doc-html -l pl.UTF-8
107Dokumentacja dla OCamla w formacie HTML.
108
109%package doc-info
110Summary: Info documentation for OCaml
111Summary(pl.UTF-8): Dokumentacja info dla OCamla
112Group: Development/Tools
113
114%description doc-info
115Info documentation for OCaml.
116
117%description doc-info -l pl.UTF-8
118Dokumentacja info dla OCamla.
119
120%package compiler-objects
121Summary: Compiled parts of OCaml compiler
122Summary(pl.UTF-8): Skompilowane części kompilatora OCamla
123Group: Development/Languages
124Requires: %{name} = %{epoch}:%{version}-%{release}
125Provides: ocaml-devel
126Obsoletes: ocaml-devel < 3.06-3
127
128%description compiler-objects
129This package contains *.cmi and *.cmo files being parts of OCaml
130compiler. They are needed to compile some programs.
131
132%description compiler-objects -l pl.UTF-8
133Pakiet ten zawiera pliki *.cmi oraz *.cmo będące częściami kompilatora
134OCamla. Są one wymagane do kompilacji niektórych programów.
135
136%package ocamldoc-devel
137Summary: Files needed to develop programs using ocamldoc
138Summary(pl.UTF-8): Pliki potrzebne do tworzenia programów używających ocamldoc
139Group: Development/Languages
140Requires: %{name} = %{epoch}:%{version}-%{release}
141
142%description ocamldoc-devel
143You need this package if you are going to write ocamldoc front end or
144something like that.
145
146%description ocamldoc-devel -l pl.UTF-8
147Będziesz potrzebować tego pakietu, jeśli zamierzasz pisać front end
148dla ocamldoc lub coś podobnego.
149
150# maybe we'll want to add some more stuff here?
151%package examples
152Summary: Example source code for OCaml
153Summary(pl.UTF-8): Przykładowe kody źródłowe w OCamlu
154Group: Development/Languages
155Requires: %{name} = %{epoch}:%{version}-%{release}
156
157%description examples
158This packages contains sources for Okasaki's Purely Functional
159Datastructures in OCaml, along with some contributions.
160
161%description examples -l pl.UTF-8
162Pakiet ten zawiera źródła Czysto Funkcyjnych Struktur Danych autorstwa
163Okasaki'ego, napisane w OCamlu, wraz z dodatkami.
164
165%prep
166%setup -q -a1 -a3
167%patch0 -p1
168gunzip infoman/ocaml.info.gz
169%patch1 -p1
170
171mkdir examples
172tar xzf %{SOURCE4} -C examples
173tar xzf %{SOURCE5} -C examples
174# order mess with docs somewhat
175mkdir -p docs/html
176%{__mv} htmlman docs/html/ocaml
177
178%build
179%configure \
180 AS=%{__as} \
181 ASPP="%{__cc} -c" \
182 --libdir=%{_libdir}/ocaml \
183 %{!?with_ocaml_opt:--disable-native-compiler}
184
185%{__make} world
186%{__make} bootstrap
187%if %{with ocaml_opt}
188%{__make} opt
189%{__make} opt.opt
190%endif
191
192%install
193rm -rf $RPM_BUILD_ROOT
194install -d $RPM_BUILD_ROOT{%{_includedir},%{_infodir},%{_examplesdir}/%{name}-%{version}}
195
196%{__make} install \
197 DESTDIR=$RPM_BUILD_ROOT
198
199cat > $RPM_BUILD_ROOT%{_libdir}/%{name}/ld.conf <<EOF
200%{_libdir}/%{name}/stublibs
201%{_libdir}/%{name}
202EOF
203
204# move includes to the proper place
205%{__mv} $RPM_BUILD_ROOT%{_libdir}/ocaml/caml $RPM_BUILD_ROOT%{_includedir}/caml
206# but leave compatibility symlink
207ln -s ../../include/caml $RPM_BUILD_ROOT%{_libdir}/ocaml/caml
208
209# compiled sources of compiler, needed by some programs
210for f in %{?with_ocaml_opt:asmcomp} bytecomp parsing typing utils ; do
211 install -d $RPM_BUILD_ROOT%{_libdir}/%{name}/compiler/$f
212 cp $f/*.{cmi,cmo} $RPM_BUILD_ROOT%{_libdir}/%{name}/compiler/$f
213 %{?with_ocaml_opt:cp $f/*.{cmx,o} $RPM_BUILD_ROOT%{_libdir}/%{name}/compiler/$f}
214done
215
216cp -r examples/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
217ln -sf %{_libdir}/%{name}/{scrape,add}labels $RPM_BUILD_ROOT%{_bindir}
218
219# shutup checkfiles
220%{__rm} -r $RPM_BUILD_ROOT%{_mandir}/man3
221
222# install info pages
223cp -p infoman/ocaml.info $RPM_BUILD_ROOT%{_infodir}
224cp -p infoman/ocaml.info.body-*.gz $RPM_BUILD_ROOT%{_infodir}
225
226%clean
227rm -rf $RPM_BUILD_ROOT
228
229%post doc-info -p /sbin/postshell
230-/usr/sbin/fix-info-dir -c %{_infodir}
231
232%postun doc-info -p /sbin/postshell
233-/usr/sbin/fix-info-dir -c %{_infodir}
234
235%files
236%defattr(644,root,root,755)
237%doc Changes LICENSE README.adoc
238%attr(755,root,root) %{_bindir}/addlabels
239%attr(755,root,root) %{_bindir}/ocaml
240%attr(755,root,root) %{_bindir}/ocamlc
241%attr(755,root,root) %{_bindir}/ocamlc.byte
242%{?with_ocaml_opt:%attr(755,root,root) %{_bindir}/ocamlc.opt}
243%attr(755,root,root) %{_bindir}/ocamlcmt
244%attr(755,root,root) %{_bindir}/ocamlcp
245%attr(755,root,root) %{_bindir}/ocamlcp.byte
246%{?with_ocaml_opt:%attr(755,root,root) %{_bindir}/ocamlcp.opt}
247%attr(755,root,root) %{_bindir}/ocamldebug
248%attr(755,root,root) %{_bindir}/ocamldep
249%attr(755,root,root) %{_bindir}/ocamldep.byte
250%{?with_ocaml_opt:%attr(755,root,root) %{_bindir}/ocamldep.opt}
251%attr(755,root,root) %{_bindir}/ocamldoc
252%{?with_ocaml_opt:%attr(755,root,root) %{_bindir}/ocamldoc.opt}
253%attr(755,root,root) %{_bindir}/ocamllex
254%attr(755,root,root) %{_bindir}/ocamllex.byte
255%{?with_ocaml_opt:%attr(755,root,root) %{_bindir}/ocamllex.opt}
256%attr(755,root,root) %{_bindir}/ocamlmklib
257%attr(755,root,root) %{_bindir}/ocamlmklib.byte
258%{?with_ocaml_opt:%attr(755,root,root) %{_bindir}/ocamlmklib.opt}
259%attr(755,root,root) %{_bindir}/ocamlmktop
260%attr(755,root,root) %{_bindir}/ocamlmktop.byte
261%{?with_ocaml_opt:%attr(755,root,root) %{_bindir}/ocamlmktop.opt}
262%attr(755,root,root) %{_bindir}/ocamlobjinfo
263%attr(755,root,root) %{_bindir}/ocamlobjinfo.byte
264%{?with_ocaml_opt:%attr(755,root,root) %{_bindir}/ocamlobjinfo.opt}
265%{?with_ocaml_opt:%attr(755,root,root) %{_bindir}/ocamlopt}
266%{?with_ocaml_opt:%attr(755,root,root) %{_bindir}/ocamlopt.byte}
267%{?with_ocaml_opt:%attr(755,root,root) %{_bindir}/ocamlopt.opt}
268%attr(755,root,root) %{_bindir}/ocamloptp
269%attr(755,root,root) %{_bindir}/ocamloptp.byte
270%{?with_ocaml_opt:%attr(755,root,root) %{_bindir}/ocamloptp.opt}
271%attr(755,root,root) %{_bindir}/ocamlprof
272%attr(755,root,root) %{_bindir}/ocamlprof.byte
273%{?with_ocaml_opt:%attr(755,root,root) %{_bindir}/ocamlprof.opt}
274%attr(755,root,root) %{_bindir}/ocamlyacc
275%attr(755,root,root) %{_bindir}/scrapelabels
276%{_includedir}/caml
277%{_libdir}/%{name}/caml
278%dir %{_libdir}/%{name}/compiler-libs
279%{_libdir}/%{name}/compiler-libs/*.cm*
280%{?with_ocaml_opt:%{_libdir}/%{name}/compiler-libs/ocaml*.a}
281%{?with_ocaml_opt:%{_libdir}/%{name}/compiler-libs/*.o}
282%dir %{_libdir}/%{name}/ocamldoc
283%{_libdir}/%{name}/ocamldoc/*.hva
284%dir %{_libdir}/%{name}/threads
285%{_libdir}/%{name}/threads/*.cm*
286%{?with_ocaml_opt:%{_libdir}/%{name}/threads/threads.a}
287%{_libdir}/%{name}/*.a
288%{?with_ocaml_opt:%{_libdir}/%{name}/*.o}
289%{_libdir}/%{name}/*.cm*
290%{_libdir}/%{name}/Makefile.config
291%{_libdir}/%{name}/ld.conf
292%{_libdir}/%{name}/camlheader
293%{_libdir}/%{name}/camlheaderd
294%{_libdir}/%{name}/camlheaderi
295%{_libdir}/%{name}/camlheader_ur
296%attr(755,root,root) %{_libdir}/%{name}/expunge
297%attr(755,root,root) %{_libdir}/%{name}/extract_crc
298%{_mandir}/man1/ocaml.1*
299%{_mandir}/man1/ocamlc.1*
300%{?with_ocaml_opt:%{_mandir}/man1/ocamlc.opt.1*}
301%{_mandir}/man1/ocamlcp.1*
302%{_mandir}/man1/ocamldebug.1*
303%{_mandir}/man1/ocamldep.1*
304%{_mandir}/man1/ocamldoc.1*
305%{_mandir}/man1/ocamllex.1*
306%{_mandir}/man1/ocamlmktop.1*
307%{?with_ocaml_opt:%{_mandir}/man1/ocamlopt.1*}
308%{?with_ocaml_opt:%{_mandir}/man1/ocamlopt.opt.1*}
309%{_mandir}/man1/ocamloptp.1*
310%{_mandir}/man1/ocamlprof.1*
311%{_mandir}/man1/ocamlyacc.1*
312
313%files runtime
314%defattr(644,root,root,755)
315%attr(755,root,root) %{_bindir}/ocamlrun
316%attr(755,root,root) %{_bindir}/ocamlrund
317%attr(755,root,root) %{_bindir}/ocamlruni
318%dir %{_libdir}/%{name}
319%{_libdir}/%{name}/eventlog_metadata
320%{?with_ocaml_opt:%attr(755,root,root) %{_libdir}/%{name}/libasmrun_shared.so}
321%dir %{_libdir}/%{name}/stublibs
322%attr(755,root,root) %{_libdir}/%{name}/stublibs/dllcamlstr.so
323%attr(755,root,root) %{_libdir}/%{name}/stublibs/dllthreads.so
324%attr(755,root,root) %{_libdir}/%{name}/stublibs/dllunix.so
325%attr(755,root,root) %{_libdir}/%{name}/libcamlrun_shared.so
326%{_mandir}/man1/ocamlrun.1*
327
328%files lib-source
329%defattr(644,root,root,755)
330%{_libdir}/%{name}/*.ml
331%{_libdir}/%{name}/*.mli
332%{_libdir}/%{name}/compiler-libs/*.mli
333%{_libdir}/%{name}/ocamldoc/*.mli
334%{_libdir}/%{name}/threads/*.mli
335
336%files doc-html
337%defattr(644,root,root,755)
338%doc docs/html/ocaml/*
339
340%files doc-info
341%defattr(644,root,root,755)
342%{_infodir}/ocaml.info*
343
344%files compiler-objects
345%defattr(644,root,root,755)
346%{_libdir}/%{name}/compiler
347
348%files ocamldoc-devel
349%defattr(644,root,root,755)
350%{_libdir}/%{name}/ocamldoc/*.cm*
351%{?with_ocaml_opt:%{_libdir}/%{name}/ocamldoc/*.a}
352
353%files examples
354%defattr(644,root,root,755)
355%{_examplesdir}/%{name}-%{version}
This page took 0.080348 seconds and 5 git commands to generate.