4529a13
Name:		ocaml
03108e3
Version:	3.09.0
fa7fd51
Release: 	3%{?dist}
c39241b
4529a13
Summary:	Objective Caml compiler and programming environment
cvsextras be41c84
4529a13
Group:		Development/Languages
4529a13
License:	QPL/LGPL
186fbe9
URL:		http://www.ocaml.org
03108e3
Source0:	http://caml.inria.fr/distrib/ocaml-3.09/ocaml-3.09.0.tar.bz2
03108e3
Source1:	http://caml.inria.fr/distrib/ocaml-3.09/ocaml-3.09-refman.html.tar.gz
03108e3
Source2:	http://caml.inria.fr/distrib/ocaml-3.09/ocaml-3.09-refman.ps.gz
03108e3
Source3:	http://caml.inria.fr/distrib/ocaml-3.09/ocaml-3.09-refman.info.tar.gz
817b039
Patch0:		ocaml-rpath.patch
817b039
Patch1:		ocaml-user-cflags.patch
4529a13
BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
03108e3
BuildRequires:	ncurses-devel
03108e3
BuildRequires:  gdbm-devel
c5c9c16
BuildRequires:	tcl-devel, tk-devel
cvsextras be41c84
BuildRequires:	emacs, perl
a5dcf3e
BuildRequires:  libICE-devel
a5dcf3e
BuildRequires:  libSM-devel
03108e3
BuildRequires:  libX11-devel
a5dcf3e
BuildRequires:  libXaw-devel
a5dcf3e
BuildRequires:  libXext-devel
a5dcf3e
BuildRequires:  libXft-devel
a5dcf3e
BuildRequires:  libXmu-devel
a5dcf3e
BuildRequires:  libXrender-devel
a5dcf3e
BuildRequires:  libXt-devel
a5dcf3e
BuildRequires:  mesa-libGL-devel
a5dcf3e
BuildRequires:  mesa-libGLU-devel
4529a13
Requires(post):	/sbin/install-info
aa4861b
Requires(preun): /sbin/install-info
cvsextras be41c84
cvsextras be41c84
%description
cvsextras be41c84
Objective Caml is a high-level, strongly-typed, functional and
cvsextras be41c84
object-oriented programming language from the ML family of languages.
cvsextras be41c84
cvsextras be41c84
This package comprises two batch compilers (a fast bytecode compiler
cvsextras be41c84
and an optimizing native-code compiler), an interactive toplevel system,
cvsextras be41c84
parsing tools (Lex,Yacc,Camlp4), a replay debugger, a documentation generator,
cvsextras be41c84
and a comprehensive library.
cvsextras be41c84
a5dcf3e
cvsextras be41c84
%package -n labltk
cvsextras be41c84
Group:		Development/Languages
cvsextras be41c84
Summary:	Tk bindings for Objective Caml
4529a13
Requires:	ocaml = %{version}-%{release}
cvsextras be41c84
cvsextras be41c84
%description -n labltk
cvsextras be41c84
A library for interfacing Objective Caml with the scripting language
cvsextras be41c84
Tcl/Tk. It include the OCamlBrowser code editor / library browser.
cvsextras be41c84
a5dcf3e
cvsextras be41c84
%package -n camlp4
cvsextras be41c84
Group:		Development/Languages
4529a13
Summary:	Pre-Processor-Pretty-Printer for OCaml
4529a13
Requires:	ocaml = %{version}-%{release}
cvsextras be41c84
cvsextras be41c84
%description -n camlp4
cvsextras be41c84
Camlp4 is a Pre-Processor-Pretty-Printer for OCaml, parsing a source
cvsextras be41c84
file and printing some result on standard output.
cvsextras be41c84
a5dcf3e
cvsextras be41c84
%package ocamldoc
cvsextras be41c84
Group:		Development/Languages
cvsextras be41c84
Summary:	Documentation generator for OCaml
4529a13
Requires:	ocaml = %{version}-%{release}
cvsextras be41c84
cvsextras be41c84
%description ocamldoc
cvsextras be41c84
Documentation generator for Objective Caml.
cvsextras be41c84
a5dcf3e
cvsextras be41c84
%package emacs
cvsextras be41c84
Group:		Development/Languages
cvsextras be41c84
Summary:	Emacs mode for Objective Caml
4529a13
Requires:	ocaml = %{version}-%{release}
cvsextras be41c84
Requires:	emacs
cvsextras be41c84
cvsextras be41c84
%description emacs
cvsextras be41c84
Emacs mode for Objective Caml.
cvsextras be41c84
a5dcf3e
cvsextras be41c84
%package docs
cvsextras be41c84
Group:		Development/Languages
cvsextras be41c84
Summary:	Documentation for OCaml
4529a13
Requires:	ocaml = %{version}-%{release}
cvsextras be41c84
cvsextras be41c84
%description docs
cvsextras be41c84
Documentation for Objective Caml.
cvsextras be41c84
a5dcf3e
cvsextras be41c84
%prep
cvsextras be41c84
%setup -q -T -b 0
cvsextras be41c84
%setup -q -T -D -a 1
cvsextras be41c84
%setup -q -T -D -a 3
817b039
%patch0 -p1
817b039
%patch1 -p1 -b .cflags
817b039
cvsextras be41c84
cp %{SOURCE2} refman.ps.gz
cvsextras be41c84
a5dcf3e
cvsextras be41c84
%build
817b039
CFLAGS="$RPM_OPT_FLAGS" ./configure \
cvsextras be41c84
    -bindir %{_bindir} \
cvsextras be41c84
    -libdir %{_libdir}/ocaml \
eafcfe6
    -x11lib %{_libdir} \
eafcfe6
    -x11include %{_includedir} \
cvsextras be41c84
    -mandir %{_mandir}/man1
cvsextras be41c84
make world opt opt.opt
cvsextras be41c84
# %{?_smp_mflags} breaks the build
cvsextras be41c84
(cd emacs; make ocamltags)
cvsextras be41c84
a5dcf3e
cvsextras be41c84
%install
cvsextras be41c84
rm -rf $RPM_BUILD_ROOT
cvsextras be41c84
%makeinstall BINDIR=$RPM_BUILD_ROOT%{_bindir} LIBDIR=$RPM_BUILD_ROOT%{_libdir}/ocaml MANDIR=$RPM_BUILD_ROOT%{_mandir}
cvsextras be41c84
perl -pi -e "s|^$RPM_BUILD_ROOT||" $RPM_BUILD_ROOT%{_libdir}/ocaml/ld.conf
cvsextras be41c84
(
cvsextras be41c84
    cd emacs;
cvsextras be41c84
    make install BINDIR=$RPM_BUILD_ROOT%{_bindir} EMACSDIR=$RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp
cvsextras be41c84
    make install-ocamltags BINDIR=$RPM_BUILD_ROOT%{_bindir}
cvsextras be41c84
)
cvsextras be41c84
(
cvsextras be41c84
    mkdir -p $RPM_BUILD_ROOT%{_infodir};
cvsextras be41c84
    cd infoman; cp ocaml*.gz $RPM_BUILD_ROOT%{_infodir}
cvsextras be41c84
)
cvsextras be41c84
a5dcf3e
cvsextras be41c84
%clean
cvsextras be41c84
rm -rf $RPM_BUILD_ROOT
cvsextras be41c84
a5dcf3e
cvsextras be41c84
%post
cvsextras be41c84
/sbin/install-info \
cvsextras be41c84
    --entry "* ocaml: (ocaml).	 The Objective Caml compiler and programming environment" \
cvsextras be41c84
    --section "Programming Languages" \
cvsextras be41c84
    %{_infodir}/%{name}.info \
cvsextras be41c84
    %{_infodir}/dir 2>/dev/null || :
cvsextras be41c84
a5dcf3e
cvsextras be41c84
%preun
4529a13
if [ $1 -eq 0 ]; then
cvsextras be41c84
  /sbin/install-info --delete %{_infodir}/%{name}.info %{_infodir}/dir 2>/dev/null || :
cvsextras be41c84
fi
cvsextras be41c84
a5dcf3e
cvsextras be41c84
%files
cvsextras be41c84
%defattr(-,root,root,-)
cvsextras be41c84
%{_bindir}/*
cvsextras be41c84
%{_mandir}/man1/*
cvsextras be41c84
%{_mandir}/man3/*
cvsextras be41c84
%{_libdir}/ocaml
cvsextras be41c84
%{_infodir}/*
cvsextras be41c84
%exclude %{_bindir}/camlp4*
cvsextras be41c84
%exclude %{_bindir}/mkcamlp4
cvsextras be41c84
%exclude %{_bindir}/ocpp
cvsextras be41c84
%exclude %{_bindir}/labltk
cvsextras be41c84
%exclude %{_bindir}/ocamltags
cvsextras be41c84
%exclude %{_bindir}/ocamlbrowser
cvsextras be41c84
%exclude %{_bindir}/ocamldoc*
cvsextras be41c84
%exclude %{_libdir}/ocaml/camlp4
cvsextras be41c84
%exclude %{_libdir}/ocaml/labltk
cvsextras be41c84
%exclude %{_libdir}/ocaml/ocamldoc
cvsextras be41c84
%exclude %{_mandir}/man1/camlp4*
cvsextras be41c84
%exclude %{_mandir}/man1/mkcamlp4*
cvsextras be41c84
%exclude %{_libdir}/ocaml/stublibs/dlllabltk.so
cvsextras be41c84
%exclude %{_libdir}/ocaml/stublibs/dlltkanim.so
cvsextras be41c84
%doc README LICENSE Changes
cvsextras be41c84
a5dcf3e
cvsextras be41c84
%files -n labltk
cvsextras be41c84
%defattr(-,root,root,-)
cvsextras be41c84
%{_bindir}/labltk
cvsextras be41c84
%{_bindir}/ocamlbrowser
cvsextras be41c84
%{_libdir}/ocaml/labltk
cvsextras be41c84
%{_libdir}/ocaml/stublibs/dlllabltk.so
cvsextras be41c84
%{_libdir}/ocaml/stublibs/dlltkanim.so
cvsextras be41c84
%doc otherlibs/labltk/examples_labltk
cvsextras be41c84
%doc otherlibs/labltk/examples_camltk
cvsextras be41c84
a5dcf3e
cvsextras be41c84
%files -n camlp4
cvsextras be41c84
%defattr(-,root,root,-)
cvsextras be41c84
%{_bindir}/camlp4*
cvsextras be41c84
%{_bindir}/mkcamlp4
cvsextras be41c84
%{_bindir}/ocpp
cvsextras be41c84
%{_libdir}/ocaml/camlp4
cvsextras be41c84
%{_mandir}/man1/camlp4*
cvsextras be41c84
%{_mandir}/man1/mkcamlp4*
cvsextras be41c84
a5dcf3e
cvsextras be41c84
%files ocamldoc
cvsextras be41c84
%defattr(-,root,root,-)
cvsextras be41c84
%{_bindir}/ocamldoc*
cvsextras be41c84
%{_libdir}/ocaml/ocamldoc
cvsextras be41c84
%doc ocamldoc/Changes.txt
cvsextras be41c84
a5dcf3e
cvsextras be41c84
%files docs
cvsextras be41c84
%defattr(-,root,root,-)
cvsextras be41c84
%doc refman.ps.gz htmlman
cvsextras be41c84
a5dcf3e
cvsextras be41c84
%files emacs
cvsextras be41c84
%defattr(-,root,root,-)
cvsextras be41c84
%{_datadir}/emacs/site-lisp/*
cvsextras be41c84
%{_bindir}/ocamltags
cvsextras be41c84
%doc emacs/README
cvsextras be41c84
a5dcf3e
cvsextras be41c84
%changelog
03108e3
* Sun Jan  1 2006 Gerard Milmeister <gemi@bluewin.ch> - 3.09.0-1
03108e3
- new version 3.09.0
03108e3
0d2d47e
* Sun Sep 11 2005 Gerard Milmeister <gemi@bluewin.ch> - 3.08.4-1
0d2d47e
- New Version 3.08.4
0d2d47e
332bd58
* Wed May 25 2005 Toshio Kuratomi <toshio-tiki-lounge.com> - 3.08.3-5
332bd58
- Bump and re-release as last build failed due to rawhide syncing.
332bd58
326271f
* Sun May 22 2005 Toshio Kuratomi <toshio-tiki-lounge.com> - 3.08.3-4
817b039
- Fix for gcc4 and the 32 bit assembly in otherlibs/num.
817b039
- Fix to allow compilation with RPM_OPT_FLAG defined -O level.
817b039
d95206a
* Sun May 22 2005 Jeremy Katz <katzj@redhat.com> - 3.08.3-3
d95206a
- rebuild on all arches
d95206a
c39241b
* Fri Apr  7 2005 Michael Schwendt <mschwendt[AT]users.sf.net>
c39241b
- rebuilt
c39241b
aa4861b
* Sat Mar 26 2005 Gerard Milmeister <gemi@bluewin.ch> - 3.08.3-1
aa4861b
- New Version 3.08.3
aa4861b
c5c9c16
* Sat Feb 12 2005 Gerard Milmeister <gemi@bluewin.ch> - 0:3.08.2-2
c5c9c16
- Added patch for removing rpath from shared libs
c5c9c16
186fbe9
* Sat Feb 12 2005 Gerard Milmeister <gemi@bluewin.ch> - 0:3.08.2-1
186fbe9
- New Version 3.08.2
186fbe9
0b1d488
* Thu Dec 30 2004 Thorsten Leemhuis <fedora[AT]leemhuis[DOT]info> - 0:3.07-6
4529a13
- add -x11lib %%{_prefix}/X11R6/%%{_lib} to configure; fixes labltk build
0b1d488
  on x86_64
0b1d488
cvsextras be41c84
* Tue Dec  2 2003 Gerard Milmeister <gemi@bluewin.ch> - 0:3.07-0.fdr.5
cvsextras be41c84
- ocamldoc -> ocaml-ocamldoc
cvsextras be41c84
- ocaml-doc -> ocaml-docs
cvsextras be41c84
cvsextras be41c84
* Fri Nov 28 2003 Gerard Milmeister <gemi@bluewin.ch> - 0:3.07-0.fdr.4
cvsextras be41c84
- Make separate packages for labltk, camlp4, ocamldoc, emacs and documentation
cvsextras be41c84
cvsextras be41c84
* Thu Nov 27 2003 Gerard Milmeister <gemi@bluewin.ch> - 0:3.07-0.fdr.2
cvsextras be41c84
- Changed license tag
cvsextras be41c84
- Register info files
cvsextras be41c84
- Honor RPM_OPT_FLAGS
cvsextras be41c84
- New Patch
cvsextras be41c84
cvsextras be41c84
* Fri Oct 31 2003 Gerard Milmeister <gemi@bluewin.ch> - 0:3.07-0.fdr.1
cvsextras be41c84
- First Fedora release
cvsextras be41c84
cvsextras be41c84
* Mon Oct 13 2003 Axel Thimm <Axel.Thimm@physik.fu-berlin.de>
cvsextras be41c84
- Updated to 3.07.
cvsextras be41c84
cvsextras be41c84
* Wed Apr  9 2003 Axel Thimm <Axel.Thimm@physik.fu-berlin.de>
cvsextras be41c84
- Rebuilt for Red Hat 9.
cvsextras be41c84
cvsextras be41c84
* Tue Nov 26 2002 Axel Thimm <Axel.Thimm@physik.fu-berlin.de>
cvsextras be41c84
- Added %{_mandir}/mano/* entry