From 754d16db37721222c538d38b2d8f68ad27bbd100 Mon Sep 17 00:00:00 2001 From: Jerry James Date: Fri, 14 Aug 2020 14:28:16 -0600 Subject: [PATCH] Initial import. --- .gitignore | 1 + ocaml-ppx-enumerate.spec | 98 ++++++++++++++++++++++++++++++++++++++++ sources | 1 + 3 files changed, 100 insertions(+) create mode 100644 .gitignore create mode 100644 ocaml-ppx-enumerate.spec create mode 100644 sources diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..59b48ea --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/ppx_enumerate-*.tar.gz diff --git a/ocaml-ppx-enumerate.spec b/ocaml-ppx-enumerate.spec new file mode 100644 index 0000000..98b83da --- /dev/null +++ b/ocaml-ppx-enumerate.spec @@ -0,0 +1,98 @@ +%ifnarch %{ocaml_native_compiler} +%global debug_package %{nil} +%endif + +%global srcname ppx-enumerate +%global upname ppx_enumerate + +Name: ocaml-%{srcname} +Version: 0.14.0 +Release: 1%{?dist} +Summary: Generate a list containing all values of a finite type + +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-ppxlib-devel >= 0.11.0 +BuildRequires: ocaml-odoc + +%description +Ppx_enumerate is a ppx rewriter which generates a definition for the +list of all values of a type (for a type which has only finitely many +values). + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: ocaml-ppxlib-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} +dune build %{?_smp_mflags} @doc + +%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 +%doc CHANGES.md README.md +%license LICENSE.md +%dir %{_libdir}/ocaml/%{upname}/ +%dir %{_libdir}/ocaml/%{upname}/runtime-lib/ +%{_libdir}/ocaml/%{upname}/META +%{_libdir}/ocaml/%{upname}/*.cma +%{_libdir}/ocaml/%{upname}/*.cmi +%{_libdir}/ocaml/%{upname}/runtime-lib/*.cma +%{_libdir}/ocaml/%{upname}/runtime-lib/*.cmi +%ifarch %{ocaml_native_compiler} +%{_libdir}/ocaml/%{upname}/*.cmxs +%{_libdir}/ocaml/%{upname}/runtime-lib/*.cmxs +%endif + +%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 +%{_libdir}/ocaml/%{upname}/runtime-lib/*.a +%{_libdir}/ocaml/%{upname}/runtime-lib/*.cmx +%{_libdir}/ocaml/%{upname}/runtime-lib/*.cmxa +%endif +%{_libdir}/ocaml/%{upname}/*.cmt +%{_libdir}/ocaml/%{upname}/*.cmti +%{_libdir}/ocaml/%{upname}/*.mli +%{_libdir}/ocaml/%{upname}/runtime-lib/*.cmt + +%changelog +* Sat Jun 20 2020 Jerry James - 0.14.0-1 +- Initial RPM diff --git a/sources b/sources new file mode 100644 index 0000000..2d53ab8 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (ppx_enumerate-0.14.0.tar.gz) = d7f61ba792af81395c76e51bcb81b467ae4b67fdc3022d2e55ab0682bb4710e9a96852457721567a9f13606bd4290dbac8fd34421b0dffbabdd9debd1268ecc5