138 lines
4.0 KiB
RPMSpec
138 lines
4.0 KiB
RPMSpec
%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.1.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 >= 1.1.0
|
|
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 >= 1.0.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
|
|
* Thu Feb 3 2022 Jerry James <loganjerry@gmail.com> - 2.1.0-1
|
|
- Version 2.1.0
|
|
|
|
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.0-2
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
|
|
|
* Fri Dec 31 2021 Jerry James <loganjerry@gmail.com> - 2.0.0-1
|
|
- Initial RPM
|