%global debug_package %{nil} %global build_repo https://github.com/KhronosGroup/SPIRV-Tools %global latest_data %(git ls-remote %{build_repo} | grep -P 'refs/tags/v[0-9.]+' | sort -Vrk 2 | head -1) %global numeric_ver %(echo %{latest_data} | grep -oP 'tags/.*' | grep -oP '[0-9.]+') %global commit_date %(date +"%Y%m%d") %global rel_build %{commit_date}%{?dist} Name: spirv-tools Version: %{numeric_ver} Release: %{rel_build} Summary: API and commands for processing SPIR-V modules License: ASL 2.0 URL: %{build_repo} Source0: %url/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz BuildRequires: cmake3 BuildRequires: gcc-c++ BuildRequires: ninja-build %if 0%{?rhel} == 7 BuildRequires: python36-devel %else BuildRequires: python3-devel %endif BuildRequires: python3-rpm-macros BuildRequires: spirv-headers-devel Requires: %{name}-libs%{?_isa} = %{version}-%{release} %description The package includes an assembler, binary module parser, disassembler, and validator for SPIR-V.. %package libs Summary: Library files for %{name} Provides: %{name}-libs%{?_isa} = %{version} %description libs library files for %{name} %package devel Summary: Development files for %{name} Requires: %{name}-libs%{?_isa} = %{version}-%{release} %description devel Development files for %{name} %prep %autosetup -p1 -n SPIRV-Tools-%{version} # be more relaxed for i in android_test/Android.mk \ CMakeLists.txt \ Android.mk do sed -i "s/-Werror//g" $i done %build ## enable LTO export CFLAGS="%{build_cflags}" export CXXFLAGS="%{build_cxxflags}" export LDFLAGS="%{build_ldflags}" LTO_FLAGS="-g0 -flto=8 -ffat-lto-objects -flto-odr-type-merging" export CFLAGS="$CFLAGS -falign-functions=32 -fno-semantic-interposition $LTO_FLAGS " export FCFLAGS="$CFLAGS -falign-functions=32 -fno-semantic-interposition $LTO_FLAGS " export FFLAGS="$CFLAGS -falign-functions=32 -fno-semantic-interposition $LTO_FLAGS " export CXXFLAGS="$CXXFLAGS -std=c++14 -falign-functions=32 -fno-semantic-interposition $LTO_FLAGS " export LDFLAGS="$LDFLAG0S -flto=8 " %__mkdir_p %_target_platform pushd %_target_platform %cmake3 -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_LIBDIR=%{_lib} \ -DSPIRV-Headers_SOURCE_DIR=%{_prefix} \ -DPYTHON_EXECUTABLE=%{__python3} \ -GNinja .. %ninja_build popd %install %ninja_install -C %_target_platform %ldconfig_scriptlets libs %files %license LICENSE %doc README.md CHANGES %{_bindir}/spirv-as %{_bindir}/spirv-cfg %{_bindir}/spirv-dis %{_bindir}/spirv-lesspipe.sh %{_bindir}/spirv-link %{_bindir}/spirv-opt %{_bindir}/spirv-reduce %{_bindir}/spirv-val %files libs %{_libdir}/libSPIRV-Tools-link.so %{_libdir}/libSPIRV-Tools-opt.so %{_libdir}/libSPIRV-Tools-shared.so %{_libdir}/libSPIRV-Tools-reduce.so %{_libdir}/libSPIRV-Tools.so %files devel %{_includedir}/spirv-tools/ %{_libdir}/pkgconfig/SPIRV-Tools-shared.pc %{_libdir}/pkgconfig/SPIRV-Tools.pc %changelog * Sun Aug 04 2019 Mihai Vultur - Implement some version autodetection to reduce maintenance work. * Mon Jun 10 13:46:33 CEST 2019 Robert-André Mauchin - 2019.3-1 - Release 2019.3 * Thu Mar 07 2019 Dave Airlie - 2019.1-2 - Add patch to let vulkan-validation-layers build * Mon Feb 04 2019 Dave Airlie - 2019.1-1 - Update to 2019.1 release * Sun Feb 03 2019 Fedora Release Engineering - 2018.4-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild * Mon Jul 23 2018 Leigh Scott - 2018.4-1 - Update to 2018.4 release * Sat Jul 14 2018 Fedora Release Engineering - 2018.3.0-0.3.20180407.git26a698c - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild * Mon Jun 25 2018 Dave Airlie - 2018.3.0-0.2.20180407.git26a698c - Move to python3 and drop the simplejson buildreq. * Tue Apr 24 2018 Leigh Scott - 2018.3.0-0.1.20180407.git26a698c - Bump version to 2018.3.0 to match .pc files * Tue Apr 24 2018 Leigh Scott - 2018.1-0.4.20180407.git26a698c - Bump provides to 2018.3.0 * Tue Apr 24 2018 Leigh Scott - 2018.1-0.3.20180407.git26a698c - Update for vulkan 1.1.73.0 * Wed Feb 14 2018 Leigh Scott - 2018.1-0.2.20180205.git9e19fc0 - Add isa to the provides * Fri Feb 09 2018 Leigh Scott - 2018.1-0.1.20180205.git9e19fc0 - Fix version - Fix pkgconfig file - Add version provides to -libs package * Fri Feb 09 2018 Leigh Scott - 2016.7-0.5.20180205.git9e19fc0 - Update for vulkan 1.0.68.0 - Try building as shared object - Split libs into -libs subpackage * Fri Feb 09 2018 Leigh Scott - 2016.7-0.4.20171023.git5834719 - Use ninja to build * Mon Jan 22 2018 Leigh Scott - 2016.7-0.3.20171023.git5834719 - Add python prefix to fix the stupid Bodhi tests * Wed Jan 03 2018 Leigh Scott - 2016.7-0.2.20171023.git5834719 - Split binaries into main package * Thu Jul 13 2017 Leigh Scott - 2016.7-0.1.20171023.git5834719 - First build