X-Git-Url: http://git.pld-linux.org/?p=packages%2Focaml-findlib.git;a=blobdiff_plain;f=ocaml-findlib.spec;h=5870757c022041c79c3e481367524f852fcda6cd;hp=1779e66624be854a4559c69f4b0b2a82d384670a;hb=e72d91e;hpb=0c6ef4250a2e05333b8ae59999295191d2b546e2 diff --git a/ocaml-findlib.spec b/ocaml-findlib.spec index 1779e66..5870757 100644 --- a/ocaml-findlib.spec +++ b/ocaml-findlib.spec @@ -1,23 +1,41 @@ -%define ocaml_ver 1:3.09.2 +# +# Conditional build: +%bcond_without ocaml_opt # build opt +%bcond_without tk # build without tk support + +%ifnarch %{ix86} %{x8664} %{arm} aarch64 ppc sparc sparcv9 +%undefine with_ocaml_opt +%endif + +%define ocaml_ver 1:4.04 Summary: OCaml module manager Summary(pl.UTF-8): Zarządca modułów OCamla Name: ocaml-findlib -Version: 1.4.1 -Release: 1 +Version: 1.9.1 +Release: 2 License: distributable Group: Development/Tools Source0: http://download.camlcity.org/download/findlib-%{version}.tar.gz -# Source0-md5: 5d258142e9a7db98bb3553dbca739af8 -URL: http://www.ocaml-programming.de/packages/ +# Source0-md5: 65e6dc9b305ccbed1267275fe180f538 +Patch0: labltk.patch +URL: http://projects.camlcity.org/projects/findlib.html BuildRequires: m4 BuildRequires: ncurses-devel BuildRequires: ocaml >= %{ocaml_ver} BuildRequires: ocaml-camlp4 -BuildRequires: ocaml-labltk-devel +%{?with_tk:BuildRequires: ocaml-labltk-devel} +BuildRequires: ocaml-ocamldoc-devel BuildRequires: sed >= 4.0 %requires_eq ocaml +Conflicts: ocaml-curses < 1.0.3-13 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) +%if %{without ocaml_opt} +%define no_install_post_strip 1 +# debug package strips binaries which renders ocamlfind broken +%define _enable_debug_packages 0 +%endif + %description The "findlib" library provides a scheme to manage reusable software components (packages), and includes tools that support this scheme. @@ -54,16 +72,19 @@ Ten pakiet zawiera biblioteki i skompilowane interfejsy findliba. %prep %setup -q -n findlib-%{version} +%patch0 -p1 %build ./configure \ -bindir %{_bindir} \ -mandir %{_mandir} \ - -config %{_sysconfdir}/ocamlfind.conf + -config %{_sysconfdir}/ocamlfind.conf \ + -sitelib %{_libdir}/ocaml \ + -with-toolbox sed -i -e 's/-g//' Makefile -%{__make} -j1 all opt +%{__make} -j1 all %{?with_ocaml_opt:opt} %install rm -rf $RPM_BUILD_ROOT @@ -71,29 +92,21 @@ rm -rf $RPM_BUILD_ROOT %{__make} install \ prefix=$RPM_BUILD_ROOT -%{__rm} $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/findlib/*.mli +%{__rm} $RPM_BUILD_ROOT%{_libdir}/ocaml/findlib/*.mli + +# now provided by ocaml-dbm.spec (might not exist if building without ocaml-dbm installed) +%{__rm} -rf $RPM_BUILD_ROOT%{_libdir}/ocaml/dbm +# now provided by ocaml-graphics +%{__rm} -r $RPM_BUILD_ROOT%{_libdir}/ocaml/graphics +# now provided by ocaml-labltk.spec (might not exist if building without ocaml-labltk installed) +%{__rm} -rf $RPM_BUILD_ROOT%{_libdir}/ocaml/labltk +# now provided by ocaml-ocamlbuild.spec (might not exist if building without ocaml-ocamlbuild installed) +%{__rm} -rf $RPM_BUILD_ROOT%{_libdir}/ocaml/ocamlbuild -# 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 topfind $RPM_BUILD_ROOT%{_libdir}/ocaml/ocamlfind -%{__mv} $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/findlib \ - $RPM_BUILD_ROOT%{_libdir}/ocaml/findlib -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 -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 @@ -103,24 +116,34 @@ 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/findlib -# symlinks -%{_libdir}/ocaml/site-lib/libexec -%{_libdir}/ocaml/site-lib/stublibs +%dir %{_libdir}/ocaml/findlib +%if %{with tk} +%attr(755,root,root) %{_libdir}/ocaml/findlib/make_wizard +%{_libdir}/ocaml/findlib/make_wizard.pattern +%endif +%{_libdir}/ocaml/findlib/META +%{_libdir}/ocaml/findlib/Makefile.config +%{_libdir}/ocaml/findlib/Makefile.packages +%{_libdir}/ocaml/findlib/findlib.cma +%{_libdir}/ocaml/findlib/findlib_dynload.cma +%{_libdir}/ocaml/findlib/findlib_top.cma +%if %{with ocaml_opt} +%attr(755,root,root) %{_libdir}/ocaml/findlib/findlib.cmxs +%attr(755,root,root) %{_libdir}/ocaml/findlib/findlib_dynload.cmxs +%attr(755,root,root) %{_libdir}/ocaml/findlib/findlib_top.cmxs +%endif # META files for base ocaml packages -%{_libdir}/ocaml/site-lib/bigarray -%{_libdir}/ocaml/site-lib/camlp4 -%{_libdir}/ocaml/site-lib/dbm -%{_libdir}/ocaml/site-lib/dynlink -%{_libdir}/ocaml/site-lib/graphics -%{_libdir}/ocaml/site-lib/labltk -%{_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 +%{_libdir}/ocaml/bigarray +%{_libdir}/ocaml/bytes +%{_libdir}/ocaml/compiler-libs +%{_libdir}/ocaml/dynlink +%{_libdir}/ocaml/ocamldoc +%{_libdir}/ocaml/stdlib +%{_libdir}/ocaml/str +%{_libdir}/ocaml/threads +%{_libdir}/ocaml/unix +# camlp4 4.02 doesn't provide its META itself +%{_libdir}/ocaml/camlp4 %{_mandir}/man1/ocamlfind.1* %{_mandir}/man5/META.5* %{_mandir}/man5/findlib.conf.5* @@ -128,11 +151,16 @@ rm -rf $RPM_BUILD_ROOT %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/findlib/findlib.cmi +%{_libdir}/ocaml/findlib/fl_*.cmi +%{_libdir}/ocaml/findlib/topfind.cmi +%if %{with ocaml_opt} +%{_libdir}/ocaml/findlib/findlib.a +%{_libdir}/ocaml/findlib/findlib.cmxa +%{_libdir}/ocaml/findlib/findlib_dynload.a +%{_libdir}/ocaml/findlib/findlib_dynload.cmxa +%{_libdir}/ocaml/findlib/findlib_top.a +%{_libdir}/ocaml/findlib/findlib_top.cmxa +%endif %{_libdir}/ocaml/ocamlfind %{_libdir}/ocaml/topfind