# # spec file for package ocaml-cppo # # Copyright (c) 2017 SUSE LINUX 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.5.0 Release: 0 %{?ocaml_preserve_bytecode} Summary: The C preprocessor written in OCaml License: BSD-3-Clause Group: Development/Languages/OCaml Url: https://github.com/mjambon/cppo Source: %{name}-%{version}.tar.xz BuildRequires: ocaml BuildRequires: ocaml-oasis BuildRequires: ocaml-ocamldoc BuildRequires: ocaml-rpm-macros >= 4.03 BuildRequires: ocamlfind(easy-format) BuildRequires: ocamlfind(ocamlbuild) BuildRequires: ocamlfind(str) BuildRequires: ocamlfind(unix) BuildRoot: %{_tmppath}/%{name}-%{version}-build %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/Languages/OCaml Requires: %{name} = %{version} %description devel The %{name}-devel package contains libraries and signature files for developing applications that use %{name}. %prep %setup -q %build echo 'let cppo_version = "%{version}"' > cppo_version.ml # obs service changes every ^Version line ... sh -c "sed 's/^Version.*/Version: %{version}/' | tee _oasis" <<_EOF_ OASISFormat: 0.4 Name: cppo Version: 0 Synopsis: The C preprocessor written in OCaml Authors: Martin Jambon LicenseFile: LICENSE License: %{license} Plugins: META(`oasis version`) BuildTools: ocamlbuild Library ocamlbuild_cppo Path: ocamlbuild_plugin Modules: Ocamlbuild_cppo Install: true BuildDepends: ocamlbuild Document ocamlbuild_cppo Title: API reference for ocamlbuild_cppo Type: ocamlbuild BuildTools+: ocamldoc InstallDir: \$htmldir Install: true XOCamlbuildPath: . XOCamlbuildLibraries: ocamlbuild_cppo Executable cppo Path: . MainIs: cppo_main.ml CompiledObject: best BuildDepends: unix, str Test cppo Type: Custom (0.0.1) Command: ln -sfvbn \$cppo cppo ; make -C test all Run: true _EOF_ %oasis_setup %ocaml_oasis_configure --enable-docs --enable-tests %ocaml_oasis_build %ocaml_oasis_doc %install %ocaml_oasis_findlib_install %check %ocaml_oasis_test %files %defattr(-,root,root) %doc LICENSE README.md %{_bindir}/* %dir %{_libdir}/ocaml %dir %{_libdir}/ocaml/* %if 0%{?ocaml_native_compiler} %{_libdir}/ocaml/*/*.cmxs %endif %files devel %defattr(-,root,root,-) %{oasis_docdir_html} %dir %{_libdir}/ocaml %dir %{_libdir}/ocaml/* %if 0%{?ocaml_native_compiler} %{_libdir}/ocaml/*/*.a %{_libdir}/ocaml/*/*.cmx %{_libdir}/ocaml/*/*.cmxa %endif %{_libdir}/ocaml/*/*.annot %{_libdir}/ocaml/*/*.cma %{_libdir}/ocaml/*/*.cmi %{_libdir}/ocaml/*/*.cmt %{_libdir}/ocaml/*/*.cmti %{_libdir}/ocaml/*/*.mli %{_libdir}/ocaml/*/META %changelog