Compare commits

...
Sign in to create a new pull request.

40 commits

Author SHA1 Message Date
Fedora Release Engineering
8d3af92bb1 Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild 2026-07-17 08:51:29 +00:00
Benjamin A. Beasley
09988eb145 Fix License field (add MIT term) 2026-05-20 14:54:06 +01:00
Benjamin A. Beasley
1b68f5d49f Be more clear that we have no tests of our own 2026-05-20 14:51:40 +01:00
Benjamin A. Beasley
a3cc806bce Use the cmake declarative buildsystem 2026-05-20 07:52:59 +01:00
Benjamin A. Beasley
69ed6fc33d Trivial spec-file typo fix
[skip changelog]
2026-05-20 07:49:40 +01:00
Benjamin A. Beasley
1d8a76b375 The ninja backend is the default now; don’t bother specifying it
https://fedoraproject.org/wiki/Changes/CMake_ninja_default
2026-03-15 11:27:48 +00:00
Benjamin A. Beasley
598e1508f6 Verify asan/tsan/ubsan arch list for GCC 16.0.1 2026-03-15 11:27:48 +00:00
Fedora Release Engineering
23dad95716 Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild 2026-01-17 20:17:27 +00:00
Benjamin A. Beasley
0a8d322dd2 Update .rpmlintrc file
[skip changelog]
2026-01-11 00:03:14 +00:00
Benjamin A. Beasley
f4db9d37b4 Rebuilt for gtest 1.17.0 2025-11-12 10:10:14 +00:00
Benjamin A. Beasley
e4174d1dd4 Update to 1.8.1 (close RHBZ#2388540) 2025-08-15 07:19:57 -04:00
Fedora Release Engineering
77c37873ce Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-25 20:28:15 +00:00
Benjamin A. Beasley
7454946d25 Update .rpmlintrc file for current rpmlint 2025-05-11 08:56:14 -04:00
Benjamin A. Beasley
c93d6ccbd4 Update architectures for asan/tsan/ubsan tests based on GCC 15
- Adds riscv64 to supported architectures for all three kinds of tsts
2025-03-05 10:52:18 -05:00
Benjamin A. Beasley
24fc598db3 Rebuilt for gtest 1.15.2 2025-01-22 14:29:03 -05:00
Fedora Release Engineering
0811c7d5b0 Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-19 15:07:06 +00:00
Benjamin A. Beasley
9177e66353 Add a SourceLicense field 2024-12-15 11:33:21 -05:00
Benjamin A. Beasley
04eccb325e Invoke %cmake in %conf rather than in %build 2024-11-03 07:11:11 -05:00
Fedora Release Engineering
bad98f764e Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-20 09:25:39 +00:00
Benjamin A. Beasley
4ae221bf8e Add an rpmlintrc file
[skip changelog]
2024-04-05 10:26:38 -04:00
Fedora Release Engineering
fce43b7315 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-27 08:56:22 +00:00
Benjamin A. Beasley
b99314c591 Update to 1.7.0 (close RHBZ#2254812) 2023-12-20 10:54:05 -05:00
Benjamin A. Beasley
8885432e1d Rebuild for gtest 1.14.0 2023-10-30 18:07:52 -04:00
Benjamin A. Beasley
c9d6fa3946 Update to 1.6.1 (close RHBZ#2243684) 2023-10-17 12:46:30 -04:00
Benjamin A. Beasley
c27c0e50bd Reorganize sanitizer conditionals 2023-10-17 11:59:48 -04:00
Benjamin A. Beasley
a4df2622fa Update to 1.6.0 (close RHBZ#2223843) 2023-07-19 08:51:23 -04:00
Benjamin A. Beasley
400569d310 Use new (rpm 4.17.1+) bcond style 2023-06-18 12:08:33 -04:00
Benjamin A. Beasley
f6d31a0488 Do not number the sole Source
[skip changelog]
2023-05-29 13:11:34 -04:00
Benjamin A. Beasley
25dafba992 Rebuilt for gtest 1.13.0 (close RHBZ#2164017) 2023-01-24 10:11:14 -05:00
Benjamin A. Beasley
e0c91575d5 Update to 1.5.0 (close RHBZ#2162721) 2023-01-20 13:16:32 -05:00
Benjamin A. Beasley
b9379c4b9b Confirm lib*san architectures for GCC 13 2023-01-20 13:10:47 -05:00
Benjamin A. Beasley
a51e8d4600 Indicate dirs. in files list with trailing slashes 2022-12-22 12:45:40 -05:00
Benjamin A. Beasley
79263c839b Update License to SPDX 2022-11-29 14:27:57 -05:00
Benjamin A. Beasley
e70f2e16b2 Update architecture list for libtsan 2022-11-29 14:22:25 -05:00
Fedora Release Engineering
9d7406bf2f Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-23 12:31:01 +00:00
c0236a4313 Rebuild against new gtest 2022-07-10 22:33:25 +09:00
Benjamin A. Beasley
5351a75a80 Rebuilt for gtest 1.12.0 (close RHBZ#2101750) 2022-06-28 08:03:56 -04:00
Benjamin A. Beasley
f499c43259 Update to 1.4.0 (close RHBZ#2065815) 2022-03-19 09:06:07 -04:00
Fedora Release Engineering
d7b00d8493 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-22 04:33:33 +00:00
Benjamin A. Beasley
439e14cc53 Drop -Werror
It makes sense for upstream CI, but is too strict for packaging.
2022-01-14 13:26:27 -05:00
6 changed files with 65 additions and 142 deletions

6
.gitignore vendored
View file

@ -2,3 +2,9 @@
/wlcs-1.1.0.tar.xz
/wlcs-1.2.0.tar.xz
/wlcs-1.3.0.tar.xz
/wlcs-1.4.0.tar.xz
/wlcs-1.5.0.tar.gz
/wlcs-1.6.0.tar.gz
/wlcs-1.6.1.tar.gz
/wlcs-1.7.0.tar.gz
/wlcs-1.8.1.tar.gz

View file

@ -1,26 +0,0 @@
From 6aa1becb3cee328f715af76d16de544974b6646e Mon Sep 17 00:00:00 2001
From: "Benjamin A. Beasley" <code@musicinmybrain.net>
Date: Tue, 2 Nov 2021 13:40:07 -0400
Subject: [PATCH] =?UTF-8?q?Fix=20a=20trivial=20typo=20(=E2=80=9Caid?=
=?UTF-8?q?=E2=80=9D=20for=20=E2=80=9Cand=E2=80=9D)=20in=20README.rst?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
README.rst | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.rst b/README.rst
index 50f8ec1f..7656dc30 100644
--- a/README.rst
+++ b/README.rst
@@ -25,7 +25,7 @@ happens-before ordering available.
Instead, ``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 aid debugging tests easier -
+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

View file

@ -1,49 +0,0 @@
From f6ff93f7b7db154b7899f415ec67677e6ddd7ff5 Mon Sep 17 00:00:00 2001
From: Victor Berger <victor.berger@m4x.org>
Date: Thu, 8 Jul 2021 19:39:30 +0200
Subject: [PATCH] Fix build when using GTest-1.11
Some change in GTest 1.11 headers caused a conflict on the name
`Pointer`. Removing the unconditional import of namespace `testing`
in favor of individual imports of the used items fixes it.
cc #205
---
tests/pointer_constraints.cpp | 6 +++++-
tests/relative_pointer.cpp | 6 +++++-
2 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/tests/pointer_constraints.cpp b/tests/pointer_constraints.cpp
index d306710..6ee856f 100644
--- a/tests/pointer_constraints.cpp
+++ b/tests/pointer_constraints.cpp
@@ -24,7 +24,11 @@
#include <memory>
-using namespace testing;
+using testing::AnyNumber;
+using testing::Eq;
+using testing::Ne;
+using testing::NotNull;
+
using namespace wlcs;
namespace
diff --git a/tests/relative_pointer.cpp b/tests/relative_pointer.cpp
index c33316c..c5c5358 100644
--- a/tests/relative_pointer.cpp
+++ b/tests/relative_pointer.cpp
@@ -22,7 +22,11 @@
#include <gmock/gmock.h>
-using namespace testing;
+using testing::AnyNumber;
+using testing::IsTrue;
+using testing::NotNull;
+using testing::_;
+
using namespace wlcs;
namespace

View file

@ -1 +1 @@
SHA512 (wlcs-1.3.0.tar.xz) = 3c4ffd9fa1a087fe58912792f0747884bc42bb344be07e937079d399d2bf85c0e9e445880d8e503bad0028c48ffbf2338174c3c74faee5057bf62ff7f121f0de
SHA512 (wlcs-1.8.1.tar.gz) = 5a76c9a5b88ab0627300bd9a3cb63ceaf68824a15b79a605aa5fd3a9b12e2877489a7150a21da68bda21434bd947e4f0d1ecc8b6d81ab9a1faf84ee75e6d1ca2

2
wlcs.rpmlintrc Normal file
View file

@ -0,0 +1,2 @@
# Not a real spelling error:
addFilter(r" spelling-error \('(implementors?)',")

124
wlcs.spec
View file

@ -1,98 +1,104 @@
# List copied from gcc.spec
# Current as of 11.2.1 (line 59)
# 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
# Lists copied from gcc.spec
# Current as of 16.0.1 (lines 83, 103, and 93, 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
%global arch_has_asan 1
%endif
%ifarch %{ix86} x86_64 ppc ppc64 ppc64le ppc64p7 s390 s390x %{arm} aarch64 riscv64
%global arch_has_ubsan 1
%endif
%ifarch x86_64 ppc64 ppc64le aarch64 s390x riscv64
%global arch_has_tsan 1
%endif
# List copied from gcc.spec
# Current as of 11.2.1 (line 74)
# 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 11.2.1 (line 64)
%ifarch x86_64 ppc64 ppc64le aarch64
%bcond_without tsan
%else
%bcond_with tsan
%endif
# By default, enable sanitizers whenever they are available on the architecture.
%bcond asan 0%{?arch_has_asan:1}
%bcond ubsan 0%{?arch_has_ubsan:1}
%bcond tsan 0%{?arch_has_tsan:1}
Name: wlcs
Version: 1.3.0
Version: 1.8.1
Release: %autorelease
Summary: Wayland Conformance Test Suite
# The entire source is GPLv3, except:
# The entire source is GPL-3.0-only, except:
#
# (GPLv2 or GPLv3):
# (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
#
# (LGPLv2 or LGPLv3):
# (LGPL-2.0-only OR LGPL-3.0-only):
# - include/geometry/*
# - 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.
# in this package. However, we encode both options in the SPDX expression.
#
# GPLv2+:
# GPL-2.0-or-later
# - debian/*
# > Not used in this package
#
# MIT:
# - src/protocol/gtk-primary-selection.xml
# - src/protocol/input-method-unstable-v1.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/wlr-virtual-pointer-unstable-v1.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/wlr_virtual_pointer_v1.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
# > Files in tests/ are included in the test-suite executables and do
# 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.
#
# Thus, files under GPLv3 and (LGPLv2 or LGPLv3) licenses contribute to the
# installed binaries, and the effective license remains GPLv3.
License: GPLv3
# HPND-sell-variant:
# - src/protocol/text-input-unstable-v2.xml
# > 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) AND MIT
SourceLicense: %{shrink:
%{license} AND
(GPL-2.0-only OR GPL-3.0-only) AND
GPL-2.0-or-later AND
HPND-sell-variant
}
URL: https://github.com/MirServer/wlcs
Source0: %{url}/releases/download/v%{version}/wlcs-%{version}.tar.xz
# Backport upstream commit f6ff93f7b7db154b7899f415ec67677e6ddd7ff5:
#
# Fix build when using GTest-1.11
#
# Some change in GTest 1.11 headers caused a conflict on the name
# `Pointer`. Removing the unconditional import of namespace `testing`
# in favor of individual imports of the used items fixes it.
Patch0: %{url}/commit/f6ff93f7b7db154b7899f415ec67677e6ddd7ff5.patch
# Fix a trivial typo (“aid” for “and”) in README.rst
# https://github.com/MirServer/wlcs/pull/215
Patch1: %{url}/pull/215.patch
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
@ -126,6 +132,7 @@ clock available, its 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}
@ -138,23 +145,6 @@ The wlcs-devel package contains libraries and header files for developing
Wayland compositor tests that use wlcs.
%prep
%autosetup -p1
%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
@ -164,7 +154,7 @@ Wayland compositor tests that use wlcs.
%files devel
%doc README.rst
%doc example
%doc example/
%{_includedir}/wlcs/
%{_libdir}/pkgconfig/wlcs.pc