## START: Set by rpmautospec
## (rpmautospec version 0.3.5)
## 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

%global common_description %{expand:
Highway is a C++ library for SIMD (Single Instruction, Multiple Data), i.e.
applying the same operation to 'lanes'.}

%global toolchain clang

%if 0%{?rhel}
%bcond gtest 0
%bcond contrib 0
%else
%bcond gtest 1
%bcond contrib 1
%endif

Name:           highway
Version:        1.0.7
Release:        %autorelease
Summary:        Efficient and performance-portable SIMD

License:        Apache-2.0
URL:            https://github.com/google/highway
Source0:        %url/archive/%{version}/%{name}-%{version}.tar.gz

BuildRequires:  cmake
BuildRequires:  clang
%if %{with gtest}
BuildRequires:  gtest-devel
%endif
BuildRequires:  libatomic

%description
%common_description

%package        devel
Summary:        Development files for Highway
Requires:       %{name}%{?_isa} = %{version}-%{release}

%description devel
%{common_description}

Development files for Highway.

%package        doc
Summary:        Documentation for Highway
BuildArch:      noarch

%description doc
%{common_description}

Documentation for Highway.

%prep
%autosetup -p1 -n %{name}-%{version}

%build
%cmake %{!?with_gtest:-DHWY_ENABLE_TESTS:BOOL=OFF} \
       %{?with_gtest:-DHWY_SYSTEM_GTEST:BOOL=ON} \
       %{!?with_contrib:-DHWY_ENABLE_CONTRIB:BOOL=OFF}
%cmake_build

%install
%cmake_install

%if %{without gtest}
rm -vf %{buildroot}%{_libdir}/libhwy_test.so.*
rm -vrf %{buildroot}%{_includedir}/hwy/tests
rm -vf %{buildroot}%{_libdir}/libhwy_test.so
rm -vf %{buildroot}%{_libdir}/pkgconfig/libhwy-test.pc
%endif

%if %{without contrib}
rm -vf %{buildroot}%{_libdir}/libhwy_contrib.so.*
rm -vrf %{buildroot}%{_includedir}/hwy/contrib
rm -vf %{buildroot}%{_libdir}/libhwy_contrib.so
rm -vf %{buildroot}%{_libdir}/pkgconfig/libhwy-contrib.pc
%endif

%check
%ctest --exclude-regex "wyBlockwiseTestGroup/HwyBlockwiseTest.TestAllBroadcast"

%files
%license LICENSE
%{_libdir}/libhwy.so.1
%{_libdir}/libhwy.so.%{version}
%if %{with contrib}
%{_libdir}/libhwy_contrib.so.1
%{_libdir}/libhwy_contrib.so.%{version}
%endif
%if %{with gtest}
%{_libdir}/libhwy_test.so.1
%{_libdir}/libhwy_test.so.%{version}
%endif

%files devel
%license LICENSE
%{_includedir}/hwy/
%{_libdir}/cmake/hwy/
%{_libdir}/libhwy.so
%if %{with contrib}
%{_libdir}/libhwy_contrib.so
%{_libdir}/pkgconfig/libhwy-contrib.pc
%endif
%if %{with gtest}
%{_libdir}/libhwy_test.so
%{_libdir}/pkgconfig/libhwy-test.pc
%endif
%{_libdir}/pkgconfig/libhwy.pc

%files doc
%license LICENSE
%doc g3doc hwy/examples

%changelog
* Fri Sep 01 2023 Fabio Valentini <decathorpe@gmail.com> - 1.0.7-1
- Update to version 1.0.7; Fixes RHBZ#2231570

* Sat Jul 29 2023 Fabio Valentini <decathorpe@gmail.com> - 1.0.5-1
- Update to version 1.0.5; Fixes RHBZ#2224097

* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.4-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild

* Sun Jun 25 2023 Jiri Kucera <jkucera@redhat.com> - 1.0.4-2
- Drop gtest on RHEL

* Sat Mar 18 2023 Robert-André Mauchin <zebob.m@gmail.com> - 1.0.4-1
- Update to 1.0.4

* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild

* Tue Dec 27 2022 Robert-André Mauchin <zebob.m@gmail.com> - 1.0.2-1
- Update to 1.0.2

* Sat Nov 19 2022 Robert-André Mauchin <zebob.m@gmail.com> - 1.0.1-2
- Disable SortTestGroup/SortTest.TestAllSort/Scalar test

* Sun Sep 18 2022 Robert-André Mauchin <zebob.m@gmail.com> - 1.0.1-1
- Update to 1.0.1

* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.17.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild

* Sun Jun 19 2022 Robert-André Mauchin <zebob.m@gmail.com> - 0.17.0-1
- Update to 0.17.0 Close: rhbz#2056027

* Fri Jan 21 2022 Robert-André Mauchin <zebob.m@gmail.com> - 0.15.0-4
- Temporary fix for bug 398

* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.15.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild

* Fri Dec 17 2021 Robert-André Mauchin <zebob.m@gmail.com> - 0.15.0-2
- Remove unused patch

* Sun Nov 21 2021 Robert-André Mauchin <zebob.m@gmail.com> - 0.15.0-1
- Update to 0.15.0 Close: rhbz#1997317

* Wed Aug 18 2021 Robert-André Mauchin <zebob.m@gmail.com> - 0.14.1-2
- Add patch to fix missing cast on ppc64le

* Wed Aug 18 2021 Robert-André Mauchin <zebob.m@gmail.com> - 0.14.1-1
- Update to 0.14.1 Close: rhbz#1988346

* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.12.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild

* Sun Jun 13 13:04:25 CEST 2021 Robert-André Mauchin <zebob.m@gmail.com> - 0.12.2-1
- Update to 0.12.2

* Sun May 23 19:03:29 CEST 2021 Robert-André Mauchin <zebob.m@gmail.com> - 0.12.1-1
- Update to 0.12.0
- Close: rhbz#1963675

* Mon May 17 18:03:58 CEST 2021 Robert-André Mauchin <zebob.m@gmail.com> - 0.12.0-1.20210518git376a400
- Initial RPM