#
# Conditional build:
-%bcond_without ocaml_opt # skip building native optimized binaries (bytecode is always built)
+%bcond_without ocaml_opt # native optimized binaries (bytecode is always built)
# not yet available on x32 (ocaml 4.02.1), update when upstream will support it
-%ifnarch %{ix86} %{x8664} arm aarch64 ppc sparc sparcv9
+%ifnarch %{ix86} %{x8664} %{arm} aarch64 ppc sparc sparcv9
%undefine with_ocaml_opt
%endif
Summary: Preprocessor (cpp equivalent) for OCaml
Summary(pl.UTF-8): Preprocesor (odpowiednik cpp) dla OCamla
Name: cppo
-Version: 1.1.2
-Release: 3
+Version: 1.6.8
+Release: 1
License: BSD
Group: Development/Tools
-Source0: http://mjambon.com/releases/cppo/%{name}-%{version}.tar.gz
-# Source0-md5: f1a551639c0c667ee8840d95ea5b2ab7
+#Source0Download: https://github.com/ocaml-community/cppo/releases
+Source0: https://github.com/mjambon/cppo/archive/v%{version}/%{name}-%{version}.tar.gz
+# Source0-md5: fed401197d86f9089e89f6cbdf1d660d
URL: http://mjambon.com/cppo.html
-BuildRequires: ocaml >= 3.04-7
+BuildRequires: ocaml >= 1:4.02.3
+BuildRequires: ocaml-dune >= 1.0
+BuildRequires: ocaml-findlib
+BuildRequires: ocaml-ocamlbuild-devel
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
%description -l pl.UTF-8
Cppo to przyjazna dla OCamla implementacja cpp - preprocesora języka
-C. Może zastąpić preprocesor camlp4 przy przetwarzaniu plików OCamla
-z wykorzystaniem stylu oraz składni cpp. Pozwala na definiowanie
+C. Może zastąpić preprocesor camlp4 przy przetwarzaniu plików OCamla z
+wykorzystaniem stylu oraz składni cpp. Pozwala na definiowanie
prostych makr oraz włączanie plików.
%package -n ocamlbuild-cppo
%setup -q
%build
-# "all" makes bytecode-based cppo, "opt" makes native
-%{__make} -j1 %{!?with_ocaml_opt:all} %{?with_ocaml_opt:opt} ocamlbuild \
- %{!?with_ocaml_opt:BEST=byte} \
- CC="%{__cc} %{rpmcflags} -fPIC"
+dune build --verbose
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_bindir},%{_libdir}/ocaml/site-lib/cppo_ocamlbuild,%{_examplesdir}}
-# make install-bin is broken outside Win*
-install -p cppo $RPM_BUILD_ROOT%{_bindir}
-
-%{__make} install-lib \
- %{!?with_ocaml_opt:BEST=byte} \
- OCAMLFIND_DESTDIR=$RPM_BUILD_ROOT%{_libdir}/ocaml
+dune install --verbose --destdir=$RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT%{_examplesdir}
cp -pr examples $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
-%{__mv} $RPM_BUILD_ROOT%{_libdir}/ocaml/cppo_ocamlbuild/META \
- $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/cppo_ocamlbuild
-cat >>$RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/cppo_ocamlbuild/META <<EOF
-directory="+cppo_ocamlbuild"
-EOF
+# not needed (no cppo ocaml library)
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/ocaml/cppo/{META,dune-package,opam}
+# sources
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/ocaml/cppo_ocamlbuild/ocamlbuild_cppo.ml
+# packaged as %doc
+%{__rm} -r $RPM_BUILD_ROOT%{_prefix}/doc/{cppo,cppo_ocamlbuild}
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(644,root,root,755)
-%doc Changes LICENSE README.md
+%doc Changes LICENSE.md README.md
%attr(755,root,root) %{_bindir}/cppo
%{_examplesdir}/%{name}-%{version}
%files -n ocamlbuild-cppo
%defattr(644,root,root,755)
%dir %{_libdir}/ocaml/cppo_ocamlbuild
-%{_libdir}/ocaml/cppo_ocamlbuild/ocamlbuild_cppo.cma
+%{_libdir}/ocaml/cppo_ocamlbuild/META
+%{_libdir}/ocaml/cppo_ocamlbuild/dune-package
+%{_libdir}/ocaml/cppo_ocamlbuild/opam
+%{_libdir}/ocaml/cppo_ocamlbuild/cppo_ocamlbuild.cma
%if %{with ocaml_opt}
-%attr(755,root,root) %{_libdir}/ocaml/cppo_ocamlbuild/ocamlbuild_cppo.cmxs
+%attr(755,root,root) %{_libdir}/ocaml/cppo_ocamlbuild/cppo_ocamlbuild.cmxs
%endif
-%{_libdir}/ocaml/site-lib/cppo_ocamlbuild
%files -n ocamlbuild-cppo-devel
%defattr(644,root,root,755)
%{_libdir}/ocaml/cppo_ocamlbuild/ocamlbuild_cppo.cmi
%if %{with ocaml_opt}
-%{_libdir}/ocaml/cppo_ocamlbuild/ocamlbuild_cppo.cmxa
-%{_libdir}/ocaml/cppo_ocamlbuild/ocamlbuild_cppo.a
+%{_libdir}/ocaml/cppo_ocamlbuild/ocamlbuild_cppo.cmx
+%{_libdir}/ocaml/cppo_ocamlbuild/cppo_ocamlbuild.cmxa
+%{_libdir}/ocaml/cppo_ocamlbuild/cppo_ocamlbuild.a
%endif
+%{_libdir}/ocaml/cppo_ocamlbuild/ocamlbuild_cppo.mli
+%{_libdir}/ocaml/cppo_ocamlbuild/ocamlbuild_cppo.cmt
+%{_libdir}/ocaml/cppo_ocamlbuild/ocamlbuild_cppo.cmti