#
# Conditional build:
-%bcond_with opt # build opt
+%bcond_without ocaml_opt # skip building native optimized binaries (bytecode is always built)
+
+# not yet available on x32 (ocaml 4.02.1), remove 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.1
-Release: 1
+Version: 0.9.1
+Release: 2
License: MIT
Group: Libraries
-Source0: https://forge.ocamlcore.org/frs/download.php/1374/ocurl-%{version}.tar.gz
-# Source0-md5: 637336f41eb047b246e30a4c3caddc94
+Source0: https://github.com/ygrek/ocurl/releases/download/%{version}/ocurl-%{version}.tar.gz
+# Source0-md5: 1ff6b12803fa0c6e9a4358dd29b83910
+Patch0: ocaml_opt.patch
URL: http://ocurl.forge.ocamlcore.org/
BuildRequires: curl-devel >= 7.12.0
BuildRequires: gawk
# 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_eq ocaml-runtime
ExcludeArch: sparc64 s390 s390x
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%prep
%setup -q -n ocurl-%{version}
+%patch0 -p1
%build
%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
-install -d $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/curl
-cat > $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/curl/META <<EOF
+cat > $RPM_BUILD_ROOT%{_libdir}/ocaml/curl/META <<EOF
requires = ""
version = "%{version}"
directory = "+curl"
%files
%defattr(644,root,root,755)
%doc COPYING
-%{_libdir}/ocaml/curl
+%dir %{_libdir}/ocaml/curl
+%{_libdir}/ocaml/curl/META
%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
+%{_libdir}/ocaml/curl/*.cma
+%if %{with ocaml_opt}
+%attr(755,root,root) %{_libdir}/ocaml/curl/*.cmxs
%endif
-%exclude %{_libdir}/ocaml/curl/*.mli
%files devel
%defattr(644,root,root,755)
%doc examples/*
-%if %{with opt}
%{_libdir}/ocaml/curl/*.a
-%{_libdir}/ocaml/curl/*.o
+%{_libdir}/ocaml/curl/*.cmi
+%{_libdir}/ocaml/curl/*.cmt
+%{_libdir}/ocaml/curl/*.cmti
+%if %{with ocaml_opt}
%{_libdir}/ocaml/curl/*.cmx
%{_libdir}/ocaml/curl/*.cmxa
%endif
%{_libdir}/ocaml/curl/*.mli
-%{_libdir}/ocaml/site-lib/curl