summaryrefslogtreecommitdiff
path: root/recipes
diff options
context:
space:
mode:
authorL. E. Segovia <amy@centricular.com>2024-08-26 19:41:35 -0300
committerL. E. Segovia <amy@centricular.com>2024-09-10 11:10:41 -0300
commit529670c5f529909f2407a028f4882de82077ffd3 (patch)
tree07f81d677566f219905f6c293130f030b67abb5e /recipes
parent02daa2714cdd68510a6b611244d15d68300cc62b (diff)
glib-networking: update to 2.80.0
Part-of: <https://gitlab.freedesktop.org/gstreamer/cerbero/-/merge_requests/1149>
Diffstat (limited to 'recipes')
-rw-r--r--recipes/glib-networking.recipe22
-rw-r--r--recipes/glib-networking/0001-Don-t-try-to-use-keychain-CA-certificates-on-iOS.patch42
-rw-r--r--recipes/glib-networking/0002-Do-not-install-shared-module-when-only-static-is-nee.patch122
-rw-r--r--recipes/glib-networking/0003-Fix-static-link-on-Windows.patch149
-rw-r--r--recipes/glib-networking/0004-libproxy-proxy-module-Mark-plugin-functions-as-expor.patch67
-rw-r--r--recipes/glib-networking/0005-environment-proxy-module-Mark-plugin-functions-as-ex.patch35
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
-