## START: Set by rpmautospec ## (rpmautospec version 0.7.3) ## RPMAUTOSPEC: autorelease, autochangelog %define autorelease(e:s:pb:n) %{?-p:0.}%{lua: release_number = 4; base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); print(release_number + base_release_number - 1); }%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} ## END: Set by rpmautospec %ifarch %{arm} %{ix86} # need to sort out tests, only 90% pass %bcond_with check %else %bcond_without check %endif # disable flaky / failing tests by default %bcond_with all_tests # In file included from /builddir/build/BUILD/dispenso-1.3.0/dispenso/../dispenso/detail/graph_executor_impl.h:9, # from /builddir/build/BUILD/dispenso-1.3.0/dispenso/../dispenso/graph_executor.h:10, # from /builddir/build/BUILD/dispenso-1.3.0/dispenso/graph_executor.cpp:8: # /builddir/build/BUILD/dispenso-1.3.0/dispenso/../dispenso/graph.h:489:25: error: template-id not allowed for constructor in C++20 [-Werror=template-id-cdtor] # 489 | explicit SubgraphT(GraphT* graph) : graph_(graph), nodes_(), allocator_(getAllocator()) {} # | ^~~~~~~~~ # /builddir/build/BUILD/dispenso-1.3.0/dispenso/../dispenso/graph.h:489:25: note: remove the ‘< >’ # /builddir/build/BUILD/dispenso-1.3.0/dispenso/../dispenso/graph.h:530:12: error: template-id not allowed for constructor in C++20 [-Werror=template-id-cdtor] # 530 | GraphT() { # | ^ # /builddir/build/BUILD/dispenso-1.3.0/dispenso/../dispenso/graph.h:530:12: note: remove the ‘< >’ # cc1plus: all warnings being treated as errors %if 0%{?fedora} >= 40 || 0%{?rhel} >= 10 %global optflags %(echo %{optflags} -Wno-error=template-id-cdtor) %endif Name: dispenso Version: 1.3.0 Release: %{autorelease} Summary: A library for working with sets of tasks in parallel %global major_ver %(c=%{version}; echo $c | cut -d. -f1) License: MIT URL: https://github.com/facebookincubator/dispenso Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz # TODO: make toggleable and upstream Patch0: %{name}-use-system-gtest.diff # TODO: make toggleable and upstream Patch1: %{name}-use-system-moodycamel.diff BuildRequires: cmake BuildRequires: gcc-c++ BuildRequires: moodycamel-concurrentqueue-devel %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: moodycamel-concurrentqueue-devel %description devel %{_description} The %{name}-devel package contains libraries and header files for developing applications that use %{name}. %prep %autosetup -p1 # make sure we use the system library rm -rf dispenso/third-party %build %cmake \ %if %{with check} -DDISPENSO_BUILD_TESTS=ON \ %else %{nil} %endif %cmake_build %install %cmake_install %if %{with check} %check %if %{with all_tests} %ctest %else # flaky tests EXCLUDED_TESTS='-E Priorty\.PriorityGetsCycles' EXCLUDED_TESTS+='|TimedTaskTest' %ctest $EXCLUDED_TESTS %endif %endif %files %license LICENSE %{_libdir}/*.so.%{major_ver} %{_libdir}/*.so.%{version} %files devel %doc CODE_OF_CONDUCT.md CONTRIBUTING.md README.md %{_includedir}/* %{_libdir}/*.so %{_libdir}/cmake/Dispenso-%{version} %changelog ## START: Generated by rpmautospec * Wed Jul 17 2024 Fedora Release Engineering - 1.3.0-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild * Thu May 30 2024 Michel Lind - 1.3.0-3 - Only override template-id-cdtor error on releases with newer GCC * Thu May 30 2024 Michel Lind - 1.3.0-2 - Remove upstreamed patches and rebase the rest - Work around -Werror=template-id-cdtor issues * Thu May 30 2024 Packit - 1.3.0-1 - Update to 1.3.0 upstream release - Resolves: rhbz#2277429 * Thu May 30 2024 Michel Lind - 1.2.0-5 - Enable Packit * Sun Jan 28 2024 Michel Lind - 1.2.0-4 - Fix finding moodycamel-concurrentqueue 1.0.4 * Wed Jan 24 2024 Fedora Release Engineering - 1.2.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild * Fri Jan 19 2024 Fedora Release Engineering - 1.2.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild * Wed Jan 03 2024 Michel Lind - 1.2.0-1 - Update to 1.2.0 * Wed Jul 19 2023 Fedora Release Engineering - 1.1.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild * Thu Jan 19 2023 Fedora Release Engineering - 1.1.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild * Thu Dec 01 2022 Michel Alexandre Salim - 1.1.0-1 - Update to 1.1.0 * Thu Jul 21 2022 Fedora Release Engineering - 1.0.0-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild * Thu Jan 27 2022 Michel Alexandre Salim - 1.0.0-3 - Fix linking against gmock on F34 * Wed Jan 26 2022 Michel Alexandre Salim - 1.0.0-2 - Use system moodycamel, to avoid bundling and fix build issue on armv7hl * Tue Jan 25 2022 Michel Alexandre Salim - 1.0.0-1 - Initial Fedora package ## END: Generated by rpmautospec