]>
Commit | Line | Data |
---|---|---|
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 | ||
66fe221c JR |
10 | %if %{without ocaml_opt} |
11 | %define _enable_debug_packages 0 | |
12 | %endif | |
13 | ||
170a6c18 JR |
14 | Summary: Objective Caml Preprocessor |
15 | Summary(pl.UTF-8): Preprocesor OCamla | |
16 | Name: camlp5 | |
d4aacc8e | 17 | Version: 8.00.02 |
7a1551a7 | 18 | Release: 1 |
170a6c18 JR |
19 | License: distributable |
20 | Group: Development/Languages | |
d4aacc8e | 21 | #Source0Download: https://github.com/camlp5/camlp5/releases |
7a1551a7 | 22 | Source0: https://github.com/camlp5/camlp5/archive/rel%{version}/%{name}-%{version}.tar.gz |
d4aacc8e | 23 | # Source0-md5: 096076be4b26034643508511e834ccc2 |
7a1551a7 | 24 | Patch0: no-warn-error.patch |
7a1551a7 | 25 | URL: https://camlp5.github.io/ |
170a6c18 | 26 | BuildRequires: db-devel >= 4.1 |
f95747ae | 27 | BuildRequires: ocaml |
77729407 | 28 | BuildRequires: ocaml-ocamlbuild |
62e5c235 | 29 | %requires_eq ocaml-runtime |
170a6c18 JR |
30 | Requires: %{name} = %{epoch}:%{version}-%{release} |
31 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
32 | ||
33 | %description | |
1aebc93e | 34 | Camlp5 is a Pre-Processor-Pretty-Printer for Objective Caml. It offers |
170a6c18 JR |
35 | tools for syntax (grammars) and the ability to modify the concrete |
36 | syntax of the language (quotations, syntax extensions). | |
37 | ||
1aebc93e | 38 | Camlp5 can parse normal Ocaml concrete syntax or any other |
170a6c18 JR |
39 | user-definable syntax. As an example, an alternative syntax is |
40 | provided, named revised, because it tries to fix some small problems | |
41 | of the normal syntax. | |
42 | ||
1aebc93e | 43 | Camlp5 can pretty print the normal Ocaml concrete syntax or the |
170a6c18 JR |
44 | revised one. It is therefore always possible to have a version of your |
45 | sources compilable by the Objective Caml compiler without | |
46 | preprocessing. | |
47 | ||
48 | %description -l pl.UTF-8 | |
1aebc93e | 49 | Camlp5 jest preprocesorem OCamla. Oferuje narzędzia do manipulowania |
170a6c18 JR |
50 | składnią (gramatyki) oraz możliwość modyfikowania oryginalnej składni |
51 | języka (cytowania, rozszerzenia). | |
52 | ||
1aebc93e | 53 | Camlp5 może sparsować oryginalną składnię Ocamla lub dowolną inną |
170a6c18 JR |
54 | definiowalną przez użytkownika. Jako przykład podana jest alternatywna |
55 | składnia (revised syntax), która próbuje poprawić drobne problemy | |
56 | występujące w składni oryginalnej. | |
57 | ||
1aebc93e | 58 | Camlp5 umie ładnie formatować źródła zarówno w oryginalnej jak i |
170a6c18 JR |
59 | poprawionej składni OCamla. Potrafi także tłumaczyć programy z jednej |
60 | składni na drugą. | |
61 | ||
62 | %package doc-html | |
995febc4 JB |
63 | Summary: Objective Caml Preprocessor - HTML documentation |
64 | Summary(pl.UTF-8): Preprocesor OCamla - dokumentacja HTML | |
170a6c18 JR |
65 | Group: Development/Languages |
66 | ||
67 | %description doc-html | |
68 | Objective Caml Preprocessor - HTML documentation. | |
69 | ||
70 | %description doc-html -l pl.UTF-8 | |
71 | Preprocesor OCamla - dokumentacja HTML. | |
72 | ||
995febc4 JB |
73 | %package doc-pdf |
74 | Summary: Objective Caml Preprocessor - PDF documentation | |
75 | Summary(pl.UTF-8): Preprocesor OCamla - dokumentacja w formacie PDF | |
76 | Group: Development/Languages | |
77 | ||
78 | %description doc-pdf | |
79 | Objective Caml Preprocessor - PDF documentation. | |
80 | ||
81 | %description doc-pdf -l pl.UTF-8 | |
82 | Preprocesor OCamla - dokumentacja w formacie PDF. | |
83 | ||
170a6c18 | 84 | %prep |
7a1551a7 JR |
85 | %setup -q -n %{name}-rel%{version} |
86 | %patch0 -p1 | |
1aebc93e | 87 | |
7a1551a7 JR |
88 | %{__sed} -E -i -e '1s,#!\s*/usr/bin/env\s+perl(\s|$),#!%{__perl}\1,' \ |
89 | etc/mkcamlp5.pl | |
170a6c18 | 90 | |
995febc4 | 91 | %build |
170a6c18 | 92 | ./configure \ |
7a1551a7 | 93 | -prefix %{_prefix} \ |
170a6c18 | 94 | -bindir %{_bindir} \ |
6b574e5a | 95 | -libdir %{_libdir}/ocaml \ |
7a1551a7 | 96 | -mandir %{_mandir}/man1 |
170a6c18 | 97 | |
bfe7d50f | 98 | %{__make} -j1 world%{?with_ocaml_opt:.opt} |
7a1551a7 | 99 | %{__make} -j1 -C doc/htmlp pdf |
170a6c18 JR |
100 | |
101 | %install | |
102 | rm -rf $RPM_BUILD_ROOT | |
170a6c18 JR |
103 | |
104 | %{__make} install \ | |
105 | BINDIR=$RPM_BUILD_ROOT%{_bindir} \ | |
6b574e5a | 106 | LIBDIR=$RPM_BUILD_ROOT%{_libdir}/ocaml \ |
170a6c18 JR |
107 | MANDIR=$RPM_BUILD_ROOT%{_mandir} |
108 | ||
170a6c18 | 109 | # broken build system |
bfe7d50f JB |
110 | for f in mkcamlp5.1 ocpp5.1 camlp5o.1 camlp5r.1 camlp5sch.1 \ |
111 | %{?with_ocaml_opt:camlp5o.opt.1 camlp5r.opt.1 mkcamlp5.opt.1} ; do | |
112 | %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/$f | |
6b574e5a | 113 | echo '.so camlp5.1' >$RPM_BUILD_ROOT%{_mandir}/man1/$f |
170a6c18 JR |
114 | done |
115 | ||
116 | %clean | |
117 | rm -rf $RPM_BUILD_ROOT | |
118 | ||
119 | %files | |
120 | %defattr(644,root,root,755) | |
7a1551a7 | 121 | %doc CHANGES DEVEL ICHANGES MODE README.md UPGRADING |
1aebc93e JB |
122 | %attr(755,root,root) %{_bindir}/camlp5* |
123 | %attr(755,root,root) %{_bindir}/mkcamlp5* | |
124 | %attr(755,root,root) %{_bindir}/ocpp5 | |
6b574e5a | 125 | %{_libdir}/ocaml/%{name} |
1aebc93e JB |
126 | %{_mandir}/man1/camlp5*.1* |
127 | %{_mandir}/man1/mkcamlp5*.1* | |
128 | %{_mandir}/man1/ocpp5.1* | |
170a6c18 JR |
129 | |
130 | %files doc-html | |
131 | %defattr(644,root,root,755) | |
6b574e5a | 132 | %doc doc/html/* |
995febc4 JB |
133 | |
134 | %files doc-pdf | |
135 | %defattr(644,root,root,755) | |
7a1551a7 | 136 | %doc doc/htmlp/camlp5.pdf |