diff --git a/wlcs.spec b/wlcs.spec index 7dca8f9..a6fbbed 100644 --- a/wlcs.spec +++ b/wlcs.spec @@ -1,14 +1,14 @@ -# Lists copied from gcc.spec -# Current as of 16.0.1 (lines 83, 103, and 93, respectively). +# Lists copied from https://git.centos.org/rpms/gcc/blob/c9/f/SPECS/gcc.spec +# Current as of 11.3.1 (lines 56, 71, and 61, respectively). # Note that asan and ubsan are available on all Fedora primary architectures; -# tsan is missing on i686 only. -%ifarch %{ix86} x86_64 ppc ppc64 ppc64le ppc64p7 s390 s390x %{arm} aarch64 riscv64 +# tsan is missing on i686 and s390x. +%ifarch %{ix86} x86_64 ppc ppc64 ppc64le ppc64p7 s390 s390x %{arm} aarch64 %global arch_has_asan 1 %endif -%ifarch %{ix86} x86_64 ppc ppc64 ppc64le ppc64p7 s390 s390x %{arm} aarch64 riscv64 +%ifarch %{ix86} x86_64 ppc ppc64 ppc64le ppc64p7 s390 s390x %{arm} aarch64 %global arch_has_ubsan 1 %endif -%ifarch x86_64 ppc64 ppc64le aarch64 s390x riscv64 +%ifarch x86_64 ppc64 ppc64le aarch64 %global arch_has_tsan 1 %endif @@ -83,22 +83,12 @@ SourceLicense: %{shrink: URL: https://github.com/MirServer/wlcs Source: %{url}/archive/v%{version}/wlcs-%{version}.tar.gz -BuildSystem: cmake -# WLCS_FATAL_COMPILE_WARNINGS: makes sense for upstream CI, but too strict for -# downstream packaging -BuildOption(conf): %{shrink: - -DWLCS_BUILD_ASAN=%{?with_asan:ON}%{?!with_asan:OFF} - -DWLCS_BUILD_TSAN=%{?with_tsan:ON}%{?!with_tsan:OFF} - -DWLCS_BUILD_UBSAN=%{?with_ubsan:ON}%{?!with_ubsan:OFF} - -DWLCS_FATAL_COMPILE_WARNINGS:BOOL=OFF - } -# We have built a test suite for compositors, but we have no tests for the test -# suite, i.e., %%ctest would find no tests and there is nothing useful we could -# do in %%check. - BuildRequires: gcc BuildRequires: gcc-c++ +BuildRequires: cmake +BuildRequires: ninja-build + BuildRequires: boost-devel BuildRequires: cmake(GTest) BuildRequires: gmock-devel @@ -145,6 +135,31 @@ The wlcs-devel package contains libraries and header files for developing Wayland compositor tests that use wlcs. +%prep +%autosetup + + +%build +# WLCS_FATAL_COMPILE_WARNINGS: makes sense for upstream CI, but too strict for +# downstream packaging +%cmake \ + -DWLCS_BUILD_ASAN=%{?with_asan:ON}%{?!with_asan:OFF} \ + -DWLCS_BUILD_TSAN=%{?with_tsan:ON}%{?!with_tsan:OFF} \ + -DWLCS_BUILD_UBSAN=%{?with_ubsan:ON}%{?!with_ubsan:OFF} \ + -DWLCS_FATAL_COMPILE_WARNINGS:BOOL=OFF \ + -GNinja +%cmake_build + + +%install +%cmake_install + + +# We have built a test suite for compositors, but we have no tests for the test +# suite, i.e., %%ctest would find no tests and there is nothing useful we could +# do in %%check. + + %files %license COPYING.* %doc README.rst