diff --git a/README.md b/README.md index fdc35ab..70f8f19 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,7 @@ # ocaml +OCaml is a general-purpose programming language, designed with program safety and reliability in mind. +It is very expressive, yet easy to learn and use. +OCaml supports functional, imperative, and object-oriented programming styles. +It has been developed and distributed by INRIA, France's national research institute for computer science, since 1985. + diff --git a/ocaml-4.00-refman.pdf b/ocaml-4.00-refman.pdf new file mode 100644 index 0000000..7a5ac69 Binary files /dev/null and b/ocaml-4.00-refman.pdf differ diff --git a/ocaml.spec b/ocaml.spec new file mode 100644 index 0000000..e2d9394 --- /dev/null +++ b/ocaml.spec @@ -0,0 +1,283 @@ +%define majorminor %(echo %version | cut -d. -f 1-2) + +Name: ocaml +Version: 4.00.1 +Release: 3mamba +Summary: The OCaml compiler and programming environment +Group: Applications/Development +Vendor: openmamba +Distribution: openmamba +Packager: Davide Madrisan +URL: http://www.ocaml.org +Source0: http://caml.inria.fr/pub/distrib/ocaml-%{majorminor}/ocaml-%{version}.tar.bz2 +Source1: http://caml.inria.fr/pub/distrib/ocaml-%{majorminor}/ocaml-%{majorminor}-refman.pdf +Source2: http://caml.inria.fr/pub/distrib/ocaml-%{majorminor}/ocaml-%{majorminor}-refman-html.tar.gz +Source3: http://caml.inria.fr/pub/distrib/ocaml-%{majorminor}/ocaml-%{majorminor}-refman.info.tar.gz +License: LGPL +## AUTOBUILDREQ-BEGIN +BuildRequires: glibc-devel +BuildRequires: libncurses-devel +BuildRequires: libtcl-devel +BuildRequires: libtk-devel +BuildRequires: libX11-devel +## AUTOBUILDREQ-END +BuildRequires: emacs-nox +Requires: gcc +BuildRoot: %{_tmppath}/%{name}-%{version}-root + +%description +OCaml is a general-purpose programming language, designed with program safety and reliability in mind. +It is very expressive, yet easy to learn and use. +OCaml supports functional, imperative, and object-oriented programming styles. +It has been developed and distributed by INRIA, France's national research institute for computer science, since 1985. + +%package labltk +Group: Applications/Development +Summary: Tk bindings for OCaml +Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} + +%description labltk +Labltk is a library for interfacing OCaml with the scripting language Tcl/Tk. + +This package contains the runtime files. + +%package labltk-devel +Group: Development/Libraries +Summary: Development files for labltk +Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} +Requires: %{name}-labltk = %{?epoch:%epoch:}%{version}-%{release} +Requires: libX11-devel +Requires: libtcl-devel +Requires: libtk-devel + +%description labltk-devel +Labltk is a library for interfacing OCaml with the scripting language Tcl/Tk. +This package contains the development files. + +%package emacs +Group: Applications/Development +Summary: Emacs mode for OCaml +Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} +Requires: emacs-nox + +%description emacs +Emacs mode for OCaml. + +%package docs +Group: Documentation +Summary: Documentation for OCaml +Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} +Requires(post): %{__install_info} +Requires(preun): %{__install_info} +Provides: %{name}-manual = %{?epoch:%epoch:}%{version}-%{release} +Obsoletes: %{name}-manual + +%description docs +OCaml is a general-purpose programming language, designed with program safety and reliability in mind. +This package contains documentation in PDF and HTML format as well as man pages and info files. + +%prep +%setup -q +%setup -q -a2 -a3 +cp %{S:1} refman.pdf + +%build +./configure \ + -host %{_host} \ + -cc "gcc ${RPM_OPT_FLAGS/-fomit-frame-pointer/}" \ + -bindir %{_bindir} \ + -libdir %{_libdir}/ocaml \ + -mandir %{_mandir}/man1 + +%make -j1 world opt opt.opt +%make -j1 -C emacs ocamltags + +%install +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" + +%makeinstall \ + BINDIR=%{buildroot}%{_bindir} \ + LIBDIR=%{buildroot}%{_libdir}/ocaml \ + MANDIR=%{buildroot}%{_mandir} + +cd emacs +%makeinstall \ + BINDIR=%{buildroot}%{_bindir} \ + EMACSDIR=%{buildroot}%{_datadir}/emacs/site-lisp +make install-ocamltags BINDIR=%{buildroot}%{_bindir} +cd .. + +mkdir -p %{buildroot}%{_infodir} +cd infoman +cp ocaml*.gz %{buildroot}%{_infodir} + +#install -m 0755 ocamlbyteinfo %{buildroot}%{_bindir} + +%clean +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" + +%post docs +%install_info %{_infodir}/%{name}.info \ + --entry="* ocaml: (ocaml). The OCaml compiler and programming environment" \ + --section="Programming Languages" \ + %{_infodir}/dir 2>/dev/null +exit 0 + +%preun docs +if [ $1 -eq 0 ]; then + %uninstall_info --delete %{_infodir}/%{name}.info %{_infodir}/dir 2>/dev/null +fi +exit 0 + +%files +%defattr(-,root,root) +%{_bindir}/ocaml +%{_bindir}/ocamlbuild +%{_bindir}/ocamlbuild.byte +%{_bindir}/ocamlbuild.native +%{_bindir}/ocamlc +%{_bindir}/ocamlc.opt +%{_bindir}/ocamlcp +%{_bindir}/ocamldebug +%{_bindir}/ocamldep +%{_bindir}/ocamldep.opt +%{_bindir}/ocamllex +%{_bindir}/ocamllex.opt +%{_bindir}/ocamlmklib +%{_bindir}/ocamlmktop +%{_bindir}/ocamlobjinfo +%{_bindir}/ocamlopt +%{_bindir}/ocamlopt.opt +%{_bindir}/ocamloptp +%{_bindir}/ocamlprof +%{_bindir}/ocamlyacc +# +%{_bindir}/ocamlrun +# +%{_libdir}/ocaml/camlheader +%{_libdir}/ocaml/camlheader_ur +%{_libdir}/ocaml/expunge +%{_libdir}/ocaml/extract_crc +%{_libdir}/ocaml/ld.conf +%{_libdir}/ocaml/Makefile.config +%{_libdir}/ocaml/*.a +%{_libdir}/ocaml/*.cma +%{_libdir}/ocaml/*.cmi +%{_libdir}/ocaml/*.cmo +%{_libdir}/ocaml/*.cmxs +%{_libdir}/ocaml/*.cmxa +%{_libdir}/ocaml/*.cmx +%{_libdir}/ocaml/*.o +%{_libdir}/ocaml/*.ml +%{_libdir}/ocaml/*.mli +%{_libdir}/ocaml/libcamlrun_shared.so +%{_libdir}/ocaml/objinfo_helper +%{_libdir}/ocaml/compiler-libs/ +%{_libdir}/ocaml/vmthreads/ +%{_libdir}/ocaml/threads/ +%{_libdir}/ocaml/caml +%{_libdir}/ocaml/ocamlbuild +%dir %{_libdir}/ocaml/stublibs +%{_libdir}/ocaml/stublibs/dll*.so +%{_libdir}/ocaml/VERSION +# camlp4 +%{_libdir}/ocaml/camlp4/ +%{_bindir}/camlp4* +%{_bindir}/mkcamlp4 +%{_mandir}/man1/* +# ocamldoc +%{_bindir}/ocamldoc* +%{_libdir}/ocaml/ocamldoc +# +%doc LICENSE README Changes + +%files labltk +%defattr(-,root,root) +%{_bindir}/labltk +%dir %{_libdir}/ocaml/labltk +%{_libdir}/ocaml/labltk/*.cmi +%{_libdir}/ocaml/labltk/*.cma +%{_libdir}/ocaml/labltk/*.cmo +%{_libdir}/ocaml/stublibs/dlllabltk.so + +%files labltk-devel +%defattr(-,root,root) +%{_bindir}/ocamlbrowser +%{_libdir}/ocaml/labltk/labltktop +%{_libdir}/ocaml/labltk/pp +%{_libdir}/ocaml/labltk/tkcompiler +%{_libdir}/ocaml/labltk/*.a +%{_libdir}/ocaml/labltk/*.cmxa +%{_libdir}/ocaml/labltk/*.cmx +%{_libdir}/ocaml/labltk/*.o +%{_libdir}/ocaml/labltk/*.mli +%doc otherlibs/labltk/examples_labltk +%doc otherlibs/labltk/examples_camltk + +%files emacs +%defattr(-,root,root) +%{_datadir}/emacs/site-lisp/* +%{_bindir}/ocamltags +%doc emacs/README + +%files docs +%defattr(-,root,root) +%{_infodir}/* +%{_mandir}/man3/* +%doc refman.pdf htmlman + +%changelog +* Mon Jul 01 2013 Automatic Build System 4.00.1-3mamba +- pass -host option to configure to build for arm generic and fix rpi target + +* Mon Jun 24 2013 Silvan Calarco 4.00.1-2mamba +- added labltk and emacs subpackages + +* Mon Jun 17 2013 Davide Madrisan 4.00.1-1mamba +- update to 4.00.1 + +* Wed Oct 24 2012 Silvan Calarco 3.12.1-4mamba +- rebuilt with binutils 2.23 + +* Wed Nov 30 2011 Automatic Build System 3.12.1-3mamba +- automatic update by autodist + +* Mon Nov 28 2011 Automatic Build System 3.12.1-2mamba +- automatic update by autodist + +* Tue Jul 19 2011 Automatic Build System 3.12.1-1mamba +- automatic update by autodist + +* Sun Dec 26 2010 Automatic Build System 3.12.0-2mamba +- automatic update by autodist + +* Fri Dec 17 2010 Silvan Calarco 3.12.0-1mamba +- update to 3.12.0 + +* Tue Feb 09 2010 Automatic Build System 3.11.2-1mamba +- automatic update by autodist + +* Fri Nov 13 2009 Davide Madrisan 3.11.1-2mamba +- fix compilation issues +- build ocamlopt + +* Fri Jun 26 2009 Automatic Build System 3.11.1-1mamba +- automatic update by autodist + +* Mon Dec 08 2008 Silvan Calarco 3.11.0-1mamba +- update to 3.11.0 + +* Mon Dec 08 2008 Silvan Calarco 3.10.2-1mamba +- automatic update by autodist + +* Mon Nov 05 2007 Aleph0 3.10.0-3mamba +- rebuild + +* Sat Sep 29 2007 Aleph0 3.10.0-2mamba +- add official reference manual + +* Fri Sep 28 2007 Aleph0 3.10.0-1mamba +- update to 3.10.0 + +* Fri Mar 02 2007 Aleph0 3.09.3-1qilnx +- package created by autospec