diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..62650d2 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/wlcs-1.0.0.tar.xz diff --git a/0001-cmake-Install-wlcs-runners-in-libexecdir-rather-than.patch b/0001-cmake-Install-wlcs-runners-in-libexecdir-rather-than.patch new file mode 100644 index 0000000..e0a2f17 --- /dev/null +++ b/0001-cmake-Install-wlcs-runners-in-libexecdir-rather-than.patch @@ -0,0 +1,33 @@ +From 20515298c66595629703e628424cca0c81eb72e0 Mon Sep 17 00:00:00 2001 +From: Neal Gompa +Date: Sat, 13 Jul 2019 08:17:53 -0400 +Subject: [PATCH] cmake: Install wlcs runners in libexecdir rather than libdir + +As these are executables instead of libraries, these should be +installed into the libexecdir as defined by the distribution. + +For example, in Fedora, this means they are installed to /usr/libexec/wlcs. + +In Debian/Ubuntu, it would be /usr/lib/wlcs. + +Signed-off-by: Neal Gompa +--- + CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 9e1c0d0..fe1255e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -218,7 +218,7 @@ endforeach(TARGET) + + install( + TARGETS ${EXECUTABLE_TARGETS} +- RUNTIME DESTINATION ${CMAKE_INSTALL_LIBDIR}/wlcs ++ RUNTIME DESTINATION ${CMAKE_INSTALL_LIBEXECDIR}/wlcs + ) + + install( +-- +2.21.0 + diff --git a/sources b/sources new file mode 100644 index 0000000..c7406d0 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (wlcs-1.0.0.tar.xz) = a514a9d16252d498407541fee1e52b9163d843815f33b2496982f3e67d771c2c18bfeebb6a45ee9c9f3a78adc56c1aac766f6ab82bd9be1c8eb254edf01fdc45 diff --git a/wlcs.spec b/wlcs.spec new file mode 100644 index 0000000..c7da83a --- /dev/null +++ b/wlcs.spec @@ -0,0 +1,87 @@ +Name: wlcs +Version: 1.0.0 +Release: 1%{?dist} +Summary: Wayland Conformance Test Suite + +License: GPLv2 or GPLv3 +URL: https://github.com/MirServer/%{name} +Source0: %{url}/releases/download/v%{version}/%{name}-%{version}.tar.xz + +# Install wlcs binaries in the right place +# From: https://github.com/MirServer/wlcs/pull/114 +Patch0001: 0001-cmake-Install-wlcs-runners-in-libexecdir-rather-than.patch + +BuildRequires: gcc +BuildRequires: gcc-c++ +BuildRequires: cmake +BuildRequires: make +BuildRequires: boost-devel +BuildRequires: gtest-devel +BuildRequires: gmock-devel +BuildRequires: pkgconfig(wayland-client) +BuildRequires: pkgconfig(wayland-server) +BuildRequires: %{_bindir}/wayland-scanner +# Because for some reason they're not pulled in normally? +BuildRequires: libatomic +BuildRequires: libasan +BuildRequires: libubsan +BuildRequires: libtsan + +%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 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 %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description devel +%{name} aspires to be a protocol-conformance-verifying test suite +usable by Wayland compositor implementors. + +The %{name}-devel package contains libraries and header files for +developing Wayland compositor tests that use %{name}. + + +%prep +%autosetup -p1 + + +%build +%cmake +%make_build + + +%install +%make_install + +%files +%license COPYING.* +%doc README.rst +%{_libexecdir}/%{name}/ + +%files devel +%license COPYING.* +%doc README.rst +%{_includedir}/%{name}/ +%{_libdir}/pkgconfig/%{name}.pc + + +%changelog +* Sat Jul 13 2019 Neal Gompa - 1.0.0-1 +- Initial packaging for Fedora