- up to 6.17
[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:        1
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 %prep
72 %setup -q -n %{name}-%{gitver}
73
74 cp %{SOURCE1} doc/camlp4.pdf
75
76 %build 
77 ./configure \
78         -bindir %{_bindir} \
79         -libdir %{_libdir}/ocaml \
80         -mandir %{_mandir}/man1 \
81         -transitional
82
83 %{__make} -j1 world%{?with_ocaml_opt:.opt}
84 %{__make} -j1 -C doc/htmlp
85
86 %install
87 rm -rf $RPM_BUILD_ROOT
88
89 %{__make} install \
90         BINDIR=$RPM_BUILD_ROOT%{_bindir} \
91         LIBDIR=$RPM_BUILD_ROOT%{_libdir}/ocaml \
92         MANDIR=$RPM_BUILD_ROOT%{_mandir}
93
94 # broken build system
95 for f in mkcamlp5.1 ocpp5.1 camlp5o.1 camlp5r.1 camlp5sch.1 \
96         %{?with_ocaml_opt:camlp5o.opt.1 camlp5r.opt.1 mkcamlp5.opt.1} ; do
97         %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/$f
98         echo '.so camlp5.1' >$RPM_BUILD_ROOT%{_mandir}/man1/$f
99 done
100
101 %clean
102 rm -rf $RPM_BUILD_ROOT
103
104 %files
105 %defattr(644,root,root,755)
106 %doc CHANGES DEVEL ICHANGES MODE README UPGRADING doc/camlp4.pdf
107 %attr(755,root,root) %{_bindir}/camlp5*
108 %attr(755,root,root) %{_bindir}/mkcamlp5*
109 %attr(755,root,root) %{_bindir}/ocpp5
110 %{_libdir}/ocaml/%{name}
111 %{_mandir}/man1/camlp5*.1*
112 %{_mandir}/man1/mkcamlp5*.1*
113 %{_mandir}/man1/ocpp5.1*
114
115 %files doc-html
116 %defattr(644,root,root,755)
117 %doc doc/html/*
This page took 0.091854 seconds and 3 git commands to generate.