Compare commits

..

No commits in common. "rawhide" and "f32" have entirely different histories.

5 changed files with 88 additions and 179 deletions

7
.gitignore vendored
View file

@ -1,10 +1,3 @@
/wlcs-1.0.0.tar.xz
/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,49 +0,0 @@
* Tue Nov 02 2021 Benjamin A. Beasley <code@musicinmybrain.net> - 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 <mtasaka@fedoraproject.org> - 1.3.0-3
- Backport upstream patch to build with gtest 1.11
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Thu Jun 24 2021 Neal Gompa <ngompa13@gmail.com> - 1.3.0-1
- Update to 1.3.0 (RH#1931861)
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Sun Nov 1 2020 Neal Gompa <ngompa13@gmail.com> - 1.2.0-1
- Update to 1.2.0 (RH#1893144)
* Sat Oct 17 2020 Jeff Law <law@redhat.com> - 1.1.0-5
- Use reference for loop variable to avoid range-loop-construct warning
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Wed Apr 01 2020 Neal Gompa <ngompa13@gmail.com> - 1.1.0-3
- Rebuild for gtest 1.10.0
* Fri Jan 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Tue Aug 27 2019 Neal Gompa <ngompa13@gmail.com> - 1.1.0-1
- Update to 1.1.0 (RH#1742232)
* Sat Jul 27 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Sat Jul 13 2019 Neal Gompa <ngompa13@gmail.com> - 1.0.0-2
- Fix pkgconfig file to point to runner binaries
* Sat Jul 13 2019 Neal Gompa <ngompa13@gmail.com> - 1.0.0-1
- Initial packaging for Fedora

View file

@ -1 +1 @@
SHA512 (wlcs-1.8.1.tar.gz) = 5a76c9a5b88ab0627300bd9a3cb63ceaf68824a15b79a605aa5fd3a9b12e2877489a7150a21da68bda21434bd947e4f0d1ecc8b6d81ab9a1faf84ee75e6d1ca2
SHA512 (wlcs-1.2.0.tar.xz) = 220cac5b9c41cadfabdf53f3bde5eec8f57ce0ad37334bf93cf04461377e17f2a705823933128cf54376c04005c483b8561ee733272abca26490bcccb55bdbfd

View file

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

207
wlcs.spec
View file

@ -1,111 +1,43 @@
# 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
%undefine __cmake_in_source_build
%if 0%{?fedora} >= 30
# asan doesn't work with gcc9 on s390x...
%ifarch s390 s390x
%bcond_with asan
%else
%bcond_without asan
%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
# 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}
%bcond_without ubsan
%ifarch %{ix86} %{arm} s390 s390x
%bcond_with tsan
%else
%bcond_without tsan
%endif
Name: wlcs
Version: 1.8.1
Release: %autorelease
Version: 1.2.0
Release: 1%{?dist}
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/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. However, we encode both options in the SPDX expression.
#
# 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 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.
#
# 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
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.
License: GPLv2 or GPLv3
URL: https://github.com/MirServer/%{name}
Source0: %{url}/releases/download/v%{version}/%{name}-%{version}.tar.xz
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: cmake
BuildRequires: ninja-build
BuildRequires: boost-devel
BuildRequires: cmake(GTest)
BuildRequires: gtest-devel
BuildRequires: gmock-devel
BuildRequires: pkgconfig(wayland-client)
BuildRequires: pkgconfig(wayland-server)
BuildRequires: pkgconfig(wayland-scanner)
BuildRequires: %{_bindir}/wayland-scanner
# Because for some reason they're not pulled in normally?
BuildRequires: libatomic
%if %{with asan}
BuildRequires: libasan
%endif
@ -117,48 +49,83 @@ BuildRequires: libtsan
%endif
%description
wlcs aspires to be a protocol-conformance-verifying test suite usable by
Wayland compositor implementors.
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 Mirs
test suite, but it is designed to be usable by any compositor.
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, 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.
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 - 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}
Summary: Development files for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
%description devel
wlcs aspires to be a protocol-conformance-verifying test suite usable by
Wayland compositor implementors.
%{name} 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.
The %{name}-devel package contains libraries and header files for
developing Wayland compositor tests that use %{name}.
%prep
%autosetup -p1
%build
%cmake -GNinja %{!?with_asan:-DWLCS_BUILD_ASAN=OFF} %{!?with_ubsan:-DWLCS_BUILD_UBSAN=OFF} %{!?with_tsan:-DWLCS_BUILD_TSAN=OFF}
%cmake_build
%install
%cmake_install
%files
%license COPYING.*
%doc README.rst
%{_libexecdir}/wlcs/
%{_libexecdir}/%{name}/
%files devel
%license COPYING.*
%doc README.rst
%doc example/
%{_includedir}/wlcs/
%{_libdir}/pkgconfig/wlcs.pc
%{_includedir}/%{name}/
%{_libdir}/pkgconfig/%{name}.pc
%changelog
%autochangelog
* Sun Nov 1 2020 Neal Gompa <ngompa13@gmail.com> - 1.2.0-1
- Update to 1.2.0 (RH#1893144)
* Sat Oct 17 2020 Jeff Law <law@redhat.com> - 1.1.0-5
- Use reference for loop variable to avoid range-loop-construct warning
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Wed Apr 01 2020 Neal Gompa <ngompa13@gmail.com> - 1.1.0-3
- Rebuild for gtest 1.10.0
* Fri Jan 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Tue Aug 27 2019 Neal Gompa <ngompa13@gmail.com> - 1.1.0-1
- Update to 1.1.0 (RH#1742232)
* Sat Jul 27 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Sat Jul 13 2019 Neal Gompa <ngompa13@gmail.com> - 1.0.0-2
- Fix pkgconfig file to point to runner binaries
* Sat Jul 13 2019 Neal Gompa <ngompa13@gmail.com> - 1.0.0-1
- Initial packaging for Fedora