From b5c0200e7ac46e0c1a338e407eef0edd8142bd0a Mon Sep 17 00:00:00 2001 From: Jerry James Date: Wed, 19 Aug 2020 15:27:01 -0600 Subject: [PATCH] Initial import. --- .gitignore | 1 + ocaml-time-now.spec | 99 +++++++++++++++++++++++++++++++++++++++++++++ sources | 1 + 3 files changed, 101 insertions(+) create mode 100644 .gitignore create mode 100644 ocaml-time-now.spec create mode 100644 sources diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c0fae0f --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/time_now-*.tar.gz diff --git a/ocaml-time-now.spec b/ocaml-time-now.spec new file mode 100644 index 0000000..f45a5c3 --- /dev/null +++ b/ocaml-time-now.spec @@ -0,0 +1,99 @@ +%global srcname time-now +%global upname time_now + +Name: ocaml-%{srcname} +Version: 0.14.0 +Release: 1%{?dist} +Summary: Get the current time in OCaml + +License: MIT +URL: https://github.com/janestreet/%{upname} +Source0: %{url}/archive/v%{version}/%{upname}-%{version}.tar.gz + +BuildRequires: ocaml >= 4.04.2 +BuildRequires: (ocaml-base-devel >= 0.14 with ocaml-base-devel < 0.15) +BuildRequires: ocaml-dune >= 2.0.0 +BuildRequires: (ocaml-jane-street-headers-devel >= 0.14 with ocaml-jane-street-headers-devel < 0.15) +BuildRequires: (ocaml-jst-config-devel >= 0.14 with ocaml-jst-config-devel < 0.15) +BuildRequires: (ocaml-ppx-base-devel >= 0.14 with ocaml-ppx-base-devel < 0.15) +BuildRequires: (ocaml-ppx-optcomp-devel >= 0.14 with ocaml-ppx-optcomp-devel < 0.15) +BuildRequires: ocaml-odoc + +%description +This package provides a single OCaml function to report the current time +in nanoseconds since the start of the Unix epoch. + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: ocaml-base-devel%{?_isa} +Requires: ocaml-jane-street-headers-devel +Requires: ocaml-jst-config-devel%{?_isa} +Requires: ocaml-ppx-base-devel%{?_isa} +Requires: ocaml-ppx-optcomp-devel%{?_isa} + +%description devel +The %{name}-devel package contains libraries and signature +files for developing applications that use %{name}. + +%prep +%autosetup -n %{upname}-%{version} + +%build +dune build %{?_smp_mflags} --display=verbose +dune build %{?_smp_mflags} @doc + +# Relink the stublibs with $RPM_LD_FLAGS. +cd _build/default/src +ocamlmklib -g -ldopt "$RPM_LD_FLAGS" -o time_now_stubs \ + $(ar t libtime_now_stubs.a) +cd - + +%install +dune install --destdir=%{buildroot} + +# We do not want the dune markers +find _build/default/_doc/_html -name .dune-keep -delete + +# We do not want the ml files +find %{buildroot}%{_libdir}/ocaml -name \*.ml -delete + +# We install the documentation with the doc macro +rm -fr %{buildroot}%{_prefix}/doc + +%ifarch %{ocaml_native_compiler} +# Add missing executable bits +find %{buildroot}%{_libdir}/ocaml -name \*.cmxs -exec chmod a+x {} \+ +%endif + +%check +dune runtest + +%files +%license LICENSE.md +%dir %{_libdir}/ocaml/%{upname}/ +%{_libdir}/ocaml/%{upname}/META +%{_libdir}/ocaml/%{upname}/runtime.js +%{_libdir}/ocaml/%{upname}/*.cma +%{_libdir}/ocaml/%{upname}/*.cmi +%ifarch %{ocaml_native_compiler} +%{_libdir}/ocaml/%{upname}/*.cmxs +%endif +%{_libdir}/ocaml/stublibs/dlltime_now_stubs.so + +%files devel +%doc _build/default/_doc/_html/* +%{_libdir}/ocaml/%{upname}/dune-package +%{_libdir}/ocaml/%{upname}/opam +%ifarch %{ocaml_native_compiler} +%{_libdir}/ocaml/%{upname}/*.a +%{_libdir}/ocaml/%{upname}/*.cmx +%{_libdir}/ocaml/%{upname}/*.cmxa +%endif +%{_libdir}/ocaml/%{upname}/*.cmt +%{_libdir}/ocaml/%{upname}/*.cmti +%{_libdir}/ocaml/%{upname}/*.mli + +%changelog +* Mon Jun 22 2020 Jerry James - 0.14.0-1 +- Initial RPM diff --git a/sources b/sources new file mode 100644 index 0000000..c0bcc68 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (time_now-0.14.0.tar.gz) = 1b6d1a754e46f1756aa2aad3590e5052999f567630297491d62228ad733b189fbbfc0589b7bafd74e9f77ca0c0421093054e9062d2d5a7d7ed05930be67e9a5f