]> git.pld-linux.org Git - packages/camlp5.git/blame_incremental - camlp5.spec
- no debug package when not building native binary
[packages/camlp5.git] / camlp5.spec
... / ...
CommitLineData
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%if %{without ocaml_opt}
11%define _enable_debug_packages 0
12%endif
13
14Summary: Objective Caml Preprocessor
15Summary(pl.UTF-8): Preprocesor OCamla
16Name: camlp5
17Version: 8.00
18Release: 1
19License: distributable
20Group: Development/Languages
21Source0: https://github.com/camlp5/camlp5/archive/rel%{version}/%{name}-%{version}.tar.gz
22# Source0-md5: 477cdfa2be786ebc37c75e280d3ee504
23Patch0: no-warn-error.patch
24Patch1: DESTDIR.patch
25URL: https://camlp5.github.io/
26BuildRequires: db-devel >= 4.1
27BuildRequires: ocaml
28BuildRequires: ocaml-ocamlbuild
29%requires_eq ocaml-runtime
30Requires: %{name} = %{epoch}:%{version}-%{release}
31BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
32
33%description
34Camlp5 is a Pre-Processor-Pretty-Printer for Objective Caml. It offers
35tools for syntax (grammars) and the ability to modify the concrete
36syntax of the language (quotations, syntax extensions).
37
38Camlp5 can parse normal Ocaml concrete syntax or any other
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
43Camlp5 can pretty print the normal Ocaml concrete syntax or the
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
49Camlp5 jest preprocesorem OCamla. Oferuje narzędzia do manipulowania
50składnią (gramatyki) oraz możliwość modyfikowania oryginalnej składni
51języka (cytowania, rozszerzenia).
52
53Camlp5 może sparsować oryginalną składnię Ocamla lub dowolną inną
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
58Camlp5 umie ładnie formatować źródła zarówno w oryginalnej jak i
59poprawionej składni OCamla. Potrafi także tłumaczyć programy z jednej
60składni na drugą.
61
62%package doc-html
63Summary: Objective Caml Preprocessor - HTML documentation
64Summary(pl.UTF-8): Preprocesor OCamla - dokumentacja HTML
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
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
84%prep
85%setup -q -n %{name}-rel%{version}
86%patch0 -p1
87%patch1 -p1
88
89%{__sed} -E -i -e '1s,#!\s*/usr/bin/env\s+perl(\s|$),#!%{__perl}\1,' \
90 etc/mkcamlp5.pl
91
92%build
93./configure \
94 -prefix %{_prefix} \
95 -bindir %{_bindir} \
96 -libdir %{_libdir}/ocaml \
97 -mandir %{_mandir}/man1
98
99%{__make} -j1 world%{?with_ocaml_opt:.opt}
100%{__make} -j1 -C doc/htmlp pdf
101
102%install
103rm -rf $RPM_BUILD_ROOT
104
105%{__make} install \
106 BINDIR=$RPM_BUILD_ROOT%{_bindir} \
107 LIBDIR=$RPM_BUILD_ROOT%{_libdir}/ocaml \
108 MANDIR=$RPM_BUILD_ROOT%{_mandir}
109
110# broken build system
111for f in mkcamlp5.1 ocpp5.1 camlp5o.1 camlp5r.1 camlp5sch.1 \
112 %{?with_ocaml_opt:camlp5o.opt.1 camlp5r.opt.1 mkcamlp5.opt.1} ; do
113 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/$f
114 echo '.so camlp5.1' >$RPM_BUILD_ROOT%{_mandir}/man1/$f
115done
116
117%clean
118rm -rf $RPM_BUILD_ROOT
119
120%files
121%defattr(644,root,root,755)
122%doc CHANGES DEVEL ICHANGES MODE README.md UPGRADING
123%attr(755,root,root) %{_bindir}/camlp5*
124%attr(755,root,root) %{_bindir}/mkcamlp5*
125%attr(755,root,root) %{_bindir}/ocpp5
126%{_libdir}/ocaml/%{name}
127%{_mandir}/man1/camlp5*.1*
128%{_mandir}/man1/mkcamlp5*.1*
129%{_mandir}/man1/ocpp5.1*
130
131%files doc-html
132%defattr(644,root,root,755)
133%doc doc/html/*
134
135%files doc-pdf
136%defattr(644,root,root,755)
137%doc doc/htmlp/camlp5.pdf
This page took 0.060835 seconds and 4 git commands to generate.