3 %bcond_without ocaml_opt # skip building 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 Source0: https://github.com/mjambon/cppo/archive/v%{version}/%{name}-%{version}.tar.gz
19 # Source0-md5: 88c9f9a1f067f91dab5abe1653e281a9
20 URL: http://mjambon.com/cppo.html
21 BuildRequires: ocaml >= 3.04-7
22 BuildRequires: ocaml-findlib
23 BuildRequires: ocaml-ocamlbuild-devel
24 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
27 Cppo is an OCaml-friendly implementation of cpp, the C preprocessor.
28 It can replace camlp4 for preprocessing OCaml files, using cpp style
29 and syntax. It allows defining simple macros and file inclusion.
31 %description -l pl.UTF-8
32 Cppo to przyjazna dla OCamla implementacja cpp - preprocesora języka
33 C. Może zastąpić preprocesor camlp4 przy przetwarzaniu plików OCamla z
34 wykorzystaniem stylu oraz składni cpp. Pozwala na definiowanie
35 prostych makr oraz włączanie plików.
37 %package -n ocamlbuild-cppo
38 Summary: Cppo plugin for ocamlbuild
39 Summary(pl.UTF-8): Wtyczka cppo dla ocamlbuilda
41 Requires: %{name} = %{version}-%{release}
42 # ocamlbuild resides in ocaml package, so don't require just ocaml-runtime
45 %description -n ocamlbuild-cppo
46 Cppo plugin for ocamlbuild.
48 %description -n ocamlbuild-cppo -l pl.UTF-8
49 Wtyczka cppo dla ocamlbuilda.
51 %package -n ocamlbuild-cppo-devel
52 Summary: Development files for ocamlbuild_cppo library
53 Summary(pl.UTF-8): Pliki programistyczne biblioteki ocamlbuild_cppo
54 Group: Development/Libraries
55 Requires: ocamlbuild-cppo = %{version}-%{release}
58 %description -n ocamlbuild-cppo-devel
59 Development files for ocamlbuild_cppo library.
61 %description -n ocamlbuild-cppo-devel -l pl.UTF-8
62 Pliki programistyczne biblioteki ocamlbuild_cppo.
71 rm -rf $RPM_BUILD_ROOT
72 install -d $RPM_BUILD_ROOT{%{_bindir},%{_libdir}/ocaml{/site-lib,}/cppo_ocamlbuild,%{_examplesdir}}
74 cp -p _build/install/default/bin/cppo $RPM_BUILD_ROOT%{_bindir}
75 cp -Lr _build/install/default/lib/cppo_ocamlbuild $RPM_BUILD_ROOT%{_libdir}/ocaml/
77 cp -pr examples $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
79 cat >>$RPM_BUILD_ROOT%{_libdir}/ocaml/cppo_ocamlbuild/META <<EOF
80 directory="+cppo_ocamlbuild"
82 ln -sr $RPM_BUILD_ROOT%{_libdir}/ocaml/cppo_ocamlbuild/META \
83 $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/cppo_ocamlbuild
86 rm -rf $RPM_BUILD_ROOT
89 %defattr(644,root,root,755)
90 %doc Changes LICENSE.md README.md
91 %attr(755,root,root) %{_bindir}/cppo
92 %{_examplesdir}/%{name}-%{version}
94 %files -n ocamlbuild-cppo
95 %defattr(644,root,root,755)
96 %dir %{_libdir}/ocaml/cppo_ocamlbuild
97 %{_libdir}/ocaml/cppo_ocamlbuild/META
98 %{_libdir}/ocaml/cppo_ocamlbuild/dune-package
99 %{_libdir}/ocaml/cppo_ocamlbuild/opam
100 %{_libdir}/ocaml/cppo_ocamlbuild/cppo_ocamlbuild.cma
101 %if %{with ocaml_opt}
102 %attr(755,root,root) %{_libdir}/ocaml/cppo_ocamlbuild/cppo_ocamlbuild.cmxs
104 %{_libdir}/ocaml/site-lib/cppo_ocamlbuild
106 %files -n ocamlbuild-cppo-devel
107 %defattr(644,root,root,755)
108 %{_libdir}/ocaml/cppo_ocamlbuild/ocamlbuild_cppo.cmi
109 %if %{with ocaml_opt}
110 %{_libdir}/ocaml/cppo_ocamlbuild/ocamlbuild_cppo.cmx
111 %{_libdir}/ocaml/cppo_ocamlbuild/cppo_ocamlbuild.cmxa
112 %{_libdir}/ocaml/cppo_ocamlbuild/cppo_ocamlbuild.a
114 %{_libdir}/ocaml/cppo_ocamlbuild/ocamlbuild_cppo.mli
115 %{_libdir}/ocaml/cppo_ocamlbuild/ocamlbuild_cppo.cmt
116 %{_libdir}/ocaml/cppo_ocamlbuild/ocamlbuild_cppo.cmti