From 8b87ee9fcdd80b230f6e35882afd7413d30a11c3 Mon Sep 17 00:00:00 2001 From: Jakub Bogusz Date: Wed, 12 Jan 2022 21:03:00 +0100 Subject: [PATCH 1/1] - new --- ocaml-async.spec | 198 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 198 insertions(+) create mode 100644 ocaml-async.spec diff --git a/ocaml-async.spec b/ocaml-async.spec new file mode 100644 index 0000000..b21eef5 --- /dev/null +++ b/ocaml-async.spec @@ -0,0 +1,198 @@ +# +# 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 -- 2.44.0