diff options
author | L. E. Segovia <amy@centricular.com> | 2024-08-26 19:41:35 -0300 |
---|---|---|
committer | L. E. Segovia <amy@centricular.com> | 2024-09-10 11:10:41 -0300 |
commit | 529670c5f529909f2407a028f4882de82077ffd3 (patch) | |
tree | 07f81d677566f219905f6c293130f030b67abb5e /recipes | |
parent | 02daa2714cdd68510a6b611244d15d68300cc62b (diff) |
glib-networking: update to 2.80.0
Part-of: <https://gitlab.freedesktop.org/gstreamer/cerbero/-/merge_requests/1149>
Diffstat (limited to 'recipes')
6 files changed, 5 insertions, 432 deletions
diff --git a/recipes/glib-networking.recipe b/recipes/glib-networking.recipe index f105ae52..e6d73256 100644 --- a/recipes/glib-networking.recipe +++ b/recipes/glib-networking.recipe @@ -4,32 +4,21 @@ from cerbero.tools.libtool import LibtoolLibrary class Recipe(recipe.Recipe): name = 'glib-networking' - version = '2.74.0' + version = '2.80.0' licenses = [{License.LGPLv2Plus: None, License.Misc: ['LICENSE_EXCEPTION']}] stype = SourceType.TARBALL btype = BuildType.MESON url = 'gnome://' - tarball_checksum = '1f185aaef094123f8e25d8fa55661b3fd71020163a0174adb35a37685cda613b' + tarball_checksum = 'd8f4f1aab213179ae3351617b59dab5de6bcc9e785021eee178998ebd4bb3acf' + # static_modules is now governed by default_library + # https://gitlab.gnome.org/GNOME/glib-networking/-/commit/270d54a5ef9a3c9cb96997dbe0fbcb329dbf80e8 meson_options = {'libproxy': 'enabled', 'gnome_proxy': 'disabled', - 'gnutls': 'disabled', 'openssl': 'enabled', - # Also build static modules on some platforms - # (see below) - 'static_modules': 'true'} + 'gnutls': 'disabled', 'openssl': 'enabled'} deps = ['glib', 'libproxy'] # openssl on Linux use_system_libs = True - patches = [ - # https://gitlab.gnome.org/GNOME/glib-networking/-/merge_requests/229 - f'{name}/0001-Don-t-try-to-use-keychain-CA-certificates-on-iOS.patch', - # To apply 0004 and 0005 cleanly - f'{name}/0002-Do-not-install-shared-module-when-only-static-is-nee.patch', - f'{name}/0003-Fix-static-link-on-Windows.patch', - f'{name}/0004-libproxy-proxy-module-Mark-plugin-functions-as-expor.patch', - f'{name}/0005-environment-proxy-module-Mark-plugin-functions-as-ex.patch', - ] - files_misc = ['%(libdir)s/gio/modules/libgioopenssl%(mext)s'] files_lang = ['glib-networking'] files_devel = [] @@ -37,7 +26,6 @@ class Recipe(recipe.Recipe): def prepare(self): # Glib doesn't support static libraries on Windows yet if self.config.target_platform == Platform.WINDOWS: - self.meson_options['static_modules'] = 'false' self.library_type = LibraryType.SHARED else: self.files_devel.append( diff --git a/recipes/glib-networking/0001-Don-t-try-to-use-keychain-CA-certificates-on-iOS.patch b/recipes/glib-networking/0001-Don-t-try-to-use-keychain-CA-certificates-on-iOS.patch deleted file mode 100644 index 09597fb8..00000000 --- a/recipes/glib-networking/0001-Don-t-try-to-use-keychain-CA-certificates-on-iOS.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 419e726ce0cd58277644050ed41c63dc29a80274 Mon Sep 17 00:00:00 2001 -From: Nirbheek Chauhan <nirbheek@centricular.com> -Date: Thu, 29 Dec 2022 08:07:20 +0530 -Subject: [PATCH] Don't try to use keychain CA certificates on iOS - -SecTrustCopyAnchorCertificates is not available on iOS as certificate -data for system-trusted roots is currently unavailable there. ---- - tls/openssl/gtlsdatabase-openssl.c | 8 +++++++- - 1 file changed, 7 insertions(+), 1 deletion(-) - -diff --git a/tls/openssl/gtlsdatabase-openssl.c b/tls/openssl/gtlsdatabase-openssl.c -index e7a7ef9..1c7df2a 100644 ---- a/tls/openssl/gtlsdatabase-openssl.c -+++ b/tls/openssl/gtlsdatabase-openssl.c -@@ -31,8 +31,14 @@ - #include <glib/gi18n-lib.h> - #include "openssl-include.h" - -+/* -+ * SecTrustCopyAnchorCertificates is only available on macOS, so we check for -+ * SEC_OS_OSX: https://github.com/Apple-FOSS-Mirror/Security/blob/master/base/SecBase.h -+ */ - #ifdef __APPLE__ - #include <Security/Security.h> -+#else -+#define SEC_OS_OSX 0 - #endif - - #ifdef G_OS_WIN32 -@@ -151,7 +157,7 @@ g_tls_database_openssl_verify_chain (GTlsDatabase *database, - return result; - } - --#ifdef __APPLE__ -+#if SEC_OS_OSX - static gboolean - populate_store (X509_STORE *store, - GError **error) --- -2.38.1 - diff --git a/recipes/glib-networking/0002-Do-not-install-shared-module-when-only-static-is-nee.patch b/recipes/glib-networking/0002-Do-not-install-shared-module-when-only-static-is-nee.patch deleted file mode 100644 index 3d4c2822..00000000 --- a/recipes/glib-networking/0002-Do-not-install-shared-module-when-only-static-is-nee.patch +++ /dev/null @@ -1,122 +0,0 @@ -From fc04dc17db90e33863b90b05f11535dd0d76f6b1 Mon Sep 17 00:00:00 2001 -From: Xavier Claessens <xavier.claessens@collabora.com> -Date: Thu, 6 Oct 2022 12:25:55 -0400 -Subject: [PATCH 2/5] Do not install shared module when only static is needed - -Part-of: <https://gitlab.gnome.org/GNOME/glib-networking/-/merge_requests/223> ---- - meson.build | 3 +++ - proxy/environment/meson.build | 4 ++-- - proxy/gnome/meson.build | 4 ++-- - proxy/libproxy/meson.build | 4 ++-- - tls/gnutls/meson.build | 4 ++-- - tls/openssl/meson.build | 4 ++-- - 6 files changed, 13 insertions(+), 10 deletions(-) - -diff --git a/meson.build b/meson.build -index a39eac5..349d5c9 100644 ---- a/meson.build -+++ b/meson.build -@@ -33,6 +33,9 @@ common_flags = [ - '-DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_70' - ] - -+build_static = get_option('static_modules') or get_option('default_library') != 'shared' -+build_shared = get_option('default_library') != 'static' -+ - add_project_arguments(common_flags, language: 'c') - - cflags = cc.get_supported_arguments(['-Werror=declaration-after-statement', -diff --git a/proxy/environment/meson.build b/proxy/environment/meson.build -index fb2d9d5..86c0099 100644 ---- a/proxy/environment/meson.build -+++ b/proxy/environment/meson.build -@@ -24,11 +24,11 @@ module = shared_module( - link_args: module_ldflags, - link_depends: symbol_map, - name_suffix: module_suffix, -- install: true, -+ install: build_shared, - install_dir: gio_module_dir - ) - --if get_option('static_modules') or get_option('default_library') != 'shared' -+if build_static - gioenvironmentproxy_lib = static_library('gioenvironmentproxy', - objects: module.extract_all_objects(recursive: true), - dependencies: deps, -diff --git a/proxy/gnome/meson.build b/proxy/gnome/meson.build -index 2cd8876..b2f70e2 100644 ---- a/proxy/gnome/meson.build -+++ b/proxy/gnome/meson.build -@@ -21,11 +21,11 @@ module = shared_module( - link_args: module_ldflags, - link_depends: symbol_map, - name_suffix: module_suffix, -- install: true, -+ install: build_shared, - install_dir: gio_module_dir - ) - --if get_option('static_modules') or get_option('default_library') != 'shared' -+if build_static - giognomeproxy_lib = static_library('giognomeproxy', - objects: module.extract_all_objects(recursive: true), - dependencies: deps, -diff --git a/proxy/libproxy/meson.build b/proxy/libproxy/meson.build -index 1efa99c..f516790 100644 ---- a/proxy/libproxy/meson.build -+++ b/proxy/libproxy/meson.build -@@ -45,11 +45,11 @@ module = shared_module( - link_args: module_ldflags, - link_depends: symbol_map, - name_suffix: module_suffix, -- install: true, -+ install: build_shared, - install_dir: gio_module_dir - ) - --if get_option('static_modules') or get_option('default_library') != 'shared' -+if build_static - giolibproxy_lib = static_library('giolibproxy', - objects: module.extract_all_objects(recursive: true), - dependencies: deps, -diff --git a/tls/gnutls/meson.build b/tls/gnutls/meson.build -index 286990e..75312de 100644 ---- a/tls/gnutls/meson.build -+++ b/tls/gnutls/meson.build -@@ -30,11 +30,11 @@ module = shared_module( - link_args: module_ldflags, - link_depends: symbol_map, - name_suffix: module_suffix, -- install: true, -+ install: build_shared, - install_dir: gio_module_dir, - ) - --if get_option('static_modules') or get_option('default_library') != 'shared' -+if build_static - giognutls_lib = static_library('giognutls', - objects: module.extract_all_objects(recursive: true), - dependencies: deps, -diff --git a/tls/openssl/meson.build b/tls/openssl/meson.build -index b1adab7..bc1aedb 100644 ---- a/tls/openssl/meson.build -+++ b/tls/openssl/meson.build -@@ -43,11 +43,11 @@ module = shared_module( - link_args: module_ldflags, - link_depends: symbol_map, - name_suffix: module_suffix, -- install: true, -+ install: build_shared, - install_dir: gio_module_dir, - ) - --if get_option('static_modules') or get_option('default_library') != 'shared' -+if build_static - gioopenssl_lib = static_library('gioopenssl', - objects: module.extract_all_objects(recursive: true), - dependencies: deps, --- -2.42.0.windows.2 - diff --git a/recipes/glib-networking/0003-Fix-static-link-on-Windows.patch b/recipes/glib-networking/0003-Fix-static-link-on-Windows.patch deleted file mode 100644 index 05389f59..00000000 --- a/recipes/glib-networking/0003-Fix-static-link-on-Windows.patch +++ /dev/null @@ -1,149 +0,0 @@ -From 38e7b358434b5b39b6c3c2e0c93ca93533e543af Mon Sep 17 00:00:00 2001 -From: Xavier Claessens <xavier.claessens@collabora.com> -Date: Thu, 6 Oct 2022 11:25:02 -0400 -Subject: [PATCH 3/5] Fix static link on Windows - -When making a static module on Windows, we should not have `dllexport` -on g_io_* functions. However, G_MODULE_EXPORT is defined to always have -`dllexport` on Windows because it is made for shared modules only. - -Building both shared and static modules is not supported on Windows. - -Part-of: <https://gitlab.gnome.org/GNOME/glib-networking/-/merge_requests/223> ---- - meson.build | 6 ++++++ - proxy/gnome/gnome-proxy-module.c | 7 ++++--- - tls/gnutls/gnutls-module.c | 7 ++++--- - tls/openssl/openssl-module.c | 7 ++++--- - visibility.h | 9 +++++++++ - 5 files changed, 27 insertions(+), 9 deletions(-) - create mode 100644 visibility.h - -diff --git a/meson.build b/meson.build -index 349d5c9..0070052 100644 ---- a/meson.build -+++ b/meson.build -@@ -35,6 +35,12 @@ common_flags = [ - - build_static = get_option('static_modules') or get_option('default_library') != 'shared' - build_shared = get_option('default_library') != 'static' -+if build_static and build_shared and (host_system == 'windows' or host_system == 'cygwin') -+ error('On Windows default_library must be "shared" or "static" but not "both"') -+endif -+if build_static and not build_shared -+ common_flags += '-DGLIB_NETWORKING_STATIC_COMPILATION' -+endif - - add_project_arguments(common_flags, language: 'c') - -diff --git a/proxy/gnome/gnome-proxy-module.c b/proxy/gnome/gnome-proxy-module.c -index b125810..bde925e 100644 ---- a/proxy/gnome/gnome-proxy-module.c -+++ b/proxy/gnome/gnome-proxy-module.c -@@ -24,9 +24,10 @@ - #include <glib/gi18n-lib.h> - - #include "gproxyresolvergnome.h" -+#include "visibility.h" - - --G_MODULE_EXPORT void -+GLIB_NETWORKING_EXPORT void - g_io_gnomeproxy_load (GIOModule *module) - { - gchar *locale_dir; -@@ -49,12 +50,12 @@ g_io_gnomeproxy_load (GIOModule *module) - g_free (locale_dir); - } - --G_MODULE_EXPORT void -+GLIB_NETWORKING_EXPORT void - g_io_gnomeproxy_unload (GIOModule *module) - { - } - --G_MODULE_EXPORT gchar ** -+GLIB_NETWORKING_EXPORT gchar ** - g_io_gnomeproxy_query (void) - { - gchar *eps[] = { -diff --git a/tls/gnutls/gnutls-module.c b/tls/gnutls/gnutls-module.c -index 8dd09ca..e7b624f 100644 ---- a/tls/gnutls/gnutls-module.c -+++ b/tls/gnutls/gnutls-module.c -@@ -28,9 +28,10 @@ - #include <glib/gi18n-lib.h> - - #include "gtlsbackend-gnutls.h" -+#include "visibility.h" - - --G_MODULE_EXPORT void -+GLIB_NETWORKING_EXPORT void - g_io_gnutls_load (GIOModule *module) - { - gchar *locale_dir; -@@ -53,12 +54,12 @@ g_io_gnutls_load (GIOModule *module) - g_free (locale_dir); - } - --G_MODULE_EXPORT void -+GLIB_NETWORKING_EXPORT void - g_io_gnutls_unload (GIOModule *module) - { - } - --G_MODULE_EXPORT gchar ** -+GLIB_NETWORKING_EXPORT gchar ** - g_io_gnutls_query (void) - { - gchar *eps[] = { -diff --git a/tls/openssl/openssl-module.c b/tls/openssl/openssl-module.c -index 374e424..a436774 100644 ---- a/tls/openssl/openssl-module.c -+++ b/tls/openssl/openssl-module.c -@@ -29,9 +29,10 @@ - #include <gio/gio.h> - - #include "gtlsbackend-openssl.h" -+#include "visibility.h" - - --G_MODULE_EXPORT void -+GLIB_NETWORKING_EXPORT void - g_io_openssl_load (GIOModule *module) - { - gchar *locale_dir; -@@ -54,12 +55,12 @@ g_io_openssl_load (GIOModule *module) - g_free (locale_dir); - } - --G_MODULE_EXPORT void -+GLIB_NETWORKING_EXPORT void - g_io_openssl_unload (GIOModule *module) - { - } - --G_MODULE_EXPORT gchar ** -+GLIB_NETWORKING_EXPORT gchar ** - g_io_openssl_query (void) - { - return g_strsplit (G_TLS_BACKEND_EXTENSION_POINT_NAME, "!", -1); -diff --git a/visibility.h b/visibility.h -new file mode 100644 -index 0000000..9f7c1d5 ---- /dev/null -+++ b/visibility.h -@@ -0,0 +1,9 @@ -+#pragma once -+ -+#if (defined(_WIN32) || defined(__CYGWIN__)) && !defined(GLIB_NETWORKING_STATIC_COMPILATION) -+# define GLIB_NETWORKING_EXPORT __declspec(dllexport) -+#elif __GNUC__ >= 4 -+# define GLIB_NETWORKING_EXPORT __attribute__((visibility("default"))) -+#else -+# define GLIB_NETWORKING_EXPORT -+#endif --- -2.42.0.windows.2 - diff --git a/recipes/glib-networking/0004-libproxy-proxy-module-Mark-plugin-functions-as-expor.patch b/recipes/glib-networking/0004-libproxy-proxy-module-Mark-plugin-functions-as-expor.patch deleted file mode 100644 index 5054d484..00000000 --- a/recipes/glib-networking/0004-libproxy-proxy-module-Mark-plugin-functions-as-expor.patch +++ /dev/null @@ -1,67 +0,0 @@ -From 16249aa6a36e75a5e9cb1587dc05fa97da61cdbe Mon Sep 17 00:00:00 2001 -From: "L. E. Segovia" <amy@centricular.com> -Date: Tue, 5 Mar 2024 16:39:12 -0300 -Subject: [PATCH 4/5] libproxy-proxy-module: Mark plugin functions as exports - on Windows - -Related: #185 ---- - proxy/libproxy/glibproxyresolver.h | 4 ++++ - proxy/libproxy/libproxy-module.c | 7 ++++--- - 2 files changed, 8 insertions(+), 3 deletions(-) - -diff --git a/proxy/libproxy/glibproxyresolver.h b/proxy/libproxy/glibproxyresolver.h -index c27cdb3..d5b481d 100644 ---- a/proxy/libproxy/glibproxyresolver.h -+++ b/proxy/libproxy/glibproxyresolver.h -@@ -26,12 +26,16 @@ - #include <glib-object.h> - #include <gio/gio.h> - -+#include "visibility.h" -+ - G_BEGIN_DECLS - - #define G_TYPE_LIBPROXY_RESOLVER (g_libproxy_resolver_get_type ()) - -+GLIB_NETWORKING_EXPORT - G_DECLARE_FINAL_TYPE (GLibproxyResolver, g_libproxy_resolver, G, LIBPROXY_RESOLVER, GObject) - -+GLIB_NETWORKING_EXPORT - void g_libproxy_resolver_register (GIOModule *module); - - G_END_DECLS -diff --git a/proxy/libproxy/libproxy-module.c b/proxy/libproxy/libproxy-module.c -index 8fcaf9e..b1e9210 100644 ---- a/proxy/libproxy/libproxy-module.c -+++ b/proxy/libproxy/libproxy-module.c -@@ -26,9 +26,10 @@ - #include <glib/gi18n-lib.h> - - #include "glibproxyresolver.h" -+#include "visibility.h" - - --void -+GLIB_NETWORKING_EXPORT void - g_io_libproxy_load (GIOModule *module) - { - gchar *locale_dir; -@@ -51,12 +52,12 @@ g_io_libproxy_load (GIOModule *module) - g_free (locale_dir); - } - --void -+GLIB_NETWORKING_EXPORT void - g_io_libproxy_unload (GIOModule *module) - { - } - --gchar ** -+GLIB_NETWORKING_EXPORT gchar ** - g_io_libproxy_query (void) - { - gchar *eps[] = { --- -2.42.0.windows.2 - diff --git a/recipes/glib-networking/0005-environment-proxy-module-Mark-plugin-functions-as-ex.patch b/recipes/glib-networking/0005-environment-proxy-module-Mark-plugin-functions-as-ex.patch deleted file mode 100644 index b2a8aa7b..00000000 --- a/recipes/glib-networking/0005-environment-proxy-module-Mark-plugin-functions-as-ex.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 5a56b054cdeb6957760dba0022f65feffb46b2d6 Mon Sep 17 00:00:00 2001 -From: "L. E. Segovia" <amy@centricular.com> -Date: Tue, 5 Mar 2024 16:41:07 -0300 -Subject: [PATCH 5/5] environment-proxy-module: Mark plugin functions as - exports on Windows - -Related: #185 ---- - proxy/environment/genvironmentproxyresolver.h | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/proxy/environment/genvironmentproxyresolver.h b/proxy/environment/genvironmentproxyresolver.h -index 4915092..0bf9654 100644 ---- a/proxy/environment/genvironmentproxyresolver.h -+++ b/proxy/environment/genvironmentproxyresolver.h -@@ -24,12 +24,16 @@ - #include <glib-object.h> - #include <gio/gio.h> - -+#include "visibility.h" -+ - G_BEGIN_DECLS - - #define G_TYPE_ENVIRONMENT_PROXY_RESOLVER (g_environment_proxy_resolver_get_type ()) - -+GLIB_NETWORKING_EXPORT - G_DECLARE_FINAL_TYPE (GEnvironmentProxyResolver, g_environment_proxy_resolver, G, ENVIRONMENT_PROXY_RESOLVER, GObject) - -+GLIB_NETWORKING_EXPORT - void g_environment_proxy_resolver_register (GIOModule *module); - - G_END_DECLS --- -2.42.0.windows.2 - |