diff options
author | Michel Alexandre Salim <salimma@fedoraproject.org> | 2022-01-24 19:54:49 -0800 |
---|---|---|
committer | Michel Alexandre Salim <salimma@fedoraproject.org> | 2022-01-24 19:54:49 -0800 |
commit | a34d5aaef3f34490ae45d3f5386f12f3ef7b5a1c (patch) | |
tree | d2f6cd9318fb1e1e9c83b86f908c565e78ca7c04 /meta | |
parent | 09162956971e77780bdc50fd1aad6158f87c979e (diff) | |
download | specs-a34d5aaef3f34490ae45d3f5386f12f3ef7b5a1c.tar.gz specs-a34d5aaef3f34490ae45d3f5386f12f3ef7b5a1c.tar.xz specs-a34d5aaef3f34490ae45d3f5386f12f3ef7b5a1c.zip |
+ dispenso
Signed-off-by: Michel Alexandre Salim <salimma@fedoraproject.org>
Diffstat (limited to 'meta')
-rw-r--r-- | meta/dispenso.spec | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/meta/dispenso.spec b/meta/dispenso.spec new file mode 100644 index 0000000..c288a85 --- /dev/null +++ b/meta/dispenso.spec @@ -0,0 +1,90 @@ +# need to sort out tests +# - patch to use system gtest needs to be made toggle-able +%bcond_without check + +Name: dispenso +Version: 1.0.0 +Release: %{autorelease} +Summary: A library for working with sets of tasks in parallel + +License: MIT +URL: https://github.com/facebookincubator/dispenso +Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz +# allow Dispenso to be installed and fix its version +Patch0: %{url}/commit/d00e7402ffcc780df11024f8d2285c153b7635b1.patch#/%{name}-1.0.0-add-install.patch +Patch1: %{name}-1.0.0-use-system-gtest.patch + +BuildRequires: cmake +BuildRequires: gcc-c++ +%if %{with check} +BuildRequires: gmock-devel +BuildRequires: gtest-devel +%endif + +%global _description %{expand: +Dispenso is a library for working with sets of tasks in parallel. It provides +mechanisms for thread pools, task sets, parallel for loops, futures, pipelines, +and more. Dispenso is a well-tested C++14 library designed to have minimal +dependencies (some dependencies are required for the tests and benchmarks), and +designed to be clean with compiler sanitizers (ASAN, TSAN). Dispenso is +currently being used in dozens of projects and hundreds of C++ files at Meta +(formerly Facebook). Dispenso also aims to avoid major disruption at every +release. Releases will be made such that major versions are created when a +backward incompatibility is introduced, and minor versions are created when +substantial features have been added or bugs have been fixed, and the aim would +be to only very rarely bump major versions. That should make the project +suitable for use from main branch, or if you need a harder requirement, you can +base code on a specific version.} + +%description %{_description} + + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} +# Requires: cmake-filesystem + +%description devel %{_description} + +The %{name}-devel package contains libraries and header files for +developing applications that use %{name}. + + +%prep +%autosetup -p1 + + +%build +%cmake \ +%if %{with check} + -DDISPENSO_BUILD_TESTS=ON \ +%else + %{nil} +%endif + +%cmake_build + + +%install +%cmake_install + + +%if %{with check} +%check +%ctest +%endif + + +%files +%license LICENSE +%{_libdir}/*.so.* + +%files devel +%doc CODE_OF_CONDUCT.md CONTRIBUTING.md README.md +%{_includedir}/* +%{_libdir}/*.so +%{_libdir}/cmake/Dispenso-%{version} + + +%changelog +%autochangelog |