%define majorminor %(echo %version | cut -d. -f 1-2) Name: ocaml Version: 4.07.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.xz 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: libX11-devel BuildRequires: libbinutils-devel ## AUTOBUILDREQ-END BuildRequires: emacs-nox BuildRequires: libgdbm-devel BuildRequires: libbinutils-devel >= 2.33.1 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 Provides: ocaml(runtime) %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 \ LIBDIR=%{_libdir}/ocaml \ 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.byte %{_bindir}/ocamlc.opt %{_bindir}/ocamlcmt %{_bindir}/ocamlcp.byte %{_bindir}/ocamlcp.opt %{_bindir}/ocamldep.byte %{_bindir}/ocamllex.byte %{_bindir}/ocamlmklib.byte %{_bindir}/ocamlmklib.opt %{_bindir}/ocamlmktop.byte %{_bindir}/ocamlmktop.opt %{_bindir}/ocamlobjinfo.byte %{_bindir}/ocamlobjinfo.opt %{_bindir}/ocamlopt.byte %{_bindir}/ocamloptp.byte %{_bindir}/ocamloptp.opt %{_bindir}/ocamlprof.byte %{_bindir}/ocamlprof.opt %{_bindir}/ocamlrund %{_bindir}/ocamlruni %{_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}/ocaml-instr-graph %{_bindir}/ocaml-instr-report # %{_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/libasmrun_shared.so %{_libdir}/ocaml/objinfo_helper %{_libdir}/ocaml/compiler-libs/ %ifarch x86_64 %{_libdir}/ocaml/stublibs/dllraw_spacetime_lib.so %endif %{_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/target_camlheaderd %{_libdir}/ocaml/target_camlheaderi #%{_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 %files runtime %defattr(-,root,root) %{_bindir}/ocamlrun %{_libdir}/ocaml/VERSION %{_libdir}/ocaml/*.cmo %{_libdir}/ocaml/*.cmi %exclude %{_libdir}/ocaml/graphicsX11.cmi %{_libdir}/ocaml/*.cma %{_libdir}/ocaml/*.cmt %{_libdir}/ocaml/*.cmti %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/*.cmti %{_libdir}/ocaml/threads/*.cma %dir %{_libdir}/ocaml/vmthreads %{_libdir}/ocaml/vmthreads/*.cmi %{_libdir}/ocaml/vmthreads/*.cmti %{_libdir}/ocaml/vmthreads/*.cma %{_mandir}/man1/ocamlrun.* %files x11 %defattr(-,root,root) %{_libdir}/ocaml/graphicsX11.cmi %{_libdir}/ocaml/graphicsX11.mli %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 Changes #%doc refman.pdf htmlman %changelog * Sun Nov 24 2019 Silvan Calarco 4.07.1-3mamba - ocaml-runtime: provide ocaml(runtime) * Sat Nov 23 2019 Silvan Calarco 4.07.1-2mamba - rebuilt with libbinutils-devel 2.33.1 * Thu Apr 25 2019 Automatic Build System 4.07.1-1mamba - automatic version update by autodist * Sun Apr 21 2019 Silvan Calarco 4.07.0-1mamba - update to 4.07.0 * 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