]> git.pld-linux.org Git - packages/ocaml.git/blame - ocaml.spec
- updated to 4.02.1 (ocaml 3.x left on ocaml-3 branch)
[packages/ocaml.git] / ocaml.spec
CommitLineData
3105856a
JB
1#
2# Conditional build:
b552f088
JB
3%bcond_without emacs # without emacs subpackage
4%bcond_without x # without X11 support
4797676b 5
e091ab7c 6%define sver 4.02
db184753 7
65fbc6c7 8Summary: The Objective Caml compiler and programming environment
6e95eae7 9Summary(pl.UTF-8): Kompilator OCamla (Objective Caml) oraz środowisko programistyczne
65fbc6c7 10Name: ocaml
e091ab7c
JB
11Version: 4.02.1
12Release: 1
4694cc06 13Epoch: 1
e091ab7c 14License: QPL v1.0 with linking exception (compiler), LGPL v2 with linking exception (library)
65fbc6c7 15Group: Development/Languages
e091ab7c
JB
16Source0: http://caml.inria.fr/distrib/%{name}-%{sver}/%{name}-%{version}.tar.xz
17# Source0-md5: d74ac1b1179af362491e14349dd1958b
18Source1: http://caml.inria.fr/distrib/%{name}-%{sver}/%{name}-%{sver}-refman-html.tar.gz
19# Source1-md5: 915a1949f7af7186e16354e9682dc1e5
307e1de8 20Source2: http://caml.inria.fr/distrib/%{name}-%{sver}/%{name}-%{sver}-refman.ps.gz
e091ab7c 21# Source2-md5: e85016fa23b6525d1d10da06010fd90a
9de25172 22Source3: http://caml.inria.fr/distrib/%{name}-%{sver}/%{name}-%{sver}-refman.info.tar.gz
e091ab7c
JB
23# Source3-md5: 265b7db123e925e8b7b70ca2266b4206
24Source4: https://github.com/mmottl/pure-fun/archive/v1.0.13/pure-fun-1.0.13.tar.gz
25# Source4-md5: 0a6ff033df78d0880fe4883ace025ebe
26# note: dead URL
27Source5: http://www.ocaml.info/ocaml_sources/ds-contrib.tar.gz
28# Source5-md5: 77fa1da7375dea1393cc0b6cd802d7e1
9de25172
JB
29Patch1: %{name}-CFLAGS.patch
30Patch2: %{name}-as_needed.patch
8b0de54e 31URL: http://caml.inria.fr/
3232e3f5 32%{?with_x:BuildRequires: xorg-lib-libX11-devel}
f4710e3c 33%if %{with emacs}
69735a4b 34BuildRequires: sed >= 4.0
3889f6d2
JR
35BuildRequires: emacs
36BuildRequires: emacs-common
f4710e3c 37%endif
4e386054 38Requires: %{name}-runtime = %{epoch}:%{version}-%{release}
5a1e52bf
PG
39Provides: ocaml-ocamldoc
40Obsoletes: ocaml-ocamldoc
151fbae6 41BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
65fbc6c7 42
0053154a
PS
43%define specflags -fno-strict-aliasing
44
65fbc6c7
AM
45%description
46Objective Caml is a high-level, strongly-typed, functional and
47object-oriented programming language from the ML family of languages.
48
49This package comprises two batch compilers (a fast bytecode compiler
5ca6b9fb
MP
50and an optimizing native-code compiler), an interactive toplevel
51system, Lex&Yacc tools, a replay debugger, and a comprehensive
52library.
65fbc6c7 53
3f556f71 54%description -l pl.UTF-8
e091ab7c
JB
55OCaml (Objective Caml) jest funkcyjnym, obiektowo zorientowanym
56językiem wysokiego poziomu z silnym typowaniem. Należy do rodziny
57języków ML.
65fbc6c7 58
8151bf1e 59Ten pakiet zawiera dwa kompilatory (szybki kompilator do bajtkodu
e091ab7c
JB
60oraz optymalizujący kompilator do kodu natywnego), interaktywne
61środowisko pracy, narzędzia do tworzenia analizatorów leksykalnych
62oraz składniowych (ocamllex, ocamlyacc), odpluskwiacz (ocamldebug) i
63biblioteki.
65fbc6c7 64
79502218
JB
65%package runtime
66Summary: Runtime system for OCaml
6e95eae7 67Summary(pl.UTF-8): Środowisko uruchomieniowe dla OCamla
79502218
JB
68Group: Libraries
69
70%description runtime
71This package contains binaries needed to run bytecode OCaml programs:
72ocamlrun bytecode interpreter, and basic dynamic link libraries.
73
3f556f71
JR
74%description runtime -l pl.UTF-8
75Pakiet ten zawiera binaria potrzebne do uruchamiania programów w
e091ab7c
JB
76OCamlu skompilowanych do bajtkodu: interpreter bajtkodu (ocamlrun)
77oraz podstawowe biblioteki linkowane dynamicznie.
79502218
JB
78
79%package lib-source
80Summary: Sources of OCaml standard library
6e95eae7 81Summary(pl.UTF-8): Źródła biblioteki standardowej OCamla
79502218
JB
82Group: Development/Languages
83Requires: %{name} = %{epoch}:%{version}-%{release}
84
85%description lib-source
e091ab7c
JB
86This sources come helpful during debugging of user programs with
87ocamldebug.
79502218 88
3f556f71
JR
89%description lib-source -l pl.UTF-8
90Źródła te są przydatne przy odpluskwianiu programów użytkownika
91z użyciem ocamldebug.
79502218 92
69735a4b 93%package doc-html
94Summary: HTML documentation for OCaml
6e95eae7 95Summary(pl.UTF-8): Dokumentacja dla OCamla w formacie HTML
69735a4b 96Group: Development/Tools
97
98%description doc-html
99HTML documentation for OCaml.
100
3f556f71 101%description doc-html -l pl.UTF-8
69735a4b 102Dokumentacja dla OCamla w formacie HTML.
103
13b509d1 104%package doc-ps
4797676b 105Summary: PostScript documentation for OCaml
6e95eae7 106Summary(pl.UTF-8): Dokumentacja dla OCamla w formacie PostScript
4797676b 107Group: Development/Tools
4797676b 108
13b509d1 109%description doc-ps
69735a4b 110PostScript documentation for OCaml.
4797676b 111
3f556f71 112%description doc-ps -l pl.UTF-8
69735a4b 113Dokumentacja dla OCamla w formacie PostScript.
114
115%package doc-info
116Summary: Info documentation for OCaml
6e95eae7 117Summary(pl.UTF-8): Dokumentacja info dla OCamla
69735a4b 118Group: Development/Tools
119
120%description doc-info
121Info documentation for OCaml.
122
3f556f71 123%description doc-info -l pl.UTF-8
69735a4b 124Dokumentacja info dla OCamla.
4797676b 125
65fbc6c7 126%package emacs
c4a5fbda 127Summary: Emacs mode for OCaml
6e95eae7 128Summary(pl.UTF-8): Tryb OCamla dla Emacsa
65fbc6c7 129Group: Development/Tools
4694cc06 130Requires: %{name} = %{epoch}:%{version}-%{release}
65fbc6c7
AM
131
132%description emacs
981ff793 133Emacs mode files for Objective Caml language.
65fbc6c7 134
3f556f71 135%description emacs -l pl.UTF-8
8151bf1e 136Pliki trybu OCamla dla Emacsa.
56260732 137
79502218
JB
138%package x11graphics
139Summary: X11 graphic output for OCaml
6e95eae7 140Summary(pl.UTF-8): Dostęp do X11 dla OCamla
79502218 141Group: Development/Libraries
4694cc06 142Requires: %{name} = %{epoch}:%{version}-%{release}
56260732 143
79502218
JB
144%description x11graphics
145x11graphics module gives OCaml program access to drawing in X11
146windows. This package contains files needed to run bytecode OCaml
147programs using x11graphics.
56260732 148
3f556f71
JR
149%description x11graphics -l pl.UTF-8
150Moduł x11graphics daje programom napisanym w OCamlu możliwość
79502218 151korzystania z interfejsu graficznego X11. Pakiet ten zawiera binaria
3f556f71 152potrzebne do uruchamiania programów używających x11graphics.
981ff793
MM
153
154%package x11graphics-devel
155Summary: X11 graphic output for OCaml
6e95eae7 156Summary(pl.UTF-8): Dostęp do X11 dla OCamla
981ff793 157Group: Development/Libraries
4694cc06 158Requires: %{name}-x11graphics = %{epoch}:%{version}-%{release}
981ff793
MM
159
160%description x11graphics-devel
161x11graphics module gives OCaml program access to drawing in X11
162windows. This package contains files needed to develop OCaml programs
163using x11graphics.
164
3f556f71
JR
165%description x11graphics-devel -l pl.UTF-8
166Moduł x11graphics daje programom napisanym w OCamlu możliwość
8151bf1e 167korzystania z interfejsu graficznego X11. Pakiet ten zawiera pliki
3f556f71 168niezbędne do tworzenia programów używających x11graphics.
56260732 169
6dfc0e1a 170%package compiler-objects
981ff793 171Summary: Compiled parts of OCaml compiler
6e95eae7 172Summary(pl.UTF-8): Skompilowane części kompilatora OCamla
981ff793 173Group: Development/Languages
4694cc06 174Requires: %{name} = %{epoch}:%{version}-%{release}
68076664 175Obsoletes: ocaml-devel
6adc6dd7 176Provides: ocaml-devel
981ff793 177
6dfc0e1a 178%description compiler-objects
981ff793
MM
179This package contains *.cmi and *.cmo files being parts of OCaml
180compiler. They are needed to compile some programs.
181
3f556f71
JR
182%description compiler-objects -l pl.UTF-8
183Pakiet ten zawiera pliki *.cmi oraz *.cmo będące częściami kompilatora
184OCamla. Są one wymagane do kompilacji niektórych programów.
981ff793 185
13b509d1
MM
186%package ocamldoc-devel
187Summary: Files needed to develop programs using ocamldoc
6e95eae7 188Summary(pl.UTF-8): Pliki potrzebne do tworzenia programów używających ocamldoc
13b509d1 189Group: Development/Languages
4694cc06 190Requires: %{name} = %{epoch}:%{version}-%{release}
13b509d1
MM
191
192%description ocamldoc-devel
193You need this package if you are going to write ocamldoc front end or
194something like that.
195
3f556f71
JR
196%description ocamldoc-devel -l pl.UTF-8
197Będziesz potrzebować tego pakietu, jeśli zamierzasz pisać front end
198dla ocamldoc lub coś podobnego.
13b509d1 199
53fbd845
MM
200# maybe we'll want to add some more stuff here?
201%package examples
202Summary: Example source code for OCaml
6e95eae7 203Summary(pl.UTF-8): Przykładowe kody źródłowe w OCamlu
53fbd845 204Group: Development/Languages
4694cc06 205Requires: %{name} = %{epoch}:%{version}-%{release}
53fbd845
MM
206
207%description examples
63004413 208This packages contains sources for Okasaki's Purely Functional
53fbd845
MM
209Datastructures in OCaml, along with some contributions.
210
3f556f71
JR
211%description examples -l pl.UTF-8
212Pakiet ten zawiera źródła Czysto Funkcyjnych Struktur Danych
8151bf1e 213autorstwa Okasaki'ego, napisane w OCamlu, wraz z dodatkami.
53fbd845 214
65fbc6c7 215%prep
e091ab7c 216%setup -q -a1 -a3
19e77905 217mkdir examples
e091ab7c
JB
218tar xzf %{SOURCE4} -C examples
219tar xzf %{SOURCE5} -C examples
56260732 220# order mess with docs somewhat
69735a4b 221mkdir -p docs/html
56260732 222mv htmlman docs/html/ocaml
fa4b2219 223cp %{SOURCE2} docs/ocaml.ps.gz
4c1e0f62 224%patch1 -p1
56260732 225%patch2 -p1
69735a4b 226
227%build
ed19172f 228cp -f /usr/share/automake/config.sub config/gnu
65fbc6c7 229./configure \
69735a4b 230 -cc "%{__cc}" \
65fbc6c7
AM
231 -bindir %{_bindir} \
232 -libdir %{_libdir}/%{name} \
233 -mandir %{_mandir}/man1 \
530dec71 234 -host %{_host} \
2e6ceb74 235 -with-pthread \
0053154a 236 -x11lib %{_libdir}
65fbc6c7 237
0d424b76
AM
238%{__make} -j1 world bootstrap opt.opt CFLAGS="%{rpmcflags} -Wall -DUSE_INTERP_RESULT"
239%{__make} -C tools objinfo CFLAGS="%{rpmcflags} -Wall -DUSE_INTERP_RESULT" -j1
65fbc6c7
AM
240
241%install
5ca6b9fb 242rm -rf $RPM_BUILD_ROOT
e091ab7c 243install -d $RPM_BUILD_ROOT{%{_includedir},%{_infodir},%{_examplesdir}/%{name}-%{version}}
7ff0f82f 244install -d $RPM_BUILD_ROOT%{_libdir}/%{name}/site-lib
e42e1457 245
7ae05805 246%{__make} install \
13b509d1
MM
247 BINDIR=$RPM_BUILD_ROOT%{_bindir} \
248 LIBDIR=$RPM_BUILD_ROOT%{_libdir}/%{name} \
249 MANDIR=$RPM_BUILD_ROOT%{_mandir}
250
251cat > $RPM_BUILD_ROOT%{_libdir}/%{name}/ld.conf <<EOF
252%{_libdir}/%{name}/stublibs
253%{_libdir}/%{name}
254EOF
4797676b 255
f4710e3c 256%if %{with emacs}
3889f6d2
JR
257%{__make} -C emacs install \
258 DESTDIR=$RPM_BUILD_ROOT \
259 EMACSDIR="$RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp" \
260 EMACS="emacs"
56260732
MM
261%endif
262
981ff793 263# symlink .opt versions of compilers (if present)
13b509d1 264for f in ocamlc ocamlopt ocamldoc ocamllex; do
067af37d
MM
265 if test -f $RPM_BUILD_ROOT%{_bindir}/$f.opt; then
266 mv -f $RPM_BUILD_ROOT%{_bindir}/$f \
267 $RPM_BUILD_ROOT%{_bindir}/$f.byte
268 ln -sf %{_bindir}/$f.opt $RPM_BUILD_ROOT%{_bindir}/$f
269 fi
1511bcd5 270done
65fbc6c7 271
981ff793 272# move includes to the proper place
ba35c88b 273mv -f $RPM_BUILD_ROOT%{_libdir}/%{name}/caml $RPM_BUILD_ROOT%{_includedir}/caml
981ff793 274# but leave compatibility symlink
379cf672 275ln -s ../../include/caml $RPM_BUILD_ROOT%{_libdir}/%{name}/caml
981ff793 276
360c386d
MM
277# compiled sources of compiler, needed by some programs
278for f in {asm,byte}comp parsing typing utils ; do
279 install -d $RPM_BUILD_ROOT%{_libdir}/%{name}/compiler/$f
280 cp $f/*.{cmi,cmo,cmx,o} $RPM_BUILD_ROOT%{_libdir}/%{name}/compiler/$f
281done
981ff793
MM
282
283# this isn't installed by default, but is useful
284install tools/objinfo $RPM_BUILD_ROOT%{_bindir}/ocamlobjinfo
53fbd845 285cp -r examples/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
56260732
MM
286ln -sf %{_libdir}/%{name}/{scrape,add}labels $RPM_BUILD_ROOT%{_bindir}
287
13b509d1 288# shutup checkfiles
9de25172 289%{__rm} -r $RPM_BUILD_ROOT%{_mandir}/man3
13b509d1 290
69735a4b 291# install info pages
292cp -f infoman/*.gz $RPM_BUILD_ROOT%{_infodir}
293
65fbc6c7
AM
294%clean
295rm -rf $RPM_BUILD_ROOT
296
9de25172 297%post doc-info -p /sbin/postshell
4a452533 298-/usr/sbin/fix-info-dir -c %{_infodir}
69735a4b 299
9de25172 300%postun doc-info -p /sbin/postshell
4a452533 301-/usr/sbin/fix-info-dir -c %{_infodir}
69735a4b 302
65fbc6c7
AM
303%files
304%defattr(644,root,root,755)
e091ab7c 305%doc Changes LICENSE README
9de25172 306%attr(755,root,root) %{_bindir}/addlabels
e091ab7c
JB
307%attr(755,root,root) %{_bindir}/ocaml
308%attr(755,root,root) %{_bindir}/ocamlbuild*
309%attr(755,root,root) %{_bindir}/ocamlc
310%attr(755,root,root) %{_bindir}/ocamlc.*
311%attr(755,root,root) %{_bindir}/ocamlcp
312%attr(755,root,root) %{_bindir}/ocamldebug
313%attr(755,root,root) %{_bindir}/ocamldep*
314%attr(755,root,root) %{_bindir}/ocamldoc*
315%attr(755,root,root) %{_bindir}/ocamllex*
316%attr(755,root,root) %{_bindir}/ocamlmklib
317%attr(755,root,root) %{_bindir}/ocamlmktop
318%attr(755,root,root) %{_bindir}/ocamlobjinfo
319%attr(755,root,root) %{_bindir}/ocamlopt
320%attr(755,root,root) %{_bindir}/ocamlopt.*
321%attr(755,root,root) %{_bindir}/ocamloptp
322%attr(755,root,root) %{_bindir}/ocamlprof
323%attr(755,root,root) %{_bindir}/ocamlyacc
9de25172 324%attr(755,root,root) %{_bindir}/scrapelabels
ba35c88b 325%{_includedir}/caml
530dec71 326%{_libdir}/%{name}/caml
e091ab7c 327%{_libdir}/%{name}/compiler-libs
530dec71 328%{_libdir}/%{name}/threads
4c1e0f62
MM
329%dir %{_libdir}/%{name}/vmthreads
330%dir %{_libdir}/%{name}/vmthreads/*.cm*
331%dir %{_libdir}/%{name}/vmthreads/*.a
13b509d1
MM
332%{_libdir}/%{name}/*.a
333%{_libdir}/%{name}/*.o
334%{_libdir}/%{name}/*.cm*
335%exclude %{_libdir}/%{name}/*graphics*
dd90c8d9 336%{_libdir}/%{name}/Makefile.config
4251bfb1 337%{_libdir}/%{name}/ld.conf
56260732
MM
338%{_libdir}/%{name}/camlheader
339%{_libdir}/%{name}/camlheader_ur
7ff0f82f 340%{_libdir}/%{name}/ocamlbuild
13b509d1 341%dir %{_libdir}/%{name}/ocamldoc
13b509d1
MM
342%{_libdir}/%{name}/ocamldoc/*.hva
343%attr(755,root,root) %{_libdir}/%{name}/expunge
344%attr(755,root,root) %{_libdir}/%{name}/extract_crc
9de25172
JB
345%attr(755,root,root) %{_libdir}/%{name}/objinfo_helper
346%{_mandir}/man1/ocaml*
347%exclude %{_mandir}/man1/ocamlrun.1*
13b509d1 348
79502218
JB
349%files runtime
350%defattr(644,root,root,755)
351%attr(755,root,root) %{_bindir}/ocamlrun
352%dir %{_libdir}/%{name}
7ff0f82f 353%dir %{_libdir}/%{name}/site-lib
79502218
JB
354%dir %{_libdir}/%{name}/stublibs
355%attr(755,root,root) %{_libdir}/%{name}/stublibs/dll*.so
356%exclude %{_libdir}/%{name}/stublibs/dllgraphics.so
42946d4f 357%attr(755,root,root) %{_libdir}/%{name}/libcamlrun_shared.so
9de25172 358%{_mandir}/man1/ocamlrun.1*
79502218 359
13b509d1
MM
360%files lib-source
361%defattr(644,root,root,755)
362%{_libdir}/%{name}/*.ml
8151bf1e 363%{_libdir}/%{name}/*.mli
4c1e0f62 364%{_libdir}/%{name}/*/*.mli
13b509d1 365
79502218 366%files doc-html
763b9075 367%defattr(644,root,root,755)
79502218
JB
368%doc docs/html/ocaml/*
369
370%files doc-ps
371%defattr(644,root,root,755)
372%doc docs/*.ps.gz
373
374%files doc-info
375%defattr(644,root,root,755)
376%{_infodir}/ocaml.info*
53fbd845 377
13b509d1
MM
378# they are poor, html is much better
379#%files manpages
e68873d9 380#%%{_mandir}/man3/*
65fbc6c7 381
79502218
JB
382%if %{with emacs}
383%files emacs
56260732 384%defattr(644,root,root,755)
79502218
JB
385%{_datadir}/emacs/site-lisp/*.el*
386%endif
56260732 387
b552f088 388%if %{with x}
79502218
JB
389%files x11graphics
390%defattr(644,root,root,755)
391%attr(755,root,root) %{_libdir}/%{name}/stublibs/dllgraphics.so
392
981ff793 393%files x11graphics-devel
56260732 394%defattr(644,root,root,755)
13b509d1 395%{_libdir}/%{name}/graphics*.cm*
f442d039 396%{_libdir}/%{name}/graphics.a
56260732 397%{_libdir}/%{name}/libgraphics.a
56260732
MM
398%endif
399
79502218 400%files compiler-objects
69735a4b 401%defattr(644,root,root,755)
79502218 402%{_libdir}/%{name}/compiler
69735a4b 403
79502218 404%files ocamldoc-devel
73a93122 405%defattr(644,root,root,755)
79502218
JB
406%{_libdir}/%{name}/ocamldoc/*.cm*
407%{_libdir}/%{name}/ocamldoc/*.a
69735a4b 408
79502218 409%files examples
69735a4b 410%defattr(644,root,root,755)
79502218 411%{_examplesdir}/%{name}-%{version}
This page took 0.135387 seconds and 4 git commands to generate.