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