%define majorminor %(echo %version | cut -d. -f 1-2) Name: ocaml Version: 4.01.0 Release: 2mamba 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 BuildRequires: libgdbm-devel Requires: %{name}-runtime = %{?epoch:%epoch:}%{version}-%{release} Requires: gcc BuildRoot: %{_tmppath}/%{name}-%{version}-root # FIXME: # # BFD library not found, 'objinfo' will be unable to display info on .cmxs files # ./hasgot -i bfd.h && \ # ./hasgot -lbfd -ldl -liberty -lz bfd_openr; then %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. This package provides in particular the following tools: * ocamlc: the OCaml batch compiler, * ocamlopt: the OCaml high-performance native-code compiler, * ocamldep: the dependency generator (in a format suitable for the make utility), * ocaml: the interactive (command-line) toplevel system, * ocamlmktop: builds OCaml toplevels that contain user code preloaded at start-up, * ocamllex: the OCaml lexical analyser, very close to lex, * ocamlyacc: the OCaml parser generator, in the style yacc. * ocamldebug: the OCaml source-level replay debugger, * ocamlprof: the OCaml profiling tool, for programs compiled in profiling mode by using either ocamlcp: the front-end to the ocamlc compiler or ocamloptp: the front-end to the ocamlopt compiler, * ocamlbuild: automates the compilation of most OCaml projects with minimal user intervention, * ocamlmklib: a tool for building mixed C/OCaml libraries * ocamlobjinfo: a tool for displaying informations on files %package runtime Group: Applications/Development Summary: OCaml runtime environment %description runtime This package contains the runtime environment needed to run OCaml bytecode. In particular the OCaml bytecode interpreter: ocamlrun. %package camlp4 Summary: Pre-Processor-Pretty-Printer for OCaml Requires: %{name}-runtime = %{?epoch:%epoch:}%{version}-%{release} %description camlp4 Camlp4 is a Pre-Processor-Pretty-Printer for OCaml, parsing a source file and printing some result on standard output. This package contains the runtime files. %package camlp4-devel Summary: Pre-Processor-Pretty-Printer for OCaml Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} Requires: %{name}-camlp4 = %{?epoch:%epoch:}%{version}-%{release} %description camlp4-devel Camlp4 is a Pre-Processor-Pretty-Printer for OCaml, parsing a source file and printing some result on standard output. RPM_OPT_FLAGS=`$RPM_OPT_FLAGS | sed "s|-fomit-frame-pointer||" export RPM_OPT_FLAGS This package contains the development files. %package x11 Summary: X11 support for OCaml Requires: %{name}-runtime = %{?epoch:%epoch:}%{version}-%{release} Requires: libX11-devel %description x11 X11 support for OCaml. %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 ocamldoc Group: Applications/Development Summary: Documentation generator for OCaml Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} %description ocamldoc Documentation generator 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 -a2 -a3 cp %{S:1} refman.pdf %build ./configure \ -host %{_host} \ %ifnarch arm -cc "gcc ${RPM_OPT_FLAGS}" \ %endif -bindir %{_bindir} \ -libdir %{_libdir}/ocaml \ -mandir %{_mandir}/man1 %make -j1 world.opt %make -j1 -C emacs ocamltags %make -j1 -C ocamldoc all %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} %clean [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" %post docs %install_info %{name}.info exit 0 %preun docs if [ $1 -eq 0 ]; then %uninstall_info %{name}.info 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 # %{_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/*.cmxs %{_libdir}/ocaml/*.cmxa %{_libdir}/ocaml/*.cmx %{_libdir}/ocaml/*.o %{_libdir}/ocaml/*.ml %{_libdir}/ocaml/*.mli %exclude %{_libdir}/ocaml/graphicsX11.mli %{_libdir}/ocaml/libcamlrun_shared.so %{_libdir}/ocaml/objinfo_helper %{_libdir}/ocaml/compiler-libs/ %{_libdir}/ocaml/vmthreads/*.a %{_libdir}/ocaml/vmthreads/*.mli %{_libdir}/ocaml/threads/*.a %{_libdir}/ocaml/threads/*.cmx %{_libdir}/ocaml/threads/*.cmxa %{_libdir}/ocaml/caml %{_libdir}/ocaml/ocamlbuild %{_mandir}/man1/ocaml.* %{_mandir}/man1/ocamlbuild.* %{_mandir}/man1/ocamlc.* %{_mandir}/man1/ocamlcp.* %{_mandir}/man1/ocamldebug.* %{_mandir}/man1/ocamldep.* %{_mandir}/man1/ocamllex.* %{_mandir}/man1/ocamlmktop.* %{_mandir}/man1/ocamlopt.* %{_mandir}/man1/ocamloptp.* %{_mandir}/man1/ocamlprof.* %{_mandir}/man1/ocamlyacc.* %doc LICENSE README Changes %files runtime %defattr(-,root,root) %{_bindir}/ocamlrun %{_libdir}/ocaml/VERSION %{_libdir}/ocaml/*.cmo %{_libdir}/ocaml/*.cmi %exclude %{_libdir}/ocaml/graphicsX11.cmi %{_libdir}/ocaml/*.cma %dir %{_libdir}/ocaml/stublibs %{_libdir}/ocaml/stublibs/dllbigarray.so %{_libdir}/ocaml/stublibs/dllcamlstr.so %{_libdir}/ocaml/stublibs/dllgraphics.so %{_libdir}/ocaml/stublibs/dllnums.so %{_libdir}/ocaml/stublibs/dllthreads.so %{_libdir}/ocaml/stublibs/dllunix.so %{_libdir}/ocaml/stublibs/dllvmthreads.so %dir %{_libdir}/ocaml/threads %{_libdir}/ocaml/threads/*.cmi %{_libdir}/ocaml/threads/*.cma %dir %{_libdir}/ocaml/vmthreads %{_libdir}/ocaml/vmthreads/*.cmi %{_libdir}/ocaml/vmthreads/*.cma %{_mandir}/man1/ocamlrun.* %files camlp4 %defattr(-,root,root) %dir %{_libdir}/ocaml/camlp4 %{_libdir}/ocaml/camlp4/*.cma %{_libdir}/ocaml/camlp4/*.cmi %{_libdir}/ocaml/camlp4/*.cmo %dir %{_libdir}/ocaml/camlp4/Camlp4Filters %{_libdir}/ocaml/camlp4/Camlp4Filters/*.cmi %{_libdir}/ocaml/camlp4/Camlp4Filters/*.cmo %dir %{_libdir}/ocaml/camlp4/Camlp4Parsers %{_libdir}/ocaml/camlp4/Camlp4Parsers/*.cmo %{_libdir}/ocaml/camlp4/Camlp4Parsers/*.cmi %dir %{_libdir}/ocaml/camlp4/Camlp4Printers %{_libdir}/ocaml/camlp4/Camlp4Printers/*.cmi %{_libdir}/ocaml/camlp4/Camlp4Printers/*.cmo %dir %{_libdir}/ocaml/camlp4/Camlp4Top %{_libdir}/ocaml/camlp4/Camlp4Top/*.cmi %{_libdir}/ocaml/camlp4/Camlp4Top/*.cmo %files camlp4-devel %defattr(-,root,root) %{_bindir}/camlp4* %{_bindir}/mkcamlp4 %{_libdir}/ocaml/camlp4/*.a %{_libdir}/ocaml/camlp4/*.cmx %{_libdir}/ocaml/camlp4/*.cmxa %{_libdir}/ocaml/camlp4/*.o %{_libdir}/ocaml/camlp4/Camlp4Filters/*.cmx %{_libdir}/ocaml/camlp4/Camlp4Filters/*.o %{_libdir}/ocaml/camlp4/Camlp4Parsers/*.cmx %{_libdir}/ocaml/camlp4/Camlp4Parsers/*.o %{_libdir}/ocaml/camlp4/Camlp4Printers/*.cmx %{_libdir}/ocaml/camlp4/Camlp4Printers/*.o %{_libdir}/ocaml/camlp4/Camlp4Top/*.cmx %{_libdir}/ocaml/camlp4/Camlp4Top/*.o %files x11 %defattr(-,root,root) %{_libdir}/ocaml/graphicsX11.cmi %{_libdir}/ocaml/graphicsX11.mli %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 ocamldoc %defattr(-,root,root) %{_bindir}/ocamldoc* %{_libdir}/ocaml/ocamldoc %{_mandir}/man1/ocamldoc.* %files docs %defattr(-,root,root) %{_infodir}/* %{_mandir}/man3/* %doc refman.pdf htmlman %changelog * Tue Jan 21 2014 Silvan Calarco 4.01.0-2mamba - labtk-devel: require libtcl-devel and libtk-devel instead of libtcl85-devel and libtk85-devel * Sun Nov 24 2013 Automatic Build System 4.01.0-1mamba - automatic version update by autodist * Tue Jul 09 2013 Davide Madrisan 4.00.1-4mamba - new subpackage runtime, camlp4, camlp4-devel, x11, and ocamldoc - build requires libtcl85-devel and libtk85-devel * 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