Blame ocaml-mtime.spec

8ea153d
%undefine _package_note_flags
999409d
9b60dc9
%ifnarch %{ocaml_native_compiler}
9b60dc9
%global debug_package %{nil}
9b60dc9
%endif
9b60dc9
9b60dc9
%global srcname mtime
9b60dc9
9b60dc9
Name:           ocaml-%{srcname}
999409d
Version:        1.4.0
cb9d5af
Release:        2%{?dist}
9b60dc9
Summary:        Monotonic wall-clock time for OCaml
9b60dc9
9b60dc9
License:        ISC
9b60dc9
URL:            https://erratique.ch/software/mtime
9b60dc9
Source0:        %{url}/releases/%{srcname}-%{version}.tbz
9b60dc9
999409d
BuildRequires:  ocaml >= 4.08.0
9b60dc9
BuildRequires:  ocaml-findlib
9b60dc9
BuildRequires:  ocaml-ocamlbuild
999409d
BuildRequires:  ocaml-topkg-devel >= 1.0.3
9b60dc9
9b60dc9
%description
9b60dc9
Mtime has platform independent support for monotonic wall-clock time in
9b60dc9
pure OCaml.  This time increases monotonically and is not subject to
9b60dc9
operating system calendar time adjustments.  The library has types to
9b60dc9
represent nanosecond precision timestamps and time spans.
9b60dc9
9b60dc9
The additional Mtime_clock library provide access to a system
9b60dc9
monotonic clock.
9b60dc9
9b60dc9
Mtime has no dependencies.  Mtime_clock depends on your system library.
9b60dc9
9b60dc9
%package        devel
9b60dc9
Summary:        Development files for %{name}
9b60dc9
Requires:       %{name}%{?_isa} = %{version}-%{release}
9b60dc9
9b60dc9
%description    devel
9b60dc9
The %{name}-devel package contains libraries and signature
9b60dc9
files for developing applications that use %{name}.
9b60dc9
9b60dc9
%prep
9b60dc9
%autosetup -n %{srcname}-%{version}
9b60dc9
9b60dc9
%build
999409d
ocaml pkg/pkg.ml build --dev-pkg false --tests true
9b60dc9
9b60dc9
# Relink with Fedora linker flags
9b60dc9
cd _build
9b60dc9
ocamlopt -shared -linkall -cclib '%{build_ldflags} -lm' -I src src/mtime.cmxa \
9b60dc9
  -g -o src/mtime.cmxs
9b60dc9
ocamlfind ocamlopt -shared -linkall -cclib '%{build_ldflags}' -package \
9b60dc9
  compiler-libs.toplevel -I src src/mtime_top.cmxa -g -o src/mtime_top.cmxs
999409d
ocamlfind ocamlmklib -ldopt '%{build_ldflags}' -o src-clock/mtime_clock_stubs \
999409d
  -g src-clock/mtime_clock_stubs.o
999409d
ocamlfind ocamlopt -shared -linkall -cclib '%{build_ldflags}' \
999409d
  src-clock/libmtime_clock_stubs.a -I src-clock src-clock/mtime_clock.cmxa -g \
999409d
  -o src-clock/mtime_clock.cmxs
9b60dc9
cd -
9b60dc9
9b60dc9
%install
999409d
mkdir -p %{buildroot}%{_libdir}/ocaml/%{srcname}/clock/os
999409d
mkdir -p %{buildroot}%{_libdir}/ocaml/%{srcname}/top
999409d
cp -p _build/src/mtime.{a,cma,cmi,cmt,cmti,cmx,cmxa,cmxs,mli} _build/pkg/META \
9b60dc9
   _build/opam %{buildroot}%{_libdir}/ocaml/%{srcname}
999409d
cp -p _build/src/mtime_clock.{cmi,cmti,mli} \
999409d
   %{buildroot}%{_libdir}/ocaml/%{srcname}/clock
999409d
cp -p _build/src-clock/*.{a,cma,cmi,cmt,cmti,cmx,cmxa,cmxs,js,mli} \
999409d
   %{buildroot}%{_libdir}/ocaml/%{srcname}/clock/os
999409d
cp -p _build/src/mtime_top_init.ml %{buildroot}%{_libdir}/ocaml/%{srcname}
999409d
cp -p _build/src/mtime_top.{a,cma,cmi,cmt,cmx,cmxa,cmxs} \
999409d
   %{buildroot}%{_libdir}/ocaml/%{srcname}/top
9b60dc9
mkdir -p %{buildroot}%{_libdir}/ocaml/stublibs
999409d
cp -p _build/src-clock/*.so %{buildroot}%{_libdir}/ocaml/stublibs
9b60dc9
999409d
# Upstream currently does not run any tests
999409d
#check
999409d
# ocaml pkg/pkg.ml test
9b60dc9
9b60dc9
%files
9b60dc9
%doc CHANGES.md README.md
9b60dc9
%license LICENSE.md
9b60dc9
%dir %{_libdir}/ocaml/%{srcname}/
999409d
%dir %{_libdir}/ocaml/%{srcname}/clock/
999409d
%dir %{_libdir}/ocaml/%{srcname}/clock/os/
9b60dc9
%{_libdir}/ocaml/%{srcname}/META
999409d
%{_libdir}/ocaml/%{srcname}/{,*/,*/*/}*.cma
999409d
%{_libdir}/ocaml/%{srcname}/{,*/,*/*/}*.cmi
9b60dc9
%ifarch %{ocaml_native_compiler}
999409d
%{_libdir}/ocaml/%{srcname}/{,*/,*/*/}*.cmxs
9b60dc9
%endif
999409d
%{_libdir}/ocaml/%{srcname}/clock/os/*.js
999409d
%{_libdir}/ocaml/%{srcname}/*.ml
9b60dc9
%{_libdir}/ocaml/stublibs/*.so
9b60dc9
9b60dc9
%files         devel
9b60dc9
%if %{with docs}
9b60dc9
%doc _build/default/_doc/*
9b60dc9
%endif
9b60dc9
%{_libdir}/ocaml/%{srcname}/opam
9b60dc9
%ifarch %{ocaml_native_compiler}
999409d
%{_libdir}/ocaml/%{srcname}/{,*/,*/*/}*.a
999409d
%{_libdir}/ocaml/%{srcname}/{,*/,*/*/}*.cmx
999409d
%{_libdir}/ocaml/%{srcname}/{,*/,*/*/}*.cmxa
9b60dc9
%endif
999409d
%{_libdir}/ocaml/%{srcname}/{,*/,*/*/}*.cmt
999409d
%{_libdir}/ocaml/%{srcname}/{,*/,*/*/}*.cmti
999409d
%{_libdir}/ocaml/%{srcname}/{,*/,*/*/}*.mli
9b60dc9
9b60dc9
%changelog
cb9d5af
* Sat Jun 18 2022 Richard W.M. Jones <rjones@redhat.com> - 1.4.0-2
cb9d5af
- OCaml 4.14.0 rebuild
cb9d5af
999409d
* Mon Feb 28 2022 Jerry James <loganjerry@gmail.com> - 1.4.0-1
999409d
- Version 1.4.0
999409d
8ea153d
* Fri Feb 04 2022 Richard W.M. Jones <rjones@redhat.com> - 1.3.0-3
8ea153d
- OCaml 4.13.1 rebuild to remove package notes
8ea153d
75e698e
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.0-2
75e698e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
75e698e
9b60dc9
* Wed Dec  1 2021 Jerry James <loganjerry@gmail.com> - 1.3.0-1
9b60dc9
- Initial RPM