3 %bcond_without ocaml_opt # native optimized binaries (bytecode is always built)
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
10 Summary: ppxlib - meta-programming for OCaml
11 Summary(pl.UTF-8): ppxlib - metaprogramowanie dla OCamla
17 #Source0Download: https://github.com/ocaml-ppx/ppxlib/releases
18 Source0: https://github.com/ocaml-ppx/ppxlib/releases/download/%{version}/ppxlib-%{version}.tbz
19 # Source0-md5: a318ed83e270780fd48eef1167d48c38
20 Patch0: %{name}-stdlib-shims.patch
21 URL: https://github.com/ocaml-ppx/ppxlib
22 BuildRequires: ocaml >= 1:4.04.1
23 BuildRequires: ocaml < 1:4.13
24 BuildRequires: ocaml-dune >= 2.7
25 BuildRequires: ocaml-findlib
26 BuildRequires: ocaml-findlib-devel
27 BuildRequires: ocaml-ocaml-compiler-libs-devel >= 0.11.0
28 BuildRequires: ocaml-ppx_derivers-devel >= 1.0
29 BuildRequires: ocaml-sexplib0-devel >= 0.12
30 %requires_eq ocaml-runtime
31 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
33 %define debug_package %{nil}
36 Ppxlib is the standard library for ppx rewriters and other programs
37 that manipulate the in-memory representation of OCaml programs, a.k.a
40 This package contains files needed to run bytecode executables using
43 %description -l pl.UTF-8
44 Ppxlib to standardowa biblioteka do funkcji przepisujących ppx i
45 innych programów modyfikujących reprezentację w pamięci programów
46 ocamlowych, tzw. "parsetree" (drzewo analizy).
48 Pakiet ten zawiera binaria potrzebne do uruchamiania programów
49 używających biblioteki ppxlib.
52 Summary: ppxlib - meta-programming for OCaml - development part
53 Summary(pl.UTF-8): ppxlib - metaprogramowanie dla OCamla - cześć programistyczna
54 Group: Development/Libraries
55 Requires: %{name} = %{version}-%{release}
59 This package contains files needed to develop OCaml programs using
62 %description devel -l pl.UTF-8
63 Pakiet ten zawiera pliki niezbędne do tworzenia programów w OCamlu
64 używających biblioteki ppxlib.
67 %setup -q -n ppxlib-%{version}
74 rm -rf $RPM_BUILD_ROOT
76 dune install --destdir=$RPM_BUILD_ROOT
78 install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
79 cp -pr examples/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
82 %{__rm} $RPM_BUILD_ROOT%{_libdir}/ocaml/ppxlib/*.ml
83 %{__rm} $RPM_BUILD_ROOT%{_libdir}/ocaml/ppxlib/*/*.ml
85 %{__rm} -r $RPM_BUILD_ROOT%{_prefix}/doc/ppxlib
88 rm -rf $RPM_BUILD_ROOT
91 %defattr(644,root,root,755)
92 %doc CHANGES.md HISTORY.md LICENSE.md README.md
93 %dir %{_libdir}/ocaml/ppxlib
94 %{_libdir}/ocaml/ppxlib/META
95 %{_libdir}/ocaml/ppxlib/*.cma
96 %dir %{_libdir}/ocaml/ppxlib/ast
97 %{_libdir}/ocaml/ppxlib/ast/*.cma
98 %dir %{_libdir}/ocaml/ppxlib/astlib
99 %{_libdir}/ocaml/ppxlib/astlib/*.cma
100 %dir %{_libdir}/ocaml/ppxlib/metaquot
101 %{_libdir}/ocaml/ppxlib/metaquot/*.cma
102 %attr(755,root,root) %{_libdir}/ocaml/ppxlib/metaquot/ppx.exe
103 %dir %{_libdir}/ocaml/ppxlib/metaquot_lifters
104 %{_libdir}/ocaml/ppxlib/metaquot_lifters/*.cma
105 %dir %{_libdir}/ocaml/ppxlib/print_diff
106 %{_libdir}/ocaml/ppxlib/print_diff/*.cma
107 %dir %{_libdir}/ocaml/ppxlib/runner
108 %{_libdir}/ocaml/ppxlib/runner/*.cma
109 %dir %{_libdir}/ocaml/ppxlib/runner_as_ppx
110 %{_libdir}/ocaml/ppxlib/runner_as_ppx/*.cma
111 %dir %{_libdir}/ocaml/ppxlib/stdppx
112 %{_libdir}/ocaml/ppxlib/stdppx/*.cma
113 %dir %{_libdir}/ocaml/ppxlib/traverse
114 %{_libdir}/ocaml/ppxlib/traverse/*.cma
115 %dir %{_libdir}/ocaml/ppxlib/traverse_builtins
116 %{_libdir}/ocaml/ppxlib/traverse_builtins/*.cma
117 %if %{with ocaml_opt}
118 %attr(755,root,root) %{_libdir}/ocaml/ppxlib/*.cmxs
119 %attr(755,root,root) %{_libdir}/ocaml/ppxlib/ast/*.cmxs
120 %attr(755,root,root) %{_libdir}/ocaml/ppxlib/astlib/*.cmxs
121 %attr(755,root,root) %{_libdir}/ocaml/ppxlib/metaquot/*.cmxs
122 %attr(755,root,root) %{_libdir}/ocaml/ppxlib/metaquot_lifters/*.cmxs
123 %attr(755,root,root) %{_libdir}/ocaml/ppxlib/print_diff/*.cmxs
124 %attr(755,root,root) %{_libdir}/ocaml/ppxlib/runner/*.cmxs
125 %attr(755,root,root) %{_libdir}/ocaml/ppxlib/runner_as_ppx/*.cmxs
126 %attr(755,root,root) %{_libdir}/ocaml/ppxlib/stdppx/*.cmxs
127 %attr(755,root,root) %{_libdir}/ocaml/ppxlib/traverse/*.cmxs
128 %attr(755,root,root) %{_libdir}/ocaml/ppxlib/traverse_builtins/*.cmxs
132 %defattr(644,root,root,755)
133 %{_libdir}/ocaml/ppxlib/*.cmi
134 %{_libdir}/ocaml/ppxlib/*.cmt
135 %{_libdir}/ocaml/ppxlib/*.cmti
136 %{_libdir}/ocaml/ppxlib/*.mli
137 %{_libdir}/ocaml/ppxlib/ast/*.cmi
138 %{_libdir}/ocaml/ppxlib/ast/*.cmt
139 %{_libdir}/ocaml/ppxlib/ast/*.cmti
140 %{_libdir}/ocaml/ppxlib/ast/*.mli
141 %{_libdir}/ocaml/ppxlib/astlib/*.cmi
142 %{_libdir}/ocaml/ppxlib/astlib/*.cmt
143 %{_libdir}/ocaml/ppxlib/astlib/*.cmti
144 %{_libdir}/ocaml/ppxlib/astlib/*.mli
145 %{_libdir}/ocaml/ppxlib/metaquot/*.cmi
146 %{_libdir}/ocaml/ppxlib/metaquot/*.cmt
147 %{_libdir}/ocaml/ppxlib/metaquot_lifters/*.cmi
148 %{_libdir}/ocaml/ppxlib/metaquot_lifters/*.cmt
149 %{_libdir}/ocaml/ppxlib/print_diff/*.cmi
150 %{_libdir}/ocaml/ppxlib/print_diff/*.cmt
151 %{_libdir}/ocaml/ppxlib/print_diff/*.cmti
152 %{_libdir}/ocaml/ppxlib/print_diff/*.mli
153 %{_libdir}/ocaml/ppxlib/runner/*.cmi
154 %{_libdir}/ocaml/ppxlib/runner/*.cmt
155 %{_libdir}/ocaml/ppxlib/runner_as_ppx/*.cmi
156 %{_libdir}/ocaml/ppxlib/runner_as_ppx/*.cmt
157 %{_libdir}/ocaml/ppxlib/stdppx/*.cmi
158 %{_libdir}/ocaml/ppxlib/stdppx/*.cmt
159 %{_libdir}/ocaml/ppxlib/traverse/*.cmi
160 %{_libdir}/ocaml/ppxlib/traverse/*.cmt
161 %{_libdir}/ocaml/ppxlib/traverse_builtins/*.cmi
162 %{_libdir}/ocaml/ppxlib/traverse_builtins/*.cmt
163 %if %{with ocaml_opt}
164 %{_libdir}/ocaml/ppxlib/*.a
165 %{_libdir}/ocaml/ppxlib/*.cmx
166 %{_libdir}/ocaml/ppxlib/*.cmxa
167 %{_libdir}/ocaml/ppxlib/ast/*.a
168 %{_libdir}/ocaml/ppxlib/ast/*.cmx
169 %{_libdir}/ocaml/ppxlib/ast/*.cmxa
170 %{_libdir}/ocaml/ppxlib/astlib/*.a
171 %{_libdir}/ocaml/ppxlib/astlib/*.cmx
172 %{_libdir}/ocaml/ppxlib/astlib/*.cmxa
173 %{_libdir}/ocaml/ppxlib/metaquot/*.a
174 %{_libdir}/ocaml/ppxlib/metaquot/*.cmx
175 %{_libdir}/ocaml/ppxlib/metaquot/*.cmxa
176 %{_libdir}/ocaml/ppxlib/metaquot_lifters/*.a
177 %{_libdir}/ocaml/ppxlib/metaquot_lifters/*.cmx
178 %{_libdir}/ocaml/ppxlib/metaquot_lifters/*.cmxa
179 %{_libdir}/ocaml/ppxlib/print_diff/*.a
180 %{_libdir}/ocaml/ppxlib/print_diff/*.cmx
181 %{_libdir}/ocaml/ppxlib/print_diff/*.cmxa
182 %{_libdir}/ocaml/ppxlib/runner/*.a
183 %{_libdir}/ocaml/ppxlib/runner/*.cmx
184 %{_libdir}/ocaml/ppxlib/runner/*.cmxa
185 %{_libdir}/ocaml/ppxlib/runner_as_ppx/*.a
186 %{_libdir}/ocaml/ppxlib/runner_as_ppx/*.cmx
187 %{_libdir}/ocaml/ppxlib/runner_as_ppx/*.cmxa
188 %{_libdir}/ocaml/ppxlib/stdppx/*.a
189 %{_libdir}/ocaml/ppxlib/stdppx/*.cmx
190 %{_libdir}/ocaml/ppxlib/stdppx/*.cmxa
191 %{_libdir}/ocaml/ppxlib/traverse/*.a
192 %{_libdir}/ocaml/ppxlib/traverse/*.cmx
193 %{_libdir}/ocaml/ppxlib/traverse/*.cmxa
194 %{_libdir}/ocaml/ppxlib/traverse_builtins/*.a
195 %{_libdir}/ocaml/ppxlib/traverse_builtins/*.cmx
196 %{_libdir}/ocaml/ppxlib/traverse_builtins/*.cmxa
198 %{_libdir}/ocaml/ppxlib/dune-package
199 %{_libdir}/ocaml/ppxlib/opam
200 %{_examplesdir}/%{name}-%{version}