## 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 with_snapshot 0 %global commit ec62d6cbef2fab4c49003c0206716d3d6248b59e %global shortcommit %(c=%{commit}; echo ${c:0:7}) Name: ispc Version: 1.21.0 %if %{with_snapshot} Release: %autorelease -p -s 20230102git%{shortcommit} %else Release: %autorelease %endif Summary: C-based SPMD programming language compiler License: BSD-3-Clause URL: https://ispc.github.io/ %if %{with_snapshot} Source0: https://github.com/%{name}/%{name}/archive/%{commit}/%{name}-%{shortcommit}.tar.gz %else Source0: https://github.com/%{name}/%{name}/archive/v%{version}/%{name}-%{version}.tar.gz %endif BuildRequires: bison BuildRequires: cmake BuildRequires: clang-devel BuildRequires: doxygen BuildRequires: flex BuildRequires: gcc-c++ BuildRequires: libomp-devel BuildRequires: llvm-devel BuildRequires: pkgconfig(libffi) BuildRequires: pkgconfig(ncurses) BuildRequires: pkgconfig(python3) # Hardcoded path from 32-bit glibc-devel needed to build # See https://github.com/ispc/ispc/wiki/Building-ispc:-Linux-and-Mac-OS-X %ifarch x86_64 BuildRequires: /usr/lib/crt1.o %endif BuildRequires: pkgconfig(tbb) BuildRequires: pkgconfig(zlib) # Upstream only supports these architectures ExclusiveArch: x86_64 aarch64 %description A compiler for a variant of the C programming language, with extensions for "single program, multiple data" (SPMD) programming. %package devel Summary: Development files for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} %description devel The %{name}-devel package contains libraries and header files for applications that use %{name}. %package static Summary: Static libraries for %{name} development %description static The %{name}-static package includes static libraries needed to develop programs that use %{name}. %prep %if %{with_snapshot} %autosetup -n %{name}-%{commit} -p1 %else %autosetup -n %{name}-%{version} -p1 %endif # Use gcc rather clang by default sed -i 's|set(CMAKE_C_COMPILER "clang")|set(CMAKE_C_COMPILER "gcc")|g' CMakeLists.txt sed -i 's|set(CMAKE_CXX_COMPILER "clang++")|set(CMAKE_CXX_COMPILER "g++")|g' CMakeLists.txt # Delete unrecognized command options from gcc-c++ sed -i 's|-Wno-c99-extensions -Wno-deprecated-register||g' CMakeLists.txt # Suppress warning message as error sed -i 's| -Werror ||g' CMakeLists.txt # Fix all Python shebangs recursively in . %py3_shebang_fix . %build %cmake \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=%{_prefix} \ -DCMAKE_EXE_LINKER_FLAGS="%{optflags} -fPIE" \ -DISPC_INCLUDE_EXAMPLES=OFF \ -DISPC_INCLUDE_TESTS=OFF \ -DLEVEL_ZERO_INCLUDE_DIR=%{_includedir} \ -DLEVEL_ZERO_LIB_LOADER=%{_libddir} \ -DLLVM_ENABLE_ASSERTIONS=OFF %cmake_build %install %cmake_install %files %license LICENSE.txt %{_bindir}/%{name} %{_bindir}/check_isa %{_libdir}/lib%{name}rt.so.{1,%{version}} %{_libdir}/lib%{name}rt_device_cpu.so.{1,%{version}} %files devel %{_includedir}/%{name}rt/ %{_libdir}/cmake/%{name}rt-%{version}/ %{_libdir}/lib%{name}rt.so %{_libdir}/lib%{name}rt_device_cpu.so %files static %license LICENSE.txt %{_libdir}/lib%{name}rt_static.a %changelog * Sat Aug 19 2023 Luya Tshimbalanga - 1.21.0-1 - Update to 1.21.0 (rhbz#2195967) * Thu Jul 20 2023 Fedora Release Engineering - 1.19.0-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild * Sat Mar 18 2023 aekoroglu - 1.19.0-4 - libispcrt_static.a needed for ospray * Wed Mar 01 2023 Luya Tshimbalanga - 1.19.0-3 - Update to 1.19.0 * Thu Jan 19 2023 Fedora Release Engineering - 1.19.0-0.2.20230102gitec62d6c - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild * Sat Jan 07 2023 Luya Tshimbalanga - 1.19.0-0.1.20230102gitec62d6c - New snapshot release fixing compatibility with LLVM 15 * Thu Jul 21 2022 Fedora Release Engineering - 1.18.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild * Sat May 07 2022 Luya Tshimbalanga - 1.18.0-1 - Update to 1.18.0 (#2082710) * Thu Jan 20 2022 Fedora Release Engineering - 1.17.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild * Sat Jan 15 2022 Luya Tshimbalanga - 1.17.0-1 - Update to 1.17.0 (#2041039) * Sun Aug 01 2021 Luya Tshimbalanga 1.16.1-2 - Use autorelease and autochangelog macros - Resolves rhbz#1983136 * Fri Jul 16 2021 Fedora Release Monitoring - 1.16.1-1 - Update to 1.16.1 (#1983136) * Sat Jun 12 2021 Fedora Release Monitoring - 1.16.0-1 - Update to 1.16.0 (#1971133) - Resolves rhbz#1971133 * Tue Jan 26 2021 Fedora Release Engineering - 1.15.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild * Fri Jan 22 2021 Tom Stellard - 1.15.0-2 - Rebuild for clang-11.1.0 * Sat Dec 19 2020 Fedora Release Monitoring - 1.15.0-1 - Update to 1.15.0 (#1909333) * Sat Oct 31 2020 Luya Tshimbalanga - 1.14.1-2 - Rebuild for llvm 11 * Sat Aug 29 2020 Fedora Release Monitoring - 1.14.1-1 - Update to 1.14.1 (#1862505) * Sat Aug 01 2020 Fedora Release Monitoring - 1.14.0-1 - Update to 1.14.0 (#1862505) * Sat Aug 01 2020 Fedora Release Engineering - 1.13.0-4 - Second attempt - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild * Tue Jul 28 2020 Fedora Release Engineering - 1.13.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild * Tue Jun 09 2020 Luya Tshimbalanga - 1.13.0-2 - Exclude i686 architecture * Fri Apr 24 2020 Fedora Release Monitoring - 1.13.0-1 - Update to 1.13.0 (#1827516) - Disable warning treated as error message - Only exclude ppc64le and s390x architectures