%ifnarch %{ocaml_native_compiler} %global debug_package %{nil} %endif %global srcname mdx # Break a circular dependency by not building documentation %bcond_with doc Name: ocaml-%{srcname} Version: 2.0.0 Release: 2%{?dist} Summary: Executable code blocks inside markdown files License: ISC URL: https://realworldocaml.github.io/mdx/ Source0: https://github.com/realworldocaml/mdx/releases/download/%{version}/%{srcname}-%{version}.tbz BuildRequires: ocaml >= 4.08.0 BuildRequires: ocaml-alcotest-devel BuildRequires: ocaml-astring-devel BuildRequires: ocaml-cmdliner-devel >= 1.0.0 BuildRequires: ocaml-cppo BuildRequires: ocaml-csexp-devel >= 1.3.2 BuildRequires: ocaml-dune >= 2.7 BuildRequires: ocaml-fmt-devel >= 0.8.7 BuildRequires: ocaml-findlib BuildRequires: ocaml-logs-devel >= 0.7.0 BuildRequires: ocaml-lwt-devel BuildRequires: ocaml-odoc-parser-devel >= 0.9.0 BuildRequires: ocaml-re-devel >= 1.7.2 BuildRequires: ocaml-result-devel BuildRequires: ocaml-version-devel >= 2.3.0 %if %{with doc} BuildRequires: ocaml-odoc %endif %description mdx enables execution of code blocks inside markdown files. There are (currently) two sub-commands, corresponding to two modes of operation: preprocessing (`ocaml-mdx pp`) and tests (`ocaml-mdx test`). The preprocessor mode enables mixing documentation and code, and the practice of "literate programming" using markdown and OCaml. The test mode enables ensuring that shell scripts and OCaml fragments in the documentation always stay up-to-date. The blocks in markdown files can be parameterized by `mdx`-specific labels, that will change the way `mdx` interprets the block. The syntax is: ``, where `labels` is a list of valid labels separated by a comma. This line must immediately precede the block it is attached to. %package devel Summary: Development files for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} Requires: ocaml-astring-devel%{?_isa} Requires: ocaml-csexp-devel%{?_isa} Requires: ocaml-fmt-devel%{?_isa} Requires: ocaml-logs-devel%{?_isa} Requires: ocaml-odoc-parser-devel%{?_isa} Requires: ocaml-re-devel%{?_isa} Requires: ocaml-result-devel%{?_isa} Requires: ocaml-version-devel%{?_isa} %description devel The %{name}-devel package contains libraries and signature files for developing applications that use %{name}. %prep %autosetup -n %{srcname}-%{version} -p1 %build dune build %{?_smp_mflags} --release %if %{with doc} dune build %{?_smp_mflags} @doc %endif %install dune install --destdir=%{buildroot} %if %{with doc} # We do not want the dune markers find _build/default/_doc/_html -name .dune-keep -delete %endif # 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 %check dune runtest --release %files %doc CHANGES.md README.md %license LICENSE.md %{_bindir}/ocaml-mdx %{_bindir}/ocaml-mdx-test %dir %{_libdir}/ocaml/%{srcname}/ %dir %{_libdir}/ocaml/%{srcname}/test/ %dir %{_libdir}/ocaml/%{srcname}/top/ %{_libdir}/ocaml/%{srcname}/META %{_libdir}/ocaml/%{srcname}/{,*/}*.cma %{_libdir}/ocaml/%{srcname}/{,*/}*.cmi %ifarch %{ocaml_native_compiler} %{_libdir}/ocaml/%{srcname}/{,*/}*.cmxs %endif %files devel %if %{with doc} %doc _build/default/_doc/* %endif %{_libdir}/ocaml/%{srcname}/dune-package %{_libdir}/ocaml/%{srcname}/opam %ifarch %{ocaml_native_compiler} %{_libdir}/ocaml/%{srcname}/{,*/}*.a %{_libdir}/ocaml/%{srcname}/{,*/}*.cmx %{_libdir}/ocaml/%{srcname}/{,*/}*.cmxa %endif %{_libdir}/ocaml/%{srcname}/{,*/}*.cmt %{_libdir}/ocaml/%{srcname}/{,*/}*.cmti %{_libdir}/ocaml/%{srcname}/{,*/}*.mli %changelog * Thu Jan 20 2022 Fedora Release Engineering - 2.0.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild * Fri Dec 31 2021 Jerry James - 2.0.0-1 - Initial RPM