commit acae9b72afc8d441fef6eab1398634e70a8cd5464e2a4145b20a43475cb4bf40 Author: Jan Engelhardt Date: Thu Oct 31 10:32:12 2024 +0000 New Package, Provides the Mir Display Server OBS-URL: https://build.opensuse.org/package/show/X11:Wayland/mir?expand=0&rev=1 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/0001-Fix-include-paths.patch b/0001-Fix-include-paths.patch new file mode 100644 index 0000000..39721e5 --- /dev/null +++ b/0001-Fix-include-paths.patch @@ -0,0 +1,70 @@ +From 5e3fcc09ed57313292ca76fd8d88196940d0c261 Mon Sep 17 00:00:00 2001 +From: "Shawn W. Dunn" +Date: Tue, 29 Oct 2024 17:57:08 -0700 +Subject: [PATCH] Fix include paths + +--- + src/common/events/CMakeLists.txt | 1 + + src/platforms/evdev/CMakeLists.txt | 2 ++ + tests/include/mir/test/doubles/mock_libinput.h | 2 +- + tests/unit-tests/CMakeLists.txt | 1 + + 4 files changed, 5 insertions(+), 1 deletion(-) + +diff --git a/src/common/events/CMakeLists.txt b/src/common/events/CMakeLists.txt +index 515b48795a..e80bfd08a7 100644 +--- a/src/common/events/CMakeLists.txt ++++ b/src/common/events/CMakeLists.txt +@@ -39,4 +39,5 @@ add_library( + target_link_libraries(mirevents + PUBLIC + mircore ++ PkgConfig::XKBCOMMON + ) +diff --git a/src/platforms/evdev/CMakeLists.txt b/src/platforms/evdev/CMakeLists.txt +index 5658c980c0..48d8f73995 100644 +--- a/src/platforms/evdev/CMakeLists.txt ++++ b/src/platforms/evdev/CMakeLists.txt +@@ -13,6 +13,7 @@ target_link_libraries(mirevdevutilsobjects + PUBLIC + mircommon + mircore ++ PkgConfig::LIBINPUT + ) + + add_library(mirplatforminputevdevobjects OBJECT +@@ -27,6 +28,7 @@ target_link_libraries(mirplatforminputevdevobjects + mirplatform + mircommon + mircore ++ PkgConfig::LIBINPUT + ) + + add_library(mirplatforminputevdev MODULE +diff --git a/tests/include/mir/test/doubles/mock_libinput.h b/tests/include/mir/test/doubles/mock_libinput.h +index 4487f8290d..b59a4386d6 100644 +--- a/tests/include/mir/test/doubles/mock_libinput.h ++++ b/tests/include/mir/test/doubles/mock_libinput.h +@@ -21,7 +21,7 @@ + + #include + #include +-#include ++#include + + namespace mir + { +diff --git a/tests/unit-tests/CMakeLists.txt b/tests/unit-tests/CMakeLists.txt +index f297e1fb50..88e161d766 100644 +--- a/tests/unit-tests/CMakeLists.txt ++++ b/tests/unit-tests/CMakeLists.txt +@@ -187,6 +187,7 @@ target_link_libraries( + mircommon + + Boost::system ++ PkgConfig::LIBINPUT + PkgConfig::WAYLAND_SERVER + ${CMAKE_THREAD_LIBS_INIT} # Link in pthread. + ) +-- +2.46.1 + diff --git a/mir-2.18.2.tar.xz b/mir-2.18.2.tar.xz new file mode 100644 index 0000000..45df34b --- /dev/null +++ b/mir-2.18.2.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e03d6c88eeabe177528e69719331529ed25f10266fe8a80d829071ab755b9ef7 +size 6126184 diff --git a/mir.changes b/mir.changes new file mode 100644 index 0000000..5dab514 --- /dev/null +++ b/mir.changes @@ -0,0 +1,10 @@ +------------------------------------------------------------------- +Tue Oct 29 22:06:28 UTC 2024 - Shawn Dunn + +- Added: + * 0001-Fix-include-paths.patch + +------------------------------------------------------------------- +Tue Oct 29 15:00:18 UTC 2024 - Shawn Dunn + +- Initial commit diff --git a/mir.spec b/mir.spec new file mode 100644 index 0000000..2718836 --- /dev/null +++ b/mir.spec @@ -0,0 +1,262 @@ +# +# spec file for package mir +# +# Copyright (c) Shawn W Dunn +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + +# Disable lto +%global _lto_cflags %{nil} + +# Disable ctest run +# The take a long time and are generally broken in the build environment +%bcond_with run_tests + +Name: mir +Version: 2.18.2 +Release: 0 +Summary: Next generation display server +License: (GPL-2.0-only or GPL-3.0-only) and (LGPL-2.1-only or LGPL-3.0-only) +URL: https://mir-server.io +Source: https://github.com/MirServer/%{name}/releases/download/v%{version}/%{name}-%{version}.tar.xz +# PATCH-FIX-UPSTREAM 0001-Fix-include-paths.patch +Patch0: 0001-Fix-include-paths.patch +BuildRequires: boost-devel +BuildRequires: cmake +BuildRequires: desktop-file-utils +BuildRequires: doxygen +BuildRequires: gcc-c++ +BuildRequires: gcovr +BuildRequires: git-core +BuildRequires: gnu-free-fonts +BuildRequires: graphviz +BuildRequires: lcov +BuildRequires: libatomic1 +BuildRequires: libboost_filesystem-devel +BuildRequires: libboost_iostreams-devel +BuildRequires: libboost_program_options-devel +BuildRequires: libboost_system-devel +BuildRequires: libxslt-tools +BuildRequires: python3 +BuildRequires: %{python_module Pillow} +BuildRequires: systemtap-sdt-devel +BuildRequires: valgrind + +BuildRequires: cmake(glm) +BuildRequires: cmake(glog) +BuildRequires: cmake(GTest) >= 1.8.0 +BuildRequires: cmake(yaml-cpp) + +BuildRequires: pkgconfig(egl) +BuildRequires: pkgconfig(epoxy) +BuildRequires: pkgconfig(freetype2) +BuildRequires: pkgconfig(gbm) >= 9.0.0 +BuildRequires: pkgconfig(glesv2) +BuildRequires: pkgconfig(glib-2.0) +BuildRequires: pkgconfig(gflags) +BuildRequires: pkgconfig(gtest) >= 1.8.0 +BuildRequires: pkgconfig(libdrm) +BuildRequires: pkgconfig(libevdev) +BuildRequires: pkgconfig(libinput) +BuildRequires: pkgconfig(libudev) +BuildRequires: pkgconfig(libxml++-2.6) +BuildRequires: pkgconfig(lttng-ust) +BuildRequires: pkgconfig(nettle) +BuildRequires: pkgconfig(umockdev-1.0) >= 0.6 +BuildRequires: pkgconfig(uuid) +BuildRequires: pkgconfig(wayland-client) +BuildRequires: pkgconfig(wayland-eglstream) +BuildRequires: pkgconfig(wayland-server) +BuildRequires: pkgconfig(xcb) +BuildRequires: pkgconfig(xcursor) +BuildRequires: pkgconfig(xkbcommon) +BuildRequires: pkgconfig(xkbcommon-x11) +BuildRequires: pkgconfig(wlcs) + +%description +Mir is a display server running on linux systems, with a focus on efficiency, +robust operation, and a well-defined driver model. + +%package devel +Summary: Development files for Mir +Requires: %{name}-common-libs = %{version} +Requires: %{name}-server-libs = %{version} +Requires: %{name}-lomiri-libs = %{version} +Requires: %{name}-test-libs-static = %{version} + +%description devel +This package provides the development files to create compositors built on Mir + +%package private-devel +Summary: Development files for Mir exposing private internals +Requires: %{name}-devel = %{version} + +%description private-devel +This package provides extra development files to create compositors built on +Mir that need acces to private internal interfaces + +%package common-libs +Summary: Common libraries for Mir +License: LGPL-2.1-only or LGPL-3.0-only + +%description common-libs +This package provides the libraries common to be used by Mir clients or Mir +servers + +%package lomiri-libs +Summary: Lomiri compatibility libraries for Mir +License: GPL-2.0-only or GPL-3.0-only +Requires: %{name}-common-libs = %{version} +Requires: %{name}-server-libs = %{version} + +%description lomiri-libs +This package provides the libraries for Lomiri to use Mir as a Wayland compositor + +%package server-libs +Summary: Server libraries for Mir +License: GPL-2.0-only or GPL-3.0-only +Requires: %{name}-common-libs = %{version} + +%description server-libs +This package provides the libraries for applications that use the Mir Server + +%package test-tools +Summary: Testing tools for Mir +License: GPL-2.0-only or GPL-3.0-only +Requires: %{name}-server-libs = %{version} +Requires: wlcs +Recommends: %{name}-demos +Recommends: glmark2 +Recommends: xwayland + +%description test-tools +This package provides tools for testing Mir + +%package demos +Summary: Demonstration applications using Mir +License: GPL-2.0-only or GPL-3.0-only +Requires: %{name}-server-libs = %{version} +Requires: gnu-free-fonts +Requires: hicolor-icon-theme +Requires: inotify-tools +Requires: xkeyboard-config +Requires: xwayland + +%description demos +This package provides applications for demonstrating the capabilities of the +Mir display server + +%package test-libs-static +Summary: Testing framework library for Mir +License: GPL-2.0-only or GPL-3.0-only +Requires: %{name}-devel = %{version} + +%description test-libs-static +This package provides the static library for building Mir unit and integration +tests + +%prep +%autosetup -S git_am + +# Drop -Werror +sed -e "s/-Werror//g" -i CMakeLists.txt + +%build +%cmake -DMIR_USE_PRECOMPILED_HEADERS=OFF \ + -DCMAKE_INSTALL_LIBEXECDIR="usr/libexec/mir" \ + -DMIR_PLATFORM="gbm-kms;x11;wayland;eglstream-kms" + +%cmake_build + +%install +%cmake_install + +%check +%if %{with run_tests} +( %ctest ) || : +%endif + +desktop-file-validate %{buildroot}%{_datadir}/applications/miral-shell.desktop + +%files devel +%license COPYING.* +%{_bindir}/mir_wayland_generator +%{_libdir}/libmir*.so +%{_libdir}/pkgconfig/mir*.pc +%exclude %{_libdir}/pkgconfig/mir*internal.pc +%{_includedir}/mir*/ +%exclude %{_includedir}/mir*internal/ + +%files private-devel +%license COPYING.* +%{_libdir}/pkgconfig/mir*internal.pc +%{_includedir}/mir*internal/ + +%files common-libs +%license COPYING.LGPL* +%doc README.md +%dir %{_libdir}/mir +%{_libdir}/libmircore.so.* +%{_libdir}/libmircommon.so.* +%{_libdir}/libmirplatform.so.* +%{_libdir}/mir/miral*.so + +%files lomiri-libs +%license COPYING.GPL* +%doc README.md +%{_libdir}/libmiroil.so.* + +%files server-libs +%license COPYING.GPL* +%doc README.md +%dir %{_libdir}/mir/server-platform +%{_libdir}/libmiral.so.* +%{_libdir}/libmirserver.so.* +%{_libdir}/libmirwayland.so.* +%{_libdir}/mir/server-platform/graphics-eglstream-kms.so.* +%{_libdir}/mir/server-platform/graphics-gbm-kms.so.* +%{_libdir}/mir/server-platform/graphics-wayland.so.* +%{_libdir}/mir/server-platform/input-evdev.so.* +%{_libdir}/mir/server-platform/renderer-egl-generic.so.* +%{_libdir}/mir/server-platform/server-virtual.so.* +%{_libdir}/mir/server-platform/server-x11.so.* + +%files test-tools +%license COPYING.GPL* +%dir %{_libdir}/mir +%dir %{_libdir}/mir/tools +%dir %{_libdir}/mir/server-platform +%{_bindir}/mir-*test* +%{_bindir}/mir_*test* +%{_libdir}/mir/tools/libmirserverlttng.so +%{_libdir}/mir/server-platform/graphics-dummy.so +%{_libdir}/mir/server-platform/input-stub.so + +%files test-libs-static +%license COPYING.GPL* +%{_libdir}/libmir-test-assist.a + +%files demos +%license COPYING.GPL* +%doc README.md +%dir %{_datadir}/icons/hicolor +%dir %{_datadir}/icons/hicolor/scalable +%dir %{_datadir}/icons/hicolor/scalable/apps +%{_bindir}/mir_demo_* +%{_bindir}/mir-x11-kiosk* +%{_bindir}/miral-* +%{_datadir}/applications/miral-shell.desktop +%{_datadir}/icons/hicolor/scalable/apps/spiral-logo.svg + +%changelog +