[packages/mir] - up to 1.8.2 - removed obsolete protobuf patch; added gtest,wayland,capnproto patches

qboosh qboosh at pld-linux.org
Sun Mar 5 16:02:02 CET 2023


commit 738162e699c1b23384cc99ff9e82a69cc7697863
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Sun Mar 5 16:03:59 2023 +0100

    - up to 1.8.2
    - removed obsolete protobuf patch; added gtest,wayland,capnproto patches

 mir-atomic.patch    | 12 ++++-----
 mir-capnproto.patch | 14 ++++++++++
 mir-dirs.patch      | 16 ++++++------
 mir-gtest.patch     | 21 +++++++++++++++
 mir-protobuf.patch  | 28 --------------------
 mir-wayland.patch   | 52 ++++++++++++++++++++++++++++++++++++++
 mir.spec            | 73 +++++++++++++++++++++++++++++++++--------------------
 7 files changed, 146 insertions(+), 70 deletions(-)
---
diff --git a/mir.spec b/mir.spec
index ae57bf4..0c754f9 100644
--- a/mir.spec
+++ b/mir.spec
@@ -1,22 +1,20 @@
-#
-# Conditional build:
-%bcond_with	android		# Android platform support (TODO)
-#
 Summary:	Mir display server and libraries
 Summary(pl.UTF-8):	Serwer wyświetlania Mir oraz biblioteki
 Name:		mir
-Version:	1.0.0
+Version:	1.8.2
 Release:	0.1
 License:	LGPL v3 (libraries), GPL v3 (server and examples)
 Group:		Libraries
 #Source0Download: https://github.com/MirServer/mir/releases
 Source0:	https://github.com/MirServer/mir/releases/download/v%{version}/%{name}-%{version}.tar.xz
-# Source0-md5:	7199654f2bed5e29da92a65400dea78d
-Patch0:		%{name}-protobuf.patch
+# Source0-md5:	d662d1ea8c1f0b34ddd95eb9c6a8a26b
 Patch1:		%{name}-gflags.patch
 Patch2:		%{name}-dirs.patch
 Patch3:		%{name}-atomic.patch
 Patch4:		%{name}-c++.patch
+Patch5:		%{name}-gtest.patch
+Patch6:		%{name}-wayland.patch
+Patch7:		%{name}-capnproto.patch
 URL:		https://mir-server.io/
 BuildRequires:	EGL-devel
 BuildRequires:	GLM
@@ -26,6 +24,8 @@ BuildRequires:	boost-devel >= 1.48.0
 BuildRequires:	capnproto-c++-devel
 BuildRequires:	cmake >= 3.5
 BuildRequires:	doxygen >= 1.8.0
+BuildRequires:	egl-wayland-devel
+BuildRequires:	freetype-devel >= 2
 BuildRequires:	gflags-devel
 BuildRequires:	glib2-devel >= 2.0
 BuildRequires:	glog-devel
@@ -33,12 +33,16 @@ BuildRequires:	gmock-devel >= 1.7.0-2
 BuildRequires:	gtest-devel >= 1.7.0-2
 BuildRequires:	libdrm-devel >= 2.4.84
 BuildRequires:	libepoxy-devel
+BuildRequires:	libevdev-devel
 BuildRequires:	libinput-devel >= 1.2
 # -std=c++14
 BuildRequires:	libstdc++-devel >= 6:4.9
 BuildRequires:	libuuid-devel
+# xcb xcb-composite xcb-fixes xcb-render
 BuildRequires:	libxcb-devel
+BuildRequires:	libxml++2-devel >= 2.6
 BuildRequires:	lttng-ust-devel
+BuildRequires:	nettle-devel
 BuildRequires:	pkgconfig
 BuildRequires:	protobuf-devel >= 2.4.1
 BuildRequires:	python >= 3
@@ -48,14 +52,17 @@ BuildRequires:	udev-devel
 BuildRequires:	umockdev-devel >= 0.6
 # wayland-client, wayland-server
 BuildRequires:	wayland-devel
+BuildRequires:	wayland-egl-devel
+BuildRequires:	wlcs-devel
 BuildRequires:	xorg-lib-libXcursor-devel
 BuildRequires:	xorg-lib-libxkbcommon-devel
 BuildRequires:	xz
+BuildRequires:	yaml-cpp-devel
 Requires:	Mesa-libgbm >= 11.0
 BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 # __once_call, __once_called non-function symbols from libstdc++
-%define		skip_post_check_so	libmirclient.so.* libmirclient-debug-extension.so.* libmirprotobuf.* libmirserver.*
+%define		skip_post_check_so	libmirclient.so.* libmirprotobuf.* libmirserver.*
 
 %description
 Mir is a next generation display server targeted as a replacement for
@@ -110,14 +117,20 @@ Dokumentacja API Mira.
 
 %prep
 %setup -q
-%patch0 -p1
 %patch1 -p1
 %patch2 -p1
 %patch3 -p1
 %patch4 -p1
+%patch5 -p1
+%patch6 -p1
+%patch7 -p1
 
 %{__sed} -i -e 's/-Werror //' CMakeLists.txt
 
+%{__sed} -i -e '1s,/usr/bin/env bash,/bin/bash,' \
+	examples/miral-shell/miral-app.sh \
+	examples/miral-shell/desktop/mir-shell.sh
+
 %build
 install -d build
 cd build
@@ -125,7 +138,7 @@ cd build
 export GTEST_VERSION="$(gtest-config --version)"
 %cmake .. \
 	-DBUILD_DOXYGEN=ON \
-	-DMIR_PLATFORM="mesa-kms;mesa-x11;eglstream-kms%{?with_android:;android}" \
+	-DMIR_PLATFORM="mesa-kms;mesa-x11;eglstream-kms" \
 	-DMIR_USE_PRECOMPILED_HEADERS=OFF
 %{__make}
 
@@ -138,6 +151,7 @@ rm -rf $RPM_BUILD_ROOT
 # tests
 %{__rm} $RPM_BUILD_ROOT%{_bindir}/mir-smoke-test-runner
 %{__rm} $RPM_BUILD_ROOT%{_bindir}/mir_performance_tests
+%{__rm} $RPM_BUILD_ROOT%{_bindir}/mir_platform_graphics_test_harness
 %{__rm} $RPM_BUILD_ROOT%{_bindir}/mir_stress
 
 %clean
@@ -149,55 +163,56 @@ rm -rf $RPM_BUILD_ROOT
 %files
 %defattr(644,root,root,755)
 %doc README.md
+%attr(755,root,root) %{_bindir}/mir-shell
 %attr(755,root,root) %{_bindir}/mir_demo_*
 %attr(755,root,root) %{_bindir}/miral-app
-%attr(755,root,root) %{_bindir}/miral-desktop
 %attr(755,root,root) %{_bindir}/miral-kiosk
-%attr(755,root,root) %{_bindir}/miral-run
-%attr(755,root,root) %{_bindir}/miral-screencast
 %attr(755,root,root) %{_bindir}/miral-shell
-%attr(755,root,root) %{_bindir}/miral-xrun
-%attr(755,root,root) %{_bindir}/mirbacklight
+%attr(755,root,root) %{_bindir}/miral-system-compositor
+%attr(755,root,root) %{_bindir}/miral-terminal
 %attr(755,root,root) %{_bindir}/mirin
 %attr(755,root,root) %{_bindir}/mirout
-%attr(755,root,root) %{_bindir}/mirrun
 %attr(756,root,root) %{_bindir}/mirscreencast
 %attr(755,root,root) %{_libdir}/libmiral.so.3
 %attr(755,root,root) %{_libdir}/libmirclient.so.9
-%attr(755,root,root) %{_libdir}/libmirclient-debug-extension.so.1
 %attr(755,root,root) %{_libdir}/libmircommon.so.7
 %attr(755,root,root) %{_libdir}/libmircookie.so.2
 %attr(755,root,root) %{_libdir}/libmircore.so.1
-%attr(755,root,root) %{_libdir}/libmirplatform.so.16
+%attr(755,root,root) %{_libdir}/libmirplatform.so.18
 %attr(755,root,root) %{_libdir}/libmirprotobuf.so.3
-%attr(755,root,root) %{_libdir}/libmirserver.so.47
-%attr(755,root,root) %{_libdir}/libmir_demo_server_loadable.so
+%attr(755,root,root) %{_libdir}/libmirserver.so.53
+%attr(755,root,root) %{_libdir}/libmirwayland.so.0
 %dir %{_libdir}/mir
+%attr(755,root,root) %{_libdir}/mir/miral_wlcs_integration.so
 %dir %{_libdir}/mir/client-platform
-%attr(755,root,root) %{_libdir}/mir/client-platform/eglstream.so.5
+%attr(755,root,root) %{_libdir}/mir/client-platform/dummy.so
 %attr(755,root,root) %{_libdir}/mir/client-platform/mesa.so.5
 %dir %{_libdir}/mir/server-platform
-%attr(755,root,root) %{_libdir}/mir/server-platform/graphics-eglstream-kms.so.15
-%attr(755,root,root) %{_libdir}/mir/server-platform/graphics-mesa-kms.so.15
+%attr(755,root,root) %{_libdir}/mir/server-platform/graphics-dummy.so
+%attr(755,root,root) %{_libdir}/mir/server-platform/graphics-eglstream-kms.so.16
+%attr(755,root,root) %{_libdir}/mir/server-platform/graphics-mesa-kms.so.16
 %attr(755,root,root) %{_libdir}/mir/server-platform/input-evdev.so.7
-%attr(755,root,root) %{_libdir}/mir/server-platform/server-mesa-x11.so.15
+%attr(755,root,root) %{_libdir}/mir/server-platform/input-stub.so
+%attr(755,root,root) %{_libdir}/mir/server-platform/server-mesa-x11.so.16
 %dir %{_libdir}/mir/tools
 %attr(755,root,root) %{_libdir}/mir/tools/libmirclientlttng.so
 %attr(755,root,root) %{_libdir}/mir/tools/libmirserverlttng.so
+%{_datadir}/wayland-sessions/mir-shell.desktop
 %{_desktopdir}/miral-shell.desktop
 %{_iconsdir}/hicolor/scalable/apps/ubuntu-logo.svg
 
 %files devel
 %defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/mir_wayland_generator
 %attr(755,root,root) %{_libdir}/libmiral.so
 %attr(755,root,root) %{_libdir}/libmirclient.so
-%attr(755,root,root) %{_libdir}/libmirclient-debug-extension.so
 %attr(755,root,root) %{_libdir}/libmircommon.so
 %attr(755,root,root) %{_libdir}/libmircookie.so
 %attr(755,root,root) %{_libdir}/libmircore.so
 %attr(755,root,root) %{_libdir}/libmirplatform.so
 %attr(755,root,root) %{_libdir}/libmirprotobuf.so
 %attr(755,root,root) %{_libdir}/libmirserver.so
+%attr(755,root,root) %{_libdir}/libmirwayland.so
 %{_includedir}/miral
 %{_includedir}/mirclient
 %{_includedir}/mircommon
@@ -207,24 +222,26 @@ rm -rf $RPM_BUILD_ROOT
 %{_includedir}/mirplatforms
 %{_includedir}/mirrenderer
 %{_includedir}/mirserver
+%{_includedir}/mirwayland
 %{_pkgconfigdir}/mir-client-platform-mesa.pc
 %{_pkgconfigdir}/mir-renderer-gl-dev.pc
 %{_pkgconfigdir}/miral.pc
 %{_pkgconfigdir}/mirclient.pc
-%{_pkgconfigdir}/mirclient-debug-extension.pc
 %{_pkgconfigdir}/mirclientcpp.pc
+%{_pkgconfigdir}/mircommon.pc
 %{_pkgconfigdir}/mircookie.pc
 %{_pkgconfigdir}/mircore.pc
 %{_pkgconfigdir}/mirplatform.pc
 %{_pkgconfigdir}/mirrenderer.pc
 %{_pkgconfigdir}/mirserver.pc
+%{_pkgconfigdir}/mirwayland.pc
 
 %files test-devel
 %defattr(644,root,root,755)
 %{_libdir}/libmir-test-assist.a
 %{_includedir}/mirtest
-%{py3_sitedir}/mir_perf_framework
-%{py3_sitedir}/mir_perf_framework-%{version}-py*.egg-info
+%{py3_sitescriptdir}/mir_perf_framework
+%{py3_sitescriptdir}/mir_perf_framework-%{version}-py*.egg-info
 %{_pkgconfigdir}/mirtest.pc
 %{_datadir}/mir-perf-framework
 
diff --git a/mir-atomic.patch b/mir-atomic.patch
index f284ebc..41c2b12 100644
--- a/mir-atomic.patch
+++ b/mir-atomic.patch
@@ -1,10 +1,10 @@
---- mir-1.0.0/src/server/CMakeLists.txt.orig	2018-10-15 18:24:02.773523816 +0200
-+++ mir-1.0.0/src/server/CMakeLists.txt	2018-10-15 18:39:37.173513149 +0200
-@@ -137,7 +137,6 @@
-   ${XCB_XFIXES_LDFLAGS} ${XCB_XFIXES_LIBRARIES}
-   ${XCB_RENDER_LDFLAGS} ${XCB_RENDER_LIBRARIES}
+--- mir-1.8.2/src/server/CMakeLists.txt.orig	2023-03-03 16:04:54.548072759 +0100
++++ mir-1.8.2/src/server/CMakeLists.txt	2023-03-03 16:06:12.297651553 +0100
+@@ -146,7 +146,6 @@ target_link_libraries(mirserver LINK_PUB
    ${X11_XCURSOR_LDFLAGS} ${X11_XCURSOR_LIBRARIES}
+   ${LTTNG_UST_LDFLAGS} ${LTTNG_UST_LIBRARIES}
+   ${FREETYPE_LDFLAGS} ${FREETYPE_LIBRARIES}
 -  atomic
  )
  
- target_include_directories(mirshell
+ target_include_directories(mirshelldecoration
diff --git a/mir-capnproto.patch b/mir-capnproto.patch
new file mode 100644
index 0000000..9cc9751
--- /dev/null
+++ b/mir-capnproto.patch
@@ -0,0 +1,14 @@
+--- mir-1.8.2/src/include/common/mir/events/event.h.orig	2021-12-01 11:13:18.000000000 +0100
++++ mir-1.8.2/src/include/common/mir/events/event.h	2023-03-04 15:06:11.572422711 +0100
+@@ -23,6 +23,11 @@
+ #include "mir/events/event_builders.h"
+ #include "mir_event.capnp.h"
+ 
++// <X11/X.h> vs <kj/one-of.h> conflict
++#ifdef Success
++#undef Success
++#endif
++
+ #include <capnp/message.h>
+ 
+ #include <cstring>
diff --git a/mir-dirs.patch b/mir-dirs.patch
index 62beb03..a4c5fda 100644
--- a/mir-dirs.patch
+++ b/mir-dirs.patch
@@ -1,6 +1,6 @@
---- mir-0.11.0/src/CMakeLists.txt.orig	2015-02-11 04:58:37.000000000 +0100
-+++ mir-0.11.0/src/CMakeLists.txt	2015-02-28 10:41:32.306168415 +0100
-@@ -5,7 +5,7 @@
+--- mir-1.1.0/src/CMakeLists.txt.orig	2023-03-01 21:03:37.167115550 +0100
++++ mir-1.1.0/src/CMakeLists.txt	2023-03-01 21:07:55.529049216 +0100
+@@ -12,7 +12,7 @@ add_subdirectory(cookie/)
  # We need MIR_CLIENT_PLATFORM_PATH in both libmirclient and the platform
  # implementations
  set(MIR_CLIENT_PLATFORM_PATH
@@ -8,11 +8,11 @@
 +  ${CMAKE_INSTALL_LIBDIR}/mir/client-platform
  )
  
- # Add the platform implementations before exposing any private APIs
---- mir-0.11.0/src/platforms/CMakeLists.txt.orig	2015-02-11 04:58:37.000000000 +0100
-+++ mir-0.11.0/src/platforms/CMakeLists.txt	2015-02-28 10:59:36.682789576 +0100
-@@ -7,7 +7,7 @@
- set(MIR_SERVER_GRAPHICS_PLATFORM_VERSION ${MIR_SERVER_GRAPHICS_PLATFORM_VERSION} PARENT_SCOPE)
+ # Add the core and platform implementations before exposing any private APIs
+--- mir-1.1.0/src/platforms/CMakeLists.txt.orig	2023-03-01 21:03:37.167115550 +0100
++++ mir-1.1.0/src/platforms/CMakeLists.txt	2023-03-01 21:08:34.138840049 +0100
+@@ -21,7 +21,7 @@ set(MIR_INPUT_PLATFORM_VERSION_SCRIPT
+ set(MIR_INPUT_PLATFORM_VERSION_SCRIPT ${MIR_INPUT_PLATFORM_VERSION_SCRIPT} PARENT_SCOPE)
  
  set(MIR_SERVER_PLATFORM_PATH
 -  ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/mir/server-platform
diff --git a/mir-gtest.patch b/mir-gtest.patch
new file mode 100644
index 0000000..d60c9e5
--- /dev/null
+++ b/mir-gtest.patch
@@ -0,0 +1,21 @@
+--- mir-1.8.2/tests/unit-tests/graphics/test_display_configuration.cpp.orig	2021-12-01 11:13:18.000000000 +0100
++++ mir-1.8.2/tests/unit-tests/graphics/test_display_configuration.cpp	2023-03-04 12:58:39.250545565 +0100
+@@ -19,6 +19,7 @@
+ #include "mir/graphics/display_configuration.h"
+ 
+ #include <gtest/gtest.h>
++#include <gmock/gmock.h>
+ 
+ namespace mg = mir::graphics;
+ namespace geom = mir::geometry;
+--- mir-1.8.2/tests/include/mir/test/input_config_matchers.h.orig	2021-12-01 11:13:18.000000000 +0100
++++ mir-1.8.2/tests/include/mir/test/input_config_matchers.h	2023-03-04 13:56:37.295036714 +0100
+@@ -116,7 +116,7 @@ private:
+ 
+     MatcherVec matchers_;
+ 
+-    GTEST_DISALLOW_ASSIGN_(InputConfigElementsMatcher);
++    InputConfigElementsMatcher& operator=(const InputConfigElementsMatcher&) = delete;
+ };
+ 
+ // Multiple specializations because gmock does not decay the parameter type to the
diff --git a/mir-protobuf.patch b/mir-protobuf.patch
deleted file mode 100644
index fbcc736..0000000
--- a/mir-protobuf.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-Compatibility with protobuf 3.3.0 .. 3.6.0
---- mir-0.26.2/src/protobuf/symbols.map.orig	2017-03-27 04:18:32.000000000 +0200
-+++ mir-0.26.2/src/protobuf/symbols.map	2017-05-28 17:50:36.954006085 +0200
-@@ -852,6 +852,24 @@
-     mir::protobuf::wire::Result::SerializeWithCachedSizes*;
-     mir::protobuf::wire::Result::Swap*;
-     mir::protobuf::wire::static_descriptor_initializer_mir_5fprotobuf_5fwire_2eproto_*;
-+    mir::protobuf::_Buffer_default_instance_;
-+    mir::protobuf::_BufferRequest_default_instance_;
-+    mir::protobuf::_BufferStream_default_instance_;
-+    mir::protobuf::_BufferStreamId_default_instance_;
-+    mir::protobuf::_Cookie_default_instance_;
-+    mir::protobuf::_DisplayConfiguration_default_instance_;
-+    mir::protobuf::_LifecycleEvent_default_instance_;
-+    mir::protobuf::_ModuleProperties_default_instance_;
-+    mir::protobuf::_PersistentSurfaceId_default_instance_;
-+    mir::protobuf::_PingEvent_default_instance_;
-+    mir::protobuf::_Platform_default_instance_;
-+    mir::protobuf::_Rectangle_default_instance_;
-+    mir::protobuf::_ScreencastId_default_instance_;
-+    mir::protobuf::_StructuredError_default_instance_;
-+    mir::protobuf::_SurfaceAspectRatio_default_instance_;
-+    mir::protobuf::_SurfaceId_default_instance_;
-+    mir::protobuf::_SurfaceSpecification_default_instance_;
-+    *?google::protobuf::Arena::CreateMaybeMessage*;
-     non-virtual?thunk?to?mir::protobuf::BufferAllocation::?BufferAllocation*;
-     non-virtual?thunk?to?mir::protobuf::Buffer::?Buffer*;
-     non-virtual?thunk?to?mir::protobuf::BufferRelease::?BufferRelease*;
diff --git a/mir-wayland.patch b/mir-wayland.patch
new file mode 100644
index 0000000..2b5b01d
--- /dev/null
+++ b/mir-wayland.patch
@@ -0,0 +1,52 @@
+--- mir-1.8.2/examples/example-server-lib/wayland_helpers.cpp.orig	2021-12-01 11:13:18.000000000 +0100
++++ mir-1.8.2/examples/example-server-lib/wayland_helpers.cpp	2023-03-04 13:08:10.490784224 +0100
+@@ -137,6 +137,14 @@ void output_scale(void* data, struct wl_
+     output->scale = factor;
+ }
+ 
++void output_name(void* /*data*/, struct wl_output* /*wl_output*/, const char* /*name*/)
++{
++}
++
++void output_description(void* /*data*/, struct wl_output* /*wl_output*/, const char* /*description*/)
++{
++}
++
+ }
+ 
+ wl_output_listener const Output::output_listener = {
+@@ -144,6 +152,8 @@ wl_output_listener const Output::output_
+     &output_mode,
+     &Output::output_done,
+     &output_scale,
++    &output_name,
++    &output_description,
+ };
+ 
+ Output::Output(
+--- mir-1.8.2/examples/miral-shell/spinner/miregl.cpp.orig	2021-12-01 11:13:18.000000000 +0100
++++ mir-1.8.2/examples/miral-shell/spinner/miregl.cpp	2023-03-04 13:11:02.906516834 +0100
+@@ -70,6 +70,14 @@ static void output_scale(void* /*data*/,
+ {
+ }
+ 
++void output_name(void* /*data*/, struct wl_output* /*wl_output*/, const char* /*name*/)
++{
++}
++
++void output_description(void* /*data*/, struct wl_output* /*wl_output*/, const char* /*description*/)
++{
++}
++
+ class MirEglApp
+ {
+ public:
+@@ -287,6 +295,8 @@ MirEglApp::MirEglApp(struct wl_display*
+         &output_mode,
+         &output_done,
+         &output_scale,
++        &output_name,
++        &output_description,
+     };
+ 
+     for (auto const output : outputs)
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/mir.git/commitdiff/738162e699c1b23384cc99ff9e82a69cc7697863



More information about the pld-cvs-commit mailing list