summaryrefslogtreecommitdiffstats
path: root/ocaml/ocaml-cppo.spec
blob: 8087520472fe2bbf5a477ea5deec9fe5541b264d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
%global opt %(test -x %{_bindir}/ocamlopt && echo 1 || echo 0)
%if !%{opt}
%global debug_package %{nil}
%endif

Name:           ocaml-cppo
Version:        0.9.3
Release:        2%{?dist}
Summary:        Equivalent of the C preprocessor for OCaml programs

License:        BSD
URL:            http://mjambon.com/cppo.html
Source0:        http://mjambon.com/releases/cppo/cppo-%{version}.tar.gz

ExclusiveArch:  %{ocaml_arches}

BuildRequires:  ocaml >= 3.10.0
BuildRequires:  ocaml-findlib
%if !%{opt}
Requires:       ocaml >= 3.10.0
%endif

%define libname %(sed -e 's/^ocaml-//' <<< %{name})

%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.


%prep
%setup -q -n %{libname}-%{version}
sed -i.add-debuginfo \
    's/ocamlopt/ocamlopt -g/;s/ocamlc \(-[co]\)/ocamlc -g \1/' \
    Makefile


%build
%if %opt
make %{?_smp_mflags} opt
%else
make %{?_smp_mflags} all
%endif


%install
%{__install} -d $RPM_BUILD_ROOT%{_bindir}
%{__install} -p cppo $RPM_BUILD_ROOT%{_bindir}/


%check
make test


%files
%doc LICENSE README Changes
%{_bindir}/cppo


%changelog
* Mon Jan 27 2014 Michel Salim <salimma@fedoraproject.org> - 0.9.3-2
- Incorporate review feedback

* Mon Jan 20 2014 Michel Salim <salimma@fedoraproject.org> - 0.9.3-1
- Initial package