File ocaml-spawn.spec of Package ocaml-spawn

#
# spec file for package ocaml-spawn
#
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via https://bugs.opensuse.org/
#


Name:           ocaml-spawn
Version:        0.14.0
Release:        0
%{?ocaml_preserve_bytecode}
Summary:        Spawning sub-processes
License:        MIT
Group:          Development/Languages/OCaml
Url:            https://opam.ocaml.org/packages/spawn
Source0:        %{name}-%{version}.tar.xz
BuildRequires:  ocaml(ocaml_base_version) >= 4.04
BuildRequires:  ocaml-dune
BuildRequires:  ocaml-rpm-macros >= 20210209
BuildRequires:  ocamlfind(ppx_expect)
BuildRequires:  ocamlfind(threads)
BuildRequires:  ocamlfind(unix)

%description
Spawn is a small library exposing only one functionality: spawning sub-process.

It has three main goals:

1. provide missing features of Unix.create_process such as providing a
working directory

2. provide better errors when a system call fails in the
sub-process. For instance if a command is not found, you get a proper
[Unix.Unix_error] exception

3. improve performances by using vfork when available. It is often
claimed that nowadays fork is as fast as vfork, however in practice
fork takes time proportional to the process memory while vfork is
constant time. In application using a lot of memory, vfork can be
thousands of times faster than fork.

%package        devel
Summary:        Development files for %{name}
Group:          Development/Languages/OCaml
Requires:       %{name} = %{version}

%description    devel
The %{name}-devel package contains libraries and signature files for
developing applications that use %{name}.

%prep
%autosetup -p1

%build
dune_release_pkgs='spawn'
%ocaml_dune_setup
%ocaml_dune_build

%install
%ocaml_dune_install
%ocaml_create_file_list

%check
%ocaml_dune_test

%files -f %{name}.files

%files devel -f %{name}.files.devel

%changelog
openSUSE Build Service is sponsored by