3 %bcond_without ocaml_opt # native optimized binaries (bytecode is always built)
5 # not yet available on x32 (ocaml 4.02.1), update when upstream will support it
6 %ifnarch %{ix86} %{x8664} %{arm} aarch64 ppc sparc sparcv9
7 %undefine with_ocaml_opt
10 %define debug_package %{nil}
11 Summary: Preprocessor (cpp equivalent) for OCaml
12 Summary(pl.UTF-8): Preprocesor (odpowiednik cpp) dla OCamla
17 Group: Development/Tools
18 #Source0Download: https://github.com/ocaml-community/cppo/releases
19 Source0: https://github.com/mjambon/cppo/archive/v%{version}/%{name}-%{version}.tar.gz
20 # Source0-md5: fed401197d86f9089e89f6cbdf1d660d
21 URL: http://mjambon.com/cppo.html
22 BuildRequires: ocaml >= 1:4.02.3
23 BuildRequires: ocaml-dune >= 1.0
24 BuildRequires: ocaml-findlib
25 BuildRequires: ocaml-ocamlbuild-devel
26 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
29 Cppo is an OCaml-friendly implementation of cpp, the C preprocessor.
30 It can replace camlp4 for preprocessing OCaml files, using cpp style
31 and syntax. It allows defining simple macros and file inclusion.
33 %description -l pl.UTF-8
34 Cppo to przyjazna dla OCamla implementacja cpp - preprocesora języka
35 C. Może zastąpić preprocesor camlp4 przy przetwarzaniu plików OCamla z
36 wykorzystaniem stylu oraz składni cpp. Pozwala na definiowanie
37 prostych makr oraz włączanie plików.
39 %package -n ocamlbuild-cppo
40 Summary: Cppo plugin for ocamlbuild
41 Summary(pl.UTF-8): Wtyczka cppo dla ocamlbuilda
43 Requires: %{name} = %{version}-%{release}
44 # ocamlbuild resides in ocaml package, so don't require just ocaml-runtime
47 %description -n ocamlbuild-cppo
48 Cppo plugin for ocamlbuild.
50 %description -n ocamlbuild-cppo -l pl.UTF-8
51 Wtyczka cppo dla ocamlbuilda.
53 %package -n ocamlbuild-cppo-devel
54 Summary: Development files for ocamlbuild_cppo library
55 Summary(pl.UTF-8): Pliki programistyczne biblioteki ocamlbuild_cppo
56 Group: Development/Libraries
57 Requires: ocamlbuild-cppo = %{version}-%{release}
60 %description -n ocamlbuild-cppo-devel
61 Development files for ocamlbuild_cppo library.
63 %description -n ocamlbuild-cppo-devel -l pl.UTF-8
64 Pliki programistyczne biblioteki ocamlbuild_cppo.
73 rm -rf $RPM_BUILD_ROOT
75 dune install --verbose --destdir=$RPM_BUILD_ROOT
77 install -d $RPM_BUILD_ROOT%{_examplesdir}
78 cp -pr examples $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
80 # not needed (no cppo ocaml library)
81 %{__rm} $RPM_BUILD_ROOT%{_libdir}/ocaml/cppo/{META,dune-package,opam}
83 %{__rm} $RPM_BUILD_ROOT%{_libdir}/ocaml/cppo_ocamlbuild/ocamlbuild_cppo.ml
85 %{__rm} -r $RPM_BUILD_ROOT%{_prefix}/doc/{cppo,cppo_ocamlbuild}
88 rm -rf $RPM_BUILD_ROOT
91 %defattr(644,root,root,755)
92 %doc Changes LICENSE.md README.md
93 %attr(755,root,root) %{_bindir}/cppo
94 %{_examplesdir}/%{name}-%{version}
96 %files -n ocamlbuild-cppo
97 %defattr(644,root,root,755)
98 %dir %{_libdir}/ocaml/cppo_ocamlbuild
99 %{_libdir}/ocaml/cppo_ocamlbuild/META
100 %{_libdir}/ocaml/cppo_ocamlbuild/dune-package
101 %{_libdir}/ocaml/cppo_ocamlbuild/opam
102 %{_libdir}/ocaml/cppo_ocamlbuild/cppo_ocamlbuild.cma
103 %if %{with ocaml_opt}
104 %attr(755,root,root) %{_libdir}/ocaml/cppo_ocamlbuild/cppo_ocamlbuild.cmxs
107 %files -n ocamlbuild-cppo-devel
108 %defattr(644,root,root,755)
109 %{_libdir}/ocaml/cppo_ocamlbuild/ocamlbuild_cppo.cmi
110 %if %{with ocaml_opt}
111 %{_libdir}/ocaml/cppo_ocamlbuild/ocamlbuild_cppo.cmx
112 %{_libdir}/ocaml/cppo_ocamlbuild/cppo_ocamlbuild.cmxa
113 %{_libdir}/ocaml/cppo_ocamlbuild/cppo_ocamlbuild.a
115 %{_libdir}/ocaml/cppo_ocamlbuild/ocamlbuild_cppo.mli
116 %{_libdir}/ocaml/cppo_ocamlbuild/ocamlbuild_cppo.cmt
117 %{_libdir}/ocaml/cppo_ocamlbuild/ocamlbuild_cppo.cmti