]> git.pld-linux.org Git - packages/ocaml-ppxlib.git/blob - ocaml-ppxlib.spec
aa59e601a6e54e8715923ea641c171fc20749f79
[packages/ocaml-ppxlib.git] / ocaml-ppxlib.spec
1 #
2 # Conditional build:
3 %bcond_without  ocaml_opt       # 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:        ppxlib - meta-programming for OCaml
11 Summary(pl.UTF-8):      ppxlib - metaprogramowanie dla OCamla
12 Name:           ocaml-ppxlib
13 Version:        0.23.0
14 Release:        1
15 License:        MIT
16 Group:          Libraries
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-ocaml-compiler-libs-devel >= 0.11.0
27 BuildRequires:  ocaml-ppx_derivers-devel >= 1.0
28 BuildRequires:  ocaml-sexplib0-devel >= 0.12
29 %requires_eq    ocaml-runtime
30 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
31
32 %define         debug_package   %{nil}
33
34 %description
35 Ppxlib is the standard library for ppx rewriters and other programs
36 that manipulate the in-memory representation of OCaml programs, a.k.a
37 the "Parsetree".
38
39 This package contains files needed to run bytecode executables using
40 ppxlib library.
41
42 %description -l pl.UTF-8
43 Ppxlib to standardowa biblioteka do funkcji przepisujących ppx i
44 innych programów modyfikujących reprezentację w pamięci programów
45 ocamlowych, tzw. "parsetree" (drzewo analizy).
46
47 Pakiet ten zawiera binaria potrzebne do uruchamiania programów
48 używających biblioteki ppxlib.
49
50 %package devel
51 Summary:        ppxlib - meta-programming for OCaml - development part
52 Summary(pl.UTF-8):      ppxlib - metaprogramowanie dla OCamla - cześć programistyczna
53 Group:          Development/Libraries
54 Requires:       %{name} = %{version}-%{release}
55 %requires_eq    ocaml
56
57 %description devel
58 This package contains files needed to develop OCaml programs using
59 ppxlib library.
60
61 %description devel -l pl.UTF-8
62 Pakiet ten zawiera pliki niezbędne do tworzenia programów w OCamlu
63 używających biblioteki ppxlib.
64
65 %prep
66 %setup -q -n ppxlib-%{version}
67 %patch0 -p1
68
69 %build
70 dune build --verbose
71
72 %install
73 rm -rf $RPM_BUILD_ROOT
74
75 dune install --destdir=$RPM_BUILD_ROOT
76
77 install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
78 cp -pr examples/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
79
80 # sources
81 %{__rm} $RPM_BUILD_ROOT%{_libdir}/ocaml/ppxlib/*.ml
82 %{__rm} $RPM_BUILD_ROOT%{_libdir}/ocaml/ppxlib/*/*.ml
83 # packaged as %doc
84 %{__rm} -r $RPM_BUILD_ROOT%{_prefix}/doc/ppxlib
85
86 %clean
87 rm -rf $RPM_BUILD_ROOT
88
89 %files
90 %defattr(644,root,root,755)
91 %doc CHANGES.md HISTORY.md LICENSE.md README.md
92 %dir %{_libdir}/ocaml/ppxlib
93 %{_libdir}/ocaml/ppxlib/META
94 %{_libdir}/ocaml/ppxlib/*.cma
95 %dir %{_libdir}/ocaml/ppxlib/ast
96 %{_libdir}/ocaml/ppxlib/ast/*.cma
97 %dir %{_libdir}/ocaml/ppxlib/astlib
98 %{_libdir}/ocaml/ppxlib/astlib/*.cma
99 %dir %{_libdir}/ocaml/ppxlib/metaquot
100 %{_libdir}/ocaml/ppxlib/metaquot/*.cma
101 %attr(755,root,root) %{_libdir}/ocaml/ppxlib/metaquot/ppx.exe
102 %dir %{_libdir}/ocaml/ppxlib/metaquot_lifters
103 %{_libdir}/ocaml/ppxlib/metaquot_lifters/*.cma
104 %dir %{_libdir}/ocaml/ppxlib/print_diff
105 %{_libdir}/ocaml/ppxlib/print_diff/*.cma
106 %dir %{_libdir}/ocaml/ppxlib/runner
107 %{_libdir}/ocaml/ppxlib/runner/*.cma
108 %dir %{_libdir}/ocaml/ppxlib/runner_as_ppx
109 %{_libdir}/ocaml/ppxlib/runner_as_ppx/*.cma
110 %dir %{_libdir}/ocaml/ppxlib/stdppx
111 %{_libdir}/ocaml/ppxlib/stdppx/*.cma
112 %dir %{_libdir}/ocaml/ppxlib/traverse
113 %{_libdir}/ocaml/ppxlib/traverse/*.cma
114 %dir %{_libdir}/ocaml/ppxlib/traverse_builtins
115 %{_libdir}/ocaml/ppxlib/traverse_builtins/*.cma
116 %if %{with ocaml_opt}
117 %attr(755,root,root) %{_libdir}/ocaml/ppxlib/*.cmxs
118 %attr(755,root,root) %{_libdir}/ocaml/ppxlib/ast/*.cmxs
119 %attr(755,root,root) %{_libdir}/ocaml/ppxlib/astlib/*.cmxs
120 %attr(755,root,root) %{_libdir}/ocaml/ppxlib/metaquot/*.cmxs
121 %attr(755,root,root) %{_libdir}/ocaml/ppxlib/metaquot_lifters/*.cmxs
122 %attr(755,root,root) %{_libdir}/ocaml/ppxlib/print_diff/*.cmxs
123 %attr(755,root,root) %{_libdir}/ocaml/ppxlib/runner/*.cmxs
124 %attr(755,root,root) %{_libdir}/ocaml/ppxlib/runner_as_ppx/*.cmxs
125 %attr(755,root,root) %{_libdir}/ocaml/ppxlib/stdppx/*.cmxs
126 %attr(755,root,root) %{_libdir}/ocaml/ppxlib/traverse/*.cmxs
127 %attr(755,root,root) %{_libdir}/ocaml/ppxlib/traverse_builtins/*.cmxs
128 %endif
129
130 %files devel
131 %defattr(644,root,root,755)
132 %{_libdir}/ocaml/ppxlib/*.cmi
133 %{_libdir}/ocaml/ppxlib/*.cmt
134 %{_libdir}/ocaml/ppxlib/*.cmti
135 %{_libdir}/ocaml/ppxlib/*.mli
136 %{_libdir}/ocaml/ppxlib/ast/*.cmi
137 %{_libdir}/ocaml/ppxlib/ast/*.cmt
138 %{_libdir}/ocaml/ppxlib/ast/*.cmti
139 %{_libdir}/ocaml/ppxlib/ast/*.mli
140 %{_libdir}/ocaml/ppxlib/astlib/*.cmi
141 %{_libdir}/ocaml/ppxlib/astlib/*.cmt
142 %{_libdir}/ocaml/ppxlib/astlib/*.cmti
143 %{_libdir}/ocaml/ppxlib/astlib/*.mli
144 %{_libdir}/ocaml/ppxlib/metaquot/*.cmi
145 %{_libdir}/ocaml/ppxlib/metaquot/*.cmt
146 %{_libdir}/ocaml/ppxlib/metaquot_lifters/*.cmi
147 %{_libdir}/ocaml/ppxlib/metaquot_lifters/*.cmt
148 %{_libdir}/ocaml/ppxlib/print_diff/*.cmi
149 %{_libdir}/ocaml/ppxlib/print_diff/*.cmt
150 %{_libdir}/ocaml/ppxlib/print_diff/*.cmti
151 %{_libdir}/ocaml/ppxlib/print_diff/*.mli
152 %{_libdir}/ocaml/ppxlib/runner/*.cmi
153 %{_libdir}/ocaml/ppxlib/runner/*.cmt
154 %{_libdir}/ocaml/ppxlib/runner_as_ppx/*.cmi
155 %{_libdir}/ocaml/ppxlib/runner_as_ppx/*.cmt
156 %{_libdir}/ocaml/ppxlib/stdppx/*.cmi
157 %{_libdir}/ocaml/ppxlib/stdppx/*.cmt
158 %{_libdir}/ocaml/ppxlib/traverse/*.cmi
159 %{_libdir}/ocaml/ppxlib/traverse/*.cmt
160 %{_libdir}/ocaml/ppxlib/traverse_builtins/*.cmi
161 %{_libdir}/ocaml/ppxlib/traverse_builtins/*.cmt
162 %if %{with ocaml_opt}
163 %{_libdir}/ocaml/ppxlib/*.a
164 %{_libdir}/ocaml/ppxlib/*.cmx
165 %{_libdir}/ocaml/ppxlib/*.cmxa
166 %{_libdir}/ocaml/ppxlib/ast/*.a
167 %{_libdir}/ocaml/ppxlib/ast/*.cmx
168 %{_libdir}/ocaml/ppxlib/ast/*.cmxa
169 %{_libdir}/ocaml/ppxlib/astlib/*.a
170 %{_libdir}/ocaml/ppxlib/astlib/*.cmx
171 %{_libdir}/ocaml/ppxlib/astlib/*.cmxa
172 %{_libdir}/ocaml/ppxlib/metaquot/*.a
173 %{_libdir}/ocaml/ppxlib/metaquot/*.cmx
174 %{_libdir}/ocaml/ppxlib/metaquot/*.cmxa
175 %{_libdir}/ocaml/ppxlib/metaquot_lifters/*.a
176 %{_libdir}/ocaml/ppxlib/metaquot_lifters/*.cmx
177 %{_libdir}/ocaml/ppxlib/metaquot_lifters/*.cmxa
178 %{_libdir}/ocaml/ppxlib/print_diff/*.a
179 %{_libdir}/ocaml/ppxlib/print_diff/*.cmx
180 %{_libdir}/ocaml/ppxlib/print_diff/*.cmxa
181 %{_libdir}/ocaml/ppxlib/runner/*.a
182 %{_libdir}/ocaml/ppxlib/runner/*.cmx
183 %{_libdir}/ocaml/ppxlib/runner/*.cmxa
184 %{_libdir}/ocaml/ppxlib/runner_as_ppx/*.a
185 %{_libdir}/ocaml/ppxlib/runner_as_ppx/*.cmx
186 %{_libdir}/ocaml/ppxlib/runner_as_ppx/*.cmxa
187 %{_libdir}/ocaml/ppxlib/stdppx/*.a
188 %{_libdir}/ocaml/ppxlib/stdppx/*.cmx
189 %{_libdir}/ocaml/ppxlib/stdppx/*.cmxa
190 %{_libdir}/ocaml/ppxlib/traverse/*.a
191 %{_libdir}/ocaml/ppxlib/traverse/*.cmx
192 %{_libdir}/ocaml/ppxlib/traverse/*.cmxa
193 %{_libdir}/ocaml/ppxlib/traverse_builtins/*.a
194 %{_libdir}/ocaml/ppxlib/traverse_builtins/*.cmx
195 %{_libdir}/ocaml/ppxlib/traverse_builtins/*.cmxa
196 %endif
197 %{_libdir}/ocaml/ppxlib/dune-package
198 %{_libdir}/ocaml/ppxlib/opam
199 %{_examplesdir}/%{name}-%{version}
This page took 0.078976 seconds and 2 git commands to generate.