[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