-%define ocaml_ver 1:3.09.2
+%define ocaml_ver 1:4.02
Summary: OCaml module manager
Summary(pl.UTF-8): Zarządca modułów OCamla
Name: ocaml-findlib
-Version: 1.2.6
+Version: 1.5.5
Release: 1
License: distributable
Group: Development/Tools
Source0: http://download.camlcity.org/download/findlib-%{version}.tar.gz
-# Source0-md5: 4924c8c3ef1208eb0fa9096c8b8bb72f
+# Source0-md5: 703eae112f9e912507c3a2f8d8c48498
+Patch0: %{name}-bytes.patch
URL: http://www.ocaml-programming.de/packages/
BuildRequires: m4
BuildRequires: ncurses-devel
BuildRequires: ocaml >= %{ocaml_ver}
BuildRequires: ocaml-camlp4
-BuildRequires: ocaml-labltk-devel
+BuildRequires: ocaml-labltk
BuildRequires: sed >= 4.0
%requires_eq ocaml
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%prep
%setup -q -n findlib-%{version}
+%patch0 -p1
%build
./configure \
-bindir %{_bindir} \
-mandir %{_mandir} \
- -config %{_sysconfdir}/ocamlfind.conf
+ -config %{_sysconfdir}/ocamlfind.conf \
+ -with-toolbox
sed -i -e 's/-g//' Makefile
%{__rm} $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/findlib/*.mli
+# now provided by ocaml-labltk.spec
+%{__rm} -r $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/labltk
+# now provided by ocaml-dbm.spec (might not exist if building without ocaml-dbm installed)
+%{__rm} -rf $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/dbm
+
# in PLD only META files are stored in site-lib/pkg
sed -i -e 's|/site-lib||' $RPM_BUILD_ROOT%{_libdir}/ocaml/topfind
-ln -sf %{_libdir}/ocaml/topfind $RPM_BUILD_ROOT%{_libdir}/ocaml/ocamlfind
-cp -a $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/findlib \
+ln -sf topfind $RPM_BUILD_ROOT%{_libdir}/ocaml/ocamlfind
+%{__mv} $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/findlib \
$RPM_BUILD_ROOT%{_libdir}/ocaml/findlib
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/findlib/*.*
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/ocaml/findlib/META
-echo 'directory = "+findlib"' >> $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/META
+install -d $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/findlib
+%{__mv} $RPM_BUILD_ROOT%{_libdir}/ocaml/findlib/META \
+ $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/findlib
+echo 'directory = "+findlib"' >> $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/findlib/META
+%{__mv} $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/num-top \
+ $RPM_BUILD_ROOT%{_libdir}/ocaml/num-top
+install -d $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/num-top
+%{__mv} $RPM_BUILD_ROOT%{_libdir}/ocaml/num-top/META \
+ $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/num-top
+echo 'directory = "+findlib"' >> $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/num-top/META
+
echo 'ldconf = "ignore"' >> $RPM_BUILD_ROOT%{_sysconfdir}/ocamlfind.conf
-ln -s ../stublibs $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/libexec
-ln -s ../stublibs $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/stublibs
+ln -sf ../stublibs $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/libexec
+ln -sf ../stublibs $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/stublibs
%clean
rm -rf $RPM_BUILD_ROOT
%attr(755,root,root) %{_bindir}/ocamlfind
%attr(755,root,root) %{_bindir}/safe_camlp4
%config %{_sysconfdir}/ocamlfind.conf
-%{_libdir}/ocaml/site-lib
+%dir %{_libdir}/ocaml/findlib
+%attr(755,root,root) %{_libdir}/ocaml/findlib/make_wizard
+%{_libdir}/ocaml/findlib/make_wizard.pattern
+%{_libdir}/ocaml/site-lib/findlib
+# symlinks
+%{_libdir}/ocaml/site-lib/libexec
+%{_libdir}/ocaml/site-lib/stublibs
+# META files for base ocaml packages
+%{_libdir}/ocaml/site-lib/bigarray
+%{_libdir}/ocaml/site-lib/bytes
+%{_libdir}/ocaml/site-lib/compiler-libs/META
+%{_libdir}/ocaml/site-lib/dynlink
+%{_libdir}/ocaml/site-lib/graphics
+%{_libdir}/ocaml/site-lib/num
+%{_libdir}/ocaml/site-lib/num-top
+%{_libdir}/ocaml/site-lib/ocamlbuild
+%{_libdir}/ocaml/site-lib/stdlib
+%{_libdir}/ocaml/site-lib/str
+%{_libdir}/ocaml/site-lib/threads
+%{_libdir}/ocaml/site-lib/unix
+# camlp4 4.02 doesn't provide its META itself
+%{_libdir}/ocaml/site-lib/camlp4
%{_mandir}/man1/ocamlfind.1*
%{_mandir}/man5/META.5*
%{_mandir}/man5/findlib.conf.5*
%files devel
%defattr(644,root,root,755)
-%dir %{_libdir}/ocaml/findlib
+%{_libdir}/ocaml/findlib/Makefile.config
%{_libdir}/ocaml/findlib/*.cm[ixa]*
%{_libdir}/ocaml/findlib/*.a
+%dir %{_libdir}/ocaml/num-top
+%{_libdir}/ocaml/num-top/*.cm[ia]
%{_libdir}/ocaml/ocamlfind
%{_libdir}/ocaml/topfind