# This package is needed to build ppx_jane, which is needed to run the tests
# in this package.  Break the circular dependency here.
%bcond test 0

Name:           ocaml-ppx-log
Version:        0.17.0
Release:        %autorelease
Summary:        Extension nodes for lazily rendering log messages

License:        MIT
URL:            https://github.com/janestreet/ppx_log
VCS:            git:%{url}.git
Source:         %{url}/archive/v%{version}/ppx_log-%{version}.tar.gz

# OCaml packages not built on i686 since OCaml 5 / Fedora 39.
ExcludeArch:    %{ix86}

BuildRequires:  ocaml >= 5.1.0
BuildRequires:  ocaml-base-devel >= 0.17
BuildRequires:  ocaml-dune >= 3.11.0
BuildRequires:  ocaml-ppx-compare-devel >= 0.17
BuildRequires:  ocaml-ppx-enumerate-devel >= 0.17
BuildRequires:  ocaml-ppx-expect-devel >= 0.17
BuildRequires:  ocaml-ppx-fields-conv-devel >= 0.17
BuildRequires:  ocaml-ppx-here-devel >= 0.17
BuildRequires:  ocaml-ppx-let-devel >= 0.17
BuildRequires:  ocaml-ppx-sexp-conv-devel >= 0.17
BuildRequires:  ocaml-ppx-sexp-message-devel >= 0.17
BuildRequires:  ocaml-ppx-sexp-value-devel >= 0.17
BuildRequires:  ocaml-ppx-string-devel >= 0.17
BuildRequires:  ocaml-ppx-variants-conv-devel >= 0.17
BuildRequires:  ocaml-ppxlib-devel >= 0.28.0
BuildRequires:  ocaml-sexplib-devel >= 0.17
BuildRequires:  ocaml-stdio-devel >= 0.17

%if %{with test}
BuildRequires:  ocaml-ppx-jane-devel
%endif

%description
A ppx rewriter that defines extension nodes for logging: primarily
useful to avoid allocation of sexps that will never be logged.

```ocaml
[%log.debug log "example log" (content : Content.t)]
[%log.global.debug "example log" (content : Content.t)]
```

%package        devel
Summary:        Development files for %{name}
Requires:       %{name}%{?_isa} = %{version}-%{release}
Requires:       ocaml-base-devel%{?_isa}
Requires:       ocaml-ppx-compare-devel%{?_isa}
Requires:       ocaml-ppx-enumerate-devel%{?_isa}
Requires:       ocaml-ppx-expect-devel%{?_isa}
Requires:       ocaml-ppx-fields-conv-devel%{?_isa}
Requires:       ocaml-ppx-here-devel%{?_isa}
Requires:       ocaml-ppx-let-devel%{?_isa}
Requires:       ocaml-ppx-sexp-conv-devel%{?_isa}
Requires:       ocaml-ppx-sexp-message-devel%{?_isa}
Requires:       ocaml-ppx-sexp-value-devel%{?_isa}
Requires:       ocaml-ppx-string-devel%{?_isa}
Requires:       ocaml-ppx-variants-conv-devel%{?_isa}
Requires:       ocaml-ppxlib-devel%{?_isa}
Requires:       ocaml-sexplib-devel%{?_isa}
Requires:       ocaml-stdio-devel%{?_isa}

%description    devel
The %{name}-devel package contains libraries and signature
files for developing applications that use %{name}.

%prep
%autosetup -n ppx_log-%{version}

%build
%dune_build

%install
%dune_install

%if %{with test}
%check
%dune_check
%endif

%files -f .ofiles
%doc CHANGES.md
%license LICENSE.md

%files devel -f .ofiles-devel

%changelog
%autochangelog