Initial import.
This commit is contained in:
parent
b2e58929e1
commit
4f2bf7c010
|
@ -0,0 +1 @@
|
|||
/mdx-*.tbz
|
16
README.md
16
README.md
|
@ -1,3 +1,17 @@
|
|||
# ocaml-mdx
|
||||
|
||||
The ocaml-mdx package
|
||||
[mdx](https://realworldocaml.github.io/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:
|
||||
`<!-- $MDX labels -->`, where `labels` is a list of valid labels separated by
|
||||
a comma. This line must immediately precede the block it is attached to.
|
||||
|
|
|
@ -0,0 +1,131 @@
|
|||
%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: 1%{?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: `<!-- $MDX labels -->`, 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
|
||||
* Fri Dec 31 2021 Jerry James <loganjerry@gmail.com> - 2.0.0-1
|
||||
- Initial RPM
|
Loading…
Reference in New Issue