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