summaryrefslogtreecommitdiff
path: root/net-misc/spice-gtk/files/spice-gtk-0.42-lld17-fix.patch
blob: b6197fb15ba33c644faae6adf164710e1d3934f4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
https://gitlab.freedesktop.org/spice/spice-gtk/-/merge_requests/121
https://bugs.gentoo.org/915210

From 7e87382b585a799ced543b0c3fd127b2a813285f Mon Sep 17 00:00:00 2001
From: Frediano Ziglio <freddy77@gmail.com>
Date: Fri, 23 Jun 2023 21:17:26 +0100
Subject: [PATCH] Split symbol file in 2 files

One file for spice-glib and another for spice-gtk.
This avoid having duplicate exports in the future.
spice_g_signal_connect_object, spice_util_get_debug,
spice_util_get_version_string, spice_util_set_debug and
spice_uuid_to_string are exported by both libraries to keep ABI
compatibility.

Signed-off-by: Frediano Ziglio <freddy77@gmail.com>
---
 src/{map-file => map-file-glib} | 22 ---------------------
 src/map-file-gtk                | 35 +++++++++++++++++++++++++++++++++
 src/meson.build                 | 17 ++++++++++------
 3 files changed, 46 insertions(+), 28 deletions(-)
 rename src/{map-file => map-file-glib} (89%)
 create mode 100644 src/map-file-gtk

diff --git a/src/map-file b/src/map-file-glib
similarity index 89%
rename from src/map-file
rename to src/map-file-glib
index c0d8ca6e..ef0a31f3 100644
--- a/src/map-file
+++ b/src/map-file-glib
@@ -31,18 +31,8 @@ spice_display_channel_get_primary;
 spice_display_channel_get_type;
 spice_display_channel_gl_draw_done;
 spice_display_get_gl_scanout;
-spice_display_get_grab_keys;
-spice_display_get_pixbuf;
 spice_display_get_primary;
-spice_display_get_type;
 spice_display_gl_draw_done;
-spice_display_key_event_get_type;
-spice_display_keyboard_ungrab;
-spice_display_mouse_ungrab;
-spice_display_new;
-spice_display_new_with_monitor;
-spice_display_send_keys;
-spice_display_set_grab_keys;
 spice_file_transfer_task_cancel;
 spice_file_transfer_task_get_filename;
 spice_file_transfer_task_get_progress;
@@ -52,17 +42,7 @@ spice_file_transfer_task_get_type;
 spice_get_option_group;
 spice_gl_scanout_free;
 spice_gl_scanout_get_type;
-spice_grab_sequence_as_string;
-spice_grab_sequence_copy;
-spice_grab_sequence_free;
-spice_grab_sequence_get_type;
-spice_grab_sequence_new;
-spice_grab_sequence_new_from_string;
 spice_g_signal_connect_object;
-spice_gtk_session_copy_to_guest;
-spice_gtk_session_get;
-spice_gtk_session_get_type;
-spice_gtk_session_paste_from_guest;
 spice_inputs_button_press;
 spice_inputs_button_release;
 spice_inputs_channel_button_press;
@@ -185,8 +165,6 @@ spice_usb_device_manager_is_redirecting;
 spice_usb_device_manager_allocate_device_for_file_descriptor;
 spice_usb_device_manager_create_shared_cd_device;
 spice_usb_device_manager_is_device_shared_cd;
-spice_usb_device_widget_get_type;
-spice_usb_device_widget_new;
 spice_usbredir_channel_get_type;
 spice_util_get_debug;
 spice_util_get_version_string;
diff --git a/src/map-file-gtk b/src/map-file-gtk
new file mode 100644
index 00000000..ca5dd446
--- /dev/null
+++ b/src/map-file-gtk
@@ -0,0 +1,35 @@
+SPICEGTK_1 {
+global:
+spice_display_get_grab_keys;
+spice_display_get_pixbuf;
+spice_display_get_type;
+spice_display_key_event_get_type;
+spice_display_keyboard_ungrab;
+spice_display_mouse_ungrab;
+spice_display_new;
+spice_display_new_with_monitor;
+spice_display_send_keys;
+spice_display_set_grab_keys;
+spice_grab_sequence_as_string;
+spice_grab_sequence_copy;
+spice_grab_sequence_free;
+spice_grab_sequence_get_type;
+spice_grab_sequence_new;
+spice_grab_sequence_new_from_string;
+spice_gtk_session_copy_to_guest;
+spice_gtk_session_get;
+spice_gtk_session_get_type;
+spice_gtk_session_paste_from_guest;
+spice_usb_device_widget_get_type;
+spice_usb_device_widget_new;
+
+/* FIXME: remove the following 5 duplicated symbols in next ABI break */
+spice_g_signal_connect_object;
+spice_util_get_debug;
+spice_util_get_version_string;
+spice_util_set_debug;
+spice_uuid_to_string;
+
+local:
+*;
+};
diff --git a/src/meson.build b/src/meson.build
index 852217ac..68fe7ab2 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -185,14 +185,20 @@ test_syms_path = meson.current_source_dir() / 'test-map-file'
 test_version_script = '-Wl,--version-script=@0@'.format(test_syms_path)
 spice_has_version_script = compiler.has_link_argument(test_version_script)
 
-spice_client_glib_syms = files('map-file')
-spice_client_glib_syms_path = meson.current_source_dir() / 'map-file'
-spice_gtk_version_script = '-Wl,--version-script=@0@'.format(spice_client_glib_syms_path)
-if not spice_has_version_script
+if spice_has_version_script
+  spice_client_glib_syms = files('map-file-glib')
+  spice_client_gtk_syms = files('map-file-gtk')
+  spice_client_glib_syms_path = meson.current_source_dir() / 'map-file-glib'
+  spice_client_gtk_syms_path = meson.current_source_dir() / 'map-file-gtk'
+  spice_glib_version_script = '-Wl,--version-script=@0@'.format(spice_client_glib_syms_path)
+  spice_gtk_version_script = '-Wl,--version-script=@0@'.format(spice_client_gtk_syms_path)
+else
   if host_machine.system() == 'linux'
     error('Version scripts should be supported on Linux')
   endif
   spice_client_glib_syms = []
+  spice_client_gtk_syms = []
+  spice_glib_version_script = []
   spice_gtk_version_script = []
 endif
 
@@ -210,7 +216,7 @@ spice_client_glib_lib = library('spice-client-glib-2.0', spice_client_glib_sourc
                                 version : spice_client_glib_so_version,
                                 install : true,
                                 include_directories : spice_gtk_include,
-                                link_args : [spice_gtk_version_script],
+                                link_args : [spice_glib_version_script],
                                 link_depends : spice_client_glib_syms,
                                 dependencies : spice_glib_deps)
 
@@ -377,7 +383,6 @@ if spice_gtk_has_gtk
   #
   # libspice-client-gtk.so
   #
-  spice_client_gtk_syms = spice_client_glib_syms
 
   # soversion
   # http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
-- 
GitLab