## START: Set by rpmautospec ## (rpmautospec version 0.3.0) %define autorelease(e:s:pb:n) %{?-p:0.}%{lua: release_number = 7; 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 # List copied from gcc.spec # Current as of 12.2.1 (line 60) # Note that this covers all Fedora primary architectures. %ifarch %{ix86} x86_64 ppc ppc64 ppc64le ppc64p7 s390 s390x %{arm} aarch64 %bcond_without asan %else %bcond_with asan %endif # List copied from gcc.spec # Current as of 12.2.1 (line 75) # Note that this covers all Fedora primary architectures. %ifarch %{ix86} x86_64 ppc ppc64 ppc64le ppc64p7 s390 s390x %{arm} aarch64 %bcond_without ubsan %else %bcond_with ubsan %endif # List copied from gcc.spec # Current as of 12.2.1 (line 65) %ifarch x86_64 ppc64 ppc64le aarch64 s390x %bcond_without tsan %else %bcond_with tsan %endif Name: wlcs Version: 1.4.0 Release: %autorelease Summary: Wayland Conformance Test Suite # The entire source is GPL-3.0-only, except: # # (GPL-2.0-only OR GPL-3.0-only): # - CMakeLists.txt # > Build system file that does not contribute to the licenses of the binary # RPMs # # (LGPL-2.0-only OR LGPL-3.0-only): # - include/mutex.h # - include/shared_library.h # - src/helpers.cpp # - src/shared_library.cpp # > Since (L)GPLv2-only code is not compatible with (L)GPLv3 or (L)GPLv3+ code, # and these sources are combined with GPLv3 code, the LGPLv3 option is used # in this package. However, we encode both options in the SPDX expression. # # GPLv2+: # - debian/* # > Not used in this package # # MIT: # - src/protocol/gtk-primary-selection.xml # - src/protocol/pointer-constraints-unstable-v1.xml # - src/protocol/primary-selection-unstable-v1.xml # - src/protocol/relative-pointer-unstable-v1.xml # - src/protocol/wayland.xml # - src/protocol/xdg-output-unstable-v1.xml # - src/protocol/xdg-shell-unstable-v6.xml # - src/protocol/xdg-shell.xml # - tests/test_bad_buffer.cpp # - tests/test_surface_events.cpp # - tests/text_input_v3_with_input_method_v2.cpp # - tests/xdg_popup_v6.cpp # - tests/xdg_surface_stable.cpp # - tests/xdg_surface_v6.cpp # - tests/xdg_toplevel_stable.cpp # - tests/xdg_toplevel_v6.cpp # > Files in tests/ are all test code that is not installed (so does not # contribute to the licenses of the binary RPMs). Files in src/protocol/ are # used as inputs to “wayland-scanner” to generate C source files and headers, # and are not directly included in the binary RPMs. License: GPL-3.0-only AND (LGPL-2.0-only OR LGPL-3.0-only) URL: https://github.com/MirServer/wlcs Source0: %{url}/releases/download/v%{version}/wlcs-%{version}.tar.xz BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: cmake BuildRequires: ninja-build BuildRequires: boost-devel BuildRequires: cmake(GTest) BuildRequires: gmock-devel BuildRequires: pkgconfig(wayland-client) BuildRequires: pkgconfig(wayland-server) BuildRequires: pkgconfig(wayland-scanner) %if %{with asan} BuildRequires: libasan %endif %if %{with ubsan} BuildRequires: libubsan %endif %if %{with tsan} BuildRequires: libtsan %endif %description wlcs aspires to be a protocol-conformance-verifying test suite usable by Wayland compositor implementors. It is growing out of porting the existing Weston test suite to be run in Mir’s test suite, but it is designed to be usable by any compositor. wlcs relies on compositors providing an integration module, providing wlcs with API hooks to start a compositor, connect a client, move a window, and so on. This makes both writing and debugging tests easier - the tests are (generally) in the same address space as the compositor, so there is a consistent global clock available, it’s easier to poke around in compositor internals, and standard debugging tools can follow control flow from the test client to the compositor and back again. %package devel Summary: Development files for wlcs Requires: wlcs%{?_isa} = %{version}-%{release} %description devel wlcs aspires to be a protocol-conformance-verifying test suite usable by Wayland compositor implementors. The wlcs-devel package contains libraries and header files for developing Wayland compositor tests that use wlcs. %prep %autosetup # -Werror makes sense for upstream CI, but is too strict for packaging sed -r -i 's/-Werror //' CMakeLists.txt %build %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} \ -GNinja %cmake_build %install %cmake_install %files %license COPYING.* %doc README.rst %{_libexecdir}/wlcs/ %files devel %doc README.rst %doc example/ %{_includedir}/wlcs/ %{_libdir}/pkgconfig/wlcs.pc %changelog * Thu Dec 22 2022 Benjamin A. Beasley 1.4.0-7 - Indicate dirs. in files list with trailing slashes * Tue Nov 29 2022 Benjamin A. Beasley 1.4.0-6 - Update License to SPDX * Tue Nov 29 2022 Benjamin A. Beasley 1.4.0-5 - Update architecture list for libtsan * Sat Jul 23 2022 Fedora Release Engineering 1.4.0-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild * Sun Jul 10 2022 Mamoru TASAKA 1.4.0-3 - Rebuild against new gtest * Tue Jun 28 2022 Benjamin A. Beasley 1.4.0-2 - Rebuilt for gtest 1.12.0 (close RHBZ#2101750) * Sat Mar 19 2022 Benjamin A. Beasley 1.4.0-1 - Update to 1.4.0 (close RHBZ#2065815) * Sat Jan 22 2022 Fedora Release Engineering 1.3.0-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild * Fri Jan 14 2022 Benjamin A. Beasley 1.3.0-6 - Drop -Werror * Tue Nov 02 2021 Benjamin A. Beasley - 1.3.0-4 - Rebuild for gtest 1.11.0 (fix RHBZ#2001358) - Remove obsolete macros and workarounds - Update architecture lists for sanitizers - Audit source licenses and correct License from “GPLv2 or GPLv3” to “GPLv3” - Drop license files from -devel since it depends on the base package - Reduce macro indirection in the spec file - Use more pkgconfig(…) and cmake(…) dependencies where appropriate - Package README.rst in -devel package only, and also package example/ - Fix a trivial typo in README.rst and the package description * Tue Nov 2 2021 Mamoru TASAKA - 1.3.0-3 - Backport upstream patch to build with gtest 1.11 * Fri Jul 23 2021 Fedora Release Engineering - 1.3.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild * Thu Jun 24 2021 Neal Gompa - 1.3.0-1 - Update to 1.3.0 (RH#1931861) * Wed Jan 27 2021 Fedora Release Engineering - 1.2.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild * Sun Nov 1 2020 Neal Gompa - 1.2.0-1 - Update to 1.2.0 (RH#1893144) * Sat Oct 17 2020 Jeff Law - 1.1.0-5 - Use reference for loop variable to avoid range-loop-construct warning * Wed Jul 29 2020 Fedora Release Engineering - 1.1.0-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild * Wed Apr 01 2020 Neal Gompa - 1.1.0-3 - Rebuild for gtest 1.10.0 * Fri Jan 31 2020 Fedora Release Engineering - 1.1.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild * Tue Aug 27 2019 Neal Gompa - 1.1.0-1 - Update to 1.1.0 (RH#1742232) * Sat Jul 27 2019 Fedora Release Engineering - 1.0.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild * Sat Jul 13 2019 Neal Gompa - 1.0.0-2 - Fix pkgconfig file to point to runner binaries * Sat Jul 13 2019 Neal Gompa - 1.0.0-1 - Initial packaging for Fedora