## START: Set by rpmautospec ## (rpmautospec version 0.6.0) ## RPMAUTOSPEC: autorelease, autochangelog %define autorelease(e:s:pb:n) %{?-p:0.}%{lua: release_number = 1; 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 Summary: C++ parallel computing and asynchronous networking engine Name: workflow # Main files are available under Apache-2.0 license except # src/util/crc32c.h available under BSD-2-Clause license # src/util/crc32c.c available under Zlib license # src/kernel/rbtree.c available under GPL-2.0-or-later # src/kernel/rbtree.h available under GPL-2.0-or-later License: Apache-2.0 AND BSD-2-Clause AND Zlib AND GPL-2.0-or-later Version: 0.11.6 Release: %autorelease URL: https://github.com/sogou/workflow Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz BuildRequires: cmake BuildRequires: gcc-c++ BuildRequires: ninja-build BuildRequires: gtest-devel BuildRequires: openssl-devel %if 0%{?fedora} >= 41 BuildRequires: openssl-devel-engine %endif %ifnarch %{ix86} # Needed for redis check BuildRequires: redis %endif BuildRequires: sed # Needed for memory check BuildRequires: valgrind %global _description %{expand: As Sogou`s C++ server engine, Sogou C++ Workflow supports almost all back-end C++ online services of Sogou, including all search services, cloud input method, online advertisements, etc., handling more than 10 billion requests every day. This is an enterprise-level programming engine in light and elegant design which can satisfy most C++ back-end development requirements. } %description %_description %package devel Summary: C++ parallel computing and asynchronous networking engine Requires: %{name}%{?_isa} = %{version}-%{release} %description devel %_description %package docs Summary: C++ parallel computing and asynchronous networking engine BuildArch: noarch %description docs %_description %prep %autosetup # Rename files to make installation of documentation easier pushd docs pushd en rename .md .en.md *.md mv *.* .. popd popd %build %cmake -GNinja %cmake_build # remove copies of header files to minimize # size of debugsource package, these files are # copied into a _include directory rm -r _include mkdir -p _include/workflow ln -s src/algorithm/*.h _include/workflow/ ln -s src/algorithm/*.inl _include/workflow/ ln -s src/client/*.h _include/workflow/ ln -s src/kernel/*.h _include/workflow/ ln -s src/factory/*.h _include/workflow/ ln -s src/factory/*.inl _include/workflow/ ln -s src/manager/*.h _include/workflow/ ln -s src/manager/*.inl _include/workflow/ ln -s src/nameservice/*.h _include/workflow/ ln -s src/protocol/*.h _include/workflow/ ln -s src/protocol/*.inl _include/workflow/ ln -s src/server/*.h _include/workflow/ ln -s src/util/*.h _include/workflow/ %install %cmake_install # Package Readmes separately rm %{buildroot}/%{_docdir}/%{name}-%{version}/README.md # Do not package static library rm %{buildroot}/%{_libdir}/libworkflow.a %check # Run tests make check %files %license LICENSE LICENSE_GPLV2 %doc README.md %doc README_cn.md %{_libdir}/libworkflow.so.0.* %{_libdir}/libworkflow.so.0 %files devel %{_libdir}/libworkflow.so %dir %{_libdir}/cmake/%{name} %{_libdir}/cmake/%{name}/*.cmake %dir %{_includedir}/workflow %{_includedir}/workflow/*.h %{_includedir}/workflow/*.inl %files docs %license LICENSE %doc docs/*.md %doc tutorial/ %changelog ## START: Generated by rpmautospec * Wed Oct 02 2024 Benson Muite - 0.11.6-1 - Update to 0.11.6 * Thu Aug 08 2024 topazus - 0.11.5-1 - 0.11.5; rhbz#2301367 and rhbz#2301662 * Sat Jul 20 2024 Fedora Release Engineering - 0.11.4-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild * Fri May 17 2024 Packit - 0.11.4-1 - Update to 0.11.4 upstream release - Resolves: rhbz#2280963 * Wed Apr 17 2024 topazus - 0.11.3-1 - 0.11.3 * Sat Jan 27 2024 Fedora Release Engineering - 0.11.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild * Sat Nov 11 2023 Benson Muite - 0.11.1-1 - Update to new release * Sat Jul 22 2023 Fedora Release Engineering - 0.10.7-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild * Tue Jun 6 2023 Benson Muite - 0.10.7-1 - Update to new release * Sat Feb 25 2023 Benson Muite - 0.10.6-1 - Update to new release * Thu Feb 23 2023 Benson Muite - 0.10.5-4 - Get tests to work - Add redis and valgrind - Use GTest with c++14 * Wed Feb 22 2023 Benson Muite - 0.10.5-3 - Remove static library rather than use exclude macro - Use tutorial instead of tests * Fri Jan 13 2023 Benson Muite - 0.10.5-2 - Ensure tests run * Wed Jan 11 2023 Benson Muite - 0.10.5-1 - Version update - Add copy of GPL license * Mon Jan 02 2023 Benson Muite - 0.10.4-2 - Do not include static library - Update license information * Sun Jan 01 2023 Benson Muite - 0.10.4-1 - Initial packaging ## END: Generated by rpmautospec