ocaml/ocaml.spec

284 lines
8.0 KiB
RPMSpec

%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 <davide.madrisan@gmail.com>
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 <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