%ifnarch %{ocaml_native_compiler} %global debug_package %{nil} %endif %bcond_with dune Name: ocaml-csexp Version: 1.5.1 Release: 1 Summary: Parsing and printing of S-expressions in canonical form License: MIT URL: https://github.com/ocaml-dune/csexp Source0: https://github.com/ocaml-dune/csexp/releases/download/%{version}/csexp-%{version}.tbz BuildRequires: ocaml >= 4.03.0 %if %{with dune} BuildRequires: ocaml-dune >= 1.11 BuildRequires: ocaml-odoc %endif %description This project provides minimal support for parsing and printing S-expressions in canonical form, which is a very simple and canonical binary encoding of S-expressions. %package devel Summary: Development files for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} %description devel The %{name}-devel package contains libraries and signature files for developing applications that use %{name}. %prep %autosetup -N -n csexp-%{version} %build %if %{with dune} dune build %{?_smp_mflags} --display=verbose @install dune build %{?_smp_mflags} @doc %else OFLAGS="-strict-sequence -strict-formats -short-paths -keep-locs -g" OCFLAGS="$OFLAGS -bin-annot" cd src ocamlc $OCFLAGS -output-obj csexp.mli ocamlc $OCFLAGS -a -o csexp.cma csexp.ml %ifarch %{ocaml_native_compiler} ocamlopt $OFLAGS -ccopt "%{build_cflags}" -cclib "%{build_ldflags}" -a \ -o csexp.cmxa csexp.ml ocamlopt $OFLAGS -ccopt "%{build_cflags}" -cclib "%{build_ldflags}" -shared \ -o csexp.cmxs csexp.ml %endif cd - %endif %install %if %{with dune} dune install --destdir=%{buildroot} find _build/default/_doc/_html -name .dune-keep -delete find %{buildroot}%{_libdir}/ocaml -name \*.ml -delete rm -fr %{buildroot}%{_prefix}/doc %else mkdir -p %{buildroot}%{_libdir}/ocaml/csexp cp -p src/csexp.{cma,cmi,cmt,cmti,mli} %{buildroot}%{_libdir}/ocaml/csexp %ifarch %{ocaml_native_compiler} cp -p src/csexp.{a,cmx,cmxa,cmxs} %{buildroot}%{_libdir}/ocaml/csexp %endif cp -p csexp.opam %{buildroot}%{_libdir}/ocaml/csexp/opam cat >> %{buildroot}%{_libdir}/ocaml/csexp/META << EOF version = "%{version}" description = "Parsing and printing of S-expressions in canonical form" archive(byte) = "csexp.cma" %ifarch %{ocaml_native_compiler} archive(native) = "csexp.cmxa" %endif plugin(byte) = "csexp.cma" %ifarch %{ocaml_native_compiler} plugin(native) = "csexp.cmxs" %endif EOF cat >> %{buildroot}%{_libdir}/ocaml/csexp/dune-package << EOF (lang dune 2.8) (name csexp) (version %{version}) (library (name csexp) (kind normal) %ifarch %{ocaml_native_compiler} (archives (byte csexp.cma) (native csexp.cmxa)) (plugins (byte csexp.cma) (native csexp.cmxs)) (native_archives csexp.a) %else (archives (byte csexp.cma)) (plugins (byte csexp.cma)) %endif (main_module_name Csexp) %ifarch %{ocaml_native_compiler} (modes byte native) %else (modes byte) %endif (modules (singleton (name Csexp) (obj_name csexp) (visibility public) (impl) (intf)))) EOF %endif %files %doc README.md %license LICENSE.md %dir %{_libdir}/ocaml/csexp/ %{_libdir}/ocaml/csexp/META %{_libdir}/ocaml/csexp/*.cma %{_libdir}/ocaml/csexp/*.cmi %ifarch %{ocaml_native_compiler} %{_libdir}/ocaml/csexp/*.cmxs %endif %files devel %{_libdir}/ocaml/csexp/dune-package %{_libdir}/ocaml/csexp/opam %ifarch %{ocaml_native_compiler} %{_libdir}/ocaml/csexp/*.a %{_libdir}/ocaml/csexp/*.cmx %{_libdir}/ocaml/csexp/*.cmxa %endif %{_libdir}/ocaml/csexp/*.cmt %{_libdir}/ocaml/csexp/*.cmti %{_libdir}/ocaml/csexp/*.mli %changelog * Thu Jan 20 2022 xu_ping - 1.5.1-1 - Package init