%ifnarch %{ocaml_native_compiler} %global debug_package %{nil} %endif %global srcname ppx-custom-printf %global upname ppx_custom_printf Name: ocaml-%{srcname} Version: 0.13.0 Release: 1%{?dist} Summary: Printf-style format-strings for user-defined string conversion 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.13 and ocaml-base-devel < 0.14) BuildRequires: ocaml-dune >= 1.5.1 BuildRequires: ocaml-odoc BuildRequires: ocaml-ppxlib-devel >= 0.9.0 BuildRequires: (ocaml-ppx-sexp-conv-devel >= 0.13 and ocaml-ppx-sexp-conv-devel < 0.14) %description Ppx_custom_printf is a ppx rewriter that allows the use of user-defined string conversion functions in format strings (that is, strings passed to printf, sprintf, etc.). No new syntax is introduced. Instead a previously ill-typed use of the `!` operator is re-purposed. %package devel Summary: Development files for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} Requires: ocaml-ppxlib-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} 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}/ %{_libdir}/ocaml/%{upname}/META %{_libdir}/ocaml/%{upname}/ppx.exe %{_libdir}/ocaml/%{upname}/*.cma %{_libdir}/ocaml/%{upname}/*.cmi %ifarch %{ocaml_native_compiler} %{_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 %endif %{_libdir}/ocaml/%{upname}/*.cmt %{_libdir}/ocaml/%{upname}/*.cmti %{_libdir}/ocaml/%{upname}/*.mli %changelog * Thu May 7 2020 Jerry James - 0.13.0-1 - Initial RPM