summaryrefslogtreecommitdiff
path: root/dev-libs/wayland
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-08-23 14:56:14 +0100
committerV3n3RiX <venerix@koprulu.sector>2024-08-23 14:56:14 +0100
commitb818f6a820dceae80d6e3faac5fdf7be0c6fcbe2 (patch)
treeecc35732c51ff9d610d4a9e0cc77e940ef5ac9da /dev-libs/wayland
parent2bae4d8bcdc3862f8d7cf1963acc0a9036762d2d (diff)
gentoo auto-resync : 23:08:2024 - 14:56:14
Diffstat (limited to 'dev-libs/wayland')
-rw-r--r--dev-libs/wayland/Manifest2
-rw-r--r--dev-libs/wayland/files/wayland-1.23.0-c23-clang-fix.patch146
-rw-r--r--dev-libs/wayland/wayland-1.23.0-r1.ebuild70
3 files changed, 218 insertions, 0 deletions
diff --git a/dev-libs/wayland/Manifest b/dev-libs/wayland/Manifest
index a22731ea2084..0a5bfc0d59bd 100644
--- a/dev-libs/wayland/Manifest
+++ b/dev-libs/wayland/Manifest
@@ -1,6 +1,8 @@
+AUX wayland-1.23.0-c23-clang-fix.patch 4740 BLAKE2B fceae0f54e0d12c8c7651641294cfb4d106e56bc3d1e4c8766bda5e9f22e811b22e207bc32c85c9336787a19d70e3d66d991b4fb201acbcb378a68b80c2dca5a SHA512 9dea2ce6b5a8ce430fa7c2302c2f2abbf2119056eec8caaf10efee6b3d5fdb9a7da3351868eddb013786efca95fa26cfc68aa77ef42a00843c2922dc0d924386
DIST wayland-1.22.0.tar.xz 229544 BLAKE2B b0bb366e7f3494813d1574228ae5dd48eccde035120d6dd8709e3a24738681ab9dd9ba6a13924b6a35982d331fa8911fa7346911da9f618be9c9109da0288629 SHA512 fb1974efc8433e97254eb83fe28974198f2b4d8246418eb3d34ce657055461e0c97bc06dd52e5066ae91bbe05bac611dc49a0937ba226ac6388d5a47241efb12
DIST wayland-1.23.0.tar.xz 237900 BLAKE2B efb80e3c67db7a707a6d2ea66e7a5132173550bc13fdff447925ec3d33bfba8131532f819d5ab0dd80924cb4339b58b7ca83d9e70a436cea8268167476355bd8 SHA512 9c525231a7ea3e68d3178230d476285a960d23e38571ac96d885f86c0588c52ef01460bff6833db5adb9456ce8db7b996613611187aac972736748ba91b8fd81
EBUILD wayland-1.22.0.ebuild 1669 BLAKE2B dd25effa4c6a77f44fcf7d06249f0397da9e86186d73b4a2e06fa14decd9e9f9d1d358d43363dc6b8880467b60dab442872c45c4f4d44e2535521a1bdaedb804 SHA512 5e8d283cdf726f0f3ca414ec5c5c43567ef695e4aaec557ec905420f0002be46348f29be8321912b5c559f858c47040206a96019c72b77359dadb992eca23cb8
+EBUILD wayland-1.23.0-r1.ebuild 1739 BLAKE2B 54d29194a30342cce099a2b113b8fb9b51ce68fbed32c6bb7821741863c4f1ce958dbeed4207596ca7f42d466a504e65d9e49e3d2d316b13cb0afefb258609dc SHA512 36b6fc468c4277771db4457f63d23ea7585eb154e3f143ac380a6e1418bcc67fa9dce8da86dac0ca2bef5bcdb867ef49ecf73cdf3f167d74fe4e23fdaf291cfe
EBUILD wayland-1.23.0.ebuild 1676 BLAKE2B 7c400568934443ab15f422950828d01cc0f7530a9b010f089e59ef3ac77d31f3541cd8cfe0d0f426dc27289fc90512f0ccaeb82f171c45104d8c21c815f8856c SHA512 9eae9e9da8564e15a3303eced89699701dcc1347e0177f3e2fdd95aca76d27ea969f0308ae3b59e2d79925dd1a03de086f5582f3cd4368510d26f87fa507988a
EBUILD wayland-9999.ebuild 1676 BLAKE2B 7c400568934443ab15f422950828d01cc0f7530a9b010f089e59ef3ac77d31f3541cd8cfe0d0f426dc27289fc90512f0ccaeb82f171c45104d8c21c815f8856c SHA512 9eae9e9da8564e15a3303eced89699701dcc1347e0177f3e2fdd95aca76d27ea969f0308ae3b59e2d79925dd1a03de086f5582f3cd4368510d26f87fa507988a
MISC metadata.xml 337 BLAKE2B af249efc25c3eadde73d0b49cba0e6c8a021fb4b7c9a0b96f27a4e71185c76f8ac7ff0b9efdfeadf2df324cfa578db3a73fc7bee8c249cba35d41e2145017e16 SHA512 771b226f8e16d8c570bc2ea89ee3c5176e1d0f2209afb3b2af5a9d19fbdc2037a411b84d546bea054449c8074fb0fb3c3726fb2692d084521c64cda60600c0b8
diff --git a/dev-libs/wayland/files/wayland-1.23.0-c23-clang-fix.patch b/dev-libs/wayland/files/wayland-1.23.0-c23-clang-fix.patch
new file mode 100644
index 000000000000..8dc80d3c8fe8
--- /dev/null
+++ b/dev-libs/wayland/files/wayland-1.23.0-c23-clang-fix.patch
@@ -0,0 +1,146 @@
+https://bugs.gentoo.org/936061
+https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3859
+https://gitlab.freedesktop.org/wayland/wayland/-/merge_requests/401
+
+From 7be937e795ff88128d64b88f9482f05aa0d91319 Mon Sep 17 00:00:00 2001
+From: Kirill Primak <vyivel@eclair.cafe>
+Date: Sat, 29 Jun 2024 15:05:00 +0300
+Subject: [PATCH] Put WL_DEPRECATED in front of the function declarations
+
+This fixes the following clang error when using C23:
+
+../src/wayland-server-core.h:680:41: error: 'deprecated' attribute cannot be applied to types
+ 680 | int32_t stride, uint32_t format) WL_DEPRECATED;
+ | ^
+../src/wayland-util.h:52:25: note: expanded from macro 'WL_DEPRECATED'
+ 52 | #define WL_DEPRECATED [[deprecated]]
+ | ^
+
+Signed-off-by: Kirill Primak <vyivel@eclair.cafe>
+--- a/src/wayland-server-core.h
++++ b/src/wayland-server-core.h
+@@ -674,10 +674,11 @@ wl_display_init_shm(struct wl_display *display);
+ uint32_t *
+ wl_display_add_shm_format(struct wl_display *display, uint32_t format);
+
++WL_DEPRECATED
+ struct wl_shm_buffer *
+ wl_shm_buffer_create(struct wl_client *client,
+ uint32_t id, int32_t width, int32_t height,
+- int32_t stride, uint32_t format) WL_DEPRECATED;
++ int32_t stride, uint32_t format);
+
+ void
+ wl_log_set_handler_server(wl_log_func_t handler);
+--- a/src/wayland-server.c
++++ b/src/wayland-server.c
+@@ -2483,9 +2483,10 @@ wl_priv_signal_final_emit(struct wl_priv_signal *signal, void *data)
+
+ /** \cond */ /* Deprecated functions below. */
+
++WL_DEPRECATED
+ uint32_t
+ wl_client_add_resource(struct wl_client *client,
+- struct wl_resource *resource) WL_DEPRECATED;
++ struct wl_resource *resource);
+
+ WL_EXPORT uint32_t
+ wl_client_add_resource(struct wl_client *client,
+@@ -2514,11 +2515,12 @@ wl_client_add_resource(struct wl_client *client,
+ return resource->object.id;
+ }
+
++WL_DEPRECATED
+ struct wl_resource *
+ wl_client_add_object(struct wl_client *client,
+ const struct wl_interface *interface,
+ const void *implementation,
+- uint32_t id, void *data) WL_DEPRECATED;
++ uint32_t id, void *data);
+
+ WL_EXPORT struct wl_resource *
+ wl_client_add_object(struct wl_client *client,
+@@ -2537,10 +2539,11 @@ wl_client_add_object(struct wl_client *client,
+ return resource;
+ }
+
++WL_DEPRECATED
+ struct wl_resource *
+ wl_client_new_object(struct wl_client *client,
+ const struct wl_interface *interface,
+- const void *implementation, void *data) WL_DEPRECATED;
++ const void *implementation, void *data);
+
+ WL_EXPORT struct wl_resource *
+ wl_client_new_object(struct wl_client *client,
+@@ -2599,10 +2602,11 @@ wl_client_get_user_data(struct wl_client *client)
+ return client->data;
+ }
+
++WL_DEPRECATED
+ struct wl_global *
+ wl_display_add_global(struct wl_display *display,
+ const struct wl_interface *interface,
+- void *data, wl_global_bind_func_t bind) WL_DEPRECATED;
++ void *data, wl_global_bind_func_t bind);
+
+ WL_EXPORT struct wl_global *
+ wl_display_add_global(struct wl_display *display,
+@@ -2612,9 +2616,10 @@ wl_display_add_global(struct wl_display *display,
+ return wl_global_create(display, interface, interface->version, data, bind);
+ }
+
++WL_DEPRECATED
+ void
+ wl_display_remove_global(struct wl_display *display,
+- struct wl_global *global) WL_DEPRECATED;
++ struct wl_global *global);
+
+ WL_EXPORT void
+ wl_display_remove_global(struct wl_display *display, struct wl_global *global)
+--- a/src/wayland-server.h
++++ b/src/wayland-server.h
+@@ -70,30 +70,35 @@ struct wl_resource {
+ void *data;
+ };
+
++WL_DEPRECATED
+ uint32_t
+ wl_client_add_resource(struct wl_client *client,
+- struct wl_resource *resource) WL_DEPRECATED;
++ struct wl_resource *resource);
+
++WL_DEPRECATED
+ struct wl_resource *
+ wl_client_add_object(struct wl_client *client,
+ const struct wl_interface *interface,
+ const void *implementation,
+- uint32_t id, void *data) WL_DEPRECATED;
++ uint32_t id, void *data);
+
++WL_DEPRECATED
+ struct wl_resource *
+ wl_client_new_object(struct wl_client *client,
+ const struct wl_interface *interface,
+- const void *implementation, void *data) WL_DEPRECATED;
++ const void *implementation, void *data);
+
++WL_DEPRECATED
+ struct wl_global *
+ wl_display_add_global(struct wl_display *display,
+ const struct wl_interface *interface,
+ void *data,
+- wl_global_bind_func_t bind) WL_DEPRECATED;
++ wl_global_bind_func_t bind);
+
++WL_DEPRECATED
+ void
+ wl_display_remove_global(struct wl_display *display,
+- struct wl_global *global) WL_DEPRECATED;
++ struct wl_global *global);
+
+ #endif
+
+--
+GitLab
+
diff --git a/dev-libs/wayland/wayland-1.23.0-r1.ebuild b/dev-libs/wayland/wayland-1.23.0-r1.ebuild
new file mode 100644
index 000000000000..ec497be319af
--- /dev/null
+++ b/dev-libs/wayland/wayland-1.23.0-r1.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+if [[ ${PV} = *9999* ]]; then
+ EGIT_REPO_URI="https://gitlab.freedesktop.org/wayland/wayland.git"
+ inherit git-r3
+else
+ SRC_URI="https://gitlab.freedesktop.org/wayland/${PN}/-/releases/${PV}/downloads/${P}.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+fi
+inherit meson-multilib
+
+DESCRIPTION="Wayland protocol libraries"
+HOMEPAGE="https://wayland.freedesktop.org/ https://gitlab.freedesktop.org/wayland/wayland"
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="doc test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ ~dev-util/wayland-scanner-${PV}
+ virtual/pkgconfig
+ doc? (
+ >=app-text/doxygen-1.6[dot]
+ app-text/xmlto
+ >=media-gfx/graphviz-2.26.0
+ )
+"
+DEPEND="
+ >=dev-libs/libffi-3.0.13-r1:=[${MULTILIB_USEDEP}]
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/wayland-1.23.0-c23-clang-fix.patch
+)
+
+multilib_src_configure() {
+ local emesonargs=(
+ $(meson_native_use_bool doc documentation)
+ $(meson_native_true dtd_validation)
+ -Dlibraries=true
+ -Dscanner=false
+ $(meson_use test tests)
+ )
+ meson_src_configure
+}
+
+src_test() {
+ # We set it on purpose to only a short subdir name, as socket paths are
+ # created in there, which are 108 byte limited. With this it hopefully
+ # barely fits to the limit with /var/tmp/portage/${CATEGORY}/${PF}/temp/x
+ export XDG_RUNTIME_DIR="${T}"/x
+ mkdir "${XDG_RUNTIME_DIR}" || die
+ chmod 0700 "${XDG_RUNTIME_DIR}" || die
+
+ multilib-minimal_src_test
+}
+
+src_install() {
+ meson-multilib_src_install
+
+ if use doc; then
+ mv "${ED}"/usr/share/doc/"${PN}"/* "${ED}"/usr/share/doc/"${PF}"/ || die
+ rmdir "${ED}"/usr/share/doc/"${PN}" || die
+ fi
+}