Sophie

Sophie

distrib > Mandriva > 8.2 > i586 > media > main-src > by-pkgid > fd1923f9d1f4a65ff939fdcb8ffa4f23 > files > 7

ocaml-3.04-7mdk.src.rpm

Name:		ocaml
Version:	3.04
Release: 7mdk
Summary:	The Objective Caml compiler and programming environment
Source0:	ftp://ftp.inria.fr/lang/caml-light/ocaml-%{version}.tar.bz2
Source1:	ftp://ftp.inria.fr/lang/caml-light/ocaml-%{version}-refman.html.tar.bz2
Source4:	%{name}.menu
Patch3: ocaml-3.00-ocamltags--no-site-start.patch.bz2
Patch6: ocaml-3.04-do-not-add-rpath-X11R6_lib-when-using-option-L.patch.bz2
Patch7: ocaml-3.04-no-opt-for-debug-and-profile.patch.bz2
License:	QPL & LGPL
Group:		Development/Other
BuildRequires: XFree86-devel gpm-devel ncurses-devel tcl tk
URL:		http://www.ocaml.org/
Packager:       Pixel <pixel@mandrakesoft.com>
BuildRoot:	%{_tmppath}/ocaml-root
Obsoletes:	ocaml-emacs
Provides:	ocaml-emacs

%package doc
Summary: Documentation for OCaml
Group: Development/Other
Requires: %{name} = %{version}-%{release}

%package -n camlp4
Summary: Preprocessor for OCaml
Group: Development/Other
Requires: %{name} = %{version}-%{release}

%package -n ocamltk
Summary: Tk toolkit binding for OCaml
Group: Development/Other
Requires: %{name} = %{version}-%{release}

%description
Objective Caml is a high-level, strongly-typed, functional and object-oriented
programming language from the ML family of languages.

This package comprises two batch compilers (a fast bytecode compiler and an
optimizing native-code compiler), an interactive toplevel system, Lex&Yacc
tools, a replay debugger, and a comprehensive library.

%description doc
Documentation for OCaml

%description -n camlp4
Preprocessor for OCaml

%description -n ocamltk
Tk toolkit binding for OCaml

%prep

%setup -q -T -b 0
%setup -q -T -D -a 1
%patch3 -p1
%patch6 -p1
%patch7 -p1

rm otherlibs/labltk/example/.cvsignore

%build
%ifarch alpha
echo %{optflags} | grep -q mieee || { echo "on alpha you need -mieee to compile ocaml"; exit 1; }
%endif

./configure -bindir %{_bindir} -libdir %{_libdir}/ocaml -mandir %{_mandir}/man1
make BYTECCCOMPOPTS="%{optflags}" NATIVECCCOMPOPTS="%{optflags}" world opt opt.opt

%install
rm -rf $RPM_BUILD_ROOT
make install BINDIR=%{buildroot}%{_bindir} LIBDIR=%{buildroot}%{_libdir}/ocaml MANDIR=%{buildroot}%{_mandir}/man1

# remove stupid camlp4o.opt which can't work
rm -f %{buildroot}%{_bindir}/camlp4*.opt
rm -f %{buildroot}%{_mandir}/man1/camlp4*.opt.*

(cd emacs; make install install-ocamltags BINDIR=%{buildroot}%{_bindir} EMACSDIR=%{buildroot}%{_datadir}/emacs/site-lisp)

# fix
perl -pi -e "s|$RPM_BUILD_ROOT||" $RPM_BUILD_ROOT%{_libdir}/ocaml/ld.conf

# only keep the binary versions (which are much faster, and have no drawbacks (?))
for i in $RPM_BUILD_ROOT%{_bindir}/*.opt ; do
  nonopt=`echo $i | sed "s/.opt$//"`
  rm -f $nonopt
  ln -s `basename $i` $nonopt
done


install -d $RPM_BUILD_ROOT%{_sysconfdir}/emacs/site-start.d
cat <<EOF >$RPM_BUILD_ROOT%{_sysconfdir}/emacs/site-start.d/%{name}.el
(require 'caml-font)
(autoload 'caml-mode "caml" "Caml editing mode" t)
(add-to-list 'auto-mode-alist '("\\\\.mli?$" . caml-mode))
EOF

# menu (kept in case we want to use it again one day)
install -d $RPM_BUILD_ROOT%{_menudir}
install -m 644 %{SOURCE4} $RPM_BUILD_ROOT%{_menudir}/%{name}

export EXCLUDE_FROM_STRIP="ocamldebug ocamlbrowser"

rm -f %{name}.list
n="labltk|camlp4|ocamlbrowser"
(cd $RPM_BUILD_ROOT ; find usr/bin ! -type d -printf "/%%p\n" | egrep -v $n) >> %{name}.list
(cd $RPM_BUILD_ROOT ; find usr/lib/ocaml ! -type d -printf "/%%p\n" | egrep -v $n) >> %{name}.list
(cd $RPM_BUILD_ROOT ; find usr/lib/ocaml   -type d -printf "%%%%dir /%%p\n" | egrep -v $n) >> %{name}.list

%clean
rm -rf ${RPM_BUILD_ROOT}

%files -f %{name}.list
%defattr(-,root,root)
%doc Changes LICENSE README
%{_mandir}/man*/*ocaml*
#%{_menudir}/*
%{_datadir}/emacs/site-lisp/*
%config(noreplace) %{_sysconfdir}/emacs/site-start.d/*

%files doc
%defattr(-,root,root)
%doc htmlman/* 

%files -n ocamltk
%defattr(-,root,root)
%doc otherlibs/labltk/README otherlibs/labltk/example
%{_bindir}/*labltk*
%{_bindir}/ocamlbrowser
%{_libdir}/ocaml/*labltk*

%files -n camlp4
%defattr(-,root,root)
%{_mandir}/man*/*camlp4*
%{_bindir}/*camlp4*
%{_libdir}/ocaml/camlp4

%changelog
* Sun Jan 13 2002 Pixel <pixel@mandrakesoft.com> 3.04-7mdk
- don't include camlp4o.opt since it's of no use (one gets "native-code program cannot do a dynamic load")

* Sat Dec 29 2001 Pixel <pixel@mandrakesoft.com> 3.04-6mdk
- cleanup (based on the "official" srpm)
- ensure ocamltags is there

* Fri Dec 14 2001 Pixel <pixel@mandrakesoft.com> 3.04-5mdk
- drop patch0 (not needed anymore)
- fix camlp4 build (again, hopefull ok now)

* Fri Dec 14 2001 Pixel <pixel@mandrakesoft.com> 3.04-4mdk
- fix camlp4 build

* Thu Dec 13 2001 Pixel <pixel@mandrakesoft.com> 3.04-3mdk
- cleanup the spec using PREFIX (as done in debian's package)
- ensure rpath is not used for /usr/X11R6/lib

* Thu Dec 13 2001 Pixel <pixel@mandrakesoft.com> 3.04-2mdk
- fix /usr/lib/ocaml/ld.conf

* Wed Dec 12 2001 Pixel <pixel@mandrakesoft.com> 3.04-1mdk
- new version
- split: ocaml-doc, ocamltk, camlp4
- have ocamlc and ocamlopt symlinked ocamlc.opt and ocamlopt.opt
- remove info doc, html is enough

* Thu Sep  6 2001 Pixel <pixel@mandrakesoft.com> 3.02-3mdk
- fix missing Provides

* Mon Jul 30 2001 Pixel <pixel@mandrakesoft.com> 3.02-2mdk
- better caml-font enabling (that don't conflict with ocamltags)

* Mon Jul 30 2001 Pixel <pixel@mandrakesoft.com> 3.02-1mdk
- new version

* Thu Jul 26 2001 Pixel <pixel@mandrakesoft.com> 3.01-3mdk
- have caml-font enabled

* Sun Mar 25 2001 Pixel <pixel@mandrakesoft.com> 3.01-2mdk
- oops, forgot the info patch

* Thu Mar 22 2001 Pixel <pixel@mandrakesoft.com> 3.01-1mdk
- new version

* Mon Mar 19 2001 Pixel <pixel@mandrakesoft.com> 3.00-25mdk
- fix the ocaml.el (\\. -> \\\\.)

* Tue Dec 12 2000 Pixel <pixel@mandrakesoft.com> 3.00-24mdk
- ocamltags--no-site-start.patch

* Thu Nov  2 2000 Pixel <pixel@mandrakesoft.com> 3.00-23mdk
- fix silly #define clashing with new glibc

* Tue Oct 10 2000 Pixel <pixel@mandrakesoft.com> 3.00-22mdk
- add ocamltags (needs emacs)

* Mon Sep  4 2000 Pixel <pixel@mandrakesoft.com> 3.00-21mdk
- rebuild with spec-helper fixed

* Tue Aug 29 2000 Pixel <pixel@mandrakesoft.com> 3.00-20mdk
- fix info pages

* Tue Aug 29 2000 Pixel <pixel@mandrakesoft.com> 3.00-19mdk
- remove menu entry

* Wed Aug 23 2000 Pixel <pixel@mandrakesoft.com> 3.00-18mdk
- add packager

* Wed Aug 23 2000 Pixel <pixel@mandrakesoft.com> 3.00-17mdk
- add obsolete %{name}-emacs

* Tue Aug 22 2000 Pixel <pixel@mandrakesoft.com> 3.00-16mdk
- nicer site-start.d/ocaml.el (use add-to-list)

* Tue Aug 22 2000 Pixel <pixel@mandrakesoft.com> 3.00-15mdk
- fix missing %%config, add install info

* Tue Aug 22 2000 Pixel <pixel@mandrakesoft.com> 3.00-14mdk
- use %{_sysconfdir}/emacs/site-start.d for the caml-mode.el
- merge %{name} and %{name}-emacs

* Mon Aug 07 2000 Frederic Lepied <flepied@mandrakesoft.com> 3.00-13mdk
- automatically added BuildRequires

* Tue Aug 01 2000 Geoffrey Lee <snailtalk@mandrakesoft.com> 3.00-12mdk
- relink with the new and shiny tcltk

* Wed Jul 26 2000 Pixel <pixel@mandrakesoft.com> 3.00-11mdk
- use %%{optflags} with omit-frame-buffer removed

* Tue Jul 25 2000 Pixel <pixel@mandrakesoft.com> 3.00-10mdk
- use %%{optflags} (so that there is -mieee on alpha)

* Sat Jul 22 2000 Pixel <pixel@mandrakesoft.com> 3.00-9mdk
- patch for camldebug.el to workaround the silly ocamldebug command not looking
in cwd

* Wed Jul 19 2000 Pixel <pixel@mandrakesoft.com> 3.00-7mdk
- more macro (use clean clean_menus)

* Wed Jul 19 2000 Pixel <pixel@mandrakesoft.com> 3.00-6mdk
- macroization
- BM

* Sun Jun 04 2000 David BAUDENS <baudens@mandrakesoft.com> 3.00-5mdk
- Fix %%{doc}
- Use %%{_tmppath} for BuildRoot

* Thu Jun  1 2000 Pixel <pixel@mandrakesoft.com> 3.00-4mdk
- change copyright

* Thu Jun  1 2000 Pixel <pixel@mandrakesoft.com> 3.00-3mdk
- takes care of ocamlbrowser and ocamldebug (these must not be stripped)

* Tue May 16 2000 Pixel <pixel@mandrakesoft.com> 3.00-2mdk
- add README to ocaml-emacs

* Mon May  1 2000 Pixel <pixel@mandrakesoft.com> 3.00-1mdk
- new version

* Mon Apr 10 2000 Pixel <pixel@mandrakesoft.com> 2.04-9mdk
- fix groups

* Tue Mar 28 2000 Pixel <pixel@mandrakesoft.com> 2.04-8mdk
- really add menu

* Mon Mar 27 2000 Pixel <pixel@mandrakesoft.com> 2.04-7mdk
- add menu

* Sat Mar 25 2000 Pixel <pixel@mandrakesoft.com> 2.04-6mdk
- new group + cleanup

* Mon Dec  6 1999 Pixel <pixel@linux-mandrake.com>
- 2.04

* Fri Nov 26 1999 Pixel <pixel@linux-mandrake.com>
- 2.03 + cleanup

* Tue Nov 23 1999 Pixel <pixel@linux-mandrake.com>
- build root added

* Tue Jun 01 1999 Pixel <pixel@linux-mandrake.com>
- Hacked to package properly ocamltk

* Tue Dec 29 1998 Alexey Nogin <ayn2@cornell.edu>
- Do not include any /usr/lib/ocaml/*.ml files

* Fri Dec 11 1998 Alexey Nogin <ayn2@cornell.edu>
- Updated to ocaml-2.01

* Sun Nov 29 1998 Alexey Nogin <ayn2@cornell.edu>
- Divided ocaml RPM into ocaml and ocaml-emacs RPMs 
  to make it easier to have both ocaml and caml installed
  on the same machine

* Wed Nov 10 1998 Alexey Nogin <ayn2@cornell.edu>
- Changed SRPM according to RHCN Package Requirements
- Added LICENSE, Changelog and README files to the doc directory