X-Git-Url: http://git.pld-linux.org/?p=packages%2Focaml-curl.git;a=blobdiff_plain;f=ocaml-curl.spec;h=d621301e622f7c7a3d7371df64a4bb8263fdda62;hp=b7fbf8359c3ad0639ba3c7e45962043d8c529766;hb=44adc8ba964fe63154ae5606c8c8178bf5768e89;hpb=f6f0b5deba6a890db80f35f7e19094c6e64c837c diff --git a/ocaml-curl.spec b/ocaml-curl.spec index b7fbf83..d621301 100644 --- a/ocaml-curl.spec +++ b/ocaml-curl.spec @@ -1,25 +1,39 @@ # # Conditional build: -%bcond_with opt # build opt +%bcond_without ocaml_opt # native optimized binaries (bytecode is always built) + +# not yet available on x32 (ocaml 4.02.1), update when upstream will support it +%ifnarch %{ix86} %{x8664} %{arm} aarch64 ppc sparc sparcv9 +%undefine with_ocaml_opt +%endif %define debug_package %{nil} -%define pkgname curl + Summary: OCaml Curl library (ocurl) -Name: ocaml-%{pkgname} -Version: 0.6.0 -Release: 1 +Summary(pl.UTF-8): Biblioteka Curl dla OCamla (ocurl) +Name: ocaml-curl +Version: 0.9.1 +Release: 5 License: MIT Group: Libraries -Source0: https://forge.ocamlcore.org/frs/download.php/1238/ocurl-%{version}.tar.gz -# Source0-md5: 21575e86b390c6c182a8dee42e8db1f3 -URL: http://ocurl.forge.ocamlcore.org/ -BuildRequires: curl-devel >= 7.12.0 +#Source0Download: https://github.com/ygrek/ocurl/releases +Source0: https://github.com/ygrek/ocurl/releases/download/%{version}/ocurl-%{version}.tar.gz +# Source0-md5: 1ff6b12803fa0c6e9a4358dd29b83910 +Patch0: ocaml_opt.patch +Patch1: %{name}-sh.patch +URL: https://ygrek.org/p/ocurl/ +BuildRequires: autoconf >= 2.50 +BuildRequires: curl-devel >= 7.28.0 BuildRequires: gawk BuildRequires: ocaml >= 3.10.0-7 BuildRequires: ocaml-findlib-devel +BuildRequires: ocaml-lwt-devel +BuildRequires: ocaml-lwt-ppx-devel +BuildRequires: pkgconfig # Explicitly require Curl (fixes RHBZ#711261). Since ocaml-curl uses # -custom rather than ocamlmklib, automatic detection is infeasible. -Requires: curl-devel >= 7.12.0 +Requires: curl-devel >= 7.28.0 +%requires_eq ocaml-runtime ExcludeArch: sparc64 s390 s390x BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) @@ -27,38 +41,79 @@ BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) The Ocaml Curl Library (Ocurl) is an interface library for the programming language Ocaml to the networking library libcurl. +%description -l pl.UTF-8 +Biblioteka Ocaml Curl (Ocurl) to biblioteka interfejsu języka +programowania Ocaml do biblioteki sieciowe libcurl. + %package devel -Summary: Development files for %{name} +Summary: OCaml Curl library (ocurl) - development part +Summary(pl.UTF-8): Biblioteka Curl dla OCamla (ocurl) - część programistyczna Group: Development/Libraries Requires: %{name} = %{version}-%{release} %description devel -The %{name}-devel package contains libraries and signature files for -developing applications that use %{name}. +This package contains libraries and signature files for developing +applications that use OCaml Curl library. + +%description devel -l pl.UTF-8 +Ten pakiet zawiera biblioteki i pliki sygnatur do tworzenia aplikacji +z użyciem biblioteki OCamla Curl. + +%package lwt +Summary: Lwt support for OCaml Curl library +Summary(pl.UTF-8): Obsługa Lwt do biblioteki OCamla Curl +Group: Libraries +Requires: %{name} = %{version}-%{release} +Requires: ocaml-lwt + +%description lwt +Lwt support for OCaml Curl library. + +%description lwt -l pl.UTF-8 +Obsługa Lwt do biblioteki OCamla Curl. + +%package lwt-devel +Summary: Lwt support for OCaml Curl library - development part +Summary(pl.UTF-8): Obsługa Lwt do biblioteki OCamla Curl - część programistyczna +Group: Development/Libraries +Requires: %{name}-devel = %{version}-%{release} +Requires: %{name}-lwt = %{version}-%{release} +Requires: ocaml-lwt-devel + +%description lwt-devel +This package contains libraries and signature files for developing +applications that use OCaml curl-lwt library. + +%description lwt-devel -l pl.UTF-8 +Ten pakiet zawiera biblioteki i pliki sygnatur do tworzenia aplikacji +z użyciem biblioteki OCamla curl-lwt. %prep %setup -q -n ocurl-%{version} +%patch0 -p1 +%patch1 -p1 %build +%{__autoconf} %configure -%{__make} -j1 all \ -%if %{with opt} - OCBYTE="ocamlc.opt -g" \ - OCOPT="ocamlopt.opt -g" -%endif +%{__make} -j1 all %install rm -rf $RPM_BUILD_ROOT + export OCAMLFIND_DESTDIR=$RPM_BUILD_ROOT%{_libdir}/ocaml install -d $OCAMLFIND_DESTDIR $OCAMLFIND_DESTDIR/stublibs + %{__make} install \ DESTDIR=$RPM_BUILD_ROOT -# Install curl.mli -cp -p curl.mli $OCAMLFIND_DESTDIR/curl +# useless in rpm +%{__rm} $RPM_BUILD_ROOT%{_libdir}/ocaml/stublibs/*.so.owner # Make clean in the examples dir so our docs don't contain binaries. %{__make} -C examples clean +install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} +cp -p examples/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} %clean rm -rf $RPM_BUILD_ROOT @@ -66,25 +121,43 @@ rm -rf $RPM_BUILD_ROOT %files %defattr(644,root,root,755) %doc COPYING -%{_libdir}/ocaml/curl -%attr(755,root,root) %{_libdir}/ocaml/stublibs/dllcurl-helper.so -%{_libdir}/ocaml/stublibs/dllcurl-helper.so.owner -%if %{with opt} -%exclude %{_libdir}/ocaml/curl/*.a -%exclude %{_libdir}/ocaml/curl/*.o -%exclude %{_libdir}/ocaml/curl/*.cmx -%exclude %{_libdir}/ocaml/curl/*.cmxa +%dir %{_libdir}/ocaml/curl +%{_libdir}/ocaml/curl/META +%{_libdir}/ocaml/curl/curl.cma +%if %{with ocaml_opt} +%attr(755,root,root) %{_libdir}/ocaml/curl/curl.cmxs %endif -%exclude %{_libdir}/ocaml/curl/*.mli +%attr(755,root,root) %{_libdir}/ocaml/stublibs/dllcurl-helper.so %files devel %defattr(644,root,root,755) -%doc examples/* -%if %{with opt} -%{_libdir}/ocaml/curl/*.a -%{_libdir}/ocaml/curl/*.o -%{_libdir}/ocaml/curl/*.cmx -%{_libdir}/ocaml/curl/*.cmxa +%{_libdir}/ocaml/curl/libcurl-helper.a +%{_libdir}/ocaml/curl/curl.cmi +%{_libdir}/ocaml/curl/curl.cmt +%{_libdir}/ocaml/curl/curl.cmti +%{_libdir}/ocaml/curl/curl.mli +%if %{with ocaml_opt} +%{_libdir}/ocaml/curl/curl.a +%{_libdir}/ocaml/curl/curl.cmx +%{_libdir}/ocaml/curl/curl.cmxa +%endif +%{_examplesdir}/%{name}-%{version} + +%files lwt +%defattr(644,root,root,755) +# without ocaml_opt: just stub package to collect dependencies +%if %{with ocaml_opt} +%attr(755,root,root) %{_libdir}/ocaml/curl/curl_lwt.cmxs %endif -%{_libdir}/ocaml/curl/*.mli +%files lwt-devel +%defattr(644,root,root,755) +%{_libdir}/ocaml/curl/curl_lwt.cmi +%{_libdir}/ocaml/curl/curl_lwt.cmo +%{_libdir}/ocaml/curl/curl_lwt.cmt +%{_libdir}/ocaml/curl/curl_lwt.cmti +%{_libdir}/ocaml/curl/curl_lwt.mli +%if %{with ocaml_opt} +%{_libdir}/ocaml/curl/curl_lwt.cmx +%{_libdir}/ocaml/curl/curl_lwt.o +%endif