# # Conditional build: %bcond_without ocaml_opt # native optimized binaries (bytecode is always built) # not yet available on x32 (ocaml 4.02.1), update when upstream will support it %ifnarch %{ix86} %{x8664} %{arm} aarch64 ppc sparc sparcv9 %undefine with_ocaml_opt %endif Summary: Monadic concurrency library Summary(pl.UTF-8): Biblioteka współbieżności monadowej Name: ocaml-async Version: 0.14.0 Release: 1 License: MIT Group: Libraries #Source0Download: https://github.com/janestreet/async/tags Source0: https://github.com/janestreet/async/archive/v%{version}/async-%{version}.tar.gz # Source0-md5: 0e27785482a35486aa44894868a697bb URL: https://github.com/janestreet/async BuildRequires: ocaml >= 1:4.08.0 BuildRequires: ocaml-async_kernel-devel >= 0.14 BuildRequires: ocaml-async_kernel-devel < 0.15 BuildRequires: ocaml-async_rpc_kernel-devel >= 0.14 BuildRequires: ocaml-async_rpc_kernel-devel < 0.15 BuildRequires: ocaml-async_unix-devel >= 0.14 BuildRequires: ocaml-async_unix-devel < 0.15 BuildRequires: ocaml-core-devel >= 0.14 BuildRequires: ocaml-core-devel < 0.15 BuildRequires: ocaml-core_kernel-devel >= 0.14 BuildRequires: ocaml-core_kernel-devel < 0.15 BuildRequires: ocaml-dune >= 2.0.0 BuildRequires: ocaml-ppx_jane-devel >= 0.14 BuildRequires: ocaml-ppx_jane-devel < 0.15 BuildRequires: ocaml-textutils-devel >= 0.14 BuildRequires: ocaml-textutils-devel < 0.15 %requires_eq ocaml-runtime BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %description Async is a library for asynchronous programming, i.e., programming where some part of the program must wait for things that happen at times determined by some external entity (like a human or another program). This includes pretty much any program that uses blocking calls (e.g., networking code, disk access), timeouts, or event loops (e.g., GUIs). This package contains files needed to run bytecode executables using async library. %description -l pl.UTF-8 Async to biblioteka do programowania asynchronicznego, tzn. programowania, gdzie część programu musi czekać na coś, co dzieje się w czasie określonym przez jakiś zewnętrzny element (np. człowieka albo inny program). Obejmuje to prawie każdy program wykorzystujący wywołania blokujące (np. kod sieciowy, dostęp do dysku), limity czasu albo pętle zdarzeń (np. GUI). Pakiet ten zawiera binaria potrzebne do uruchamiania programów używających biblioteki async. %package devel Summary: Monadic concurrency library - development part Summary(pl.UTF-8): Biblioteka współbieżności monadowej - część programistyczna Group: Development/Libraries Requires: %{name} = %{version}-%{release} %requires_eq ocaml Requires: ocaml-async_kernel-devel >= 0.14 Requires: ocaml-async_rpc_kernel-devel >= 0.14 Requires: ocaml-async_unix-devel >= 0.14 Requires: ocaml-core-devel >= 0.14 Requires: ocaml-core_kernel-devel >= 0.14 Requires: ocaml-ppx_jane-devel >= 0.14 Requires: ocaml-textutils-devel >= 0.14 %description devel This package contains files needed to develop OCaml programs using async library. %description devel -l pl.UTF-8 Pakiet ten zawiera pliki niezbędne do tworzenia programów w OCamlu używających biblioteki async. %prep %setup -q -n async-%{version} %build dune build --verbose %install rm -rf $RPM_BUILD_ROOT dune install --destdir=$RPM_BUILD_ROOT # sources %{__rm} $RPM_BUILD_ROOT%{_libdir}/ocaml/async/*.ml %{__rm} $RPM_BUILD_ROOT%{_libdir}/ocaml/async/*/*.ml # packaged as %doc %{__rm} -r $RPM_BUILD_ROOT%{_prefix}/doc/async %clean rm -rf $RPM_BUILD_ROOT %files %defattr(644,root,root,755) %doc CHANGES.md LICENSE.md README.md %dir %{_libdir}/ocaml/async %{_libdir}/ocaml/async/META %{_libdir}/ocaml/async/*.cma %dir %{_libdir}/ocaml/async/async_command %{_libdir}/ocaml/async/async_command/*.cma %dir %{_libdir}/ocaml/async/async_quickcheck %{_libdir}/ocaml/async/async_quickcheck/*.cma %dir %{_libdir}/ocaml/async/async_rpc %{_libdir}/ocaml/async/async_rpc/*.cma %dir %{_libdir}/ocaml/async/lock_file_async %{_libdir}/ocaml/async/lock_file_async/*.cma %dir %{_libdir}/ocaml/async/log_extended %{_libdir}/ocaml/async/log_extended/*.cma %dir %{_libdir}/ocaml/async/persistent_connection %{_libdir}/ocaml/async/persistent_connection/*.cma %dir %{_libdir}/ocaml/async/unpack_sequence %{_libdir}/ocaml/async/unpack_sequence/*.cma %if %{with ocaml_opt} %attr(755,root,root) %{_libdir}/ocaml/async/*.cmxs %attr(755,root,root) %{_libdir}/ocaml/async/async_command/*.cmxs %attr(755,root,root) %{_libdir}/ocaml/async/async_quickcheck/*.cmxs %attr(755,root,root) %{_libdir}/ocaml/async/async_rpc/*.cmxs %attr(755,root,root) %{_libdir}/ocaml/async/lock_file_async/*.cmxs %attr(755,root,root) %{_libdir}/ocaml/async/log_extended/*.cmxs %attr(755,root,root) %{_libdir}/ocaml/async/persistent_connection/*.cmxs %attr(755,root,root) %{_libdir}/ocaml/async/unpack_sequence/*.cmxs %endif %attr(755,root,root) %{_libdir}/ocaml/stublibs/dllasync_rpc_stubs.so %files devel %defattr(644,root,root,755) %{_libdir}/ocaml/async/*.cmi %{_libdir}/ocaml/async/*.cmt %{_libdir}/ocaml/async/*.cmti %{_libdir}/ocaml/async/*.mli %{_libdir}/ocaml/async/async_command/*.cmi %{_libdir}/ocaml/async/async_command/*.cmt %{_libdir}/ocaml/async/async_command/*.cmti %{_libdir}/ocaml/async/async_command/*.mli %{_libdir}/ocaml/async/async_quickcheck/*.cmi %{_libdir}/ocaml/async/async_quickcheck/*.cmt %{_libdir}/ocaml/async/async_quickcheck/*.cmti %{_libdir}/ocaml/async/async_quickcheck/*.mli %{_libdir}/ocaml/async/async_rpc/libasync_rpc_stubs.a %{_libdir}/ocaml/async/async_rpc/*.cmi %{_libdir}/ocaml/async/async_rpc/*.cmt %{_libdir}/ocaml/async/async_rpc/*.cmti %{_libdir}/ocaml/async/async_rpc/*.mli %{_libdir}/ocaml/async/lock_file_async/*.cmi %{_libdir}/ocaml/async/lock_file_async/*.cmt %{_libdir}/ocaml/async/lock_file_async/*.cmti %{_libdir}/ocaml/async/lock_file_async/*.mli %{_libdir}/ocaml/async/log_extended/*.cmi %{_libdir}/ocaml/async/log_extended/*.cmt %{_libdir}/ocaml/async/log_extended/*.cmti %{_libdir}/ocaml/async/log_extended/*.mli %{_libdir}/ocaml/async/persistent_connection/*.cmi %{_libdir}/ocaml/async/persistent_connection/*.cmt %{_libdir}/ocaml/async/persistent_connection/*.cmti %{_libdir}/ocaml/async/persistent_connection/*.mli %{_libdir}/ocaml/async/unpack_sequence/*.cmi %{_libdir}/ocaml/async/unpack_sequence/*.cmt %{_libdir}/ocaml/async/unpack_sequence/*.cmti %{_libdir}/ocaml/async/unpack_sequence/*.mli %if %{with ocaml_opt} %{_libdir}/ocaml/async/async.a %{_libdir}/ocaml/async/*.cmx %{_libdir}/ocaml/async/*.cmxa %{_libdir}/ocaml/async/async_command/async_command.a %{_libdir}/ocaml/async/async_command/*.cmx %{_libdir}/ocaml/async/async_command/*.cmxa %{_libdir}/ocaml/async/async_quickcheck/async_quickcheck.a %{_libdir}/ocaml/async/async_quickcheck/*.cmx %{_libdir}/ocaml/async/async_quickcheck/*.cmxa %{_libdir}/ocaml/async/async_rpc/async_rpc.a %{_libdir}/ocaml/async/async_rpc/*.cmx %{_libdir}/ocaml/async/async_rpc/*.cmxa %{_libdir}/ocaml/async/lock_file_async/lock_file_async.a %{_libdir}/ocaml/async/lock_file_async/*.cmx %{_libdir}/ocaml/async/lock_file_async/*.cmxa %{_libdir}/ocaml/async/log_extended/log_extended.a %{_libdir}/ocaml/async/log_extended/*.cmx %{_libdir}/ocaml/async/log_extended/*.cmxa %{_libdir}/ocaml/async/persistent_connection/persistent_connection.a %{_libdir}/ocaml/async/persistent_connection/*.cmx %{_libdir}/ocaml/async/persistent_connection/*.cmxa %{_libdir}/ocaml/async/unpack_sequence/unpack_sequence.a %{_libdir}/ocaml/async/unpack_sequence/*.cmx %{_libdir}/ocaml/async/unpack_sequence/*.cmxa %endif %{_libdir}/ocaml/async/dune-package %{_libdir}/ocaml/async/opam