diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6913078 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/ppx_hash-*.tar.gz diff --git a/ocaml-ppx-hash.spec b/ocaml-ppx-hash.spec new file mode 100644 index 0000000..457ee22 --- /dev/null +++ b/ocaml-ppx-hash.spec @@ -0,0 +1,103 @@ +%ifnarch %{ocaml_native_compiler} +%global debug_package %{nil} +%endif + +%global srcname ppx-hash +%global upname ppx_hash + +Name: ocaml-%{srcname} +Version: 0.14.0 +Release: 1%{?dist} +Summary: Generate hash functions from type expressions and definitions + +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-ppx-compare-devel >= 0.14 with ocaml-ppx-compare-devel < 0.15) +BuildRequires: (ocaml-ppx-sexp-conv-devel >= 0.14 with ocaml-ppx-sexp-conv-devel < 0.15) +BuildRequires: ocaml-ppxlib-devel >= 0.11.0 +BuildRequires: ocaml-odoc + +%description +Ppx_hash is a ppx rewriter that generates hash functions from type +expressions and definitions. + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: ocaml-ppx-compare-devel%{?_isa} +Requires: ocaml-ppx-sexp-conv-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 + +%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}/expander/ +%dir %{_libdir}/ocaml/%{upname}/runtime-lib/ +%{_libdir}/ocaml/%{upname}/META +%{_libdir}/ocaml/%{upname}/*.cma +%{_libdir}/ocaml/%{upname}/*.cmi +%{_libdir}/ocaml/%{upname}/*/*.cma +%{_libdir}/ocaml/%{upname}/*/*.cmi +%ifarch %{ocaml_native_compiler} +%{_libdir}/ocaml/%{upname}/*.cmxs +%{_libdir}/ocaml/%{upname}/*/*.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}/*/*.a +%{_libdir}/ocaml/%{upname}/*/*.cmx +%{_libdir}/ocaml/%{upname}/*/*.cmxa +%endif +%{_libdir}/ocaml/%{upname}/*.cmt +%{_libdir}/ocaml/%{upname}/*.cmti +%{_libdir}/ocaml/%{upname}/*.mli +%{_libdir}/ocaml/%{upname}/*/*.cmt +%{_libdir}/ocaml/%{upname}/*/*.cmti +%{_libdir}/ocaml/%{upname}/*/*.mli + +%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..3d7d631 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (ppx_hash-0.14.0.tar.gz) = 21d68c0655c21fcd0cecceb8c69e45706b57db160e49c3b112e67cc874a8084946dbae8709ed99f24e7282182c7238cf95ef00bec3ac5a271409e9d5f788467c