diff options
author | V3n3RiX <venerix@koprulu.sector> | 2024-08-23 14:56:14 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2024-08-23 14:56:14 +0100 |
commit | b818f6a820dceae80d6e3faac5fdf7be0c6fcbe2 (patch) | |
tree | ecc35732c51ff9d610d4a9e0cc77e940ef5ac9da /dev-libs/wayland | |
parent | 2bae4d8bcdc3862f8d7cf1963acc0a9036762d2d (diff) |
gentoo auto-resync : 23:08:2024 - 14:56:14
Diffstat (limited to 'dev-libs/wayland')
-rw-r--r-- | dev-libs/wayland/Manifest | 2 | ||||
-rw-r--r-- | dev-libs/wayland/files/wayland-1.23.0-c23-clang-fix.patch | 146 | ||||
-rw-r--r-- | dev-libs/wayland/wayland-1.23.0-r1.ebuild | 70 |
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 +} |