- pdf moved to -doc-pdf (900kB), named camlp5.pdf (instead of camlp4.pdf); release 2
[packages/camlp5.git] / camlp5.spec
CommitLineData
bfe7d50f
JB
1#
2# Conditional build:
3%bcond_without ocaml_opt # skip building native optimized binaries (bytecode is always built)
4
5# not yet available on x32 (ocaml 4.02.1), update when upstream will support it
995febc4 6%ifnarch %{ix86} %{x8664} %{arm} aarch64 ppc sparc sparcv9
bfe7d50f
JB
7%undefine with_ocaml_opt
8%endif
9
170a6c18
JR
10Summary: Objective Caml Preprocessor
11Summary(pl.UTF-8): Preprocesor OCamla
12Name: camlp5
77729407
JR
13Version: 6.17
14%define gitver rel617
995febc4 15Release: 2
170a6c18
JR
16License: distributable
17Group: Development/Languages
77729407
JR
18#Source0: http://camlp5.gforge.inria.fr/distrib/src/%{name}-%{version}.tgz
19Source0: https://github.com/camlp5/camlp5/archive/%{gitver}/%{name}-%{version}.tar.gz
20# Source0-md5: 572e0fa053715e40a40415ea3ca5d4ea
0576448b 21Source1: http://camlp5.gforge.inria.fr/doc/pdf/%{name}-6.00.pdf
f95747ae 22# Source1-md5: b241eabfeb48f22b0fbd3e497198a76a
170a6c18
JR
23URL: http://caml.inria.fr/
24BuildRequires: db-devel >= 4.1
f95747ae 25BuildRequires: ocaml
77729407 26BuildRequires: ocaml-ocamlbuild
62e5c235 27%requires_eq ocaml-runtime
170a6c18
JR
28Requires: %{name} = %{epoch}:%{version}-%{release}
29BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
30
31%description
1aebc93e 32Camlp5 is a Pre-Processor-Pretty-Printer for Objective Caml. It offers
170a6c18
JR
33tools for syntax (grammars) and the ability to modify the concrete
34syntax of the language (quotations, syntax extensions).
35
1aebc93e 36Camlp5 can parse normal Ocaml concrete syntax or any other
170a6c18
JR
37user-definable syntax. As an example, an alternative syntax is
38provided, named revised, because it tries to fix some small problems
39of the normal syntax.
40
1aebc93e 41Camlp5 can pretty print the normal Ocaml concrete syntax or the
170a6c18
JR
42revised one. It is therefore always possible to have a version of your
43sources compilable by the Objective Caml compiler without
44preprocessing.
45
46%description -l pl.UTF-8
1aebc93e 47Camlp5 jest preprocesorem OCamla. Oferuje narzędzia do manipulowania
170a6c18
JR
48składnią (gramatyki) oraz możliwość modyfikowania oryginalnej składni
49języka (cytowania, rozszerzenia).
50
1aebc93e 51Camlp5 może sparsować oryginalną składnię Ocamla lub dowolną inną
170a6c18
JR
52definiowalną przez użytkownika. Jako przykład podana jest alternatywna
53składnia (revised syntax), która próbuje poprawić drobne problemy
54występujące w składni oryginalnej.
55
1aebc93e 56Camlp5 umie ładnie formatować źródła zarówno w oryginalnej jak i
170a6c18
JR
57poprawionej składni OCamla. Potrafi także tłumaczyć programy z jednej
58składni na drugą.
59
60%package doc-html
995febc4
JB
61Summary: Objective Caml Preprocessor - HTML documentation
62Summary(pl.UTF-8): Preprocesor OCamla - dokumentacja HTML
170a6c18
JR
63Group: Development/Languages
64
65%description doc-html
66Objective Caml Preprocessor - HTML documentation.
67
68%description doc-html -l pl.UTF-8
69Preprocesor OCamla - dokumentacja HTML.
70
995febc4
JB
71%package doc-pdf
72Summary: Objective Caml Preprocessor - PDF documentation
73Summary(pl.UTF-8): Preprocesor OCamla - dokumentacja w formacie PDF
74Group: Development/Languages
75
76%description doc-pdf
77Objective Caml Preprocessor - PDF documentation.
78
79%description doc-pdf -l pl.UTF-8
80Preprocesor OCamla - dokumentacja w formacie PDF.
81
170a6c18 82%prep
77729407 83%setup -q -n %{name}-%{gitver}
1aebc93e 84
995febc4 85cp %{SOURCE1} doc/camlp5.pdf
170a6c18 86
995febc4 87%build
170a6c18 88./configure \
170a6c18 89 -bindir %{_bindir} \
6b574e5a 90 -libdir %{_libdir}/ocaml \
170a6c18 91 -mandir %{_mandir}/man1 \
6b574e5a 92 -transitional
170a6c18 93
bfe7d50f 94%{__make} -j1 world%{?with_ocaml_opt:.opt}
6b574e5a 95%{__make} -j1 -C doc/htmlp
170a6c18
JR
96
97%install
98rm -rf $RPM_BUILD_ROOT
170a6c18
JR
99
100%{__make} install \
101 BINDIR=$RPM_BUILD_ROOT%{_bindir} \
6b574e5a 102 LIBDIR=$RPM_BUILD_ROOT%{_libdir}/ocaml \
170a6c18
JR
103 MANDIR=$RPM_BUILD_ROOT%{_mandir}
104
170a6c18 105# broken build system
bfe7d50f
JB
106for f in mkcamlp5.1 ocpp5.1 camlp5o.1 camlp5r.1 camlp5sch.1 \
107 %{?with_ocaml_opt:camlp5o.opt.1 camlp5r.opt.1 mkcamlp5.opt.1} ; do
108 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/$f
6b574e5a 109 echo '.so camlp5.1' >$RPM_BUILD_ROOT%{_mandir}/man1/$f
170a6c18
JR
110done
111
112%clean
113rm -rf $RPM_BUILD_ROOT
114
115%files
116%defattr(644,root,root,755)
995febc4 117%doc CHANGES DEVEL ICHANGES MODE README UPGRADING
1aebc93e
JB
118%attr(755,root,root) %{_bindir}/camlp5*
119%attr(755,root,root) %{_bindir}/mkcamlp5*
120%attr(755,root,root) %{_bindir}/ocpp5
6b574e5a 121%{_libdir}/ocaml/%{name}
1aebc93e
JB
122%{_mandir}/man1/camlp5*.1*
123%{_mandir}/man1/mkcamlp5*.1*
124%{_mandir}/man1/ocpp5.1*
170a6c18
JR
125
126%files doc-html
127%defattr(644,root,root,755)
6b574e5a 128%doc doc/html/*
995febc4
JB
129
130%files doc-pdf
131%defattr(644,root,root,755)
132%doc doc/camlp5.pdf
This page took 0.110543 seconds and 4 git commands to generate.