## START: Set by rpmautospec
## (rpmautospec version 0.6.0)
## RPMAUTOSPEC: autorelease, autochangelog
%define autorelease(e:s:pb:n) %{?-p:0.}%{lua:
    release_number = 2;
    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

%bcond_with toolchain_clang

# use this to re-test running all tests
%bcond_with all_tests

%if %{with toolchain_clang}
%global toolchain clang
%endif

%bcond_without check

Name:           wangle
Version:        2024.02.19.00
Release:        %autorelease
Summary:        Framework for building services in a consistent/modular/composable way

License:        Apache-2.0
URL:            https://github.com/facebook/wangle
Source0:        %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
# disable failing tests, see patch for context
%if %{without all_tests}
Patch0:         %{name}-disable_failed_tests.patch
%endif

ExclusiveArch:   x86_64 aarch64 ppc64le riscv64

BuildRequires:  cmake
%if %{with toolchain_clang}
BuildRequires:  clang
%else
BuildRequires:  gcc-c++
%endif
# Library dependencies
BuildRequires:  fizz-devel = %{version}
BuildRequires:  folly-devel = %{version}
%if %{with check}
BuildRequires:  gmock-devel
BuildRequires:  gtest-devel
%endif


%global _description %{expand:
Wangle is a library that makes it easy to build protocols, application clients,
and application servers.

It's like Netty + Finagle smooshed together, but in C++.}

%description %{_description}


%package        devel
Summary:        Development files for %{name}
Requires:       %{name}%{?_isa} = %{version}-%{release}
Obsoletes:      %{name}-static < 2022.02.28.00-1

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


%prep
%autosetup -p1


%build
cd wangle
%cmake \
%if %{with check}
  -DBUILD_TESTS=ON \
%else
  -DBUILD_TESTS=OFF \
%endif
  -DCMAKE_INSTALL_DIR=%{_libdir}/cmake/%{name} \
  -DPACKAGE_VERSION=%{version}
%cmake_build
cd -


%install
cd wangle
%cmake_install
cd -


%if %{with check}
%check
cd wangle
%ctest
cd -
%endif


%files
%license LICENSE
%{_libdir}/*.so.%{version}

%files devel
%doc CONTRIBUTING.md README.md tutorial.md
%{_includedir}/*
%{_libdir}/*.so
%{_libdir}/cmake/%{name}


%changelog
## START: Generated by rpmautospec
* Tue Apr 09 2024 JasenChao <JasenChao@gmail.com> - 2024.02.19.00-2
- Add riscv64 support.

* Fri Feb 23 2024 Michel Lind <salimma@fedoraproject.org> - 2024.02.19.00-1
- Update to 2024.02.19.00

* Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2024.01.22.00-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild

* Mon Jan 22 2024 Michel Lind <salimma@fedoraproject.org> - 2024.01.22.00-1
- Update to 2024.01.22.00

* Tue Oct 17 2023 Michel Lind <salimma@fedoraproject.org> - 2023.10.16.00-1
- Update to 2023.10.16.00

* Tue Oct 17 2023 Michel Lind <salimma@fedoraproject.org> - 2023.10.09.00-1
- Update to 2023.10.09.00

* Thu Oct 05 2023 Remi Collet <remi@fedoraproject.org> - 2023.09.11.00-2
- rebuild for new libsodium

* Mon Sep 11 2023 Michel Lind <salimma@fedoraproject.org> - 2023.09.11.00-1
- Update to 2023.09.11.00

* Sat Jul 22 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2023.07.03.00-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild

* Thu Jul 06 2023 Michel Alexandre Salim <salimma@fedoraproject.org> - 2023.07.03.00-1
- Update to 2023.07.03.00
- Use SPDX license identifier

* Wed Jun 28 2023 Vitaly Zaitsev <vitaly@easycoding.org> - 2023.04.24.00-2
- Rebuilt due to fmt 10 update.

* Mon Apr 24 2023 Michel Alexandre Salim <salimma@fedoraproject.org> - 2023.04.24.00-1
- Update to 2023.04.24.00

* Sat Jan 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2022.07.11.00-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild

* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2022.07.11.00-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild

* Wed Jul 20 2022 Michel Alexandre Salim <salimma@fedoraproject.org> - 2022.07.11.00-1
- Update to 2022.07.11.00

* Tue Jul 19 2022 Mamoru TASAKA <mtasaka@fedoraproject.org> - 2022.03.14.00-2
- Fix FTBFS, build with gcc

* Mon Mar 14 2022 Michel Alexandre Salim <salimma@fedoraproject.org> - 2022.03.14.00-1
- Update to 2022.03.14.00

* Tue Mar 08 2022 Michel Alexandre Salim <salimma@fedoraproject.org> - 2022.03.07.00-1
- Update to 2022.03.07.00 (resolves: rhbz#2059195)

* Sat Mar 05 2022 Michel Alexandre Salim <salimma@fedoraproject.org> - 2022.02.28.00-3
- Properly switch toolchain to clang

* Sat Mar 05 2022 Michel Alexandre Salim <salimma@fedoraproject.org> - 2022.02.28.00-2
- Use clang on releases with GCC 12; fix build with cmake 3.23.0

* Thu Mar 03 2022 Michel Alexandre Salim <salimma@fedoraproject.org> - 2022.02.28.00-1
- Update to 2022.02.28.00; drop static build

* Thu Feb 24 2022 Michel Alexandre Salim <salimma@fedoraproject.org> - 2022.02.21.00-1
- Update to 2022.02.21.00 (resolves: rhbz#2035820)

* Sat Jan 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2022.01.17.00-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild

* Wed Jan 19 2022 Michel Alexandre Salim <salimma@fedoraproject.org> - 2022.01.17.00-1
- Update to 2022.01.17.00

* Thu Dec 23 2021 Michel Alexandre Salim <salimma@fedoraproject.org> - 2021.12.20.00-1
- Update to 2021.12.20.00; enable tests

* Fri Dec 17 2021 Michel Alexandre Salim <salimma@fedoraproject.org> - 2021.11.29.00-1
- Update to 2021.11.29.00

* Thu Nov 18 2021 Michel Alexandre Salim <salimma@fedoraproject.org> - 2021.11.15.00-3
- Rebuilt with OpenSSL 1.1.1

* Thu Nov 18 2021 Michel Alexandre Salim <salimma@fedoraproject.org> - 2021.11.15.00-2
- Opt in to rpmautospec

* Thu Nov 18 2021 Michel Alexandre Salim <salimma@fedoraproject.org> - 2021.11.15.00-1
- Update to 2021.11.15.00

* Tue Sep 14 2021 Sahana Prasad <sahana@redhat.com> - 2021.08.02.00-2
- Rebuilt with OpenSSL 3.0.0

* Thu Aug  5 2021 Filipe Brandenburger <filbranden@gmail.com> - 2021.08.02.00-1
- Update to 2021.08.02.00

* Thu Jul 29 2021 Michel Alexandre Salim <salimma@fedoraproject.org> - 2021.07.22.00-3
- Use C++20 standard, in order to enable C++ coroutines

* Tue Jul 27 2021 Michel Alexandre Salim <salimma@fedoraproject.org> - 2021.07.22-00-2
- Rebuilt for folly 2021.07.22.00

* Sat Jul 24 2021 Michel Alexandre Salim <salimma@fedoraproject.org> - 2021.07.22.00-1
- Update to 2021.07.22.00

* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2021.06.28.00-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild

* Mon Jul 12 2021 Michel Alexandre Salim <salimma@fedoraproject.org> - 2021.06.28.00-1
- Update to 2021.06.28.00

* Wed Jun 09 2021 Michel Alexandre Salim <salimma@fedoraproject.org> - 2021.06.07.00-1
- Update to 2021.06.07.00

* Mon May 10 2021 Michel Alexandre Salim <salimma@fedoraproject.org> - 2021.05.10.00-1
- Update to 2021.05.10.00

* Mon Apr 26 2021 Michel Alexandre Salim <salimma@fedoraproject.org> - 2021.04.26.00-1
- Update to 2021.04.26.00

* Fri Apr 16 2021 Michel Alexandre Salim <salimma@fedoraproject.org> - 2021.04.12.00-1
- Update to 2021.04.12.00

* Mon Mar 29 2021 Michel Alexandre Salim <salimma@fedoraproject.org> - 2021.03.29.00-1
- Update to 2021.03.29.00

* Wed Mar 24 2021 Michel Alexandre Salim <salimma@fedoraproject.org> - 2021.03.22.00-1
- Update to 2021.03.22.00

* Mon Mar 15 2021 Michel Alexandre Salim <salimma@fedoraproject.org> - 2021.03.15.00-1
- Update to 2021.03.15.00

* Wed Feb 03 2021 Michel Alexandre Salim <salimma@fedoraproject.org> - 2021.02.01.00-1
- Update to 2021.02.01.00

* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2021.01.25.00-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild

* Tue Jan 26 17:49:34 PST 2021 Michel Alexandre Salim <salimma@fedoraproject.org> - 2021.01.25.00-1
- Update to 2021.01.25.00

* Tue Dec 29 12:15:28 PST 2020 Michel Alexandre Salim <salimma@fedoraproject.org> - 2020.12.28.00-1
- Update to 2020.12.28.00

* Tue Dec 22 16:56:57 PST 2020 Michel Alexandre Salim <salimma@fedoraproject.org> - 2020.12.21.00-1
- Update to 2020.12.21.00

* Mon Nov 30 10:42:48 PST 2020 Michel Alexandre Salim <salimma@fedoraproject.org> - 2020.11.30.00-1
- Update to 2020.11.30.00

* Mon Nov 23 2020 Michel Alexandre Salim <salimma@fedoraproject.org> - 2020.11.23.00-1
- Update to 2020.11.23.00

* Mon Nov 16 2020 Michel Alexandre Salim <salimma@fedoraproject.org> - 2020.11.16.00-1
- Update to 2020.11.16.00

* Mon Nov  9 2020 Michel Alexandre Salim <salimma@fedoraproject.org> - 2020.11.09.00-1
- Update to 2020.11.09.00

* Mon Nov  2 2020 Michel Alexandre Salim <salimma@fedoraproject.org> - 2020.11.02.00-1
- Update to 2020.11.02.00

* Fri Oct 30 2020 Michel Alexandre Salim <salimma@fedoraproject.org> - 2020.10.26.00-3
- Enable static subpackage on architectures where fizz-static is available

* Wed Oct 28 2020 Michel Alexandre Salim <salimma@fedoraproject.org> - 2020.10.26.00-2
- Add ExcludeArch on s390x due to dependency on folly

* Mon Oct 26 2020 Michel Alexandre Salim <salimma@fedoraproject.org> - 2020.10.26.00-1
- Initial package

## END: Generated by rpmautospec