481 lines
15 KiB
RPMSpec
481 lines
15 KiB
RPMSpec
%define majorminor %(echo %version | cut -d. -f 1-2)
|
|
|
|
Name: ocaml
|
|
Version: 4.11.1
|
|
Release: 5mamba
|
|
Summary: The OCaml compiler and programming environment
|
|
Group: Applications/Development
|
|
Vendor: openmamba
|
|
Distribution: openmamba
|
|
Packager: Davide Madrisan <davide.madrisan@gmail.com>
|
|
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: libz-devel
|
|
## AUTOBUILDREQ-END
|
|
BuildRequires: emacs-nox
|
|
#BuildRequires: ocaml-runtime >= %{?epoch:%epoch:}%{version}
|
|
BuildRequires: libgdbm-devel
|
|
Requires: %{name}-runtime = %{?epoch:%epoch:}%{version}-%{release}
|
|
Requires: gcc
|
|
# From Fedora:
|
|
# Because we pass -c flag to ocaml-find-requires (to avoid circular
|
|
# dependencies) we also have to explicitly depend on the right version
|
|
# of ocaml-runtime.
|
|
Requires: ocaml-runtime = %{?epoch:%epoch:}%{version}-%{release}
|
|
Provides: ocaml(compiler) = %{version}
|
|
%global __ocaml_requires_opts -c -f '%{buildroot}%{_bindir}/ocamlrun %{buildroot}%{_bindir}/ocamlobjinfo.byte'
|
|
%global __ocaml_provides_opts -f '%{buildroot}%{_bindir}/ocamlrun %{buildroot}%{_bindir}/ocamlobjinfo.byte'
|
|
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) = %{?epoch:%epoch:}%{version}-%{release}
|
|
|
|
%description runtime
|
|
This package contains the runtime environment needed to run OCaml bytecode.
|
|
In particular the OCaml bytecode interpreter: ocamlrun.
|
|
|
|
%package source
|
|
Summary: Source code for OCaml libraries
|
|
Requires: ocaml = %{?epoch:%epoch:}%{version}-%{release}
|
|
|
|
%description source
|
|
Source code for OCaml libraries.
|
|
|
|
%package compiler-libs
|
|
Summary: Compiler libraries for OCaml
|
|
Requires: ocaml = %{?epoch:%epoch:}%{version}-%{release}
|
|
|
|
%description compiler-libs
|
|
OCaml is a high-level, strongly-typed, functional and object-oriented programming language from the ML family of languages.
|
|
This package contains some modules used internally by the OCaml compilers, useful for the development of some OCaml applications.
|
|
Note that this exposes internal details of the OCaml compiler which may not be portable between versions.
|
|
|
|
%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.
|
|
|
|
%debug_package
|
|
|
|
%global __ocaml_requires_opts -c -f '%{buildroot}%{_bindir}/ocamlrun %{buildroot}%{_bindir}/ocamlobjinfo.byte'
|
|
%global __ocaml_provides_opts -f '%{buildroot}%{_bindir}/ocamlrun %{buildroot}%{_bindir}/ocamlobjinfo.byte'
|
|
|
|
%prep
|
|
%setup -q -a2 -a3 -D -T
|
|
:<< _EOF
|
|
cp %{S:1} refman.pdf
|
|
|
|
%build
|
|
:<< _EOF
|
|
%configure \
|
|
--libdir=%{_libdir}/ocaml \
|
|
--with-pic
|
|
|
|
#./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}/ocamlprof.byte
|
|
%{_bindir}/ocamlprof.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}/ocamloptp.byte
|
|
%{_bindir}/ocamloptp.opt
|
|
%{_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/eventlog_metadata
|
|
%{_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/*.mli
|
|
%{_libdir}/ocaml/libcamlrun_shared.so
|
|
%{_libdir}/ocaml/libasmrun_shared.so
|
|
%{_libdir}/ocaml/objinfo_helper
|
|
#%{_libdir}/ocaml/vmthreads/*.a
|
|
#%{_libdir}/ocaml/vmthreads/*.mli
|
|
%{_libdir}/ocaml/threads/*.a
|
|
%{_libdir}/ocaml/threads/*.cmx
|
|
%{_libdir}/ocaml/threads/*.cmxa
|
|
%{_libdir}/ocaml/threads/*.cmti
|
|
%{_libdir}/ocaml/threads/*.mli
|
|
%{_libdir}/ocaml/caml
|
|
%{_mandir}/man1/ocaml.*
|
|
%{_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.*
|
|
|
|
%files runtime
|
|
%defattr(-,root,root)
|
|
%{_bindir}/ocamlrun
|
|
%{_bindir}/ocamlrund
|
|
%{_bindir}/ocamlruni
|
|
%dir %{_libdir}/ocaml
|
|
%{_libdir}/ocaml/VERSION
|
|
%{_libdir}/ocaml/*.cmo
|
|
%{_libdir}/ocaml/*.cmi
|
|
%{_libdir}/ocaml/*.cma
|
|
%{_libdir}/ocaml/camlheaderd
|
|
%{_libdir}/ocaml/camlheaderi
|
|
%dir %{_libdir}/ocaml/stublibs
|
|
%{_libdir}/ocaml/stublibs/dllcamlstr.so
|
|
%{_libdir}/ocaml/stublibs/dllthreads.so
|
|
%{_libdir}/ocaml/stublibs/dllunix.so
|
|
%ifarch x86_64 aarch64
|
|
%{_libdir}/ocaml/stublibs/dllraw_spacetime_lib.so
|
|
%endif
|
|
%dir %{_libdir}/ocaml/threads
|
|
%{_libdir}/ocaml/threads/*.cmi
|
|
%{_libdir}/ocaml/threads/*.cma
|
|
%dir %{_libdir}/ocaml/compiler-libs
|
|
%{_libdir}/ocaml/compiler-libs/*.cmi
|
|
%{_libdir}/ocaml/compiler-libs/*.cmo
|
|
%{_libdir}/ocaml/compiler-libs/*.cma
|
|
%{_mandir}/man1/ocamlrun.*
|
|
%doc LICENSE
|
|
|
|
%files source
|
|
%defattr(-,root,root)
|
|
%{_libdir}/ocaml/*.ml
|
|
%{_libdir}/ocaml/*.cmt
|
|
%{_libdir}/ocaml/*.cmti
|
|
|
|
%files compiler-libs
|
|
%defattr(-,root,root)
|
|
%{_libdir}/ocaml/compiler-libs/*.mli
|
|
%{_libdir}/ocaml/compiler-libs/*.cmt
|
|
%{_libdir}/ocaml/compiler-libs/*.cmti
|
|
%{_libdir}/ocaml/compiler-libs/*.a
|
|
%{_libdir}/ocaml/compiler-libs/*.cmx
|
|
%{_libdir}/ocaml/compiler-libs/*.cmxa
|
|
%{_libdir}/ocaml/compiler-libs/*.o
|
|
|
|
#%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
|
|
* Mon Apr 26 2021 Silvan Calarco <silvan.calarco@mambasoft.it> 4.11.1-5mamba
|
|
- workaround ocaml-runtime requiring ocaml-compiler-libs by moving needed files into ocaml-runtime
|
|
|
|
* Sat Apr 24 2021 Silvan Calarco <silvan.calarco@mambasoft.it> 4.11.1-4mamba
|
|
- added subpackages ocaml-source and ocaml-compiler-libs
|
|
|
|
* Thu Apr 22 2021 Silvan Calarco <silvan.calarco@mambasoft.it> 4.11.1-3mamba
|
|
- rebuilt with recent rpm ocamldeps
|
|
|
|
* Thu Jan 21 2021 Silvan Calarco <silvan.calarco@mambasoft.it> 4.11.1-2mamba
|
|
- rebuilt to fix provides
|
|
|
|
* Sun Oct 18 2020 Automatic Build System <autodist@mambasoft.it> 4.11.1-1mamba
|
|
- automatic version update by autodist
|
|
|
|
* Sat Oct 17 2020 Silvan Calarco <silvan.calarco@mambasoft.it> 4.11.0-1mamba
|
|
- update to 4.11.0
|
|
|
|
* Mon Dec 30 2019 Silvan Calarco <silvan.calarco@mambasoft.it> 4.09.0-4mamba
|
|
- rebuilt with recent gcc and --with-pic
|
|
|
|
* Fri Nov 22 2019 Silvan Calarco <silvan.calarco@mambasoft.it> 4.09.0-3mamba
|
|
- ocaml-runtime: add provide ocaml(runtime)
|
|
|
|
* Fri Nov 22 2019 Silvan Calarco <silvan.calarco@mambasoft.it> 4.09.0-2mamba
|
|
- rebuilt with ocaml-runtime 4.09.0 to fix requirement on previous version
|
|
|
|
* Fri Nov 15 2019 Automatic Build System <autodist@mambasoft.it> 4.09.0-1mamba
|
|
- automatic version update by autodist
|
|
|
|
* Thu Apr 25 2019 Automatic Build System <autodist@mambasoft.it> 4.07.1-1mamba
|
|
- automatic version update by autodist
|
|
|
|
* Sun Apr 21 2019 Silvan Calarco <silvan.calarco@mambasoft.it> 4.07.0-1mamba
|
|
- update to 4.07.0
|
|
|
|
* Tue Jan 21 2014 Silvan Calarco <silvan.calarco@mambasoft.it> 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 <autodist@mambasoft.it> 4.01.0-1mamba
|
|
- automatic version update by autodist
|
|
|
|
* Tue Jul 09 2013 Davide Madrisan <davide.madrisan@gmail.com> 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 <autodist@mambasoft.it> 4.00.1-3mamba
|
|
- pass -host option to configure to build for arm generic and fix rpi target
|
|
|
|
* Mon Jun 24 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 4.00.1-2mamba
|
|
- added labltk and emacs subpackages
|
|
|
|
* Mon Jun 17 2013 Davide Madrisan <davide.madrisan@gmail.com> 4.00.1-1mamba
|
|
- update to 4.00.1
|
|
|
|
* Wed Oct 24 2012 Silvan Calarco <silvan.calarco@mambasoft.it> 3.12.1-4mamba
|
|
- rebuilt with binutils 2.23
|
|
|
|
* Wed Nov 30 2011 Automatic Build System <autodist@mambasoft.it> 3.12.1-3mamba
|
|
- automatic update by autodist
|
|
|
|
* Mon Nov 28 2011 Automatic Build System <autodist@mambasoft.it> 3.12.1-2mamba
|
|
- automatic update by autodist
|
|
|
|
* Tue Jul 19 2011 Automatic Build System <autodist@mambasoft.it> 3.12.1-1mamba
|
|
- automatic update by autodist
|
|
|
|
* Sun Dec 26 2010 Automatic Build System <autodist@mambasoft.it> 3.12.0-2mamba
|
|
- automatic update by autodist
|
|
|
|
* Fri Dec 17 2010 Silvan Calarco <silvan.calarco@mambasoft.it> 3.12.0-1mamba
|
|
- update to 3.12.0
|
|
|
|
* Tue Feb 09 2010 Automatic Build System <autodist@mambasoft.it> 3.11.2-1mamba
|
|
- automatic update by autodist
|
|
|
|
* Fri Nov 13 2009 Davide Madrisan <davide.madrisan@gmail.com> 3.11.1-2mamba
|
|
- fix compilation issues
|
|
- build ocamlopt
|
|
|
|
* Fri Jun 26 2009 Automatic Build System <autodist@mambasoft.it> 3.11.1-1mamba
|
|
- automatic update by autodist
|
|
|
|
* Mon Dec 08 2008 Silvan Calarco <silvan.calarco@mambasoft.it> 3.11.0-1mamba
|
|
- update to 3.11.0
|
|
|
|
* Mon Dec 08 2008 Silvan Calarco <silvan.calarco@mambasoft.it> 3.10.2-1mamba
|
|
- automatic update by autodist
|
|
|
|
* Mon Nov 05 2007 Aleph0 <aleph0@openmamba.org> 3.10.0-3mamba
|
|
- rebuild
|
|
|
|
* Sat Sep 29 2007 Aleph0 <aleph0@openmamba.org> 3.10.0-2mamba
|
|
- add official reference manual
|
|
|
|
* Fri Sep 28 2007 Aleph0 <aleph0@openmamba.org> 3.10.0-1mamba
|
|
- update to 3.10.0
|
|
|
|
* Fri Mar 02 2007 Aleph0 <aleph0@openmamba.org> 3.09.3-1qilnx
|
|
- package created by autospec
|