Merge pull request #148588 from primeos/wayland
wayland: 1.19.0 -> 1.20.0
This commit is contained in:
commit
8fc77f9168
5 changed files with 65 additions and 8 deletions
|
@ -130,6 +130,8 @@ buildStdenv.mkDerivation ({
|
|||
inherit src unpackPhase meta;
|
||||
|
||||
patches = [
|
||||
# Upstream bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1745560:
|
||||
./fix-build-with-wayland-1.20.patch
|
||||
] ++
|
||||
lib.optional (lib.versionAtLeast version "86") ./env_var_for_system_dir-ff86.patch ++
|
||||
lib.optional (lib.versionAtLeast version "90" && lib.versionOlder version "95") ./no-buildconfig-ffx90.patch ++
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
diff --git a/widget/gtk/mozwayland/mozwayland.c b/widget/gtk/mozwayland/mozwayland.c
|
||||
index 7a448e6..7792581 100644
|
||||
--- a/widget/gtk/mozwayland/mozwayland.c
|
||||
+++ b/widget/gtk/mozwayland/mozwayland.c
|
||||
@@ -200,3 +200,8 @@ MOZ_EXPORT int wl_list_empty(const struct wl_list* list) { return -1; }
|
||||
|
||||
MOZ_EXPORT void wl_list_insert_list(struct wl_list* list,
|
||||
struct wl_list* other) {}
|
||||
+
|
||||
+MOZ_EXPORT struct wl_proxy *
|
||||
+wl_proxy_marshal_flags(struct wl_proxy *proxy, uint32_t opcode,
|
||||
+ const struct wl_interface *interface, uint32_t version,
|
||||
+ uint32_t flags, ...) { return NULL; }
|
|
@ -0,0 +1,43 @@
|
|||
From a31d1f1683ef2e9c063c3fa1db79d111cca99414 Mon Sep 17 00:00:00 2001
|
||||
From: David Redondo <kde@david-redondo.de>
|
||||
Date: Fri, 10 Dec 2021 16:22:34 +0100
|
||||
Subject: [PATCH] Fix build against wayland 1.20
|
||||
|
||||
Fixes #5088
|
||||
|
||||
(cherry picked from commit e2ade2bfc46d915cd306c63c830b81d800b2575f)
|
||||
---
|
||||
src/video/wayland/SDL_waylanddyn.h | 2 ++
|
||||
src/video/wayland/SDL_waylandsym.h | 4 ++++
|
||||
2 files changed, 6 insertions(+)
|
||||
|
||||
diff --git a/src/video/wayland/SDL_waylanddyn.h b/src/video/wayland/SDL_waylanddyn.h
|
||||
index 485a9c19f..37070e946 100644
|
||||
--- a/src/video/wayland/SDL_waylanddyn.h
|
||||
+++ b/src/video/wayland/SDL_waylanddyn.h
|
||||
@@ -81,6 +81,8 @@ void SDL_WAYLAND_UnloadSymbols(void);
|
||||
#define wl_proxy_add_listener (*WAYLAND_wl_proxy_add_listener)
|
||||
#define wl_proxy_marshal_constructor (*WAYLAND_wl_proxy_marshal_constructor)
|
||||
#define wl_proxy_marshal_constructor_versioned (*WAYLAND_wl_proxy_marshal_constructor_versioned)
|
||||
+#define wl_proxy_marshal_flags (*WAYLAND_wl_proxy_marshal_flags)
|
||||
+#define wl_proxy_marshal_array_flags (*WAYLAND_wl_proxy_marshal_array_flags)
|
||||
|
||||
#define wl_seat_interface (*WAYLAND_wl_seat_interface)
|
||||
#define wl_surface_interface (*WAYLAND_wl_surface_interface)
|
||||
diff --git a/src/video/wayland/SDL_waylandsym.h b/src/video/wayland/SDL_waylandsym.h
|
||||
index c4c189d3c..789f49e27 100644
|
||||
--- a/src/video/wayland/SDL_waylandsym.h
|
||||
+++ b/src/video/wayland/SDL_waylandsym.h
|
||||
@@ -71,6 +71,10 @@ SDL_WAYLAND_SYM(struct wl_proxy *, wl_proxy_marshal_constructor, (struct wl_prox
|
||||
SDL_WAYLAND_MODULE(WAYLAND_CLIENT_1_10)
|
||||
SDL_WAYLAND_SYM(struct wl_proxy *, wl_proxy_marshal_constructor_versioned, (struct wl_proxy *proxy, uint32_t opcode, const struct wl_interface *interface, uint32_t version, ...))
|
||||
|
||||
+SDL_WAYLAND_MODULE(WAYLAND_CLIENT_1_20)
|
||||
+SDL_WAYLAND_SYM(struct wl_proxy*, wl_proxy_marshal_flags, (struct wl_proxy *proxy, uint32_t opcode, const struct wl_interface *interfac, uint32_t version, uint32_t flags, ...))
|
||||
+SDL_WAYLAND_SYM(struct wl_proxy*, wl_proxy_marshal_array_flags, (struct wl_proxy *proxy, uint32_t opcode, const struct wl_interface *interface, uint32_t version, uint32_t flags, union wl_argument *args))
|
||||
+
|
||||
SDL_WAYLAND_INTERFACE(wl_seat_interface)
|
||||
SDL_WAYLAND_INTERFACE(wl_surface_interface)
|
||||
SDL_WAYLAND_INTERFACE(wl_shm_pool_interface)
|
||||
--
|
||||
2.33.1
|
|
@ -35,7 +35,11 @@ stdenv.mkDerivation rec {
|
|||
outputs = [ "out" "dev" ];
|
||||
outputBin = "dev"; # sdl-config
|
||||
|
||||
patches = [ ./find-headers.patch ];
|
||||
patches = [
|
||||
./find-headers.patch
|
||||
# To fix the build with wayland 1.20.0:
|
||||
./Fix-build-against-wayland-1.20.patch
|
||||
];
|
||||
|
||||
# Fix with mesa 19.2: https://bugzilla.libsdl.org/show_bug.cgi?id=4797
|
||||
postPatch = ''
|
||||
|
|
|
@ -30,19 +30,14 @@ let
|
|||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "wayland";
|
||||
version = "1.19.0";
|
||||
version = "1.20.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://wayland.freedesktop.org/releases/${pname}-${version}.tar.xz";
|
||||
sha256 = "05bd2vphyx8qwa1mhsj1zdaiv4m4v94wrlssrn0lad8d601dkk5s";
|
||||
sha256 = "09c7rpbwavjg4y16mrfa57gk5ix6rnzpvlnv1wp7fnbh9hak985q";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Picked from upstream 'main' branch for Darwin support.
|
||||
(fetchpatch {
|
||||
url = "https://gitlab.freedesktop.org/wayland/wayland/-/commit/f452e41264387dee4fd737cbf1af58b34b53941b.patch";
|
||||
sha256 = "00mk32a01vgn31sm3wk4p8mfwvqv3xv02rxvdj1ygnzgb1ac62r7";
|
||||
})
|
||||
(substituteAll {
|
||||
src = ./0001-add-placeholder-for-nm.patch;
|
||||
nm = "${stdenv.cc.targetPrefix}nm";
|
||||
|
|
Loading…
Reference in a new issue