Initial import.
This commit is contained in:
parent
b2e58929e1
commit
4f2bf7c010
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
/mdx-*.tbz
|
16
README.md
16
README.md
@ -1,3 +1,17 @@
|
|||||||
# ocaml-mdx
|
# 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.
|
||||||
|
131
ocaml-mdx.spec
Normal file
131
ocaml-mdx.spec
Normal file
@ -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
Block a user