
8 changed files with 343 additions and 824 deletions
-
54UTM.xcodeproj/project.pbxproj
-
114patches/libsoup-2.74.2.patch
-
255patches/libsoup-3.6.0.patch
-
135patches/phodav-2.5.patch
-
27patches/phodav-3.0.patch
-
12patches/sources
-
562patches/spice-gtk-0.42.patch
-
8scripts/build_dependencies.sh
@ -1,114 +0,0 @@ |
|||||
From 119abc03aac8c5cf1af0845a0e64b3027ce1fa78 Mon Sep 17 00:00:00 2001 |
|
||||
From: osy <50960678+osy@users.noreply.github.com> |
|
||||
Date: Sat, 5 Mar 2022 17:02:38 -0800 |
|
||||
Subject: [PATCH] soup-tld: disabled when libpsl is optional |
|
||||
|
|
||||
When building without libpsl, we no longer have soup-tld.c. As a result, |
|
||||
we do not provide those APIs in the built library and additionally the |
|
||||
following change is made to soup_cookie_jar_add_cookie_full() |
|
||||
|
|
||||
1. We no longer reject cookies for public domains |
|
||||
2. If the accept policy is not SOUP_COOKIE_JAR_ACCEPT_ALWAYS we assume |
|
||||
all incoming cookie is third party and reject it. |
|
||||
---
|
|
||||
libsoup/meson.build | 4 +++- |
|
||||
libsoup/soup-cookie-jar.c | 6 ++++++ |
|
||||
meson.build | 5 ++++- |
|
||||
tests/meson.build | 7 ++++++- |
|
||||
4 files changed, 19 insertions(+), 3 deletions(-) |
|
||||
|
|
||||
diff --git a/libsoup/meson.build b/libsoup/meson.build
|
|
||||
index e585b3fe..ec0aca23 100644
|
|
||||
--- a/libsoup/meson.build
|
|
||||
+++ b/libsoup/meson.build
|
|
||||
@@ -76,7 +76,6 @@ soup_sources = [
|
|
||||
'soup-socket.c', |
|
||||
'soup-socket-properties.c', |
|
||||
'soup-status.c', |
|
||||
- 'soup-tld.c',
|
|
||||
'soup-uri.c', |
|
||||
'soup-value-utils.c', |
|
||||
'soup-version.c', |
|
||||
@@ -208,6 +207,9 @@ if brotlidec_dep.found()
|
|
||||
soup_headers += 'soup-brotli-decompressor.h' |
|
||||
endif |
|
||||
|
|
||||
+if libpsl_dep.found()
|
|
||||
+ soup_sources += 'soup-tld.c'
|
|
||||
+endif
|
|
||||
|
|
||||
includedir = join_paths(libsoup_api_name, meson.project_name()) |
|
||||
install_headers(soup_installed_headers, subdir : includedir) |
|
||||
diff --git a/libsoup/soup-cookie-jar.c b/libsoup/soup-cookie-jar.c
|
|
||||
index c8231f0e..5e35e135 100644
|
|
||||
--- a/libsoup/soup-cookie-jar.c
|
|
||||
+++ b/libsoup/soup-cookie-jar.c
|
|
||||
@@ -595,18 +595,24 @@ soup_cookie_jar_add_cookie_full (SoupCookieJar *jar, SoupCookie *cookie, SoupURI
|
|
||||
g_return_if_fail (SOUP_IS_COOKIE_JAR (jar)); |
|
||||
g_return_if_fail (cookie != NULL); |
|
||||
|
|
||||
+#ifdef HAVE_TLD
|
|
||||
/* Never accept cookies for public domains. */ |
|
||||
if (!g_hostname_is_ip_address (cookie->domain) && |
|
||||
soup_tld_domain_is_public_suffix (cookie->domain)) { |
|
||||
soup_cookie_free (cookie); |
|
||||
return; |
|
||||
} |
|
||||
+#endif
|
|
||||
|
|
||||
priv = soup_cookie_jar_get_instance_private (jar); |
|
||||
|
|
||||
if (first_party != NULL) { |
|
||||
+#ifdef HAVE_TLD
|
|
||||
if (priv->accept_policy == SOUP_COOKIE_JAR_ACCEPT_NEVER || |
|
||||
incoming_cookie_is_third_party (jar, cookie, first_party, priv->accept_policy)) { |
|
||||
+#else // no TLD, assume every cookie is third-party
|
|
||||
+ if (priv->accept_policy != SOUP_COOKIE_JAR_ACCEPT_ALWAYS) {
|
|
||||
+#endif
|
|
||||
soup_cookie_free (cookie); |
|
||||
return; |
|
||||
} |
|
||||
diff --git a/meson.build b/meson.build
|
|
||||
index 3cc56fb9..5865dfc7 100644
|
|
||||
--- a/meson.build
|
|
||||
+++ b/meson.build
|
|
||||
@@ -148,7 +148,10 @@ endif
|
|
||||
|
|
||||
libpsl_required_version = '>= 0.20' |
|
||||
libpsl_dep = dependency('libpsl', version : libpsl_required_version, |
|
||||
- fallback : ['libpsl', 'libpsl_dep'])
|
|
||||
+ fallback : ['libpsl', 'libpsl_dep'], required : false)
|
|
||||
+if libpsl_dep.found()
|
|
||||
+ cdata.set('HAVE_TLD', '1')
|
|
||||
+endif
|
|
||||
|
|
||||
if cc.has_function('gmtime_r', prefix : '#include <time.h>', args : default_source_flag) |
|
||||
cdata.set('HAVE_GMTIME_R', '1') |
|
||||
diff --git a/tests/meson.build b/tests/meson.build
|
|
||||
index 5482aa86..d5b32a12 100644
|
|
||||
--- a/tests/meson.build
|
|
||||
+++ b/tests/meson.build
|
|
||||
@@ -62,7 +62,6 @@ tests = [
|
|
||||
['ssl', true, []], |
|
||||
['streaming', true, []], |
|
||||
['timeout', true, []], |
|
||||
- ['tld', true, []],
|
|
||||
['uri-parsing', true, []], |
|
||||
['websocket', true, [libz_dep]] |
|
||||
] |
|
||||
@@ -82,6 +81,12 @@ if brotlidec_dep.found()
|
|
||||
endif |
|
||||
endif |
|
||||
|
|
||||
+if libpsl_dep.found()
|
|
||||
+ tests += [
|
|
||||
+ ['tld', true, []],
|
|
||||
+ ]
|
|
||||
+endif
|
|
||||
+
|
|
||||
if have_apache |
|
||||
tests += [ |
|
||||
['auth', false, []], |
|
||||
--
|
|
||||
2.32.0 (Apple Git-132) |
|
||||
|
|
@ -0,0 +1,255 @@ |
|||||
|
From 95102597efaddede487bd03c191fa0a08b70e3b6 Mon Sep 17 00:00:00 2001 |
||||
|
From: osy <osy@turing.llc> |
||||
|
Date: Mon, 11 Nov 2024 14:47:39 -0800 |
||||
|
Subject: [PATCH 1/2] soup-tld: disabled when libpsl is optional |
||||
|
|
||||
|
When building without libpsl, we no longer have soup-tld.c. As a result, |
||||
|
we do not provide those APIs in the built library and additionally the |
||||
|
following change is made to soup_cookie_jar_add_cookie_full() |
||||
|
|
||||
|
1. We no longer reject cookies for public domains |
||||
|
2. If the accept policy is not SOUP_COOKIE_JAR_ACCEPT_ALWAYS we assume |
||||
|
all incoming cookie is third party and reject it. |
||||
|
---
|
||||
|
libsoup/cookies/soup-cookie-jar.c | 15 +++++++++++++++ |
||||
|
libsoup/meson.build | 5 ++++- |
||||
|
meson.build | 5 ++++- |
||||
|
tests/meson.build | 5 ++++- |
||||
|
4 files changed, 27 insertions(+), 3 deletions(-) |
||||
|
|
||||
|
diff --git a/libsoup/cookies/soup-cookie-jar.c b/libsoup/cookies/soup-cookie-jar.c
|
||||
|
index bdb6697a..753c36b5 100644
|
||||
|
--- a/libsoup/cookies/soup-cookie-jar.c
|
||||
|
+++ b/libsoup/cookies/soup-cookie-jar.c
|
||||
|
@@ -511,6 +511,7 @@ normalize_cookie_domain (const char *domain)
|
||||
|
return domain; |
||||
|
} |
||||
|
|
||||
|
+#ifdef HAVE_TLD
|
||||
|
static gboolean |
||||
|
incoming_cookie_is_third_party (SoupCookieJar *jar, |
||||
|
SoupCookie *cookie, |
||||
|
@@ -563,6 +564,16 @@ incoming_cookie_is_third_party (SoupCookieJar *jar,
|
||||
|
|
||||
|
return retval; |
||||
|
} |
||||
|
+#else
|
||||
|
+static gboolean
|
||||
|
+incoming_cookie_is_third_party (SoupCookieJar *jar,
|
||||
|
+ SoupCookie *cookie,
|
||||
|
+ GUri *first_party,
|
||||
|
+ SoupCookieJarAcceptPolicy policy)
|
||||
|
+{
|
||||
|
+ return TRUE;
|
||||
|
+}
|
||||
|
+#endif
|
||||
|
|
||||
|
static gboolean |
||||
|
string_contains_ctrlcode (const char *s) |
||||
|
@@ -612,7 +623,11 @@ soup_cookie_jar_add_cookie_full (SoupCookieJar *jar, SoupCookie *cookie, GUri *u
|
||||
|
|
||||
|
/* Never accept cookies for public domains. */ |
||||
|
if (!g_hostname_is_ip_address (soup_cookie_get_domain (cookie)) && |
||||
|
+#ifdef HAVE_TLD
|
||||
|
soup_tld_domain_is_public_suffix (soup_cookie_get_domain (cookie))) { |
||||
|
+#else
|
||||
|
+ priv->accept_policy != SOUP_COOKIE_JAR_ACCEPT_ALWAYS){
|
||||
|
+#endif
|
||||
|
soup_cookie_free (cookie); |
||||
|
return; |
||||
|
} |
||||
|
diff --git a/libsoup/meson.build b/libsoup/meson.build
|
||||
|
index d920b522..b889931d 100644
|
||||
|
--- a/libsoup/meson.build
|
||||
|
+++ b/libsoup/meson.build
|
||||
|
@@ -87,11 +87,14 @@ soup_sources = [
|
||||
|
'soup-session-feature.c', |
||||
|
'soup-socket-properties.c', |
||||
|
'soup-status.c', |
||||
|
- 'soup-tld.c',
|
||||
|
'soup-uri-utils.c', |
||||
|
'soup-version.c', |
||||
|
] |
||||
|
|
||||
|
+if libpsl_dep.found()
|
||||
|
+ soup_sources += 'soup-tld.c'
|
||||
|
+endif
|
||||
|
+
|
||||
|
soup_private_enum_headers = [ |
||||
|
'soup-connection.h', |
||||
|
] |
||||
|
diff --git a/meson.build b/meson.build
|
||||
|
index f7c63389..50ca7b91 100644
|
||||
|
--- a/meson.build
|
||||
|
+++ b/meson.build
|
||||
|
@@ -155,7 +155,10 @@ endif
|
||||
|
|
||||
|
libpsl_required_version = '>= 0.20' |
||||
|
libpsl_dep = dependency('libpsl', version : libpsl_required_version, |
||||
|
- fallback : ['libpsl', 'libpsl_dep'])
|
||||
|
+ fallback : ['libpsl', 'libpsl_dep'], required : false)
|
||||
|
+if libnghttp2_dep.found()
|
||||
|
+ cdata.set('HAVE_TLD', true)
|
||||
|
+endif
|
||||
|
|
||||
|
if cc.has_function('gmtime_r', prefix : '#include <time.h>', args : default_source_flag) |
||||
|
cdata.set('HAVE_GMTIME_R', '1') |
||||
|
diff --git a/tests/meson.build b/tests/meson.build
|
||||
|
index 01a0c63f..cf24ef97 100644
|
||||
|
--- a/tests/meson.build
|
||||
|
+++ b/tests/meson.build
|
||||
|
@@ -102,12 +102,15 @@ tests = [
|
||||
|
}, |
||||
|
{'name': 'streaming'}, |
||||
|
{'name': 'timeout'}, |
||||
|
- {'name': 'tld'},
|
||||
|
{'name': 'uri-parsing'}, |
||||
|
{'name': 'websocket', |
||||
|
'dependencies': [libz_dep]}, |
||||
|
] |
||||
|
|
||||
|
+if libpsl_dep.found()
|
||||
|
+ tests += [{'name': 'tld'}]
|
||||
|
+endif
|
||||
|
+
|
||||
|
if brotlidec_dep.found() |
||||
|
tests += [{'name': 'brotli-decompressor'}] |
||||
|
|
||||
|
--
|
||||
|
2.41.0 |
||||
|
|
||||
|
From e4ce620a7db4d2f1a581a8095fea32a182b353aa Mon Sep 17 00:00:00 2001 |
||||
|
From: osy <osy@turing.llc> |
||||
|
Date: Mon, 11 Nov 2024 14:48:15 -0800 |
||||
|
Subject: [PATCH 2/2] build: make HTTP2 optional |
||||
|
|
||||
|
---
|
||||
|
libsoup/meson.build | 13 ++++++++----- |
||||
|
libsoup/server/soup-server-connection.c | 4 ++++ |
||||
|
libsoup/soup-connection.c | 4 ++++ |
||||
|
meson.build | 9 ++++++--- |
||||
|
tests/meson.build | 7 +++++-- |
||||
|
5 files changed, 27 insertions(+), 10 deletions(-) |
||||
|
|
||||
|
diff --git a/libsoup/meson.build b/libsoup/meson.build
|
||||
|
index b889931d..f2f4a0d7 100644
|
||||
|
--- a/libsoup/meson.build
|
||||
|
+++ b/libsoup/meson.build
|
||||
|
@@ -39,11 +39,7 @@ soup_sources = [
|
||||
|
'http1/soup-message-io-data.c', |
||||
|
'http1/soup-message-io-source.c', |
||||
|
|
||||
|
- 'http2/soup-client-message-io-http2.c',
|
||||
|
- 'http2/soup-body-input-stream-http2.c',
|
||||
|
-
|
||||
|
'server/http1/soup-server-message-io-http1.c', |
||||
|
- 'server/http2/soup-server-message-io-http2.c',
|
||||
|
'server/soup-auth-domain.c', |
||||
|
'server/soup-auth-domain-basic.c', |
||||
|
'server/soup-auth-domain-digest.c', |
||||
|
@@ -70,7 +66,6 @@ soup_sources = [
|
||||
|
'soup-form.c', |
||||
|
'soup-headers.c', |
||||
|
'soup-header-names.c', |
||||
|
- 'soup-http2-utils.c',
|
||||
|
'soup-init.c', |
||||
|
'soup-io-stream.c', |
||||
|
'soup-logger.c', |
||||
|
@@ -95,6 +90,14 @@ if libpsl_dep.found()
|
||||
|
soup_sources += 'soup-tld.c' |
||||
|
endif |
||||
|
|
||||
|
+if libnghttp2_dep.found()
|
||||
|
+ soup_sources += 'http2/soup-client-message-io-http2.c'
|
||||
|
+ soup_sources += 'http2/soup-body-input-stream-http2.c'
|
||||
|
+ soup_sources += 'server/http2/soup-server-message-io-http2.c'
|
||||
|
+ soup_sources += 'soup-http2-utils.c'
|
||||
|
+endif
|
||||
|
+
|
||||
|
+
|
||||
|
soup_private_enum_headers = [ |
||||
|
'soup-connection.h', |
||||
|
] |
||||
|
diff --git a/libsoup/server/soup-server-connection.c b/libsoup/server/soup-server-connection.c
|
||||
|
index cac4eaa7..02fdb497 100644
|
||||
|
--- a/libsoup/server/soup-server-connection.c
|
||||
|
+++ b/libsoup/server/soup-server-connection.c
|
||||
|
@@ -395,10 +395,14 @@ soup_server_connection_connected (SoupServerConnection *conn)
|
||||
|
conn); |
||||
|
break; |
||||
|
case SOUP_HTTP_2_0: |
||||
|
+#ifdef WITH_HTTP2
|
||||
|
priv->io_data = soup_server_message_io_http2_new (conn, |
||||
|
g_steal_pointer (&priv->initial_msg), |
||||
|
(SoupMessageIOStartedFn)request_started_cb, |
||||
|
conn); |
||||
|
+#else
|
||||
|
+ g_assert_not_reached();
|
||||
|
+#endif
|
||||
|
break; |
||||
|
} |
||||
|
g_signal_emit (conn, signals[CONNECTED], 0); |
||||
|
diff --git a/libsoup/soup-connection.c b/libsoup/soup-connection.c
|
||||
|
index 9100f8c9..fc28cd22 100644
|
||||
|
--- a/libsoup/soup-connection.c
|
||||
|
+++ b/libsoup/soup-connection.c
|
||||
|
@@ -504,7 +504,11 @@ soup_connection_create_io_data (SoupConnection *conn)
|
||||
|
priv->io_data = soup_client_message_io_http1_new (conn); |
||||
|
break; |
||||
|
case SOUP_HTTP_2_0: |
||||
|
+#ifdef WITH_HTTP2
|
||||
|
priv->io_data = soup_client_message_io_http2_new (conn); |
||||
|
+#else
|
||||
|
+ g_assert_not_reached();
|
||||
|
+#endif
|
||||
|
break; |
||||
|
} |
||||
|
} |
||||
|
diff --git a/meson.build b/meson.build
|
||||
|
index 50ca7b91..1ec35873 100644
|
||||
|
--- a/meson.build
|
||||
|
+++ b/meson.build
|
||||
|
@@ -112,9 +112,12 @@ glib_deps = [glib_dep, gmodule_dep, gobject_dep, gio_dep]
|
||||
|
|
||||
|
cdata = configuration_data() |
||||
|
|
||||
|
-libnghttp2_dep = dependency('libnghttp2')
|
||||
|
-if (libnghttp2_dep.version() == 'unknown' and (libnghttp2_dep.type_name() == 'internal' or cc.has_function('nghttp2_option_set_no_rfc9113_leading_and_trailing_ws_validation', prefix : '#include <nghttp2/nghttp2.h>', dependencies : libnghttp2_dep))) or libnghttp2_dep.version().version_compare('>=1.50')
|
||||
|
- cdata.set('HAVE_NGHTTP2_OPTION_SET_NO_RFC9113_LEADING_AND_TRAILING_WS_VALIDATION', '1')
|
||||
|
+libnghttp2_dep = dependency('libnghttp2', required : false)
|
||||
|
+if libnghttp2_dep.found()
|
||||
|
+ cdata.set('WITH_HTTP2', true)
|
||||
|
+ if (libnghttp2_dep.version() == 'unknown' and (libnghttp2_dep.type_name() == 'internal' or cc.has_function('nghttp2_option_set_no_rfc9113_leading_and_trailing_ws_validation', prefix : '#include <nghttp2/nghttp2.h>', dependencies : libnghttp2_dep))) or libnghttp2_dep.version().version_compare('>=1.50')
|
||||
|
+ cdata.set('HAVE_NGHTTP2_OPTION_SET_NO_RFC9113_LEADING_AND_TRAILING_WS_VALIDATION', '1')
|
||||
|
+ endif
|
||||
|
endif |
||||
|
|
||||
|
sqlite_dep = dependency('sqlite3', required: false) |
||||
|
diff --git a/tests/meson.build b/tests/meson.build
|
||||
|
index cf24ef97..6bd68868 100644
|
||||
|
--- a/tests/meson.build
|
||||
|
+++ b/tests/meson.build
|
||||
|
@@ -78,8 +78,6 @@ tests = [
|
||||
|
{'name': 'date'}, |
||||
|
{'name': 'forms'}, |
||||
|
{'name': 'header-parsing'}, |
||||
|
- {'name': 'http2'},
|
||||
|
- {'name': 'http2-body-stream'},
|
||||
|
{'name': 'hsts'}, |
||||
|
{'name': 'hsts-db'}, |
||||
|
{'name': 'logger'}, |
||||
|
@@ -111,6 +109,11 @@ if libpsl_dep.found()
|
||||
|
tests += [{'name': 'tld'}] |
||||
|
endif |
||||
|
|
||||
|
+if libnghttp2_dep.found()
|
||||
|
+ tests += [{'name': 'http2'}]
|
||||
|
+ tests += [{'name': 'http2-body-stream'}]
|
||||
|
+endif
|
||||
|
+
|
||||
|
if brotlidec_dep.found() |
||||
|
tests += [{'name': 'brotli-decompressor'}] |
||||
|
|
||||
|
--
|
||||
|
2.41.0 |
||||
|
|
@ -1,135 +0,0 @@ |
|||||
From c0d495a77c7934e982d280a33deaaa9f6595785e Mon Sep 17 00:00:00 2001 |
|
||||
From: osy <50960678+osy@users.noreply.github.com> |
|
||||
Date: Sat, 5 Mar 2022 17:40:07 -0800 |
|
||||
Subject: [PATCH 1/4] method: fix compile on Darwin |
|
||||
|
|
||||
On Darwin systems, removexattr() is defined with 3 arguments. |
|
||||
---
|
|
||||
libphodav/phodav-method-proppatch.c | 4 ++++ |
|
||||
tests/meson.build | 2 +- |
|
||||
2 files changed, 5 insertions(+), 1 deletion(-) |
|
||||
|
|
||||
diff --git a/libphodav/phodav-method-proppatch.c b/libphodav/phodav-method-proppatch.c
|
|
||||
index 4cd8211..3421e32 100644
|
|
||||
--- a/libphodav/phodav-method-proppatch.c
|
|
||||
+++ b/libphodav/phodav-method-proppatch.c
|
|
||||
@@ -59,7 +59,11 @@ set_attr (GFile *file, xmlNodePtr attrnode,
|
|
||||
return SOUP_STATUS_FORBIDDEN; |
|
||||
gchar *path = g_file_get_path (file); |
|
||||
#ifdef HAVE_SYS_XATTR_H |
|
||||
+#ifdef __APPLE__
|
|
||||
+ removexattr (path, attrname, 0);
|
|
||||
+#else
|
|
||||
removexattr (path, attrname); |
|
||||
+#endif
|
|
||||
#else |
|
||||
g_debug ("cannot remove xattr from %s, not supported", path); /* FIXME? */ |
|
||||
#endif |
|
||||
diff --git a/tests/meson.build b/tests/meson.build
|
|
||||
index aeb48e3..43e9a13 100644
|
|
||||
--- a/tests/meson.build
|
|
||||
+++ b/tests/meson.build
|
|
||||
@@ -1,6 +1,6 @@
|
|
||||
tests_sources = [] |
|
||||
|
|
||||
-if host_machine.system() != 'windows'
|
|
||||
+if host_machine.system() not in ['darwin', 'ios', 'windows']
|
|
||||
tests_sources += 'virtual-dir.c' |
|
||||
endif |
|
||||
|
|
||||
--
|
|
||||
2.32.0 (Apple Git-132) |
|
||||
|
|
||||
From 8060e63fb82baba60dee6f3360780c6e83d16472 Mon Sep 17 00:00:00 2001 |
|
||||
From: osy <50960678+osy@users.noreply.github.com> |
|
||||
Date: Sat, 5 Mar 2022 17:41:18 -0800 |
|
||||
Subject: [PATCH 2/4] meson: fix build on unsupported --no-undefined |
|
||||
|
|
||||
Clang on Darwin systems do not support this flag. |
|
||||
---
|
|
||||
libphodav/meson.build | 7 +++++-- |
|
||||
1 file changed, 5 insertions(+), 2 deletions(-) |
|
||||
|
|
||||
diff --git a/libphodav/meson.build b/libphodav/meson.build
|
|
||||
index 5443ce0..4ab6821 100644
|
|
||||
--- a/libphodav/meson.build
|
|
||||
+++ b/libphodav/meson.build
|
|
||||
@@ -30,7 +30,10 @@ if not dependency('glib-2.0', version : '>= 2.51.2', required: false).found()
|
|
||||
endif |
|
||||
|
|
||||
mapfile = 'libphodav.syms' |
|
||||
-vflag = '-Wl,--version-script,@0@/@1@'.format(meson.current_source_dir(), mapfile)
|
|
||||
+vflag = compiler.get_supported_link_arguments(
|
|
||||
+ '-Wl,--no-undefined',
|
|
||||
+ '-Wl,--version-script,@0@/@1@'.format(meson.current_source_dir(), mapfile)
|
|
||||
+)
|
|
||||
|
|
||||
libphodav = library( |
|
||||
'phodav-2.0', |
|
||||
@@ -38,7 +41,7 @@ libphodav = library(
|
|
||||
c_args : [ '-DG_LOG_DOMAIN="phodav"' ], |
|
||||
include_directories : incdir, |
|
||||
version: '0.0.0', |
|
||||
- link_args : [ '-Wl,--no-undefined', vflag ],
|
|
||||
+ link_args : vflag,
|
|
||||
link_depends : mapfile, |
|
||||
dependencies : deps, |
|
||||
install : true, |
|
||||
--
|
|
||||
2.32.0 (Apple Git-132) |
|
||||
|
|
||||
From 450361cefca48f6b8ca191a7024cad29beaa0825 Mon Sep 17 00:00:00 2001 |
|
||||
From: osy <50960678+osy@users.noreply.github.com> |
|
||||
Date: Sat, 5 Mar 2022 17:49:26 -0800 |
|
||||
Subject: [PATCH 3/4] spice-webdavd: support macOS port |
|
||||
|
|
||||
---
|
|
||||
bin/spice-webdavd.c | 4 ++++ |
|
||||
1 file changed, 4 insertions(+) |
|
||||
|
|
||||
diff --git a/bin/spice-webdavd.c b/bin/spice-webdavd.c
|
|
||||
index ee713bd..b9453ff 100644
|
|
||||
--- a/bin/spice-webdavd.c
|
|
||||
+++ b/bin/spice-webdavd.c
|
|
||||
@@ -655,7 +655,11 @@ run_service (ServiceData *service_data)
|
|
||||
|
|
||||
loop = g_main_loop_new (NULL, TRUE); |
|
||||
#ifdef G_OS_UNIX |
|
||||
+#ifdef __APPLE__
|
|
||||
+ open_mux_path ("/dev/tty.org.spice-space.webdav.0");
|
|
||||
+#else
|
|
||||
open_mux_path ("/dev/virtio-ports/org.spice-space.webdav.0"); |
|
||||
+#endif
|
|
||||
#else |
|
||||
open_mux_path ("\\\\.\\Global\\org.spice-space.webdav.0"); |
|
||||
#endif |
|
||||
--
|
|
||||
2.32.0 (Apple Git-132) |
|
||||
|
|
||||
From f5c7f192644d8f30817ab23a98425e3179a0021d Mon Sep 17 00:00:00 2001 |
|
||||
From: osy <50960678+osy@users.noreply.github.com> |
|
||||
Date: Sat, 5 Mar 2022 23:40:27 -0800 |
|
||||
Subject: [PATCH 4/4] meson: link statically with libsoup and libxml |
|
||||
|
|
||||
---
|
|
||||
meson.build | 4 ++-- |
|
||||
1 file changed, 2 insertions(+), 2 deletions(-) |
|
||||
|
|
||||
diff --git a/meson.build b/meson.build
|
|
||||
index b8ff125..7ab6da1 100644
|
|
||||
--- a/meson.build
|
|
||||
+++ b/meson.build
|
|
||||
@@ -34,8 +34,8 @@ else
|
|
||||
deps += dependency('gio-unix-2.0', version : '>= 2.44') |
|
||||
endif |
|
||||
|
|
||||
-deps += dependency('libsoup-2.4', version : '>= 2.48.0')
|
|
||||
-deps += dependency('libxml-2.0')
|
|
||||
+deps += dependency('libsoup-2.4', version : '>= 2.48.0', static : true)
|
|
||||
+deps += dependency('libxml-2.0', static : true)
|
|
||||
|
|
||||
d1 = dependency('avahi-gobject', required : get_option('avahi')) |
|
||||
d2 = dependency('avahi-client', required : get_option('avahi')) |
|
||||
--
|
|
||||
2.32.0 (Apple Git-132) |
|
||||
|
|
@ -0,0 +1,27 @@ |
|||||
|
From ddca2a3c7a5cabf19ae94e4a6482457cb5fa1b30 Mon Sep 17 00:00:00 2001 |
||||
|
From: osy <osy@turing.llc> |
||||
|
Date: Tue, 12 Nov 2024 08:51:07 -0800 |
||||
|
Subject: [PATCH] meson: link statically with libsoup and libxml |
||||
|
|
||||
|
---
|
||||
|
meson.build | 4 ++-- |
||||
|
1 file changed, 2 insertions(+), 2 deletions(-) |
||||
|
|
||||
|
diff --git a/meson.build b/meson.build
|
||||
|
index ac84b94..c425839 100644
|
||||
|
--- a/meson.build
|
||||
|
+++ b/meson.build
|
||||
|
@@ -34,8 +34,8 @@ else
|
||||
|
deps += dependency('gio-unix-2.0', version : '>= 2.44') |
||||
|
endif |
||||
|
|
||||
|
-deps += dependency('libsoup-3.0', version : '>= 3.0.0')
|
||||
|
-deps += dependency('libxml-2.0')
|
||||
|
+deps += dependency('libsoup-3.0', version : '>= 3.0.0', static : true)
|
||||
|
+deps += dependency('libxml-2.0', static : true)
|
||||
|
|
||||
|
d1 = dependency('avahi-gobject', required : get_option('avahi')) |
||||
|
d2 = dependency('avahi-client', required : get_option('avahi')) |
||||
|
--
|
||||
|
2.41.0 |
||||
|
|
Write
Preview
Loading…
Cancel
Save
Reference in new issue