%ifnarch %{ocaml_native_compiler} %global debug_package %{nil} %endif %global srcname parsexp Name: ocaml-%{srcname} Version: 0.13.0 Release: 2%{?dist} Summary: S-expression parsing library License: MIT URL: https://github.com/janestreet/parsexp Source0: %{url}/archive/v%{version}/%{srcname}-%{version}.tar.gz BuildRequires: ocaml >= 4.04.2 BuildRequires: ocaml-base-devel >= 0.13 BuildRequires: ocaml-dune >= 1.5.1 BuildRequires: ocaml-findlib BuildRequires: ocaml-sexplib0-devel >= 0.13 %description This library provides generic parsers for parsing S-expressions from strings or other media. The library is focused on performance but still provides full generic parsers that can be used effortlessly with strings, bigstrings, lexing buffers, character streams or any other source. It provides three different classes of parsers: - the normal parsers, producing [Sexp.t] or [Sexp.t list] values; - the parsers with positions, building compact position sequences so that one can recover original positions in order to properly report error locations at little cost; and - the Concrete Syntax Tree parsers, producing values of type [Parsexp.Cst.t] which record the concrete layout of the s-expression syntax, including comments. This library is portable and doesn't provide I/O functions. To read s-expressions from files or other external sources, you should use parsexp_io. %package devel Summary: Development files for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} Requires: ocaml-base-devel%{?_isa} %description devel The %{name}-devel package contains libraries and signature files for developing applications that use %{name}. %prep %autosetup -n %{srcname}-%{version} %build dune build %{?_smp_mflags} %install dune install --destdir=%{buildroot} # 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 0755 {} \+ %endif %check dune runtest %files %doc CHANGES.md README.org %license LICENSE.md %dir %{_libdir}/ocaml/%{srcname}/ %{_libdir}/ocaml/%{srcname}/META %{_libdir}/ocaml/%{srcname}/%{srcname}*.cma %{_libdir}/ocaml/%{srcname}/%{srcname}*.cmi %ifarch %{ocaml_native_compiler} %{_libdir}/ocaml/%{srcname}/%{srcname}*.cmxs %endif %files devel %{_libdir}/ocaml/%{srcname}/dune-package %{_libdir}/ocaml/%{srcname}/opam %ifarch %{ocaml_native_compiler} %{_libdir}/ocaml/%{srcname}/%{srcname}*.a %{_libdir}/ocaml/%{srcname}/%{srcname}*.cmx %{_libdir}/ocaml/%{srcname}/%{srcname}*.cmxa %endif %{_libdir}/ocaml/%{srcname}/%{srcname}*.cmt %{_libdir}/ocaml/%{srcname}/%{srcname}*.cmti %{_libdir}/ocaml/%{srcname}/*.ml %{_libdir}/ocaml/%{srcname}/*.mli %changelog * Thu Jan 16 2020 Jerry James - 0.13.0-2 - Change -devel subpackage Requires to ocaml-base-devel - Build in parallel * Fri Jan 10 2020 Jerry James - 0.13.0-1 - Initial RPM