1 |
commit: f2288b8b1eaa0b1c6267d6aa07af610585bb72a1 |
2 |
Author: James Le Cuirot <chewi <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sat May 21 08:57:50 2022 +0000 |
4 |
Commit: James Le Cuirot <chewi <AT> gentoo <DOT> org> |
5 |
CommitDate: Sat May 21 08:57:50 2022 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f2288b8b |
7 |
|
8 |
dev-libs/weston: Drop old 9.0.0-r2 |
9 |
|
10 |
Closes: https://bugs.gentoo.org/830946 |
11 |
Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org> |
12 |
|
13 |
dev-libs/weston/Manifest | 1 - |
14 |
dev-libs/weston/files/weston-pipewire-0.3.patch | 373 ------------------------ |
15 |
dev-libs/weston/weston-9.0.0-r2.ebuild | 152 ---------- |
16 |
3 files changed, 526 deletions(-) |
17 |
|
18 |
diff --git a/dev-libs/weston/Manifest b/dev-libs/weston/Manifest |
19 |
index 1d2bf61666d9..ff35a7d9ebb6 100644 |
20 |
--- a/dev-libs/weston/Manifest |
21 |
+++ b/dev-libs/weston/Manifest |
22 |
@@ -1,2 +1 @@ |
23 |
DIST weston-10.0.0.tar.xz 1774600 BLAKE2B b2b8fa4f7542aba03970ca8abf504f340f8f8da9f9581c16ceac5c702eac355f5d4244778393a8804017f39dff490431e26a48580746033158bd2d2b721437f8 SHA512 77e05530751e4f743eebf015ab5b78a1fcc66b774713b5e296cfffc488be84e459f811c85ac4280b7b63eebf4ff5c958dd7306376ab343e6b80feae16c8c35a4 |
24 |
-DIST weston-9.0.0.tar.xz 1555212 BLAKE2B 6c5feb3959ebe894861c6dc0817633b23e8518baf1c359c2967f111c071e9d4f166ef1421ad6465b036b3f1c485cab5f442476e7a44e3ec722cff576dea73852 SHA512 ccc263f8279b7b23e5c593b4a8a023de2c3dc178b1b8d6593599171770bcfe97608de9fcb77aa1cab39255451d289d323e51c317dae190c7641282e085b84f90 |
25 |
|
26 |
diff --git a/dev-libs/weston/files/weston-pipewire-0.3.patch b/dev-libs/weston/files/weston-pipewire-0.3.patch |
27 |
deleted file mode 100644 |
28 |
index a38250d8c8f2..000000000000 |
29 |
--- a/dev-libs/weston/files/weston-pipewire-0.3.patch |
30 |
+++ /dev/null |
31 |
@@ -1,373 +0,0 @@ |
32 |
-https://gitlab.freedesktop.org/wayland/weston/-/merge_requests/456 |
33 |
- |
34 |
-diff --git a/pipewire/meson.build b/pipewire/meson.build |
35 |
-index 67db61f0777325695864db2bc6cf94145ed5564d..944b2259f146e07abdbd4773223f4bdb76dfa45a 100644 |
36 |
---- a/pipewire/meson.build |
37 |
-+++ b/pipewire/meson.build |
38 |
-@@ -5,17 +5,25 @@ if get_option('pipewire') |
39 |
- error('Attempting to build the pipewire plugin without the required DRM backend. ' + user_hint) |
40 |
- endif |
41 |
- |
42 |
-- depnames = [ |
43 |
-- 'libpipewire-0.2', 'libspa-0.1' |
44 |
-- ] |
45 |
- deps_pipewire = [ dep_libweston_private ] |
46 |
-- foreach depname : depnames |
47 |
-- dep = dependency(depname, required: false) |
48 |
-- if not dep.found() |
49 |
-- error('Pipewire plugin requires @0@ which was not found. '.format(depname) + user_hint) |
50 |
-- endif |
51 |
-- deps_pipewire += dep |
52 |
-- endforeach |
53 |
-+ |
54 |
-+ dep_libpipewire = dependency('libpipewire-0.3', required: false) |
55 |
-+ if not dep_libpipewire.found() |
56 |
-+ dep_libpipewire = dependency('libpipewire-0.2', required: false) |
57 |
-+ endif |
58 |
-+ if not dep_libpipewire.found() |
59 |
-+ error('Pipewire plugin requires libpipewire which was not found. ' + user_hint) |
60 |
-+ endif |
61 |
-+ deps_pipewire += dep_libpipewire |
62 |
-+ |
63 |
-+ dep_libspa = dependency('libspa-0.2', required: false) |
64 |
-+ if not dep_libspa.found() |
65 |
-+ dep_libspa = dependency('libspa-0.1', required: false) |
66 |
-+ endif |
67 |
-+ if not dep_libspa.found() |
68 |
-+ error('Pipewire plugin requires libspa which was not found. ' + user_hint) |
69 |
-+ endif |
70 |
-+ deps_pipewire += dep_libspa |
71 |
- |
72 |
- plugin_pipewire = shared_library( |
73 |
- 'pipewire-plugin', |
74 |
-diff --git a/pipewire/pipewire-plugin.c b/pipewire/pipewire-plugin.c |
75 |
-index fe7eb1d654d5ec67f7a3287532bb21c19ad9eac5..2c65f502c2917c23290a51bf1c24eac8d50129f1 100644 |
76 |
---- a/pipewire/pipewire-plugin.c |
77 |
-+++ b/pipewire/pipewire-plugin.c |
78 |
-@@ -34,20 +34,27 @@ |
79 |
- #include <errno.h> |
80 |
- #include <unistd.h> |
81 |
- |
82 |
-+#include <pipewire/pipewire.h> |
83 |
-+ |
84 |
- #include <spa/param/format-utils.h> |
85 |
- #include <spa/param/video/format-utils.h> |
86 |
- #include <spa/utils/defs.h> |
87 |
- |
88 |
--#include <pipewire/pipewire.h> |
89 |
-+#if PW_CHECK_VERSION(0, 2, 90) |
90 |
-+#include <spa/buffer/meta.h> |
91 |
-+#include <spa/utils/result.h> |
92 |
-+#endif |
93 |
- |
94 |
- #define PROP_RANGE(min, max) 2, (min), (max) |
95 |
- |
96 |
-+#if !PW_CHECK_VERSION(0, 2, 90) |
97 |
- struct type { |
98 |
- struct spa_type_media_type media_type; |
99 |
- struct spa_type_media_subtype media_subtype; |
100 |
- struct spa_type_format_video format_video; |
101 |
- struct spa_type_video_format video_format; |
102 |
- }; |
103 |
-+#endif |
104 |
- |
105 |
- struct weston_pipewire { |
106 |
- struct weston_compositor *compositor; |
107 |
-@@ -60,12 +67,19 @@ struct weston_pipewire { |
108 |
- struct pw_loop *loop; |
109 |
- struct wl_event_source *loop_source; |
110 |
- |
111 |
-+#if PW_CHECK_VERSION(0, 2, 90) |
112 |
-+ struct pw_context *context; |
113 |
-+#endif |
114 |
- struct pw_core *core; |
115 |
- struct pw_type *t; |
116 |
-+#if PW_CHECK_VERSION(0, 2, 90) |
117 |
-+ struct spa_hook core_listener; |
118 |
-+#else |
119 |
- struct type type; |
120 |
- |
121 |
- struct pw_remote *remote; |
122 |
- struct spa_hook remote_listener; |
123 |
-+#endif |
124 |
- }; |
125 |
- |
126 |
- struct pipewire_output { |
127 |
-@@ -100,6 +114,7 @@ struct pipewire_frame_data { |
128 |
- struct wl_event_source *fence_sync_event_source; |
129 |
- }; |
130 |
- |
131 |
-+#if !PW_CHECK_VERSION(0, 2, 90) |
132 |
- static inline void init_type(struct type *type, struct spa_type_map *map) |
133 |
- { |
134 |
- spa_type_media_type_map(map, &type->media_type); |
135 |
-@@ -107,6 +122,7 @@ static inline void init_type(struct type *type, struct spa_type_map *map) |
136 |
- spa_type_format_video_map(map, &type->format_video); |
137 |
- spa_type_video_format_map(map, &type->video_format); |
138 |
- } |
139 |
-+#endif |
140 |
- |
141 |
- static void |
142 |
- pipewire_debug_impl(struct weston_pipewire *pipewire, |
143 |
-@@ -141,6 +157,7 @@ pipewire_debug_impl(struct weston_pipewire *pipewire, |
144 |
- free(logstr); |
145 |
- } |
146 |
- |
147 |
-+#if !PW_CHECK_VERSION(0, 2, 90) |
148 |
- static void |
149 |
- pipewire_debug(struct weston_pipewire *pipewire, const char *fmt, ...) |
150 |
- { |
151 |
-@@ -150,6 +167,7 @@ pipewire_debug(struct weston_pipewire *pipewire, const char *fmt, ...) |
152 |
- pipewire_debug_impl(pipewire, NULL, fmt, ap); |
153 |
- va_end(ap); |
154 |
- } |
155 |
-+#endif |
156 |
- |
157 |
- static void |
158 |
- pipewire_output_debug(struct pipewire_output *output, const char *fmt, ...) |
159 |
-@@ -185,7 +203,9 @@ pipewire_output_handle_frame(struct pipewire_output *output, int fd, |
160 |
- const struct weston_drm_virtual_output_api *api = |
161 |
- output->pipewire->virtual_output_api; |
162 |
- size_t size = output->output->height * stride; |
163 |
-+#if !PW_CHECK_VERSION(0, 2, 90) |
164 |
- struct pw_type *t = output->pipewire->t; |
165 |
-+#endif |
166 |
- struct pw_buffer *buffer; |
167 |
- struct spa_buffer *spa_buffer; |
168 |
- struct spa_meta_header *h; |
169 |
-@@ -203,7 +223,12 @@ pipewire_output_handle_frame(struct pipewire_output *output, int fd, |
170 |
- |
171 |
- spa_buffer = buffer->buffer; |
172 |
- |
173 |
-+#if PW_CHECK_VERSION(0, 2, 90) |
174 |
-+ if ((h = spa_buffer_find_meta_data(spa_buffer, SPA_META_Header, |
175 |
-+ sizeof(struct spa_meta_header)))) { |
176 |
-+#else |
177 |
- if ((h = spa_buffer_find_meta(spa_buffer, t->meta.Header))) { |
178 |
-+#endif |
179 |
- h->pts = -1; |
180 |
- h->flags = 0; |
181 |
- h->seq = output->seq++; |
182 |
-@@ -375,18 +400,40 @@ pipewire_set_dpms(struct weston_output *base_output, enum dpms_enum level) |
183 |
- static int |
184 |
- pipewire_output_connect(struct pipewire_output *output) |
185 |
- { |
186 |
-+#if !PW_CHECK_VERSION(0, 2, 90) |
187 |
- struct weston_pipewire *pipewire = output->pipewire; |
188 |
- struct type *type = &pipewire->type; |
189 |
-+#endif |
190 |
- uint8_t buffer[1024]; |
191 |
- struct spa_pod_builder builder = |
192 |
- SPA_POD_BUILDER_INIT(buffer, sizeof(buffer)); |
193 |
- const struct spa_pod *params[1]; |
194 |
-+#if !PW_CHECK_VERSION(0, 2, 90) |
195 |
- struct pw_type *t = pipewire->t; |
196 |
-+#endif |
197 |
- int frame_rate = output->output->current_mode->refresh / 1000; |
198 |
- int width = output->output->width; |
199 |
- int height = output->output->height; |
200 |
- int ret; |
201 |
- |
202 |
-+#if PW_CHECK_VERSION(0, 2, 90) |
203 |
-+ params[0] = spa_pod_builder_add_object(&builder, |
204 |
-+ SPA_TYPE_OBJECT_Format, SPA_PARAM_EnumFormat, |
205 |
-+ SPA_FORMAT_mediaType, SPA_POD_Id(SPA_MEDIA_TYPE_video), |
206 |
-+ SPA_FORMAT_mediaSubtype, SPA_POD_Id(SPA_MEDIA_SUBTYPE_raw), |
207 |
-+ SPA_FORMAT_VIDEO_format, SPA_POD_Id(SPA_VIDEO_FORMAT_BGRx), |
208 |
-+ SPA_FORMAT_VIDEO_size, SPA_POD_Rectangle(&SPA_RECTANGLE(width, height)), |
209 |
-+ SPA_FORMAT_VIDEO_framerate, SPA_POD_Fraction(&SPA_FRACTION (0, 1)), |
210 |
-+ SPA_FORMAT_VIDEO_maxFramerate, |
211 |
-+ SPA_POD_CHOICE_RANGE_Fraction(&SPA_FRACTION(frame_rate, 1), |
212 |
-+ &SPA_FRACTION(1, 1), |
213 |
-+ &SPA_FRACTION(frame_rate, 1))); |
214 |
-+ |
215 |
-+ ret = pw_stream_connect(output->stream, PW_DIRECTION_OUTPUT, SPA_ID_INVALID, |
216 |
-+ (PW_STREAM_FLAG_DRIVER | |
217 |
-+ PW_STREAM_FLAG_MAP_BUFFERS), |
218 |
-+ params, 1); |
219 |
-+#else |
220 |
- params[0] = spa_pod_builder_object(&builder, |
221 |
- t->param.idEnumFormat, t->spa_format, |
222 |
- "I", type->media_type.video, |
223 |
-@@ -406,6 +453,7 @@ pipewire_output_connect(struct pipewire_output *output) |
224 |
- (PW_STREAM_FLAG_DRIVER | |
225 |
- PW_STREAM_FLAG_MAP_BUFFERS), |
226 |
- params, 1); |
227 |
-+#endif |
228 |
- if (ret != 0) { |
229 |
- weston_log("Failed to connect pipewire stream: %s", |
230 |
- spa_strerror(ret)); |
231 |
-@@ -482,26 +530,42 @@ pipewire_output_stream_state_changed(void *data, enum pw_stream_state old, |
232 |
- } |
233 |
- |
234 |
- static void |
235 |
-+#if PW_CHECK_VERSION(0, 2, 90) |
236 |
-+pipewire_output_stream_param_changed(void *data, uint32_t id, const struct spa_pod *format) |
237 |
-+#else |
238 |
- pipewire_output_stream_format_changed(void *data, const struct spa_pod *format) |
239 |
-+#endif |
240 |
- { |
241 |
- struct pipewire_output *output = data; |
242 |
-+#if !PW_CHECK_VERSION(0, 2, 90) |
243 |
- struct weston_pipewire *pipewire = output->pipewire; |
244 |
-+#endif |
245 |
- uint8_t buffer[1024]; |
246 |
- struct spa_pod_builder builder = |
247 |
- SPA_POD_BUILDER_INIT(buffer, sizeof(buffer)); |
248 |
- const struct spa_pod *params[2]; |
249 |
-+#if !PW_CHECK_VERSION(0, 2, 90) |
250 |
- struct pw_type *t = pipewire->t; |
251 |
-+#endif |
252 |
- int32_t width, height, stride, size; |
253 |
- const int bpp = 4; |
254 |
- |
255 |
- if (!format) { |
256 |
- pipewire_output_debug(output, "format = None"); |
257 |
-+#if PW_CHECK_VERSION(0, 2, 90) |
258 |
-+ pw_stream_update_params(output->stream, NULL, 0); |
259 |
-+#else |
260 |
- pw_stream_finish_format(output->stream, 0, NULL, 0); |
261 |
-+#endif |
262 |
- return; |
263 |
- } |
264 |
- |
265 |
-+#if PW_CHECK_VERSION(0, 2, 90) |
266 |
-+ spa_format_video_raw_parse(format, &output->video_format); |
267 |
-+#else |
268 |
- spa_format_video_raw_parse(format, &output->video_format, |
269 |
- &pipewire->type.format_video); |
270 |
-+#endif |
271 |
- |
272 |
- width = output->video_format.size.width; |
273 |
- height = output->video_format.size.height; |
274 |
-@@ -510,6 +574,21 @@ pipewire_output_stream_format_changed(void *data, const struct spa_pod *format) |
275 |
- |
276 |
- pipewire_output_debug(output, "format = %dx%d", width, height); |
277 |
- |
278 |
-+#if PW_CHECK_VERSION(0, 2, 90) |
279 |
-+ params[0] = spa_pod_builder_add_object(&builder, |
280 |
-+ SPA_TYPE_OBJECT_ParamBuffers, SPA_PARAM_Buffers, |
281 |
-+ SPA_PARAM_BUFFERS_size, SPA_POD_Int(size), |
282 |
-+ SPA_PARAM_BUFFERS_stride, SPA_POD_Int(stride), |
283 |
-+ SPA_PARAM_BUFFERS_buffers, SPA_POD_CHOICE_RANGE_Int(4, 2, 8), |
284 |
-+ SPA_PARAM_BUFFERS_align, SPA_POD_Int(16)); |
285 |
-+ |
286 |
-+ params[1] = spa_pod_builder_add_object(&builder, |
287 |
-+ SPA_TYPE_OBJECT_ParamMeta, SPA_PARAM_Meta, |
288 |
-+ SPA_PARAM_META_type, SPA_POD_Id(SPA_META_Header), |
289 |
-+ SPA_PARAM_META_size, SPA_POD_Int(sizeof(struct spa_meta_header))); |
290 |
-+ |
291 |
-+ pw_stream_update_params(output->stream, params, 2); |
292 |
-+#else |
293 |
- params[0] = spa_pod_builder_object(&builder, |
294 |
- t->param.idBuffers, t->param_buffers.Buffers, |
295 |
- ":", t->param_buffers.size, |
296 |
-@@ -527,12 +606,17 @@ pipewire_output_stream_format_changed(void *data, const struct spa_pod *format) |
297 |
- ":", t->param_meta.size, "i", sizeof(struct spa_meta_header)); |
298 |
- |
299 |
- pw_stream_finish_format(output->stream, 0, params, 2); |
300 |
-+#endif |
301 |
- } |
302 |
- |
303 |
- static const struct pw_stream_events stream_events = { |
304 |
- PW_VERSION_STREAM_EVENTS, |
305 |
- .state_changed = pipewire_output_stream_state_changed, |
306 |
-+#if PW_CHECK_VERSION(0, 2, 90) |
307 |
-+ .param_changed = pipewire_output_stream_param_changed, |
308 |
-+#else |
309 |
- .format_changed = pipewire_output_stream_format_changed, |
310 |
-+#endif |
311 |
- }; |
312 |
- |
313 |
- static struct weston_output * |
314 |
-@@ -560,7 +644,11 @@ pipewire_output_create(struct weston_compositor *c, char *name) |
315 |
- if (!head) |
316 |
- goto err; |
317 |
- |
318 |
-+#if PW_CHECK_VERSION(0, 2, 90) |
319 |
-+ output->stream = pw_stream_new(pipewire->core, name, NULL); |
320 |
-+#else |
321 |
- output->stream = pw_stream_new(pipewire->remote, name, NULL); |
322 |
-+#endif |
323 |
- if (!output->stream) { |
324 |
- weston_log("Cannot initialize pipewire stream\n"); |
325 |
- goto err; |
326 |
-@@ -704,6 +792,14 @@ weston_pipewire_loop_handler(int fd, uint32_t mask, void *data) |
327 |
- return 0; |
328 |
- } |
329 |
- |
330 |
-+#if PW_CHECK_VERSION(0, 2, 90) |
331 |
-+static void |
332 |
-+weston_pipewire_error(void *data, uint32_t id, int seq, int res, |
333 |
-+ const char *error) |
334 |
-+{ |
335 |
-+ weston_log("pipewire remote error: %s\n", error); |
336 |
-+} |
337 |
-+#else |
338 |
- static void |
339 |
- weston_pipewire_state_changed(void *data, enum pw_remote_state old, |
340 |
- enum pw_remote_state state, const char *error) |
341 |
-@@ -725,12 +821,20 @@ weston_pipewire_state_changed(void *data, enum pw_remote_state old, |
342 |
- break; |
343 |
- } |
344 |
- } |
345 |
-+#endif |
346 |
- |
347 |
- |
348 |
-+#if PW_CHECK_VERSION(0, 2, 90) |
349 |
-+static const struct pw_core_events core_events = { |
350 |
-+ PW_VERSION_CORE_EVENTS, |
351 |
-+ .error = weston_pipewire_error, |
352 |
-+}; |
353 |
-+#else |
354 |
- static const struct pw_remote_events remote_events = { |
355 |
- PW_VERSION_REMOTE_EVENTS, |
356 |
- .state_changed = weston_pipewire_state_changed, |
357 |
- }; |
358 |
-+#endif |
359 |
- |
360 |
- static int |
361 |
- weston_pipewire_init(struct weston_pipewire *pipewire) |
362 |
-@@ -745,10 +849,19 @@ weston_pipewire_init(struct weston_pipewire *pipewire) |
363 |
- |
364 |
- pw_loop_enter(pipewire->loop); |
365 |
- |
366 |
-+#if PW_CHECK_VERSION(0, 2, 90) |
367 |
-+ pipewire->context = pw_context_new(pipewire->loop, NULL, 0); |
368 |
-+#else |
369 |
- pipewire->core = pw_core_new(pipewire->loop, NULL); |
370 |
- pipewire->t = pw_core_get_type(pipewire->core); |
371 |
- init_type(&pipewire->type, pipewire->t->map); |
372 |
-+#endif |
373 |
- |
374 |
-+#if PW_CHECK_VERSION(0, 2, 90) |
375 |
-+ pw_core_add_listener(pipewire->core, |
376 |
-+ &pipewire->core_listener, |
377 |
-+ &core_events, pipewire); |
378 |
-+#else |
379 |
- pipewire->remote = pw_remote_new(pipewire->core, NULL, 0); |
380 |
- pw_remote_add_listener(pipewire->remote, |
381 |
- &pipewire->remote_listener, |
382 |
-@@ -777,6 +890,7 @@ weston_pipewire_init(struct weston_pipewire *pipewire) |
383 |
- goto err; |
384 |
- } |
385 |
- } |
386 |
-+#endif |
387 |
- |
388 |
- loop = wl_display_get_event_loop(pipewire->compositor->wl_display); |
389 |
- pipewire->loop_source = |
390 |
-@@ -786,12 +900,14 @@ weston_pipewire_init(struct weston_pipewire *pipewire) |
391 |
- pipewire); |
392 |
- |
393 |
- return 0; |
394 |
-+#if !PW_CHECK_VERSION(0, 2, 90) |
395 |
- err: |
396 |
- if (pipewire->remote) |
397 |
- pw_remote_destroy(pipewire->remote); |
398 |
- pw_loop_leave(pipewire->loop); |
399 |
- pw_loop_destroy(pipewire->loop); |
400 |
- return -1; |
401 |
-+#endif |
402 |
- } |
403 |
- |
404 |
- static const struct weston_pipewire_api pipewire_api = { |
405 |
|
406 |
diff --git a/dev-libs/weston/weston-9.0.0-r2.ebuild b/dev-libs/weston/weston-9.0.0-r2.ebuild |
407 |
deleted file mode 100644 |
408 |
index 27fdbecfc4af..000000000000 |
409 |
--- a/dev-libs/weston/weston-9.0.0-r2.ebuild |
410 |
+++ /dev/null |
411 |
@@ -1,152 +0,0 @@ |
412 |
-# Copyright 1999-2022 Gentoo Authors |
413 |
-# Distributed under the terms of the GNU General Public License v2 |
414 |
- |
415 |
-EAPI=7 |
416 |
- |
417 |
-if [[ ${PV} = 9999* ]]; then |
418 |
- EGIT_REPO_URI="https://gitlab.freedesktop.org/wayland/weston.git" |
419 |
- GIT_ECLASS="git-r3" |
420 |
- EXPERIMENTAL="true" |
421 |
-fi |
422 |
- |
423 |
-inherit meson readme.gentoo-r1 xdg-utils ${GIT_ECLASS} |
424 |
- |
425 |
-DESCRIPTION="Wayland reference compositor" |
426 |
-HOMEPAGE="https://wayland.freedesktop.org/ https://gitlab.freedesktop.org/wayland/weston" |
427 |
- |
428 |
-if [[ ${PV} = *9999* ]]; then |
429 |
- SRC_URI="${SRC_PATCHES}" |
430 |
-else |
431 |
- SRC_URI="https://wayland.freedesktop.org/releases/${P}.tar.xz" |
432 |
- KEYWORDS="amd64 arm arm64 ppc64 ~riscv x86" |
433 |
-fi |
434 |
- |
435 |
-LICENSE="MIT CC-BY-SA-3.0" |
436 |
-SLOT="0" |
437 |
- |
438 |
-IUSE="colord +desktop +drm editor examples fbdev fullscreen +gles2 headless ivi jpeg kiosk +launch lcms pipewire rdp remoting +resize-optimization screen-sharing +suid systemd test wayland-compositor webp +X xwayland" |
439 |
-RESTRICT="!test? ( test )" |
440 |
- |
441 |
-REQUIRED_USE=" |
442 |
- colord? ( lcms ) |
443 |
- drm? ( gles2 ) |
444 |
- pipewire? ( drm ) |
445 |
- remoting? ( drm gles2 ) |
446 |
- screen-sharing? ( rdp ) |
447 |
- test? ( desktop headless xwayland ) |
448 |
- wayland-compositor? ( gles2 ) |
449 |
- || ( drm fbdev headless rdp wayland-compositor X ) |
450 |
-" |
451 |
- |
452 |
-RDEPEND=" |
453 |
- >=dev-libs/libinput-0.8.0 |
454 |
- >=dev-libs/wayland-1.17.0 |
455 |
- >=dev-libs/wayland-protocols-1.18 |
456 |
- lcms? ( media-libs/lcms:2 ) |
457 |
- media-libs/libpng:0= |
458 |
- webp? ( media-libs/libwebp:0= ) |
459 |
- jpeg? ( virtual/jpeg:0= ) |
460 |
- >=x11-libs/cairo-1.11.3 |
461 |
- >=x11-libs/libdrm-2.4.68 |
462 |
- >=x11-libs/libxkbcommon-0.5.0 |
463 |
- >=x11-libs/pixman-0.25.2 |
464 |
- x11-misc/xkeyboard-config |
465 |
- fbdev? ( |
466 |
- >=sys-libs/mtdev-1.1.0 |
467 |
- >=virtual/udev-136 |
468 |
- ) |
469 |
- colord? ( >=x11-misc/colord-0.1.27 ) |
470 |
- drm? ( |
471 |
- >=media-libs/mesa-17.1[gbm(+)] |
472 |
- >=sys-libs/mtdev-1.1.0 |
473 |
- >=virtual/udev-136 |
474 |
- ) |
475 |
- editor? ( x11-libs/pango ) |
476 |
- examples? ( x11-libs/pango ) |
477 |
- gles2? ( |
478 |
- media-libs/mesa[gles2,wayland] |
479 |
- ) |
480 |
- pipewire? ( >=media-video/pipewire-0.2:= ) |
481 |
- rdp? ( >=net-misc/freerdp-2.0.0_rc2:= ) |
482 |
- remoting? ( |
483 |
- media-libs/gstreamer:1.0 |
484 |
- media-libs/gst-plugins-base:1.0 |
485 |
- ) |
486 |
- systemd? ( |
487 |
- sys-auth/pambase[systemd] |
488 |
- >=sys-apps/dbus-1.6 |
489 |
- >=sys-apps/systemd-209[pam] |
490 |
- ) |
491 |
- launch? ( sys-auth/pambase ) |
492 |
- X? ( |
493 |
- >=x11-libs/libxcb-1.9 |
494 |
- x11-libs/libX11 |
495 |
- ) |
496 |
- xwayland? ( |
497 |
- x11-base/xwayland |
498 |
- x11-libs/cairo[X,xcb(+)] |
499 |
- >=x11-libs/libxcb-1.9 |
500 |
- x11-libs/libXcursor |
501 |
- ) |
502 |
-" |
503 |
-DEPEND="${RDEPEND}" |
504 |
-BDEPEND=" |
505 |
- virtual/pkgconfig |
506 |
-" |
507 |
- |
508 |
-PATCHES=( |
509 |
- "${FILESDIR}"/${PN}-pipewire-0.3.patch |
510 |
-) |
511 |
- |
512 |
-src_configure() { |
513 |
- local emesonargs=( |
514 |
- $(meson_use drm backend-drm) |
515 |
- -Dbackend-drm-screencast-vaapi=false |
516 |
- $(meson_use headless backend-headless) |
517 |
- $(meson_use rdp backend-rdp) |
518 |
- $(meson_use screen-sharing screenshare) |
519 |
- $(meson_use wayland-compositor backend-wayland) |
520 |
- $(meson_use X backend-x11) |
521 |
- $(meson_use fbdev backend-fbdev) |
522 |
- -Dbackend-default=auto |
523 |
- $(meson_use gles2 renderer-gl) |
524 |
- $(meson_use launch weston-launch) |
525 |
- $(meson_use xwayland) |
526 |
- $(meson_use systemd) |
527 |
- $(meson_use remoting) |
528 |
- $(meson_use pipewire) |
529 |
- $(meson_use desktop shell-desktop) |
530 |
- $(meson_use fullscreen shell-fullscreen) |
531 |
- $(meson_use ivi shell-ivi) |
532 |
- $(meson_use kiosk shell-kiosk) |
533 |
- $(meson_use lcms color-management-lcms) |
534 |
- $(meson_use colord color-management-colord) |
535 |
- $(meson_use systemd launcher-logind) |
536 |
- $(meson_use jpeg image-jpeg) |
537 |
- $(meson_use webp image-webp) |
538 |
- -Dtools=debug,info,terminal |
539 |
- $(meson_use examples demo-clients) |
540 |
- -Dsimple-clients=$(usex examples damage,dmabuf-v4l,im,shm,touch$(usex gles2 ,dmabuf-egl,egl "") "") |
541 |
- $(meson_use resize-optimization resize-pool) |
542 |
- -Dtest-junit-xml=false |
543 |
- -Dtest-gl-renderer=false |
544 |
- "${myconf[@]}" |
545 |
- ) |
546 |
- meson_src_configure |
547 |
-} |
548 |
- |
549 |
-src_test() { |
550 |
- xdg_environment_reset |
551 |
- |
552 |
- # devices test usually fails. |
553 |
- cd "${BUILD_DIR}" || die |
554 |
- meson test $(meson test --list | grep -Fxv devices) || die |
555 |
-} |
556 |
- |
557 |
-src_install() { |
558 |
- meson_src_install |
559 |
- if use launch && use suid; then |
560 |
- chmod u+s "${ED}"/usr/bin/weston-launch || die |
561 |
- fi |
562 |
- readme.gentoo_create_doc |
563 |
-} |