- updated to 8.00.02
[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
66fe221c
JR
10%if %{without ocaml_opt}
11%define _enable_debug_packages 0
12%endif
13
170a6c18
JR
14Summary: Objective Caml Preprocessor
15Summary(pl.UTF-8): Preprocesor OCamla
16Name: camlp5
d4aacc8e 17Version: 8.00.02
7a1551a7 18Release: 1
170a6c18
JR
19License: distributable
20Group: Development/Languages
d4aacc8e 21#Source0Download: https://github.com/camlp5/camlp5/releases
7a1551a7 22Source0: https://github.com/camlp5/camlp5/archive/rel%{version}/%{name}-%{version}.tar.gz
d4aacc8e 23# Source0-md5: 096076be4b26034643508511e834ccc2
7a1551a7 24Patch0: no-warn-error.patch
7a1551a7 25URL: https://camlp5.github.io/
170a6c18 26BuildRequires: db-devel >= 4.1
f95747ae 27BuildRequires: ocaml
77729407 28BuildRequires: ocaml-ocamlbuild
62e5c235 29%requires_eq ocaml-runtime
170a6c18
JR
30Requires: %{name} = %{epoch}:%{version}-%{release}
31BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
32
33%description
1aebc93e 34Camlp5 is a Pre-Processor-Pretty-Printer for Objective Caml. It offers
170a6c18
JR
35tools for syntax (grammars) and the ability to modify the concrete
36syntax of the language (quotations, syntax extensions).
37
1aebc93e 38Camlp5 can parse normal Ocaml concrete syntax or any other
170a6c18
JR
39user-definable syntax. As an example, an alternative syntax is
40provided, named revised, because it tries to fix some small problems
41of the normal syntax.
42
1aebc93e 43Camlp5 can pretty print the normal Ocaml concrete syntax or the
170a6c18
JR
44revised one. It is therefore always possible to have a version of your
45sources compilable by the Objective Caml compiler without
46preprocessing.
47
48%description -l pl.UTF-8
1aebc93e 49Camlp5 jest preprocesorem OCamla. Oferuje narzędzia do manipulowania
170a6c18
JR
50składnią (gramatyki) oraz możliwość modyfikowania oryginalnej składni
51języka (cytowania, rozszerzenia).
52
1aebc93e 53Camlp5 może sparsować oryginalną składnię Ocamla lub dowolną inną
170a6c18
JR
54definiowalną przez użytkownika. Jako przykład podana jest alternatywna
55składnia (revised syntax), która próbuje poprawić drobne problemy
56występujące w składni oryginalnej.
57
1aebc93e 58Camlp5 umie ładnie formatować źródła zarówno w oryginalnej jak i
170a6c18
JR
59poprawionej składni OCamla. Potrafi także tłumaczyć programy z jednej
60składni na drugą.
61
62%package doc-html
995febc4
JB
63Summary: Objective Caml Preprocessor - HTML documentation
64Summary(pl.UTF-8): Preprocesor OCamla - dokumentacja HTML
170a6c18
JR
65Group: Development/Languages
66
67%description doc-html
68Objective Caml Preprocessor - HTML documentation.
69
70%description doc-html -l pl.UTF-8
71Preprocesor OCamla - dokumentacja HTML.
72
995febc4
JB
73%package doc-pdf
74Summary: Objective Caml Preprocessor - PDF documentation
75Summary(pl.UTF-8): Preprocesor OCamla - dokumentacja w formacie PDF
76Group: Development/Languages
77
78%description doc-pdf
79Objective Caml Preprocessor - PDF documentation.
80
81%description doc-pdf -l pl.UTF-8
82Preprocesor 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
102rm -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
110for 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
114done
115
116%clean
117rm -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
This page took 0.059079 seconds and 4 git commands to generate.