# # spec file for package ocaml-cppo # # Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany. # Copyright (c) 2015 LISA GmbH, Bingen, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # Name: ocaml-cppo Version: 1.0.0 Release: 1 License: BSD-2-Clause Summary: The C preprocessor written in OCaml Url: http://mjambon.com/cppo.html Group: Development/Libraries/Other Source: http://mjambon.com/releases/cppo/cppo-%{version}.tar.gz BuildRequires: ocaml BuildRequires: ocaml-easy-format BuildRequires: ocamlfind(ocamlbuild) BuildRequires: ocaml-rpm-macros >= 4.02.1 BuildRoot: %{_tmppath}/%{name}-%{version}-build # ocaml autodep start for pkg: ocaml-cppo # hardcoded rpm dependency for pre 12.1 to compensate for lack of ocaml() provides/requires %if 0%{?suse_version} < 1210 Requires: ocaml-ocamlbuild ocaml-runtime %endif # ocaml autodep end for pkg: ocaml-cppo %description Cppo is an equivalent of the C preprocessor targeted at the OCaml language and its variants. The main purpose of cppo is to provide a lightweight tool for simple macro substitution (#define) and file inclusion (#include) for the occasional case when this is useful in OCaml. Processing specific sections of files by calling external programs is also possible via #ext directives. The implementation of cppo relies on the standard library of OCaml and on the standard parsing tools Ocamllex and Ocamlyacc, which contribute to the robustness of cppo across OCaml versions. %package devel Summary: Development files for %{name} Group: Development/Libraries/Other Requires: %{name} = %{version}-%{release} %description devel The %{name}-devel package contains libraries and signature files for developing applications that use %{name}. %prep %setup -qn cppo-%{version} %build make BEST=byte all ocamlbuild %if %{ocaml_native_compiler} make BEST=opt opt ocamlbuild %endif %install export OCAMLFIND_DESTDIR=%{buildroot}$(ocamlfind printconf destdir) mkdir -p %{buildroot}%{_bindir} $OCAMLFIND_DESTDIR make BEST=byte install BINDIR="%{buildroot}%{_bindir}" %if %{ocaml_native_compiler} find "%{buildroot}" -name META -print -delete make BEST=opt install BINDIR="%{buildroot}%{_bindir}" %endif %files %defattr(-,root,root) %doc Changes LICENSE README.md %{_bindir}/* %dir %{_libdir}/ocaml %dir %{_libdir}/ocaml/* %if %{ocaml_native_compiler} %{_libdir}/ocaml/*/*.cmxs %endif %files devel %defattr(-,root,root,-) %dir %{_libdir}/ocaml %dir %{_libdir}/ocaml/* %if %{ocaml_native_compiler} %{_libdir}/ocaml/*/*.a %{_libdir}/ocaml/*/*.cmxa %endif %{_libdir}/ocaml/*/*.cma %{_libdir}/ocaml/*/*.cmi %{_libdir}/ocaml/*/META