%define major %(echo %{version} | cut -d. -f1) %define libname %mklibname hwy %{major} %define libnamec %mklibname hwy_contrib %{major} %define libnamet %mklibname hwy_test %{major} %define devname %mklibname hwy -d # limit parallel builds on aarch64 %ifarch %arm64 %global _smp_ncpus_max 4 %endif Name: highway Summary: Performance-portable, length-agnostic SIMD with runtime dispatch Version: 1.0.3 Release: %mkrel 1 License: ASL2.0 Group: Development/C++ Url: https://github.com/google/highway Source0: https://github.com/google/highway/archive/%{version}/highway-%{version}.tar.gz BuildRequires: cmake BuildRequires: ninja BuildRequires: git-core BuildRequires: gtest-devel BuildRequires: libatomic-devel %description Highway is a C++ library for SIMD (Single Instruction, Multiple Data), i.e. applying the same operation to 'lanes'. %package -n %{libname} Summary: Shared libraries for %{name} Group: System/Libraries %description -n %{libname} Highway is a C++ library for SIMD (Single Instruction, Multiple Data), i.e. applying the same operation to 'lanes'. %package -n %{libnamec} Summary: Shared libraries for %{name} Group: System/Libraries Obsoletes: %{_lib}hwy_contrib < 0.15.0 %description -n %{libnamec} Highway is a C++ library for SIMD (Single Instruction, Multiple Data), i.e. applying the same operation to 'lanes'. %package -n %{libnamet} Summary: Shared libraries for %{name} Group: System/Libraries %description -n %{libnamet} Highway is a C++ library for SIMD (Single Instruction, Multiple Data), i.e. applying the same operation to 'lanes'. %package -n %{devname} Summary: Development files for %{name} Group: Development/C++ Requires: %{libname} = %{version}-%{release} Requires: %{libnamec} = %{version}-%{release} Requires: %{libnamet} = %{version}-%{release} Provides: %{name}-devel = %{version}-%{release} %description -n %{devname} This package contains the development libraries and header files for %{name}. %prep %autosetup -p1 -Sgit_am %build %ifarch %ix86 %arm32 # See: # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106322 %global optflags %optflags -fno-tree-loop-vectorize -fno-tree-slp-vectorize %endif %ifarch %arm32 %global optflags %optflags -Wno-psabi %endif %cmake -GNinja \ -DCMAKE_INSTALL_LIBDIR:PATH=%{_lib} \ -DBUILD_SHARED_LIBS:BOOL=ON \ -DHWY_SYSTEM_GTEST:BOOL=ON \ -DBUILD_TESTING:BOOL=ON \ %ifarch %arm32 -DHWY_CMAKE_ARM7:BOOL=ON \ %endif -DHWY_BROKEN_EMU128:BOOL=ON %cmake_build %install %cmake_install %check %ctest %files -n %{libname} %license LICENSE %{_libdir}/libhwy.so.%{major} %{_libdir}/libhwy.so.%{version} %files -n %{libnamec} %license LICENSE %{_libdir}/libhwy_contrib.so.%{major} %{_libdir}/libhwy_contrib.so.%{version} %files -n %{libnamet} %license LICENSE %{_libdir}/libhwy_test.so.%{major} %{_libdir}/libhwy_test.so.%{version} %files -n %{devname} %doc README.md CONTRIBUTING %{_includedir}/hwy/ %{_libdir}/libhwy*.so %{_libdir}/pkgconfig/libhwy*.pc %changelog * Mon Jan 30 2023 wally <wally> 1.0.3-1.mga9 + Revision: 1937004 - new version 1.0.3 * Sat Dec 17 2022 wally <wally> 1.0.2-1.mga9 + Revision: 1924052 - new version 1.0.2 * Sun Aug 28 2022 wally <wally> 1.0.1-1.mga9 + Revision: 1881374 - new version 1.0.1 * Mon Aug 08 2022 wally <wally> 1.0.0-1.mga9 + Revision: 1876149 - new verssion 1.0.0 * Tue Jul 26 2022 wally <wally> 0.17.0-2.mga9 + Revision: 1872329 - add patch to fix tests on aarch64 * Sun Jul 24 2022 wally <wally> 0.17.0-1.mga9 + Revision: 1870828 - new version 0.17.0 + umeabot <umeabot> - Mageia 9 Mass Rebuild * Mon Dec 06 2021 wally <wally> 0.15.0-1.mga9 + Revision: 1760929 - new version 0.15.0 * Sat Aug 21 2021 wally <wally> 0.14.1-1.mga9 + Revision: 1742111 - new version 0.14.1 * Sat Jul 31 2021 wally <wally> 0.14.0-1.mga9 + Revision: 1738348 - imported package highway