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: Monadic concurrency library
11 Summary(pl.UTF-8): Biblioteka współbieżności monadowej
17 #Source0Download: https://github.com/janestreet/async/tags
18 Source0: https://github.com/janestreet/async/archive/v%{version}/async-%{version}.tar.gz
19 # Source0-md5: 0e27785482a35486aa44894868a697bb
20 URL: https://github.com/janestreet/async
21 BuildRequires: ocaml >= 1:4.08.0
22 BuildRequires: ocaml-async_kernel-devel >= 0.14
23 BuildRequires: ocaml-async_kernel-devel < 0.15
24 BuildRequires: ocaml-async_rpc_kernel-devel >= 0.14
25 BuildRequires: ocaml-async_rpc_kernel-devel < 0.15
26 BuildRequires: ocaml-async_unix-devel >= 0.14
27 BuildRequires: ocaml-async_unix-devel < 0.15
28 BuildRequires: ocaml-core-devel >= 0.14
29 BuildRequires: ocaml-core-devel < 0.15
30 BuildRequires: ocaml-core_kernel-devel >= 0.14
31 BuildRequires: ocaml-core_kernel-devel < 0.15
32 BuildRequires: ocaml-dune >= 2.0.0
33 BuildRequires: ocaml-ppx_jane-devel >= 0.14
34 BuildRequires: ocaml-ppx_jane-devel < 0.15
35 BuildRequires: ocaml-textutils-devel >= 0.14
36 BuildRequires: ocaml-textutils-devel < 0.15
37 %requires_eq ocaml-runtime
38 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
41 Async is a library for asynchronous programming, i.e., programming
42 where some part of the program must wait for things that happen at
43 times determined by some external entity (like a human or another
44 program). This includes pretty much any program that uses blocking
45 calls (e.g., networking code, disk access), timeouts, or event loops
48 This package contains files needed to run bytecode executables using
51 %description -l pl.UTF-8
52 Async to biblioteka do programowania asynchronicznego, tzn.
53 programowania, gdzie część programu musi czekać na coś, co dzieje się
54 w czasie określonym przez jakiś zewnętrzny element (np. człowieka albo
55 inny program). Obejmuje to prawie każdy program wykorzystujący
56 wywołania blokujące (np. kod sieciowy, dostęp do dysku), limity czasu
57 albo pętle zdarzeń (np. GUI).
59 Pakiet ten zawiera binaria potrzebne do uruchamiania programów
60 używających biblioteki async.
63 Summary: Monadic concurrency library - development part
64 Summary(pl.UTF-8): Biblioteka współbieżności monadowej - część programistyczna
65 Group: Development/Libraries
66 Requires: %{name} = %{version}-%{release}
68 Requires: ocaml-async_kernel-devel >= 0.14
69 Requires: ocaml-async_rpc_kernel-devel >= 0.14
70 Requires: ocaml-async_unix-devel >= 0.14
71 Requires: ocaml-core-devel >= 0.14
72 Requires: ocaml-core_kernel-devel >= 0.14
73 Requires: ocaml-ppx_jane-devel >= 0.14
74 Requires: ocaml-textutils-devel >= 0.14
77 This package contains files needed to develop OCaml programs using
80 %description devel -l pl.UTF-8
81 Pakiet ten zawiera pliki niezbędne do tworzenia programów w OCamlu
82 używających biblioteki async.
85 %setup -q -n async-%{version}
91 rm -rf $RPM_BUILD_ROOT
93 dune install --destdir=$RPM_BUILD_ROOT
96 %{__rm} $RPM_BUILD_ROOT%{_libdir}/ocaml/async/*.ml
97 %{__rm} $RPM_BUILD_ROOT%{_libdir}/ocaml/async/*/*.ml
99 %{__rm} -r $RPM_BUILD_ROOT%{_prefix}/doc/async
102 rm -rf $RPM_BUILD_ROOT
105 %defattr(644,root,root,755)
106 %doc CHANGES.md LICENSE.md README.md
107 %dir %{_libdir}/ocaml/async
108 %{_libdir}/ocaml/async/META
109 %{_libdir}/ocaml/async/*.cma
110 %dir %{_libdir}/ocaml/async/async_command
111 %{_libdir}/ocaml/async/async_command/*.cma
112 %dir %{_libdir}/ocaml/async/async_quickcheck
113 %{_libdir}/ocaml/async/async_quickcheck/*.cma
114 %dir %{_libdir}/ocaml/async/async_rpc
115 %{_libdir}/ocaml/async/async_rpc/*.cma
116 %dir %{_libdir}/ocaml/async/lock_file_async
117 %{_libdir}/ocaml/async/lock_file_async/*.cma
118 %dir %{_libdir}/ocaml/async/log_extended
119 %{_libdir}/ocaml/async/log_extended/*.cma
120 %dir %{_libdir}/ocaml/async/persistent_connection
121 %{_libdir}/ocaml/async/persistent_connection/*.cma
122 %dir %{_libdir}/ocaml/async/unpack_sequence
123 %{_libdir}/ocaml/async/unpack_sequence/*.cma
124 %if %{with ocaml_opt}
125 %attr(755,root,root) %{_libdir}/ocaml/async/*.cmxs
126 %attr(755,root,root) %{_libdir}/ocaml/async/async_command/*.cmxs
127 %attr(755,root,root) %{_libdir}/ocaml/async/async_quickcheck/*.cmxs
128 %attr(755,root,root) %{_libdir}/ocaml/async/async_rpc/*.cmxs
129 %attr(755,root,root) %{_libdir}/ocaml/async/lock_file_async/*.cmxs
130 %attr(755,root,root) %{_libdir}/ocaml/async/log_extended/*.cmxs
131 %attr(755,root,root) %{_libdir}/ocaml/async/persistent_connection/*.cmxs
132 %attr(755,root,root) %{_libdir}/ocaml/async/unpack_sequence/*.cmxs
134 %attr(755,root,root) %{_libdir}/ocaml/stublibs/dllasync_rpc_stubs.so
137 %defattr(644,root,root,755)
138 %{_libdir}/ocaml/async/*.cmi
139 %{_libdir}/ocaml/async/*.cmt
140 %{_libdir}/ocaml/async/*.cmti
141 %{_libdir}/ocaml/async/*.mli
142 %{_libdir}/ocaml/async/async_command/*.cmi
143 %{_libdir}/ocaml/async/async_command/*.cmt
144 %{_libdir}/ocaml/async/async_command/*.cmti
145 %{_libdir}/ocaml/async/async_command/*.mli
146 %{_libdir}/ocaml/async/async_quickcheck/*.cmi
147 %{_libdir}/ocaml/async/async_quickcheck/*.cmt
148 %{_libdir}/ocaml/async/async_quickcheck/*.cmti
149 %{_libdir}/ocaml/async/async_quickcheck/*.mli
150 %{_libdir}/ocaml/async/async_rpc/libasync_rpc_stubs.a
151 %{_libdir}/ocaml/async/async_rpc/*.cmi
152 %{_libdir}/ocaml/async/async_rpc/*.cmt
153 %{_libdir}/ocaml/async/async_rpc/*.cmti
154 %{_libdir}/ocaml/async/async_rpc/*.mli
155 %{_libdir}/ocaml/async/lock_file_async/*.cmi
156 %{_libdir}/ocaml/async/lock_file_async/*.cmt
157 %{_libdir}/ocaml/async/lock_file_async/*.cmti
158 %{_libdir}/ocaml/async/lock_file_async/*.mli
159 %{_libdir}/ocaml/async/log_extended/*.cmi
160 %{_libdir}/ocaml/async/log_extended/*.cmt
161 %{_libdir}/ocaml/async/log_extended/*.cmti
162 %{_libdir}/ocaml/async/log_extended/*.mli
163 %{_libdir}/ocaml/async/persistent_connection/*.cmi
164 %{_libdir}/ocaml/async/persistent_connection/*.cmt
165 %{_libdir}/ocaml/async/persistent_connection/*.cmti
166 %{_libdir}/ocaml/async/persistent_connection/*.mli
167 %{_libdir}/ocaml/async/unpack_sequence/*.cmi
168 %{_libdir}/ocaml/async/unpack_sequence/*.cmt
169 %{_libdir}/ocaml/async/unpack_sequence/*.cmti
170 %{_libdir}/ocaml/async/unpack_sequence/*.mli
171 %if %{with ocaml_opt}
172 %{_libdir}/ocaml/async/async.a
173 %{_libdir}/ocaml/async/*.cmx
174 %{_libdir}/ocaml/async/*.cmxa
175 %{_libdir}/ocaml/async/async_command/async_command.a
176 %{_libdir}/ocaml/async/async_command/*.cmx
177 %{_libdir}/ocaml/async/async_command/*.cmxa
178 %{_libdir}/ocaml/async/async_quickcheck/async_quickcheck.a
179 %{_libdir}/ocaml/async/async_quickcheck/*.cmx
180 %{_libdir}/ocaml/async/async_quickcheck/*.cmxa
181 %{_libdir}/ocaml/async/async_rpc/async_rpc.a
182 %{_libdir}/ocaml/async/async_rpc/*.cmx
183 %{_libdir}/ocaml/async/async_rpc/*.cmxa
184 %{_libdir}/ocaml/async/lock_file_async/lock_file_async.a
185 %{_libdir}/ocaml/async/lock_file_async/*.cmx
186 %{_libdir}/ocaml/async/lock_file_async/*.cmxa
187 %{_libdir}/ocaml/async/log_extended/log_extended.a
188 %{_libdir}/ocaml/async/log_extended/*.cmx
189 %{_libdir}/ocaml/async/log_extended/*.cmxa
190 %{_libdir}/ocaml/async/persistent_connection/persistent_connection.a
191 %{_libdir}/ocaml/async/persistent_connection/*.cmx
192 %{_libdir}/ocaml/async/persistent_connection/*.cmxa
193 %{_libdir}/ocaml/async/unpack_sequence/unpack_sequence.a
194 %{_libdir}/ocaml/async/unpack_sequence/*.cmx
195 %{_libdir}/ocaml/async/unpack_sequence/*.cmxa
197 %{_libdir}/ocaml/async/dune-package
198 %{_libdir}/ocaml/async/opam