%undefine _package_note_flags %ifnarch %{ocaml_native_compiler} %global debug_package %{nil} %endif %global srcname mtime Name: ocaml-%{srcname} Version: 1.4.0 Release: 1%{?dist} Summary: Monotonic wall-clock time for OCaml License: ISC URL: https://erratique.ch/software/mtime Source0: %{url}/releases/%{srcname}-%{version}.tbz BuildRequires: ocaml >= 4.08.0 BuildRequires: ocaml-findlib BuildRequires: ocaml-ocamlbuild BuildRequires: ocaml-topkg-devel >= 1.0.3 %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 %{srcname}-%{version} %build ocaml pkg/pkg.ml build --dev-pkg false --tests true # Relink with Fedora linker flags cd _build ocamlopt -shared -linkall -cclib '%{build_ldflags} -lm' -I src src/mtime.cmxa \ -g -o src/mtime.cmxs ocamlfind ocamlopt -shared -linkall -cclib '%{build_ldflags}' -package \ compiler-libs.toplevel -I src src/mtime_top.cmxa -g -o src/mtime_top.cmxs ocamlfind ocamlmklib -ldopt '%{build_ldflags}' -o src-clock/mtime_clock_stubs \ -g src-clock/mtime_clock_stubs.o ocamlfind ocamlopt -shared -linkall -cclib '%{build_ldflags}' \ src-clock/libmtime_clock_stubs.a -I src-clock src-clock/mtime_clock.cmxa -g \ -o src-clock/mtime_clock.cmxs cd - %install mkdir -p %{buildroot}%{_libdir}/ocaml/%{srcname}/clock/os mkdir -p %{buildroot}%{_libdir}/ocaml/%{srcname}/top cp -p _build/src/mtime.{a,cma,cmi,cmt,cmti,cmx,cmxa,cmxs,mli} _build/pkg/META \ _build/opam %{buildroot}%{_libdir}/ocaml/%{srcname} cp -p _build/src/mtime_clock.{cmi,cmti,mli} \ %{buildroot}%{_libdir}/ocaml/%{srcname}/clock cp -p _build/src-clock/*.{a,cma,cmi,cmt,cmti,cmx,cmxa,cmxs,js,mli} \ %{buildroot}%{_libdir}/ocaml/%{srcname}/clock/os cp -p _build/src/mtime_top_init.ml %{buildroot}%{_libdir}/ocaml/%{srcname} cp -p _build/src/mtime_top.{a,cma,cmi,cmt,cmx,cmxa,cmxs} \ %{buildroot}%{_libdir}/ocaml/%{srcname}/top mkdir -p %{buildroot}%{_libdir}/ocaml/stublibs cp -p _build/src-clock/*.so %{buildroot}%{_libdir}/ocaml/stublibs # Upstream currently does not run any tests #check # ocaml pkg/pkg.ml test %files %doc CHANGES.md README.md %license LICENSE.md %dir %{_libdir}/ocaml/%{srcname}/ %dir %{_libdir}/ocaml/%{srcname}/clock/ %dir %{_libdir}/ocaml/%{srcname}/clock/os/ %{_libdir}/ocaml/%{srcname}/META %{_libdir}/ocaml/%{srcname}/{,*/,*/*/}*.cma %{_libdir}/ocaml/%{srcname}/{,*/,*/*/}*.cmi %ifarch %{ocaml_native_compiler} %{_libdir}/ocaml/%{srcname}/{,*/,*/*/}*.cmxs %endif %{_libdir}/ocaml/%{srcname}/clock/os/*.js %{_libdir}/ocaml/%{srcname}/*.ml %{_libdir}/ocaml/stublibs/*.so %files devel %if %{with docs} %doc _build/default/_doc/* %endif %{_libdir}/ocaml/%{srcname}/opam %ifarch %{ocaml_native_compiler} %{_libdir}/ocaml/%{srcname}/{,*/,*/*/}*.a %{_libdir}/ocaml/%{srcname}/{,*/,*/*/}*.cmx %{_libdir}/ocaml/%{srcname}/{,*/,*/*/}*.cmxa %endif %{_libdir}/ocaml/%{srcname}/{,*/,*/*/}*.cmt %{_libdir}/ocaml/%{srcname}/{,*/,*/*/}*.cmti %{_libdir}/ocaml/%{srcname}/{,*/,*/*/}*.mli %changelog * Mon Feb 28 2022 Jerry James - 1.4.0-1 - Version 1.4.0 * Fri Feb 04 2022 Richard W.M. Jones - 1.3.0-3 - OCaml 4.13.1 rebuild to remove package notes * Thu Jan 20 2022 Fedora Release Engineering - 1.3.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild * Wed Dec 1 2021 Jerry James - 1.3.0-1 - Initial RPM