Blob Blame History Raw
# OCaml packages not built on i686 since OCaml 5 / Fedora 39.
ExcludeArch: %{ix86}

Name:           ocaml-mtime
Version:        2.0.0
Release:        2%{?dist}
Summary:        Monotonic wall-clock time for OCaml

License:        ISC
URL:            https://erratique.ch/software/mtime
Source0:        %{url}/releases/mtime-%{version}.tbz

BuildRequires:  ocaml >= 4.08.0
BuildRequires:  ocaml-findlib
BuildRequires:  ocaml-ocamlbuild
BuildRequires:  ocaml-topkg-devel >= 1.0.3
BuildRequires:  python3

# Do not require ocaml-compiler-libs at runtime
%global __ocaml_requires_opts -i Asttypes -i Build_path_prefix_map -i Cmi_format -i Env -i Ident -i Identifiable -i Load_path -i Location -i Longident -i Misc -i Outcometree -i Parsetree -i Path -i Primitive -i Shape -i Subst -i Toploop -i Type_immediacy -i Types -i Warnings

%description
Mtime has platform independent support for monotonic wall-clock time in
pure OCaml.  This time increases monotonically and is not subject to
operating system calendar time adjustments.  The library has types to
represent nanosecond precision timestamps and time spans.

The additional Mtime_clock library provide access to a system
monotonic clock.

Mtime has no dependencies.  Mtime_clock depends on your system library.

%package        devel
Summary:        Development files for %{name}
Requires:       %{name}%{?_isa} = %{version}-%{release}

%description    devel
The %{name}-devel package contains libraries and signature
files for developing applications that use %{name}.

%prep
%autosetup -n mtime-%{version}

# link with the math library
echo $'\ntrue: cclib(-lm)' >> _tags

%build
ocaml pkg/pkg.ml build --dev-pkg false --tests true

%install
mkdir -p %{buildroot}%{_libdir}/ocaml/mtime/clock/os
mkdir -p %{buildroot}%{_libdir}/ocaml/mtime/top
%ifarch %{ocaml_native_compiler}
cp -p _build/src/mtime.{a,cmx,cmxa,cmxs} %{buildroot}%{_libdir}/ocaml/mtime
cp -p _build/src-clock/*.{cmx,cmxa,cmxs} \
   %{buildroot}%{_libdir}/ocaml/mtime/clock/os
cp -p _build/src/mtime_top.{cmx,cmxa,cmxs} \
   %{buildroot}%{_libdir}/ocaml/mtime/top
%endif
cp -p _build/src/mtime.{cma,cmi,cmt,cmti,mli} _build/pkg/META _build/opam \
   %{buildroot}%{_libdir}/ocaml/mtime
cp -p _build/src-clock/*.{a,cma,cmi,cmt,cmti,js,mli} \
   %{buildroot}%{_libdir}/ocaml/mtime/clock/os
cp -p _build/src/mtime_top.{cma,cmi,cmt} %{buildroot}%{_libdir}/ocaml/mtime/top
cp -p _build/src/mtime_top_init.ml %{buildroot}%{_libdir}/ocaml/mtime
mkdir -p %{buildroot}%{_libdir}/ocaml/stublibs
cp -p _build/src-clock/*.so %{buildroot}%{_libdir}/ocaml/stublibs
%ocaml_files

# The clock directory is mistakenly labeled as a devel directory
sed -i '/%dir/d' .ofiles-devel

%check
ocaml pkg/pkg.ml test

%files -f .ofiles
%doc CHANGES.md README.md
%license LICENSE.md
%dir %{ocamldir}/mtime/clock

%files devel -f .ofiles-devel
%if %{with docs}
%doc _build/default/_doc/*
%endif

%changelog
* Tue Jul 11 2023 Richard W.M. Jones <rjones@redhat.com> - 2.0.0-2
- OCaml 5.0 rebuild for Fedora 39

* Mon Jul 10 2023 Jerry James <loganjerry@gmail.com> - 2.0.0-1
- Version 2.0.0

* Tue Jan 24 2023 Richard W.M. Jones <rjones@redhat.com> - 1.4.0-5
- Rebuild OCaml packages for F38

* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild

* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild

* Wed Jul 20 2022 Jerry James <loganjerry@gmail.com> - 1.4.0-2
- Link with the math library
- Use new OCaml macros

* Sat Jun 18 2022 Richard W.M. Jones <rjones@redhat.com> - 1.4.0-2
- OCaml 4.14.0 rebuild

* Mon Feb 28 2022 Jerry James <loganjerry@gmail.com> - 1.4.0-1
- Version 1.4.0

* Fri Feb 04 2022 Richard W.M. Jones <rjones@redhat.com> - 1.3.0-3
- OCaml 4.13.1 rebuild to remove package notes

* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild

* Wed Dec  1 2021 Jerry James <loganjerry@gmail.com> - 1.3.0-1
- Initial RPM